从dbpedia中的字符串中查找组织和行业/部门

问题描述

我正在生成一个10到20个字符串的简短列表,我想在dbpedia上查找它们是否具有组织标签,如果有,则返回行业/行业标签。我一直在他们的网站上查看SPARQLwrapper查询,但是在构造一个返回我的字符串的组织和部门/行业时遇到麻烦。有办法吗?

如果我使用下面的代码,则会得到我认为的行业类型列表,而不是公司所在的行业。

from SPARQLWrapper import SPARQLWrapper,JSON                                                        

sparql = SPARQLWrapper("http://dbpedia.org/sparql")                                                                                                                                                       
sparql.setQuery("""                                                                                
   SELECT ?industry  WHERE   
 { <http://dbpedia.org/resource/IBM> a ?industry}             
   """)

sparql.setReturnFormat(JSON)    
results = sparql.query().convert()                                                                

解决方法

您应该先查看正在查询的数据,而不是查看旨在帮助您了解查询工具的查询。例如,只需单击http://dbpedia.org/resource/IBM,然后查看属性(左侧列)以查看其rdf:type值(其中有很多)!

请注意,IBM未描述为a ?industry。 IBM被描述为a <http://dbpedia.org/resource/Public_company>(除其他外)。另一方面,IBM也被描述为具有<http://dbpedia.org/ontology/industry>的三个值-

<http://dbpedia.org/resource/Cloud_computing>
<http://dbpedia.org/resource/Information_technology>
<http://dbpedia.org/resource/Cognitive_computing>

我不知道这些是否是您真正想要的东西,但是希望我在上面所做的一切将使您走上正确的道路,以实现您想要得到的一切走出DBpedia。