0

jena クエリ ソリューション (たとえばsol1: user=u1, location=loc1, LocationType=type1) に結果バインディングがあり、データセットを使用して、一連の jena ルールを使用して結果バインディングを拡張したいと考えています。実際、sol1があり loc1 location:ispartof loc2 loc2 rdf:type loc2Type 、データセットにあるため、この新しいソリューションを結果セットに追加したいと思います:

sol2: user1=u1, location=loc2, locationType=loc2Type

そのためには、ソリューション セットをデータセットに追加し、 @prefix pre: <http://jena.hpl.hp.com/prefix#>. [rule1: (?sol pre:user ?a) (?sol pre:location ?b) (?sol pre:lcationType ?c) (?b location:ispartof ?d) (?d rdf:type ?type) -> (sol2 pre:user ?a) (sol2 pre:location ?d) (sol2 pre:locationType ?type) ] 上記のルールに基づいて推論を行うようなルールを作成する必要があります。その後、データセットからすべてのソリューションを抽出するには、データセットをクエリする必要があります

@prefix pre: <http://jena.hpl.hp.com/prefix#>. select * WHERE {?sol pre:user ?a. ?sol pre:location ?b. ?sol pre:lcationType ?c.}

今私の問題は

1) 2 つのデータセットに共鳴ルールを記述して、ソリューションを大きなデータセットに追加しないようにする方法はありますか?

2)ルールの結果で新しいソリューションごとに個別に名前を付ける方法は?

ありがとう。

4

0 に答える 0