我想获取具有指定类别和指定键的所有页面.我的查询:
PREFIX dbpedia: <http://dbpedia.org/>
PREFIX dbpedia2: <http://dbpedia.org/property/>
PREFIX dbpedia-owl: <http://dbpedia.org/ontology/>
PREFIX dcterms: <http://dublincore.org/2010/10/11/dcterms.rdf#>
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
PREFIX geo: <http://www.w3.org/2003/01/geo/wgs84_pos#>
PREFIX grs: <http://www.georss.org/georss/point>
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
SELECT ?page ?cat ?key ?value (lang(?value) as ?language) WHERE {
?page dcterms:subject ?cat .
?page ?key ?value .
FILTER(
regex(?cat, "category:Amusement_parks_in_the_Netherlands") &&
?key = foaf:depiction
)
}
Run Code Online (Sandbox Code Playgroud)
但它返回零结果.看到这里:SNORQL查询
它应该至少返回此页面:http://dbpedia.org/page/Duinrell(因为它符合标准).
有任何想法吗?
您的查询存在一些问题.首先,在比较URI时不要使用正则表达式.代替:
regex(?cat, "category:Amusement_parks_in_the_Netherlands")
Run Code Online (Sandbox Code Playgroud)
使用:
?cat = <http://dbpedia.org/resource/category:Amusement_parks_in_the_Netherlands>
Run Code Online (Sandbox Code Playgroud)
第二:你的dublin核心的命名空间前缀似乎是错误的.您正在查询属性dcterms:subject,并且在查询中,前缀dcterms将映射到命名空间http://dublincore.org/2010/10/11/dcterms.rdf#.但是,DBPedia中的实际属性是http://purl.org/dc/terms/subject,因此您的名称空间前缀应映射到http://purl.org/dc/terms/.
| 归档时间: |
|
| 查看次数: |
1137 次 |
| 最近记录: |