2

SPARQL クエリと dbpedia.org を使用して、サッカー チームでプレーしたことのあるすべての選手を取得する必要があります。

http://dbpedia.org/sparqlと次のクエリを使用して、現在のチーム メンバーを取得できます。

PREFIX geo: <http://www.w3.org/2003/01/geo/wgs84_pos#>
PREFIX p: <http://dbpedia.org/property/>  
PREFIX dbpedia-owl: <http://dbpedia.org/ontology/>           
SELECT * WHERE { 
      <http://dbpedia.org/resource/Manchester_United_F.C.> p:name ?player.
      ?player dbpedia-owl:birthPlace ?city;
              dbpedia-owl:birthDate ?dob.
}

このサッカーチームでプレーしたことのあるすべての選手を取得するにはどうすればよいですか?

4

1 に答える 1

4

次のようなクエリを使用します。

select distinct ?player ?birthPlace ?birthDate where {
  ?player dbpedia-owl:team <http://dbpedia.org/resource/Manchester_United_F.C.> ;
          a dbpedia-owl:Person ;
          dbpedia-owl:wikiPageID [] .
  optional { ?player dbpedia-owl:birthPlace ?birthPlace }
  optional { ?player dbpedia-owl:birthDate ?birthDate }
}

SPARQL の結果

オプションを使用すると、出生地や生年月日がリストされていないプレーヤーでも結果に含めることができます。dbpedia-owl:Person を使用すると、一部の「ダーティ」データ (つまり、dbpedia-owl:teamプロパティを持つものの、プレイヤーではないもの) を削除するのに役立ちます。同様に、dbpedia-owl:wikiPageID []を追加すると、結果が記事として存在するものになります。これを含めない場合は、一種のキャリア ステーション エンティティのように見えるManchester_United_F.C.__Ryan_Giggs__1のような結果が得られます。(たとえば、Ryan Giggsにはdbpedia-owl:careerStation dbpedia:Ryan_Giggs__1があることに注意してください。)

于 2014-12-31T17:24:25.577 に答える