哪些工具或库支持执行树的包含查询?

时间:2012-08-22 09:31:33

标签: search graph tree xquery

我一直在开发一个包含查询语言的实现,其文档非常有限,没有参考实现可用作指南。 包含语言查询树结构是否存在树模式,并具有如下语法:

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等语义工具?

1 个答案:

答案 0 :(得分:1)

我尝试使用XQuery(Zorba实现)进行概念验证:

http://www.zorba-xquery.com/html/demo#f63nK4ICLH22

我希望这会有所帮助。