我在jena查询解决方案中有结果绑定(比如说sol1: user=u1, location=loc1, LocationType=type1
),我想使用数据集来扩展我的结果绑定,使用一组jena规则。事实上,有sol1和有
loc1 location:ispartof loc2
loc2 rdf:type loc2Type
在我的数据集中,我想将这个新解决方案添加到我的结果集中:
sol2: user1=u1, location=loc2, locationType=loc2Type
为此,我需要将我的解决方案集添加到我的数据集中,编写类似的规则
@prefix pre: <http://jena.hpl.hp.com/prefix#>.
[rule1: (?sol pre:user ?a) (?sol pre:location ?b) (?sol pre:lcationType ?c) (?b location:ispartof ?d) (?d rdf:type ?type) -> (sol2 pre:user ?a) (sol2 pre:location ?d) (sol2 pre:locationType ?type) ]
根据上述规则进行推理。之后从数据集中提取所有解决方案我需要用
@prefix pre: <http://jena.hpl.hp.com/prefix#>.
select * WHERE {?sol pre:user ?a. ?sol pre:location ?b. ?sol pre:lcationType ?c.}
现在我的问题是
1)有没有办法通过在2个数据集上编写共振规则来阻止将我的解决方案添加到我的大数据集中?
2)如何在规则后果中单独命名每个新解决方案?
感谢。