2012-04-27 13 views
2

DBPedia/SPARQL/Semanticデータの初心者です。私は私が探していますフルセットの結果が得られませんが、 DBPediaは完全な結果を返さない

select ?athlete ?sport where 
{ 
    ?athlete rdf:type <http://dbpedia.org/ontology/Athlete>. #query1 
    ?athlete dbpedia2:sport ?sport        #query2 
} 
「それぞれのアスリートのためのスポーツを見つける」ためのクエリを次のよう走りました。 "query1"はそれだけでアスリートを返しますが、 "query2"と組み合わせると、結果セットが少なくなります。

矛盾を説明してください。何か不足していますか?代替案とは何ですか?タイプとdbpedia2::スポーツ性質

よろしく

答えて

3

あなたのクエリは両方 RDFを持つすべてのアスリートのノードを選択します。いくつかのプロパティがバインドされていなくても、optional節を使用してノードを取得できます。迅速な対応のための

select ?athlete ?type where { 
    ?athlete rdf:type <http://dbpedia.org/ontology/Athlete>. 
    optional { 
     ?athlete rdf:type ?type. 
     ?type rdfs:subClassOf <http://dbpedia.org/ontology/Athlete> 
    } 
} 
+0

ありがとう:たとえば、次のようにスポーツを取得する

select ?athlete ?sport where { ?athlete rdf:type <http://dbpedia.org/ontology/Athlete>. #query1 optional {?athlete dbpedia2:sport ?sport} #query2 } 

良い方法。スポーツの特性が拘束されていなくても、アスリートを返すようになりました。しかし、私の探求は、「各競技者のためにスポーツを実現する」ことです。結果から、アスリートにとっては、スポーツ財産は縛られていないように思われるでしょうか?アスリートとスポーツの関係が不完全なので、どうすればそれを得ることができますか?スポーツ - >スポーツ選手関係は存在しません。よろしくおねがいします。 –

+0

そのような場合は、オントロジーをよりよく探検する必要があります。 rdfs:subClassOf競技者は必要な情報を記述する。私は答えに別のクエリを追加しました。 –

+0

もう一度ありがとう。私はこれを思いついた。 { ?sport rdfs:subClassOf のquery.select?sport?athleteに関するフィードバックを提供してください。 ?athlete a $ sport } –

関連する問題