如何定义谓词 skos:hasTopConcept?



我的问题很短,我对上面的谓词感到困惑。我这样使用它;

ex:Superclass a skos:Concept;
skos:prefLabel "Superclass";
skos:altLabel "Parent class";
skos:hasTopConcept ex:Class, ex:ClassHierarchy .

在我看来,这个谓词的使用方式与 Broader 相同,我可以对此进行一些澄清

吗谢谢

skos:ConceptScheme描述了一个知识组织系统,一个概念的容器。通常,一个概念最多存在于一个方案中,因为例如skos:notation应该在其方案中为该概念提供一个值(对于不同方案中的等效概念,存在特定的映射关系(。

您的用法不正确,因为skos:hasTopConcept用于概念方案,以概念为对象。这意味着这个概念在某种程度上是最通用的,最广泛的,即在该方案中没有更广泛的内容(但通常在其他方案中可能存在(。反之skos:topConceptOf,这意味着skos:inScheme

假设您的方案用于表示特定类之间的关系,您可能打算以这种方式对其进行建模:

ex:ClassRelations a skos:ConceptScheme ;
skos:hasTopConcept ex:Class .
ex:Class a skos:Concept ;
skos:topConceptOf ex:ClassRelations . # redundant since the inverse was already specified (inScheme is sufficient)
ex:Superclass a skos:Concept ;
skos:broader ex:Class .

但是,我认为这不是SKOS在这里的良好用途。我们在这里模拟类关系,虽然"是超类"是有意义的,但它并不比"是类"更具体,因为这没有意义。指定一个普通的旧 RDF 属性也同样有效。

使用某些编程语言中的"类层次结构"概念,它将更适合实际的层次结构,如类型,引用/值类型,接口等,或特定的类/类型,如对象,字符串,集合,列表等。

最新更新