2

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

entity1 doA entity2 .
entity2 doB entity3 .

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

entity1 doC entity3 .

基本上,我想说:

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

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

4

1 回答 1

0

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

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

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

INSERT { GRAPH <graph-uri> {
            ?a <doC> ?c}
       }
    ...
于 2016-02-14T20:27:53.437 回答