2

「DESCRIBE」クエリを使用して、dbpediaデータをRDFに抽出したいと思います。

たとえば、次のように入力した場合:

PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX db: <http://dbpedia.org/ontology/> 
PREFIX prop: <http://dbpedia.org/property/>
DESCRIBE ?movie ?author ?genre
WHERE { 
?movie rdf:type db:Film ;
prop:author ?author ;
prop:genre ?genre .
}
LIMIT 50
OFFSET 0

すべてが正常に動作します。

ただし、アクターと期間のプロパティを追加すると、次のようになります。

PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX db: <http://dbpedia.org/ontology/> 
PREFIX prop: <http://dbpedia.org/property/>
DESCRIBE ?movie ?author ?genre ?actor ?duration
WHERE { 
?movie rdf:type db:Film ;
prop:author ?author ;
prop:genre ?genre;
prop:actor ?actor;
prop:duration ?duration .
}
LIMIT 50
OFFSET 0

空のRDFを取得しています。

これがMovieのスキーマです:http ://schema.org/Movie

誰?

4

1 に答える 1

2

入力に問題があると思います。SPARQL Webインターフェースを介してdbpediaをテストしていると仮定すると、次の方法で何かを取得できます。

  • マーキングdurationおよびgenreオプションとして(したがって、指定する必要はありません)
  • dbpprop:starringの代わりに使用するdbpprop:actor

したがって、次のクエリ

DESCRIBE ?movie ?author ?genre ?actor ?duration
WHERE { 
  ?movie a dbpedia-owl:Film ;
    dbpprop:author ?author ;
    dbpprop:starring ?actor .
  OPTIONAL {
   ?movie dbpprop:duration ?duration ;
     dbpprop:genre ?genre
  }
}
LIMIT 5
OFFSET 0

いくつかのグラフが表示されます。また、そのムービースキーマを使用するにはプレフィックスを導入する必要があると思いhttp://schema.org/ます(ただし、dbpediaデータセットではそれほど深く使用されていないようです)。

そして、これが代わりの結果ですSELECTなぜDESCRIBE結果DESCRIBE形式が必要なのですか?)-それは理にかなっていると思います。

私も何か面白いものを見つけたと思います。クエリする場合

DESCRIBE dbpparam:starring

興味深いエラーメッセージが表示されます

述語'http://www.w3.org/2002/07/owl#equivalentProperty'の誤った式:schema:actors

schema:actorこれが(そして多分dbpprop:actor)うまくいかない理由だと思います。インデックス作成プログラムにエラーがあるようです。

于 2012-09-23T22:52:54.813 に答える