この質問は Blazegraph Java サンプルに関連しています。NOT EXISTS
SPARQL句を含むルールを作成したいと考えています。この Blazegraph ルール サンプルは、 をチェックする制約句を提供します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))))
}
制約を達成する別の方法はありますか?