Graph DB dataload引擎是否为插入的三元组创建了额外的三元组,这些三元组在RDFS模型中具有OWL对称或反向对象属性?
让我们假设下面给出的模型和个体,
RDFS模型:
我有男性和女性的类,以及一个对象属性“hasMarried”,域名为男性,范围为女性。 “hasMarried”的特征设置为“Symmetric”。
三元组:
:Male1 rdf:type:Male
:Female1 rdf:type:Female
:男1:已婚:女1
这里的问题是在Ontotext中插入上述三元组时,它是否会根据“对称”对象属性的模型定义生成以下三元素,
:女1:已婚:男1
如果上述情况没有发生,SPARQL会通过推断引用的RDFS模型中的“Symmetric”对象属性来查询以下查询吗?
选择?s?o
在哪里{ :女1:已婚?o }
预期答案:
:女1:男1
答案 0 :(得分:1)
是的,这就是你要得到的。请注意,在创建存储库时,您将需要owl horst优化规则集(rdfs规则集不够)。
答案 1 :(得分:0)
对于第一个问题:是的,:Female1 :hasMarried :Male1
将会跟随。
回答第二个问题:SPARQL查询的WHERE子句不包含?s
。
对于启用推理的SPARQL查询Select ?s ?o WHERE { ?s :hasMarried ?o }
,您应该得到两个答案(:Female1,:Male1)和(:Male1,:Female1)
两个评论:
:Male1 rdf:type :Female . :Female1 rdf:type :Male
一般来说,将两个不同的(可能是不相交的!)属性定义为对称属性的域和范围没有多大意义。