私は、user、url、time、およびipという値を持つ単純なRDFデータセットを持っています。特定のプロパティを持つすべてのデータを取得するSPARQL
SELECT DISTINCT * WHERE { ?s ?p ?o }
しかし、すべてのデータを特定のユーザーでリストする必要があります。クエリのデータが上記のクエリのデータと同じ形式であるが、必要でない場合は非常に感謝します。
私はこれまで、このといくつかの変更をしようとしたが、それがどれも動いていないようにみえ:
SELECT DISTINCT * WHERE { ?s ?p ?o. ?u foaf:user username. }
私はイエナとSPARQLで動作するように始めていますし、任意のヘルプははるかに高く評価されます。前もって感謝します。
編集:@AKSW foaf:user
foaf
は私が定義した接頭辞です。私はクエリの作業に苦労し、私が何をしているのか分かりませんでした。これは私がまだきれいにしていなかったものです。
あなたが提案したクエリSELECT DISTINCT * WHERE {?u foaf:name USER_NAME_LITERAL . ?u ?p ?o . }
を使用してしまったので、ありがとうございます。あなたが回答として投稿した場合は、それを受け入れたものとしてマークします。あなたのデータセットを想定し
RDF内のリソースはURIによって識別されるため、ユーザーも同様です。 'DISTINCT * WHERE {?p?}'を選択してください。 –
AKSW
SPARQLクエリは、トリプルパターンが接続され、一般的にグラフを作成するように変数名を再利用します。 2番目のクエリは2つの接続されていないトリプルパターンから成ります。 – AKSW
'foaf:user'は何をすべきか分かりませんが、FOAFではそのようなプロパティはありません。 'foaf:name'は一般的なプロパティです:http://xmlns.com/foaf/spec/ – AKSW