Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sparql 从DBpedia获取以色列所有定居点的坐标_Sparql_Dbpedia - Fatal编程技术网

Sparql 从DBpedia获取以色列所有定居点的坐标

Sparql 从DBpedia获取以色列所有定居点的坐标,sparql,dbpedia,Sparql,Dbpedia,对于我的应用程序,我想获得以色列大多数定居点(特拉维夫、哈伊夫等)的名称和地理坐标 我的想法是从DBpedia获取它(查询英文页面对我来说已经足够了) 我尝试了以下查询: SELECT distinct ?subject AS ?mainSubject ?o1 AS ?name ?o2 AS ?point ?o3 AS ?country WHERE {?subject ?property <http://dbpedia.org/ontology/PopulatedPlace>. ?s

对于我的应用程序,我想获得以色列大多数定居点(特拉维夫、哈伊夫等)的名称和地理坐标

我的想法是从DBpedia获取它(查询英文页面对我来说已经足够了)

我尝试了以下查询:

SELECT distinct ?subject AS ?mainSubject ?o1 AS ?name ?o2 AS ?point ?o3 AS ?country
WHERE {?subject ?property <http://dbpedia.org/ontology/PopulatedPlace>.
?subject <http://xmlns.com/foaf/0.1/name> ?o1.
?subject <http://www.georss.org/georss/point> ?o2.
?subject <http://dbpedia.org/ontology/country> ?o3.
filter (contains(str(?o3),"Israel")) } 
选择不同的主题作为主要主题o1作为名称o2作为点o3作为国家
哪里{?主体?财产。
?受试者?o1。
?受试者?氧气。
?受试者?o3。
过滤器(包含(str(?o3),“Israel”)}
但我只得到了一些结果

例如,我没有得到:

有更好的查询方法吗


谢谢。

您无法获得想要的结果,因为他们没有您要求的地理信息。您可以通过可选子句来完成

SELECT distinct ?subject AS ?mainSubject ?o1 AS ?name ?o2 AS ?point ?o3 AS ?country WHERE {
   ?subject ?property <http://dbpedia.org/ontology/PopulatedPlace>.
   ?subject <http://xmlns.com/foaf/0.1/name> ?o1.
   OPTIONAL{?subject <http://www.georss.org/georss/point> ?o2.}
   ?subject <http://dbpedia.org/ontology/country> ?o3.
   filter (contains(str(?o3),"Israel")) } 
选择不同的主题作为主要主题o1作为名称o2作为点o3作为所在国家/地区{
?主体?财产。
?受试者?o1。
可选{?主题?o2.}
?受试者?o3。
过滤器(包含(str(?o3),“Israel”)}
另一方面,您可以直接使用以色列的资源,而不是过滤器:

SELECT distinct ?subject AS ?mainSubject ?o1 AS ?name ?o2 AS ?point WHERE {
   ?subject ?property <http://dbpedia.org/ontology/PopulatedPlace>.
   ?subject <http://xmlns.com/foaf/0.1/name ?o1.
   OPTIONAL{?subject <http://www.georss.org/georss/point> ?o2.}
   ?subject <http://dbpedia.org/ontology/country> <http://dbpedia.org/resource/Israel>. }
选择不同的主体作为主要主体o1作为名称o2作为点{
?主体?财产。

?subject你无法得到你想要的结果,因为他们没有你要求的地理信息。你可以通过可选子句来实现

SELECT distinct ?subject AS ?mainSubject ?o1 AS ?name ?o2 AS ?point ?o3 AS ?country WHERE {
   ?subject ?property <http://dbpedia.org/ontology/PopulatedPlace>.
   ?subject <http://xmlns.com/foaf/0.1/name> ?o1.
   OPTIONAL{?subject <http://www.georss.org/georss/point> ?o2.}
   ?subject <http://dbpedia.org/ontology/country> ?o3.
   filter (contains(str(?o3),"Israel")) } 
选择不同的主题作为主要主题o1作为名称o2作为点o3作为所在国家/地区{
?主体?财产。
?受试者?o1。
可选{?主题?o2.}
?受试者?o3。
过滤器(包含(str(?o3),“Israel”)}
另一方面,您可以直接使用以色列的资源,而不是过滤器:

SELECT distinct ?subject AS ?mainSubject ?o1 AS ?name ?o2 AS ?point WHERE {
   ?subject ?property <http://dbpedia.org/ontology/PopulatedPlace>.
   ?subject <http://xmlns.com/foaf/0.1/name ?o1.
   OPTIONAL{?subject <http://www.georss.org/georss/point> ?o2.}
   ?subject <http://dbpedia.org/ontology/country> <http://dbpedia.org/resource/Israel>. }
选择不同的主体作为主要主体o1作为名称o2作为点{
?主体?财产。
?主题