查询dbpediasparql以获取更多结果
我想从dbpedia获取一些数据。 我有实体URL,想获得一些关于本地化的信息。 现在我这样调用查询:查询dbpediasparql以获取更多结果,sparql,dbpedia,Sparql,Dbpedia,我想从dbpedia获取一些数据。 我有实体URL,想获得一些关于本地化的信息。 现在我这样调用查询: PREFIX geo: <http://www.w3.org/2003/01/geo/wgs84_pos#> PREFIX dbo: <http://dbpedia.org/ontology/> SELECT DISTINCT * WHERE { <{0}> rdfs:label ?label . OPTIONAL { <{
PREFIX geo: <http://www.w3.org/2003/01/geo/wgs84_pos#>
PREFIX dbo: <http://dbpedia.org/ontology/>
SELECT DISTINCT * WHERE
{
<{0}> rdfs:label ?label .
OPTIONAL {
<{0}> geo:lat ?lat ;
geo:long ?long .
} .
OPTIONAL {
<{0}> dbo:Country ?dboCountry
} .
OPTIONAL {
<{0}> dbpedia-owl:country ?dbpediaContry .
?dbpediaContry dbpprop:cctld ?ccTLD
}.
OPTIONAL {
<{0}> dbpprop:country ?dbpropContry
}
FILTER ( lang(?label) = "en" )
}
前缀geo:
前缀dbo:
选择DISTINCT*WHERE
{
标签?标签。
可选的{
地理:拉特?拉特;
吉奥:长?长。
} .
可选的{
dbo:国家?dbo国家
} .
可选的{
dbpedia猫头鹰:国家?DBPEDICONTRY。
?数据库控制dbpprop:cctld?cctld
}.
可选的{
dbpprop:国家?DBPROPCTRY
}
过滤器(lang(?label)=“en”)
}
对于每个url(用url替换{0})。
但我想优化它,并在一个查询中获得更多实体的结果。
也可以不在每行中设置url吗
问候
Piotr嗯,看来我已经找到了这两个问题的答案。 你知道这个吗 解决办法是:
SELECT DISTINCT *
WHERE {
?uri rdfs:label ?label .
OPTIONAL { ?uri geo:lat ?lat .
?uri geo:long ?long} .
FILTER (?uri IN ({0}, {1}, ...) )
}
也许这对其他人会有帮助?
或者也许有人知道更好的解决办法