Rdf 如何知道Dbpedia中表示事物的确切名称?

Rdf 如何知道Dbpedia中表示事物的确切名称?,rdf,sparql,semantic-web,dbpedia,linked-data,Rdf,Sparql,Semantic Web,Dbpedia,Linked Data,我开发了一个连接到dbpedia的php应用程序来获取事物的属性和主题(艺术家的名字、地名、名词……) 让我们举一个例子: 假设我想知道迈克尔·杰克逊的类型或职业: select distinct ?string where { <http://dbpedia.org/resource/Michael_Jackson> dbpprop:occupation ?string . } 选择distinct?字符串,其中{ dbpprop:职业?字符串。 } 问题是:如何在

我开发了一个连接到dbpedia的php应用程序来获取事物的属性和主题(艺术家的名字、地名、名词……) 让我们举一个例子: 假设我想知道迈克尔·杰克逊的类型或职业:

    select distinct ?string where {
  <http://dbpedia.org/resource/Michael_Jackson> dbpprop:occupation ?string .
}
选择distinct?字符串,其中{
dbpprop:职业?字符串。
}
问题是:如何在dbpedia中进行全文查询。我的意思是,只要写一件事,它就会给我相应的概念


谢谢

如果您查看的数据,您将看到一个属性
rdfs:label
,其值为“Michael Jackson”@en。您可以使用SPARQL查询检索资源,如下所示(我添加了关于owl:Thing的部分,因为您正在查找内容,而不是类别):

SPARQL确实支持正则表达式操作符(在标准中有明确的描述),但在DBpedia中查询所有内容可能代价太高,如果您尝试使用它,您的查询可能会超时


由于DBpedia资源URI是从相应的Wikipedia文章URI生成的,因此您最好使用Wikipedia查找工具,并从找到的Wikipedia文章URI生成DBpedia资源URI。

使用。

DBpedia具有许多与Wikipedia相同的重定向链接,因此,你可能必须遵循这些原则。还值得一看
owl:sameAs
链接。例如,查看表中列出的所有内容。请参阅DBpedia文档中的内容。复制于@JoshuaTaylor,您能解释更多吗?我不明白你告诉我的。如何自动查找?谢谢你,百科全书只是继承了维基百科的命名。没有确定的算法可以保证找到你要找的东西。这必然是一种启发。您最好的选择可能是查找具有给定
rdfs:label
的资源。那么我必须编写什么类型的查询呢?问题在于查询,我必须在查询中使用contains?谢谢,但是如果搜索的“单词”返回许多结果?例如,有许多人被称为迈克尔·杰克逊或被搜索的“单词”有很多意义?这是一个重要的问题。如果你不能手动完成,那么自动完成也没有任何希望,对吧?也就是说,如果有很多结果,用户如何知道选择哪一个?如果只是通过用户头脑中的东西,那么你将无法自动完成。如果用户必须查看列表,然后选择一个,那么您需要向用户显示这样的列表,让他们选择一个。我想这正是我想要的。非常感谢。但是这是用java编写的,我正在寻找用PHP编写的东西。你为什么在意呢?DBpedia查找服务只是一个RESTAPI,您可以从您选择的客户机语言调用查找URL(如Java、PHP、Python等)。好的,谢谢。但是如何返回返回的结果呢?它在navigator中显示结果。如果我想把它放在一个文件里怎么办?第二,如何使用结果,我的意思是如何消除歧义?如果请求的单词是apple,如何知道用户想要的正确单词是什么?
select ?s where { ?s rdfs:label "Michael Jackson"@en ; a owl:Thing }