我有业务活动的层次结构,我想过滤特定活动的公司,所以我的意思是捕获所有在特定活动中工作的公司或其任何后代。
通过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主题之间的约束...
提前感谢您的建议, 最大
答案 0 :(得分:0)
这是dotNetRDF中的一个错误,现已修复,因此应该从1.0.1版本开始再次运行。
这是dotNetRDF中的一个已知错误 - 请参阅CORE-349,除了确认错误存在之外,我还没有对此进行任何调试,所以我不知道什么时候会修复。