【发布时间】:2019-08-18 05:58:35
【问题描述】:
我正在尝试在 Wikipedia 页面上的 DBpedia 中进行 SPARQL 查询,但诸如 Random_forest 之类的查询在 Wikipedia 中是可用的页面,但在搜索查询期间未正确显示。
SELECT ?d WHERE
{{
?a rdfs:label "Random_forest"@en.
?a <http://dbpedia.org/ontology/wikiPageRedirects> ?b.
?b rdfs:label ?c FILTER (lang(?c)="en").
?d <http://purl.org/dc/terms/subject> ?e.
?e rdfs:label ?c.
}
UNION
{
?e <http://purl.org/dc/terms/subject> ?d.
?e rdfs:label "Random_forest"@en.
}
}
输出是:
{ "head": { "link": [], "vars": ["d"] },
"results": { "distinct": false, "ordered": true, "bindings": [ ] } }
【问题讨论】:
-
您查询的目的是什么?我没有得到第一个
UNION部分。随机森林资源重定向到属于某个类别的东西是您当前正在做的事情。 -
顺便说一下,它通常不起作用,因为标签是
"Random forest"@en",即没有下划线_char - 标签应该是人类可读的形式,你只需要这个URI - 如果您查看 DBpedia 页面,您会很容易看到这一点。select * {?a rdfs:label "Random forest"@en. }。并且资源http://dbpedia.org/resource/Random_forest重定向到任何内容,因此您的第一个UNION部分的结果无论如何都是空的,只是对于第二部分,它将返回 3 个dct:subjects相关类别