Sparql 如何在dbpedia中获得owl:sameas

Sparql 如何在dbpedia中获得owl:sameas,sparql,rdf,dbpedia,wikidata,linked-data,Sparql,Rdf,Dbpedia,Wikidata,Linked Data,我使用以下查询从dbpedia页面使用owl:sameas获取wikidata ID SELECT distinct ?wikidata_concept WHERE {<http://dbpedia.org/resource/Category:Michael_Jackson> owl:sameAs ?wikidata_concept FILTER(regex(str(?wikidata_concept), "www.wikidata.org" ) )} LIMIT 100 请

我使用以下查询从dbpedia页面使用
owl:sameas
获取wikidata ID

SELECT distinct ?wikidata_concept 
WHERE {<http://dbpedia.org/resource/Category:Michael_Jackson> owl:sameAs ?wikidata_concept 
FILTER(regex(str(?wikidata_concept), "www.wikidata.org" ) )} 
LIMIT 100

请让我知道我哪里做错了。如果需要,我很乐意提供更多细节。

DBpedia有两个版本。所以,我得到两个结果的原因是我在这两种方法中使用了不同的版本


更改
sparql=SPARQLWrapper(“http://live.dbpedia.org/sparql“”
to
sparql=SPARQLWrapper(“”)http://dbpedia.org/sparql“
解决了我的问题。因此,我在查询编辑器和python代码中使用了相同的dbpedia版本。

在您使用dbpedia Live endpoint的代码中,链接中的web GUI是正常的dbpedia endpoint…我也不明白您为什么使用category
http://dbpedia.org/resource/Category:Michael_Jackson
而不是实体本身,即
http://dbpedia.org/resource/Michael_Jackson
DBpedia Live端点或多或少与Wikipedia同步,也就是说,对Wikipedia的更改将在几分钟(或者更长一点)后反映在DBpedia Live中。“普通”DBpedia端点只包含一个转换为RDF的Wikipedia转储,通常已经过时。我的意思是,看看-最新的数据来自2016年。。。不确定他们是否加载了新转储文件并忘记将其上载到网页。使用
http://dbpedia.org/resource/Michael_Jackson
也适用于DBpedia Live-只是你的过滤器不起作用,因为它们链接到不同的Wikidata URI样式(没有
www
):请参阅
SELECT distinct?Wikidata\u概念,其中{owl:sameAs?wikidata_concept}LIMIT 100
查看URI,然后查看您的筛选器。我相信您会找到它与正则表达式不匹配的原因,以及如何更改筛选器
import pandas as pd
from SPARQLWrapper import SPARQLWrapper, JSON

sparql = SPARQLWrapper("http://live.dbpedia.org/sparql")
item = "http://dbpedia.org/resource/Category:Michael_Jackson"
sparql.setQuery(f"SELECT distinct ?wikidata_concept WHERE {{<{item}> owl:sameAs ?wikidata_concept FILTER(regex(str(?wikidata_concept), \"www.wikidata.org\" ) )}} LIMIT 100")
sparql.setReturnFormat(JSON)
results = sparql.query().convert()
print(results)
results_df = pd.io.json.json_normalize(results['results']['bindings'])
print(results_df)