我想分析一段文档并从中构建一个本体。该文档可能有许多特征,它可能是一个层次结构。
构建这种无限高度的层次结构的最佳编程方法是什么?一颗树?
我正在寻找一种广泛的编程“方式”,而不是必要的代码。
我不确定最好,但我过去使用的一种方法是定义一个简单的对象,该对象包含一个属性,该属性是与自身相同类型的集合 - 因此您基本上可以将对象链接在一起;想想“嵌套文件夹”(一个文件夹可能包含多个子文件夹)。
您可以使用该方法作为包含您要收集的信息的对象的基础,或者您可以将其外包给更详细的对象的平面集合,这些对象仅引用定义树结构的对象。最好的方法将取决于您尝试做什么。
这有帮助吗?你用什么语言工作?
对于您试图解决的问题,可能有一堆“正确”的设计模式。
那是相当广泛的。但是,是的,树对层次结构有好处。它们几乎是层次结构。除非您更具体地了解您想要做什么,否则无法进一步评论。
如果您正在解析文档,可能会对ANTLR感兴趣。