Нет результатов при запуске SPARQL для документа rdf - PullRequest
4 голосов
/ 06 января 2011

Я новичок в 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? course

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

проблема в том, что результаты не возвращаются (отображаются только x и курс).В чем дело?Я начинаю нервничать, Пожалуйста, помогите мне как можно скорее.Большое спасибо!

PS: Какие типы данных могут быть возвращены запросом?(только строки или цифры?!)

1 Ответ

2 голосов
/ 07 января 2011

Просто быстрое предположение Это 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>

Тогда результат вышеупомянутого запроса будет, как показано на рисунке:

alt text

В моем случае с пространством имен xmlns:defaultNamespac="http://foo.bar"если бы я хотел выполнить именно ваш запрос, то мне пришлось бы использовать пространство имен ...

SELECT ?x ?course

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

Мой совет состоит в том, чтобы избежать этих ошибок, старайтесь всегда задавать пространства имен.

...