寻找共同的类别或资源的supercategories(Finding common categori

2019-10-19 03:35发布

我想知道,如果我们可以知道两个资源是否具有相同类别或一些子类(即属于一些常见supercategory的类别)在DBpedia中? 我试图在DBpedia中端点此查询,但它是错误的:

select distinct ?s ?s2 where {
?s skos:subject <http :// dbpedia.org/resource/ Category ?c.
?s2 skos:subject <http :// dbpedia.org/resource/ Category ?c2.
?c=?c2.
}

Answer 1:

DBpedia中不使用skos:subject资源,而是涉及资源使用他们的维基百科类dcterms:subject 。 你可以找出哪些数据可通过浏览网页资源。 例如,你可能有一个看http://dbpedia.org/resource/Mount_Monadnock 。 如果你想找到两个资源具有共同的类别,只要使用同一个变量。 例如,

?subject1 dcterms:subject ?category .
?subject2 dcterms:subject ?category .

你可以更简洁与写^property符号和对象名单。 写作o ^ps是一样的书写spo 。 对象列表让你写sp o1, o2 ,而不是sp o1. sp o2. sp o1. sp o2. 。 把这些在一起,我们可以这样写:

?category ^dcterms:subject ?subject1, ?subject2 .

例如,下面是找到诺纳德诺克山和斯波福德湖的常见类型的查询。 这里只有一个结果,柴郡,新罕布什尔州的地貌,因为他们只拥有一个共同的类别。

select * where {
  ?category ^dcterms:subject dbpedia:Mount_Monadnock, dbpedia:Spofford_Lake .
}

SPARQL结果

现在,类别由与他们supercategories在DBpedia中skos:broader ,你可以在看http://dbpedia.org/page/Category:Landforms_of_Cheshire_County,_New_Hampshire ,那里有链接

  • http://dbpedia.org/resource/Category:Landforms_of_New_Hampshire_by_county和
  • http://dbpedia.org/resource/Category:Geography_of_Cheshire_County,_New_Hampshire

现在,这意味着,如果两个东西都具有一些共同的类别(或supercategory),每个将与该类别通过带路径dcterms:subject链接,其次是零个或多个skos:broader联系。 因此,你可以使用像查询

select * where {
  ?category ^(dcterms:subject/skos:broader*) dbpedia:Mount_Monadnock, dbpedia:Spofford_Lake .
}

你会发现,不幸的是,在DBpedia的端点运行与该查询内存使用的问题,所以你不能运行它完全一样的。 然而,DBpedia的SPARQL端点支持属性路径的功能,其实并没有使它成为标准; 可以编写p{n,m}表示长度至少的链n且至多m 。 这意味着你可以把一些范围上,将让你最相同的结果的*

select distinct ?category where {
  ?category ^(dcterms:subject/(skos:broader{0,3})) dbpedia:Mount_Monadnock, dbpedia:Spofford_Lake .
}

SPARQL结果

这适用于汤姆·克鲁斯和麦当娜为好,但你需要缩减的路径长度一点,因为内存的问题。 例如,下面的查询返回74结果。

select distinct ?category where {
  ?category
      ^(dcterms:subject/(skos:broader{0,2}))
          <http://dbpedia.org/resource/Tom_Cruise>,
          <http://dbpedia.org/resource/Madonna_(entertainer)> .
}

SPARQL结果

值得一提的,不过,维基百科分类并不是类型。 因此,尽管这两个资源都理所当然地认为是地貌,无论地理还是,因为你会在以后的查询,新罕布什尔见。 维基百科类别更关注的话题不是一个类型的层次结构。

相关阅读

有一个相关的(但不是完全重复的问题),你可能会发现有用的还有: 使用SPARQL来定位与同一属性的多个实例的对象 。



文章来源: Finding common categories or supercategories of resources