2

sparql (Protege 内) を使用してオブジェクトの rdf:ID を選択しようとしていますが、rdf:ID を取得できないようです。誰もこの問題を見たことがありますか。私が使用しているSPARQLクエリは次のとおりです。

Select * where (?element rdf:id ?id)

以下も機能しません。

Select * where (?element rdfs:label ?id)

提案を受けましたが、それでもこれはうまくいきません:

Select * where (?element rdfs:about ?id)

しかし、これは:

Select * where (?element rdfs:comment ?id)

私が得るのは「一致なし」だけです。コメントは選択できますが、ラベルは選択できません...アイデアですか?

更新::さらに調査した後、以下を選択します。

Select ?subject ?property ?object where (?subject ?property ?object)

RDFS プロパティのいずれも思いつきません。私は何か大きなものを見逃していますか?(rdfs:comment で選択できますが、それも表示されません...

4

4 に答える 4

6

まず、rdf:idはデータモデルに存在しません-rdfグラフは3倍になります。" rdf:ID"は、RDF / XMLという1つの構文で使用される構文用語ですが、トリプルでは表示されません。同様rdf:aboutに構文用語です。

なぜprotegeのsparqlがここで機能しないのか(そして私はProtegeを使用していません)については、あなたが見つけようとしているトリプルは推論エンジンによって推論され、したがって必ずしもベースrdfグラフにあるとは限らないと思います。

あなたが何をしようとしているのかは完全には明らかではありません。[いくつかのトリプルの]URIオブジェクトが必要ですか?そのトリプルをどのように識別しますか?

于 2009-04-03T05:16:18.320 に答える
4

すべての RDF サブジェクトの URI を探している場合は、次のように実行します。

SELECT ?subject WHERE { ?subject ?predicate ?object }

括弧ではなく中括弧が必要であることに注意してください。また、RDF では大文字と小文字が区別されることに注意してください。そのため、URI (およびプレフィックス/ローカル名) のスペルと大文字の使用には十分注意してください。

含意 (推論されたトリプル) に関する dajobe の要点rdfs:labelは、OWL アノテーション プロパティであり、独自のルールや OWL コンストラクトを含めない限り、推論によって無視されます。rdfs:labelつまり、RDF を使い始めたばかりの場合、推論者が述語としてトリプルを推論した場合、私は驚かれることでしょう。

于 2009-05-20T23:55:27.143 に答える
0

rdf:ID (rdf ドキュメント内のローカル参照) は xml:base を使用して解決され、rdf:about に変換されると思います

于 2009-03-26T20:22:10.413 に答える
-1

次のクエリはrdf:ID、タイプの個人を取得しますpref:class

select * where {
?id rdf:type pref:class
}
于 2009-06-13T23:58:00.473 に答える