2016-05-04 3 views
1

SPARQLを使用して、プロパティpと関連しないリソースのセットを取得する方法を教えてください。 R1、R2、R3およびR4は、リソース、ある場合たとえば、:SPARQLを使用してプロパティに関連しないリソースを取得する方法は?

  • :R1:P:R2
  • :R2:P:R1
PAプロパティを、私たちは以下の持っています

この場合、サブセット{r2、r3、r4}と{r1、r3、r4}はその条件に一致します(期待される結果になります)。例えば、{r2、r3、r4}のように、{r1、r2、r3、r4} - {r1、r2} = {r3、r4}を結果として得ることができます。 }は別の期待される結果になります。これを行うために他のSPARQLフィルタリング機構を使用できますか?

+0

SPARQLクエリは、このようにセットを返しません。変数の束縛のために一連の行を返します。特定のプロパティによってそれらのペアが接続されていないようなリソースのセット*を求めているようです。 SPARQLでこれを行うことができるかどうかはわかりません。 –

+0

あなたは、リソースが何か他のものによって関連していることを要求したいのですか?それとも、pによって関連付けられていないだけですか? –

+0

私は@ "ジョシュアテイラー"のコメントに同意したので、私は "SELECT * WHERE {?s!p?}"という答えを削除しました。 (ii)これは?sと?oがpで接続されていないことを強制するものではなく、pでないものによって接続されているということだけです。 –

答えて

0

あなたはすべてのプロパティを見つけ、:pの一致をフィルタリングすることでこれを行うことができます。

SELECT * 
WHERE { 
    ?s ?p ?o . 
    FILTER (?p != :p) 
} 
関連する問題