SPARQL在Python中从dbpedia提取实体

SPARQL在Python中从dbpedia提取实体,sparql,dbpedia,Sparql,Dbpedia,我正试图使用下面的代码为单词Fish提取实体/概念,但我得到了如下结果 Fish سمك Fische Pisces Poisson Pesce Vissen (dieren) Ryby Peixe Рыбы 鱼 我期待像猫鱼、金鱼、绿鱼、钓鱼这样的鱼。我该怎么做 from SPARQLWrapper import SPARQLWrapper, JSON sparql = SPARQLWrapper("http://dbpedia.org/sparql") sparql.setQuery("

我正试图使用下面的代码为单词Fish提取实体/概念,但我得到了如下结果

Fish
سمك
Fische
Pisces
Poisson
Pesce
Vissen (dieren)
Ryby
Peixe
Рыбы
鱼
我期待像猫鱼、金鱼、绿鱼、钓鱼这样的鱼。我该怎么做

from SPARQLWrapper import SPARQLWrapper, JSON

sparql = SPARQLWrapper("http://dbpedia.org/sparql")
sparql.setQuery("""
    PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
    SELECT *

    WHERE { <http://dbpedia.org/resource/Fish> rdfs:label ?name }
""")
sparql.setReturnFormat(JSON)
results = sparql.query().convert()

for result in results["results"]["bindings"]:
    print(result["name"]["value"])
从SPARQLWrapper导入SPARQLWrapper,JSON
sparql=SPARQLWrapper(“http://dbpedia.org/sparql")
sparql.setQuery(“”)
前缀rdfs:
挑选*
其中{rdfs:label?name}
""")
setReturnFormat(JSON)
结果=sparql.query().convert()
对于结果[“结果”][“绑定”]:
打印(结果[“名称”][“值”])

您的查询要求实体的所有
rdfs:label
。我想你想要的是--


我收到此错误响应:b'Virtuoso S1T00错误SR171:事务超时\n\nSPARQL查询:\n\n前缀rdfs:\n选择?标签?实体\n其中{实体rdfs:label?标签\n过滤器(regex(?label,“fish”,“I”))}\n按标签排序\n'`这是我的代码``sparql=SPARQLWrapper(“)sparql.setQuery(““”前缀rdfs:SELECT?label?实体,其中{?实体rdfs:label?标签过滤器(regex(?label,“fish”,“i”)}按?标签“”排序)sparql.setReturnFormat(JSON)结果=sparql.query().convert(),用于结果[“结果”[“绑定”]:打印(结果[“名称”[“值”])我已经在我的答案中添加了一些其他选项。请注意,您的代码和错误在这里的评论区域中变得相当混乱;最好将这些细节编辑到您的问题中,然后发表评论,注意已经进行了这样的编辑。嘿,谢谢,第二个选项对我有用。您能推荐我可以了解更多信息的教程/视频/材料吗?我想act子网和更多Stufs开始…有很多教程和视频。您也可以尝试使用不同的工具,如图形查询生成器或Virtuoso FCT浏览器(也。。。
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>

SELECT ?label ?entity
WHERE
 { ?entity rdfs:label ?label 
   FILTER ( regex ( ?label, "fish", "i" ) ) 
 }
ORDER BY ?label
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>

SELECT ?label ?entity
WHERE
 { ?entity rdfs:label ?label .
   ?label bif:contains "fish"
 }
ORDER BY ?label