1

我有一个业务活动层次结构,我想根据特定活动过滤公司,所以我的意思是捕获在特定活动中工作的所有公司或其任何后代。

活动通过 my:hasActivity 谓词分配,层次结构用 my:isPartOf 谓词表示(即传递性)

因此,为了过滤结果集,我在查询中添加了这个模式:

?company my:asActivity/my:isPartOf* @base

我希望它相当于一个归纳模式,如:

      { ?company my:hasActivity @base }
UNION { ?company my:hasActivity ?s1 . ?s1 my:isPartOf @base }
...
UNION { ?company my:hasActivity ?s_n . ?s_n my:isPartOf ?s_(n-1) . [...] . ?s1 my:isPartOf @base }

但我得到的结果与此不一致。

我的假设是错误的还是 DotNetRdf 中的这个 propertyPath 模式有问题?

事实上,sparql 引擎似乎失去了 my:hasActivity 三元组对象和 my:isPartOf 主题之间的约束......

预先感谢您的建议,马克斯。

4

1 回答 1

0

这是 dotNetRDF 中的一个错误,现已修复,因此应该从 1.0.1 版本开始再次工作。

原始答案

这是 dotNetRDF 中的一个已知错误 - 请参阅CORE-349,除了确认错误存在之外,我实际上没有对此进行任何调试,所以我不知道它何时会得到修复。

于 2013-06-14T16:38:20.863 回答