我是 SPARQL 和 RDF 等的新手。 我有以下查询:目的是在维基百科上找到与另一个人有某种联系的人。
PREFIX rdf:
PREFIX rdfs:
PREFIX schema:
SELECT *
WHERE
{
?person rdfs:label 'Douglas Adams'@en.
?person rdf:type dbo:Person.
?person foaf:isPrimaryTopicOf ?wikipage.
?person dbo:wikiPageWikiLink ?linkedPerson.
?linkedPerson rdf:type dbo:Person.
?linkedPerson foaf:isPrimaryTopicOf ?Linkedwikipage.
}
这主要有效 - 然而 - 返回的结果不是一个人 - 这是一个喜剧广播节目:https://dbpedia.org/page/The_News_Huddlines
在我看来,它被错误地标记了。 (但是我可以用我的 SPARQL 做些什么来更好地处理这个问题吗?)。
查询返回对应源维基百科页面:
https://en.wikipedia.org/wiki/The_News_Huddlines
但是我该如何编辑“rdf:type”来解决这个问题呢?
为了完整性 - 这是我运行查询('linked.rq')的脚本:
export ENDPOINT="https://dbpedia.org/sparql/"
export HEADER="accept:text/xml, application/sparql-results+xml"
export QUERY=`cat linked.rq`
curl --header "$HEADER" --data-urlencode "query=$QUERY" $ENDPOINT -o res.xml