我试图选择维基百科中所有具有特定专业、职业或特定领域(即包含职业或专业字符串)的人。
SELECT * WHERE {
?p a <http://dbpedia.org/ontology/Person> .
?p <http://dbpedia.org/ontology/influenced> ?influenced.
?p <http://dbpedia.org/ontology/knownFor> ?knownFor.
}
LIMIT 100生产一些我想要的东西,但我也想包括他们的专业/职业(这两种职业都是职业或职业),但以下内容没有返回任何内容:
SELECT * WHERE {
?p a <http://dbpedia.org/ontology/Person> .
?p <http://dbpedia.org/ontology/influenced> ?influenced.
?p <http://dbpedia.org/ontology/knownFor> ?knownFor.
?p <http://dbpedia.org/ontology/profession> ?profession.
}
LIMIT 100或者包括?职业也不起作用,因为有些人没有进入职业,而是有职业。我只想让所有的人(和他们的影响清单)从事某一特定的职业或职业,即“心理学”或“建筑师”。我想要一张桌子
Person | Profession/Occupation | Known For | Influenced Person | Profession/Occupation | Known For下面的话显然是错的,但是像这样的.
SELECT * WHERE {
?p a <http://dbpedia.org/ontology/Person> .
?s <http://dbpedia.org/ontology/profession> ?profession. (or ?fields/?occupation)
?p <http://dbpedia.org/ontology/influenced> ?influenced.
?p <http://dbpedia.org/ontology/knownFor> ?knownFor.
?s <http://dbpedia.org/ontology/profession> ?profession. (or ?fields/?occupation)
}
LIMIT 100发布于 2015-12-16 14:55:17
我不知道确切的原因*但似乎DBpedia中有dbo:influenced或dbo:knownFor的人没有dbo:profession或dbo:occupation。
因此,您的查询将无法工作,您必须找到其他方法来查找所需的信息,可能是通过查看dbp:fields或rdf:type。
*我的猜测是,dbo:influenced和dbo:knownFor用于科学家,而科学家在DBpedia没有职业或职业。
发布于 2015-12-17 08:51:55
DBpedia正在提取维基百科的信息框。如果您查看第一个查询的结果,并以其中的一个例子为例,请在维基百科中检查,您将发现在信息框中没有使用职业或职业。例如,让我们看看Coyne,维基百科页面是Coyne。在维基百科页面中,我们无法在信息框中找到任何关于职业或职业的信息。这是因为scientist被用作模板,并且该模板中没有职业/职业。另一方面,有person模板,我们可以找到职业和众所周知的。因此,下面的查询将有效:
SELECT * WHERE {
?p a <http://dbpedia.org/ontology/Person> .
?p <http://dbpedia.org/ontology/knownFor> ?knownFor.
?p <http://dbpedia.org/ontology/occupation> ?occupation.
}
LIMIT 100 https://stackoverflow.com/questions/34303735
复制相似问题