Sparql 将DBpedia类型映射到Wikipedia类别

Sparql 将DBpedia类型映射到Wikipedia类别,sparql,dbpedia,Sparql,Dbpedia,我试图将DBPedia类型映射到Wikipedia类别,下面的SPARQL查询就是一个简单的例子 select distinct ?cat where { ?s a dbpedia-owl:LacrossePlayer; dcterms:subject ?cat . filter(regex(?cat,'players','i') ) } limit 100 但这是非常低效的,因为它必须首先将DBpedia类型映射到DBpedia命名的实体(资源),然后提取相应的Wikipedia类别。

我试图将DBPedia类型映射到Wikipedia类别,下面的SPARQL查询就是一个简单的例子

select distinct ?cat where {
?s a dbpedia-owl:LacrossePlayer;  dcterms:subject ?cat . filter(regex(?cat,'players','i') )
}  limit 100

但这是非常低效的,因为它必须首先将DBpedia类型映射到DBpedia命名的实体(资源),然后提取相应的Wikipedia类别。我正在尝试为许多其他DBpedia类型进行这种映射。
有没有直接或更有效的方法可以做到这一点?

改进过滤器可能有助于… 首先,如果删除或改进过滤器,您可能会获得一些加速。当然,您可以删除它,但也可以使它更有效,因为您实际上没有使用任何特殊的正则表达式。照办

filter contains(lcase(str(?cat)),'players')
检查?cat的URI是否包含字符串播放器。甚至最好(我不确定)抓取?cat的英文rdfs:label,并检查一下,因为您不必进行大小写或字符串转换

…但是有很多结果。 但这是非常低效的,因为它必须首先映射DBpedia 类型到DBpedia命名实体(资源),然后提取它们的 相应的维基百科分类。我正在尝试为你做这个映射 许多其他DBpedia类型。有没有直接或更有效的方法 这样做

我不确定这里面到底有什么是低效的。DBpedia类型和类别关联的唯一方式是资源具有类型(通过rdf:type)和类别(通过dcterms:subject)。如果要查找连接,则需要查找类型的实例及其所属的类别。可能您可以研究是否有任何特定的信息框为文章提供了类别,并在信息框映射中用于提供DBpedia类型。这是直接获取category/DBpedia类型的唯一方法,而不必经过我能想到的实例,而且我不知道当前数据集是否具有此类信息

一般来说,由于Wikipedia类别不是类型层次结构,因此会有许多类别与任何特定类型的实例相关联。例如,我们可以使用如下查询来计算与类型FishLacrossePlayer关联的类别数:

select ?type (count(distinct ?category) as ?nCategories) where {
  values ?type { dbpedia-owl:Fish dbpedia-owl:LacrossePlayer }
  ?type ^a/dcterms:subject ?category 
}
group by ?type

类型n类别
http://dbpedia.org/ontology/LacrossePlayer  346
http://dbpedia.org/ontology/Fish            2375
该查询响应非常快,您甚至可以非常轻松地获取这些类别:

select distinct ?type ?category where {
  values ?type { dbpedia-owl:Fish dbpedia-owl:LacrossePlayer }
  ?type ^a/dcterms:subject ?category 
}
order by ?type
limit 4000

但是,当您开始使用具有更多实例的类型时,这些计数会变大,并且查询需要一段时间才能返回。例如,一种非常常见的类型,如地点

选择类型(计数(不同类别)作为类别),其中{
值?类型{dbpedia owl:Place}
?类型^a/D术语:主题?类别
}
按类型分组


我不建议尝试从远程服务器上取下所有数据。如果要提取,应该在本地加载数据。

您正在尝试获取给定类型实例上使用的所有类别,对吗?我想这就是通过映射将DBPedia类型标记为Wikipedia实例的方式。我只是想看看是否有类似的rdf:type或dcterms:subject可以直接映射类型和类别。再次感谢您的快速回复。
type                               nCategories
http://dbpedia.org/ontology/Place  191172