Pacific Beach, San Diegoは何にリダイレクトされませんが、リソースの数のリダイレクト対象です:
はDBOです:Pacific_Beach、_CA :
- DBRのwikiPageRedirects
- dbr:Pacific_Beach、_California
- dbr:Pacific_Beach、_San_Diego、_CA
- DBR:Pacific_Beach、_San_Diego、_California
- DBR:Pacific_Beach、_San_Diego_California
クエリの修正版がうまく動作する必要があることを意味します
PREFIX s: <http://dbpedia.org/resource/Pacific_Beach,_San_Diego>
PREFIX dbp: <http://dbpedia.org/property/>
PREFIX dbo: <http://dbpedia.org/ontology/>
SELECT * WHERE {
OPTIONAL { s: dbp:officialName ?officialName . }
OPTIONAL { s: dbp:name ?foaf_name . }
#-- ... [ about 20 more lines like the above ] ...
} LIMIT 2
SPARQL results
プレフィックスを使用して1つのIRIを省略すると、珍しいことに注意してください。 値ブロックを使用して、残りのクエリで使用できる特定の変数をバインドする方が一般的です。あなたは追加の都市の値を検索したい場合は、あなただけの値のリストに追加することができという利点を有する
PREFIX dbp: <http://dbpedia.org/property/>
PREFIX dbo: <http://dbpedia.org/ontology/>
SELECT * WHERE {
values ?s { <http://dbpedia.org/resource/Pacific_Beach,_San_Diego> }
OPTIONAL { ?s dbp:officialName ?officialName . }
OPTIONAL { ?s dbp:name ?foaf_name . }
#-- ... [ about 20 more lines like the above ] ...
} LIMIT 2;
:つまり、私はそのクエリを記述します。今、他のものにリダイレクトする値を追加したい場合、それは問題ではありません。あなたはちょうどあなたがリダイレクトターゲットに従うことができます非オプションパターンを追加したいと思います:あなたがコピーしている場合は、そのように注意してください、最後の注意として、
SELECT * WHERE {
values ?x { <http://dbpedia.org/resource/Pacific_Beach,_California> }
?x dbo:wikiPageRedirects* ?s .
OPTIONAL { ?s dbp:officialName ?officialName . }
OPTIONAL { ?s dbp:name ?foaf_name . }
#-- ... [ about 20 more lines like the above ] ...
} LIMIT 2
SPARQL results
をし、ブラウザーからURIを貼り付けて、照会で正しいURIを使用するようにしてください。ブラウザでDBpediaのリソース、例えば、http://dbpedia.org/ リソース/fooのを訪れたとき、あなたは人間が読める形式にリダイレクトしているhttp://dbpedia.org/ ページ/fooをブラウザに表示します。これはDBpediaの単なる奇抜なことです。 (実際には、コンテンツタイプのネゴシエーションを使用し、Webブラウザがリクエストを行っているときにHTMLドキュメントを返すだけです)
ありがとう!あなたの最後の例では、 'Pacific_Beach、_California'文字列は正しい90%の時間変数ですが、Pacific_Beach、_San_Diegoにリダイレクトする必要があるときは、それをどのように記述して100%コールの?私は組合が必要な場所ですか? – Ricalsin
@Ricalsin '?x dbo:wikiPageRedirects *?s .'ハンカチリダイレクト。 –
@Ricalsin '?x dbo:wikiPageRedirects *?s'はリダイレクトを処理します。 –