0

http://www4.wiwiss.fu-berlin.de/factbook/sparqlからすべての国のすべての国境を接する国を取得するための SPARQL クエリを誰かに見せてもらえますか?

たとえば、アフガニスタンには、factbook:landboundary db:China、factbook:landboundary db:Iran、factbook:landboundary db:Pakistan、factbook:landboundary db:Tajikistan、factbook:landboundary db:Turkmenistan があります。

私のデータ取得の試み:

SELECT ?country ?name ?neighbour
WHERE {
?country rdf:type factbook:Country .
?country rdfs:label ?name.
OPTIONAL{
  ?country factbook:landboundary ?neighbour.
 }
}

次のメッセージで終了しました:

rethrew: de.fuberlin.wiwiss.d2rq.D2RQException: Table 'factbook.neighbors' doesn't exist: SELECT DISTINCT `T0_neighbors`.`name_encoded` FROM `bordercountries` AS `T0_bordercountries`, `neighbors` AS `T0_neighbors`, `countries` AS `T0_countries` WHERE `T0_bordercountries`.`Landboundaries_bordercountries_title` = `T0_neighbors`.`Name` AND `T0_bordercountries`.`Name` = `T0_countries`.`Name` AND `T0_countries`.`name_encoded` = 'Aruba' (E0)

http://answers.semanticweb.comで同じ質問をしましたが、まだ運がないので、ここで運を試しています

4

2 に答える 2

1

この障害は、内部システム エラーが原因のようです。SPARQL クエリには構文エラーはなく、指定した述語はデータに従って有効です。

ただし、特定の国の隣人をクエリで返す方法がわかりません。たぶん、次のようなことを試してみたいと思うでしょう:

SELECT DISTINCT ?neighbor
WHERE {
    ?neighbor rdf:type factbook:Country .
    ?neighbor factbook:landboundary db:Afghanistan .
}
于 2012-09-09T18:02:23.297 に答える