是否可以添加自定义规则来推断 AllegroGraph 中的新关系?

Is it possible to add customized rules to infer new relations in AllegroGraph?

在我的数据中有两个三元组:

entity1 doA entity2 .
entity2 doB entity3 .

我正在寻找一种方法来推断以下三元组并将其返回到我的 SPARQL 查询的结果中(例如,select ?a ?c {?a doC ?c)):

entity1 doC entity3 .

基本上我想说的是:

IF (?a doA ?b) and (?b doB ?c) THEN (?a doC ?c)

注意,我正在寻找可以完全使用 AGWebView 接口实现的解决方案。

如果 AllegroGraph 支持 SPARQL 1.1m 那么您可以尝试:

INSERT {?a <doC> ?c}
WHERE {
   ?a <doA> ?b .
   ?b <doB> ?c .
}

这将插入到默认图形中,但这是已定义的。要指向特定的图,则在插入中添加 GRAPH 语句:

INSERT { GRAPH <graph-uri> {
            ?a <doC> ?c}
       }
    ...