问题描述
我正在尝试向内置的RDFSPlus(优化)规则集添加一个简单规则,以使GraphDB从RDF *断言中生成推断的(隐式)语句。
具体来说,请从以下声明开始,在此处https://graphdb.ontotext.com/documentation/9.4/free/devhub/rdf-sparql-star.html中参考GraphDB示例:
:hasSpouse a owl:ObjectProperty,owl:SymmetricProperty .
:man :hasSpouse :woman .
<<:man :hasSpouse :woman>> :startDate "2020-02-11"^^xsd:date .
我想让GraphDB推理引擎来推断这两个语句:
:woman :hasSpouse :man .
<<:woman :hasSpouse :man>> :startDate "2020-02-11"^^xsd:date .
(显然)GraphDB生成第一个是没有问题的,但是RDF *确实有些棘手。
首先,我尝试将此规则添加到内置RDFSPlus(已优化)的副本中:
Id: owl_rdfstarOverSym
a b c
b <rdf:type> <owl:SymmetricProperty>
<<a b c>> p q
------------------------------------
<<c b a>> p q
在这种情况下,我无法创建存储库; GraphDB控制台显示此异常:
Error in rule 'owl_rdfstarOverSym'. Invalid identifier: '>'
然后我尝试仅添加一个''规则,如下所示:
Id: owl_rdfstarOverSym
a b c
b <rdf:type> <owl:SymmetricProperty>
<a b c> p q
------------------------------------
<c b a> p q
GraphDB似乎能够创建存储库,但是尝试使用SPARQL会导致以下错误消息:“初始化推理程序失败”,并且GraphDB控制台显示此异常:
Invalid entity: 'c b a'
所有这些测试均使用GraphDB免费版运行:版本:9.3,修订版:41892658
预先感谢
Franco
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)