Sparql 选择dbpedia中与特定概念/职业/职业相关的所有人员

Sparql 选择dbpedia中与特定概念/职业/职业相关的所有人员,sparql,dbpedia,Sparql,Dbpedia,我正在尝试选择维基百科中具有特定职业、职业或因特定领域而知名的所有人(即包含该职业或职业的字符串) 选择*WHERE{ 通讯社 p受影响。 p?不知道。 } 限制100 产生我想要的东西,但我也想包括他们的专业/职业(两者都是?专业或?职业),但以下内容不返回任何内容: 选择*WHERE{ 通讯社 p受影响。 p?不知道。 职业。 } 限制100 或者包括?职业也不起作用,因为有些人没有职业条目,但有职业。我只想让所有人(及其受影响的名单)从事某一特定职业,即“心理学”或“建筑师”。我想要一

我正在尝试选择维基百科中具有特定职业、职业或因特定领域而知名的所有人(即包含该职业或职业的字符串)

选择*WHERE{
通讯社
p受影响。
p?不知道。
}
限制100
产生我想要的东西,但我也想包括他们的专业/职业(两者都是?专业或?职业),但以下内容不返回任何内容:

选择*WHERE{
通讯社
p受影响。
p?不知道。
职业。
}
限制100
或者包括?职业也不起作用,因为有些人没有职业条目,但有职业。我只想让所有人(及其受影响的名单)从事某一特定职业,即“心理学”或“建筑师”。我想要一张桌子:

人|职业/职业|以|受影响的人|职业/职业|以
下面的内容显然是错误的,但类似这样的内容

选择*WHERE{
通讯社
职业(或领域/职业)
p受影响。
p?不知道。
职业(或领域/职业)
}
限制100

我不知道确切的原因*,但似乎DBpedia中有
dbo:impact
dbo:known
的人没有
dbo:profession
dbo:confession

因此,您的查询将无法工作,您必须找到其他方法来查找所需信息,可能是通过查看
dbp:fields
rdf:type



*我的猜测是,
dbo:infected
dbo:known
用于科学家,而科学家在DBpedia中没有职业或专业。

我不知道确切原因*,但是,DBpedia中有
dbo:infected
dbo:known
的人似乎没有
dbo:profession
dbo:accountry

因此,您的查询将无法工作,您必须找到其他方法来查找所需信息,可能是通过查看
dbp:fields
rdf:type



*我的猜测是,
dbo:infected
dbo:known
用于科学家,而科学家在DBpedia中没有职业或专业。

DBpedia是维基百科信息框的提取。如果您查看第一个查询的结果,并从中选取一个示例,查看维基百科,您将看到信息框中没有使用专业或职业。例如,让我们看一下,维基百科页面是。在维基百科页面中,我们无法在信息框中找到任何关于职业或职业的信息。这是因为该模板用作模板,并且该模板中没有职业/专业。另一方面还有模板,我们可以找到职业已知的。因此,以下查询将起作用:

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 
选择*WHERE{
通讯社
p?不知道。
职业。
}
限制100

但这个函数只查询使用的页面的提取,不会返回任何使用过的页面

DBpedia是对维基百科信息框的提取。如果您查看第一个查询的结果,并从中选取一个示例,查看维基百科,您将看到信息框中没有使用专业或职业。例如,让我们看一下,维基百科页面是。在维基百科页面中,我们无法在信息框中找到任何关于职业或职业的信息。这是因为该模板用作模板,并且该模板中没有职业/专业。另一方面还有模板,我们可以找到职业已知的。因此,以下查询将起作用:

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 
选择*WHERE{
通讯社
p?不知道。
职业。
}
限制100

但这个函数只查询使用的页面的提取,不会返回任何使用过的页面

请看一看SPARQL联盟,这应该可以解决您的问题。请看一看SPARQL联盟,这应该可以解决您的问题。