如何在具有NOT EXISTS约束的Blazegraph中创建规则?

时间:2016-08-11 09:55:29

标签: rdf sesame blazegraph

这个问题与Blazegraph Java样本有关。我想创建一个带有SPARQL NOT EXISTS子句的规则。 This Blazegraph rule sample提供了一个检查IsLiteral()的约束子句。我想实现一个提供以下功能的规则:

?a rdf:type xyz:T .
filter(not exits(?a xyz:p ?o)) .
->
?a xyz:q xyz:T

我检查过合适的课程: com.bigdata.rdf.internal.constraints 并且无法找到支持BOp(和EXIST)的MINUS类。我找到了NOT运算符NotBOp()

以下是我想用虚构的ExistsBOp函数创建的约束:

new IConstraint[] { // constraints
    // you can use SPARQL value expression bops in inference by wrapping them with an InferenceBVE
    Constraint.wrap(new InferenceBVE(new NotBOp(new ExistsBOp(var("a"), vocab.getConstant(XYZ.q), vocab.getConstant(XYZ.T))))
}

是否有其他方法可以实现约束?

0 个答案:

没有答案