4

私はSPARQLクエリを初めて使用し、twinkle SPARQLを使用して、以下を含むrdfドキュメントでクエリを実行しています:

<defaultNamespac:courses rdf:ID="Cources">   
  <defaultNamespac:course rdf:resource="#Course1"/>
  <defaultNamespac:course rdf:resource="#Course10"/>
  <defaultNamespac:course rdf:resource="#Course2"/>
  <defaultNamespac:course rdf:resource="#Course3"/>
  <defaultNamespac:course rdf:resource="#Course4"/>
  <defaultNamespac:course rdf:resource="#Course5"/>
  <defaultNamespac:course rdf:resource="#Course6"/>
  <defaultNamespac:course rdf:resource="#Course7"/>
  <defaultNamespac:course rdf:resource="#Course8"/>
  <defaultNamespac:course rdf:resource="#Course9"/>
</defaultNamespac:courses>

クエリは次のとおりです。

SELECT ?x ?コース

WHERE {?x <file:/F:/Stuff/Muaz/GUC/Met.rdf#courses> ?コース}

問題は、結果が返されないことです (x とコースのみが表示されます)。どうしたの?緊張してきました。できるだけ早く助けてください。どうもありがとうございました!

PS: クエリで返されるデータ型は何ですか? (文字列または数字のみ?!)

4

1 に答える 1

2

ちょっとした推測ですが、それは defaultNamespac ですか、それとも defaultNamespace ですか? 最後にeを付けます。

それがエラーでない場合は、クエリを実行してみてください。

SELECT * WHERE { ?s ?p ?o }

次の RDF ファイルがあり、 defaultNamepac define があるとします。

<rdf:RDF
   xmlns:contact="http://www.w3.org/2000/10/swap/pim/contact#"
   xmlns:defaultNamespac="http://foo.bar"
   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
  <defaultNamespac:courses rdf:about="file:///Users/msalvadores/kk.rdf#Cources">
    <defaultNamespac:course rdf:resource="file:///Users/msalvadores/kk.rdf#Course1"/>
    <defaultNamespac:course rdf:resource="file:///Users/msalvadores/kk.rdf#Course10"/>
    <defaultNamespac:course rdf:resource="file:///Users/msalvadores/kk.rdf#Course2"/>
    <defaultNamespac:course rdf:resource="file:///Users/msalvadores/kk.rdf#Course3"/>
    <defaultNamespac:course rdf:resource="file:///Users/msalvadores/kk.rdf#Course4"/>
    <defaultNamespac:course rdf:resource="file:///Users/msalvadores/kk.rdf#Course5"/>
    <defaultNamespac:course rdf:resource="file:///Users/msalvadores/kk.rdf#Course6"/>
    <defaultNamespac:course rdf:resource="file:///Users/msalvadores/kk.rdf#Course7"/>
    <defaultNamespac:course rdf:resource="file:///Users/msalvadores/kk.rdf#Course8"/>
    <defaultNamespac:course rdf:resource="file:///Users/msalvadores/kk.rdf#Course9"/>
  </defaultNamespac:courses>
</rdf:RDF>

次に、上記のクエリの結果は、画像が示すようになります。

代替テキスト

私の場合xmlns:defaultNamespac="http://foo.bar"、名前空間を使用して、クエリを正確に実行したい場合は、名前空間を使用する必要がありました...

SELECT ?x ?course

WHERE {?x <http://foo.bar#courses> ?course }

私のアドバイスは、これらのエラーを回避するために、常に名前空間を設定するようにすることです。

于 2011-01-06T23:19:37.243 に答える