将 RDF 项目特征建模为子类或对其他个体的引用
Modelling RDF item features as subclasses or as references to other individuals
我想知道将 RDF 项目特征建模为的含义(即优点和缺点)是什么:
- 类(即属于子类的个体)
- 个体指的是另一个代表特征的抽象个体。
我不想使用数据属性。我需要用他们的 IRI 来表示清晰的概念。
示例类型 1
@prefix : <http://example.org#> .
:Car a rdfs:Class .
:Subaru rdfs:subClassOf :Car .
:Mercedes rdfs:subClassOf :Car .
:Ferrari rdfs:subClassOf :Car .
:c1 a :Subaru .
:c1 a :Mercedes .
:c1 a :Ferrari .
示例类型 2
@prefix : <http://example.org#> .
:Car a rdfs:Class .
:CarModel a rdfs:Class .
:Subaru a :CarModel .
:Mercedes a :CarModel .
:Ferrari a :CarModel .
:c1 a :Car ;
:model :Subaru .
:c2 a :Car ;
:model :Mercedes .
:c3 a :Car ;
:model :Ferrari .
对不起,如果这个问题听起来太宽泛了。我知道在这些情况下有任何灵丹妙药,我正在尝试了解这些不同建模策略的含义。
这是一个概念建模问题,不是 RDF 或 OWL 独有的,但适用范围很广。正如您自己所说,没有唯一的正确答案。但是,有一些标准可以帮助您做出决定。
首先,问问自己被建模的 属性 是否是个人的 内在 属性?措辞略有不同:是否每个人都必须拥有这个 属性,或者是否有人可以不拥有它?如果 属性 是固有的,这就是支持使用 sub-类 的一点。在您的示例中,可以说 属性 是 内在的:没有 some 模型就不可能存在汽车。或者举一个不同的例子:没有哺乳动物可以不成为其特定子类型之一(长颈鹿、老鼠、狗等)而存在。
其次,也是密切相关的:属性 是不可变的 吗?那,这个 属性 的价值对任何人来说都可以随时间变化吗?如果它可以改变,那就是支持使用属性而不是 sub类 的一点。在您的示例中,汽车的模型可能是不可变的(因此这是支持使用 sub类 的另一点),但是如果您要添加每辆车的颜色,则可以更改(使用体面的油漆工作),这使得它成为使用属性的候选者(以及颜色可能不是固有的事实 属性,如果你认为没有油漆涂层的汽车仍然是汽车)。
这两个标准完全是概念性的,并且主要处理关于您的 ontology 反映 "the real world" 的程度的问题。可以说,这对于域的可重用性和可理解性很重要 ontology。其他考虑因素可能更实际,并处理诸如您可能会问的查询类型、两种建模方法中的哪一种产生尽可能小的数据集(就语句数量而言)等问题。
我想知道将 RDF 项目特征建模为的含义(即优点和缺点)是什么:
- 类(即属于子类的个体)
- 个体指的是另一个代表特征的抽象个体。
我不想使用数据属性。我需要用他们的 IRI 来表示清晰的概念。
示例类型 1
@prefix : <http://example.org#> .
:Car a rdfs:Class .
:Subaru rdfs:subClassOf :Car .
:Mercedes rdfs:subClassOf :Car .
:Ferrari rdfs:subClassOf :Car .
:c1 a :Subaru .
:c1 a :Mercedes .
:c1 a :Ferrari .
示例类型 2
@prefix : <http://example.org#> .
:Car a rdfs:Class .
:CarModel a rdfs:Class .
:Subaru a :CarModel .
:Mercedes a :CarModel .
:Ferrari a :CarModel .
:c1 a :Car ;
:model :Subaru .
:c2 a :Car ;
:model :Mercedes .
:c3 a :Car ;
:model :Ferrari .
对不起,如果这个问题听起来太宽泛了。我知道在这些情况下有任何灵丹妙药,我正在尝试了解这些不同建模策略的含义。
这是一个概念建模问题,不是 RDF 或 OWL 独有的,但适用范围很广。正如您自己所说,没有唯一的正确答案。但是,有一些标准可以帮助您做出决定。
首先,问问自己被建模的 属性 是否是个人的 内在 属性?措辞略有不同:是否每个人都必须拥有这个 属性,或者是否有人可以不拥有它?如果 属性 是固有的,这就是支持使用 sub-类 的一点。在您的示例中,可以说 属性 是 内在的:没有 some 模型就不可能存在汽车。或者举一个不同的例子:没有哺乳动物可以不成为其特定子类型之一(长颈鹿、老鼠、狗等)而存在。
其次,也是密切相关的:属性 是不可变的 吗?那,这个 属性 的价值对任何人来说都可以随时间变化吗?如果它可以改变,那就是支持使用属性而不是 sub类 的一点。在您的示例中,汽车的模型可能是不可变的(因此这是支持使用 sub类 的另一点),但是如果您要添加每辆车的颜色,则可以更改(使用体面的油漆工作),这使得它成为使用属性的候选者(以及颜色可能不是固有的事实 属性,如果你认为没有油漆涂层的汽车仍然是汽车)。
这两个标准完全是概念性的,并且主要处理关于您的 ontology 反映 "the real world" 的程度的问题。可以说,这对于域的可重用性和可理解性很重要 ontology。其他考虑因素可能更实际,并处理诸如您可能会问的查询类型、两种建模方法中的哪一种产生尽可能小的数据集(就语句数量而言)等问题。