[英]GraphDB custom ruleset for inference over RDF* statements
我正在嘗試向內置 RDFSPlus(優化)規則集添加一個簡單規則,以便能夠讓 GraphDB 從 RDF* 斷言生成推斷(隱式)語句。
具體來說,參考這里的 GraphDB 示例https://graphdb.ontotext.com/documentation/9.4/free/devhub/rdf-sparql-star.html ,從這些斷言開始:
: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
提前致謝,
佛朗哥
正如 Damyan Ognyanov 在他的評論( GraphDB custom ruleset for inference over RDF* statements )中所述,我試圖做的事情在 GraphDB 規則語言中是不可能的。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.