簡體   English   中英

用於推理 RDF* 語句的 GraphDB 自定義規則集

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM