使用 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))
}
我不知道如何使用 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))
}