使用 SPARQL 从 DBpedia 获取有关景点和兴趣点的数据

Get data about attractions and point of interest from DBpedia using SPARQL

我不知道如何使用 DBpedia 或 SPARQL。

你能帮我从 DBpedia 中找到景点和兴趣点的数据列表吗?

实际上我想要所有 Cities/Country 的酒店和旅游景点,包括纬度、经度、景点名称、位置名称、城市、州、大洲等

请帮助我使用 SPARQL 查询获取数据。

如果您有任何其他建议,请指导我..

这是终点:http://dbpedia.org/sparql/

获取叙利亚的所有酒店:

select * where {
?hotel a <http://dbpedia.org/ontology/Hotel> .
?hotel dbo:location dbr:Syria
}

这个答案只是为了让你知道如何查询DBPedia

更新

评论后假设我只想获取孟买市的所有旅游景点或景点

你应该定义那些“旅游景点*是什么?在下面的查询中,我给你举了一个例子,假设旅游景点是博物馆、塔楼、公园、教堂、摩天大楼,

select ?thing ?type ?typeName where {

VALUES ?city {<http://dbpedia.org/resource/London>}

?thing dbo:location ?city.

optional 
{
?thing a ?type .
VALUES ?type {<http://dbpedia.org/ontology/Hotel>}
BIND( "Hotel" as ?typeName )
}

optional
{
?thing a ?type.
VALUES ?type {dbo:Museum}
BIND( "Museum" as ?typeName )
}
optional
{
?thing a ?type.
VALUES ?type {dbo:Pyramid}
BIND( "Pyramid" as ?typeName )
}

optional
{
?thing a ?type.
VALUES ?type {yago:Skyscraper104233124}
BIND( "Skyscraper" as ?typeName )
}

optional
{
?thing a ?type.
VALUES ?type {dbo:Park}
BIND( "Park" as ?typeName )
}

optional
{
?thing a ?type.
VALUES ?type {yago:Church103028079}
BIND( "Church" as ?typeName )
}

{
?thing a dbo:Place
}

filter (BOUND (?type))

}

如果你有想法,你可以扩展它

更新 2

您想显示经度、纬度和国家/地区。给你:

select ?thing ?type ?typeName ?long ?lat ?country where {

VALUES ?city {<http://dbpedia.org/resource/London>}

optional {
?city dbo:country ?country
}

?thing dbo:location ?city.

optional 
{
?thing a ?type .
VALUES ?type {<http://dbpedia.org/ontology/Hotel>}
BIND( "Hotel" as ?typeName )
}

optional
{
?thing a ?type.
VALUES ?type {dbo:Museum}
BIND( "Museum" as ?typeName )
}
optional
{
?thing a ?type.
VALUES ?type {dbo:Pyramid}
BIND( "Pyramid" as ?typeName )
}

optional
{
?thing a ?type.
VALUES ?type {yago:Skyscraper104233124}
BIND( "Skyscraper" as ?typeName )
}

optional
{
?thing a ?type.
VALUES ?type {dbo:Park}
BIND( "Park" as ?typeName )
}

optional
{
?thing a ?type.
VALUES ?type {yago:Church103028079}
BIND( "Church" as ?typeName )
}

optional
{
?thing geo:long ?long.
?thing geo:lat ?lat
}


{
?thing a dbo:Place
}

filter (BOUND (?type))

}