来自skos的子类别:更广泛,包括父类别

时间:2015-04-06 21:27:48

标签: sparql dbpedia

为什么在以下查询中,结果中列出了Category:American_architecture_by_state

 select distinct ?s where { ?s skos:broader category:Architecture_in_Alabama}

enter image description here

Isn' t category:American_architecture_by_state,应该是category:Architecture_in_Alabama的父类别而不是子类别?

当我使用skos时,这真的搞砸了我的结果:更宽*因为我希望它从Parent节点开始并遍历到子节点。

2 个答案:

答案 0 :(得分:1)

  

当我使用skos时,这真的搞砸了我的结果:像我一样宽广   期望它从Parent节点开始并遍历到子节点。

我不确定你的期望。 skos:更广泛的定义在SKOS标准的§8 Semantic Relations中给出:

  

8. Semantic Relations

     

属性skos:wider和skos:narrower用于断言a   两个SKOS概念之间的直接分层链接。 三A   skos:更广泛的B断言B,三联的对象是a   比A更广泛的概念,三联的主题。同样,a   三重C skos:较窄的D断言D,对象   三重,是一个比C更狭窄的概念,三重主题。

这意味着查询

select distinct ?s where {
  ?s skos:broader category:Architecture_in_Alabama
}

应选择更窄的类别而不是类别:Architecture_in_Alabama 。现在,我同意看起来美国的建筑可能是阿拉巴马州建筑的超类别,但重要的是要注意类别与类不同。如果A是B的子类,那么A的所有内容也是B.但这不是类别的工作方式。

  

8.6.6。 skos:更广泛和传递性

     

请注意,skos:wider不是传递属性。同样的,   skos:narrower不是传递属性。

  

8.6.8。分层关系中的循环(skos:widerTransitive和Reflexivity)

     

在下图中,已在层级中说明了一个循环   关系。请注意,此图表与SKOS数据模型一致,   即,没有条件要求skos:widerTransitive   漫反射的。

     例37(一致)
<A> skos:broader <B> .
<B> skos:broader <A> .

实际情况可能是这样的情况:美国架构按州类别比大多数“XXX架构”类别更广泛,反之亦然 。例如,看看DBpedia page for American architecture by state;请注意,它(仅作为一个示例)Architecture_in_New_York作为更广泛的值,但它也更广泛的 for 的值是skos:更广泛的Architecture_in_New_York。我同意这有点奇怪,可能是不受欢迎的,但并不是不允许的:

  

[对于]使用知识组织系统的许多应用程序,a   层次关系中的循环代表潜在的问题。对于   这些应用程序,计算传递闭包   skos:widerTransitive然后寻找X形式的语句   skos:widerTransitive X是查找周期的便捷策略   在层次关系中。应用程序应如何处理此类问题   声明在本规范中没有定义,可能会有所不同   应用

答案 1 :(得分:0)

因为Category:American_architecture_by_state中存在skis:broader及其反is skos:broader of。该查询运行良好,如果您不希望在结果集中使用Category:American_architecture_by_state,则需要重新考虑您的查询。