0

Graph DB 数据加载引擎是否为在 RDFS 模型中具有 OWL Symmetric 或 Inverse 对象属性的插入三元组创建额外的三元组?

让我们假设下面给出的模型和个人,

RDFS 模型:

我有男性和女性类,以及一个对象属性“hasMarried”,域为男性,范围为女性。“已婚”的特征设置为“对称”。

三重奏:

:Male1 rdf:type :男性

:Female1 rdf:type :Female

:男1 :已婚 :女1

这里的问题是在 Ontotext 中插入上述三元组时,它是否会根据“对称”对象属性的模型定义生成如下的附加三元组,

:女1 :已婚 :男1

如果上述情况没有发生,SPARQL 查询是否会通过推断引用的 RDFS 模型中的“对称”对象属性来回答以下查询?

选择 ?s ?o

WHERE { :Female1 :hasMarried ?o }

预期答案::
女1:男1

4

2 回答 2

1

是的,这就是你将要得到的。请注意,在创建存储库时您将需要 owl horst 优化规则集(rdfs 规则集还不够)。

于 2016-05-19T17:21:29.423 回答
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

一般来说,将两个不同的(并且可能是不相交的!)属性定义为对称属性的域和范围没有多大意义。

于 2017-10-03T12:11:40.617 回答