我一直在开发一个包含查询语言的实现,其文档非常有限,没有参考实现可用作指南。 包含语言查询树结构是否存在树模式,并具有如下语法:
A CONTAINS B CONTAINS ((C contains A) AND (C CONTAINS D))
A,B,C和D是树节点的类型,或者具有更通用的视图,它们是节点的标签。 A CONTAINS B意味着A在树下面的某个地方有一个孩子B.
实现需要返回使用上面的语句查询的树实例的所有匹配子树(表示部分定义的树)。它还需要考虑模式出现的组合,例如,在上面的查询中,如果C下面有2个A实例,那么带CD的C-A1和带CD的C-A2是两个不同的匹配等。
我已经设计了自己的解决方案,但是我没有任何可以用作参考的东西,甚至在我的代码旁边的回归测试中更好,以确保我的实现始终如一地正确运行。
最棘手的一点是查询语言中的逻辑运算符。我将以XML作为参考实现来研究XQuery(目前还不确定它是否可以做我正在尝试做的事情),但我也很想知道其他选项。开源将是伟大的,但即使是专有工具也可以完成这项工作。图形DB支持这种类型的查询,也许是RDF等语义工具?
答案 0 :(得分:1)