データを取得するためにウィキデータ クエリ サービスを使用しています: https://query.wikidata.org/
私はすでに2つの方法を使用してエンティティのラベルを使用することができました:
- ウィキベース ラベル サービスの使用。例えば:
SELECT ?spouse ?spouseLabel WHERE { wd:Q1744 wdt:P26 ?spouse. SERVICE wikibase:label { bd:serviceParam wikibase:language "en" . } }
rdfs:label
プロパティの使用:
SELECT ?spouse ?spouseLabel WHERE { wd:Q1744 wdt:P26 ?spouse. ?spouse rdfs:label ?spouseLabel. filter(lang(?spouseLabel) = "en"). }
ただし、複雑なクエリの場合、MediaWiki のユーザー マニュアルに記載されている内容とは対照的に、2 番目の方法の方が高速に実行されるようです。
このサービスは、ラベルを取得する場合に非常に役立ちます。他の方法では同じ効果を得るために必要な SPARQL クエリの複雑さが軽減されるからです。
( https://www.mediawiki.org/wiki/Wikidata_query_service/User_Manual#Label_service )
rdfs:label だけでは実現できないウィキベースの追加機能は何ですか? どちらも同じ目的を達成しているように見えるので奇妙に思えますが、 rdfs:label メソッドの方が高速に見えます (これは、クエリが外部ソースからのデータを結合する必要がないため、論理的です)。
ありがとう!