如何填充OWL对称或反向对象属性的三元组?

时间:2016-05-13 19:54:51

标签: graphdb

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

2 个答案:

答案 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)

两个评论:

  1. RDFS不支持“对称属性”,例如,您需要OWL。
  2. 正如您所做的那样定义域和范围还需要以下两个三元组: :Male1 rdf:type :Female . :Female1 rdf:type :Male
  3. 一般来说,将两个不同的(可能是不相交的!)属性定义为对称属性的域和范围没有多大意义。