我正在使用 SPARQL查询法语 dbpedia ( http://fr.dbpedia.org/ )。
如果有任何区别,我正在使用 Python 和 SPARQLWrapper。
这第一个查询工作正常。
PREFIX dbpp:<http://dbpedia.org/property/>
PREFIX dbpo:<http://dbpedia.org/ontology/>
PREFIX dbpr:<http://dbpedia.org/resource/>
SELECT ?wt ?summary ?source_url
WHERE {
?wt rdfs:label "Concerto"@fr .
OPTIONAL { ?wt dbpedia-owl:abstract ?summary . }
OPTIONAL { ?wt foaf:isPrimaryTopicOf ?source_url . }
filter (lang(?summary) = "fr" )
}
这第二个查询不起作用。
PREFIX dbpp:<http://dbpedia.org/property/>
PREFIX dbpo:<http://dbpedia.org/ontology/>
PREFIX dbpr:<http://dbpedia.org/resource/>
SELECT ?wt ?summary ?source_url
WHERE {
?wt rdfs:label "Opéra"@fr .
OPTIONAL { ?wt dbpedia-owl:abstract ?summary . }
OPTIONAL { ?wt foaf:isPrimaryTopicOf ?source_url . }
filter (lang(?summary) = "fr" )
}
唯一的区别是标签的值。该页面http://fr.dbpedia.org/page/Opéra
存在于 dbpedia 中,并且 rdfs 标签设置为“Opéra”。
我认为该查询不起作用,因为它包含法语字母é
。我尝试了几次转义 ( Op%C3%A9re
, Op\u0233ra
, Op\xe9ra
) 都没有成功。
任何的想法?