Rdf OWL我怎么知道某个东西应该是类还是实例?

Rdf OWL我怎么知道某个东西应该是类还是实例?,rdf,semantic-web,owl,ontology,rdfs,Rdf,Semantic Web,Owl,Ontology,Rdfs,我试图建立一个本体来表示属性(资产),属性应该有一个类型,如别墅或公寓 我的问题是,我不知道别墅和公寓应该是类还是实例我怎么知道 我正在考虑创建一个名为Property的类和一个名为isTypeOf的关系,以及一个名为PropertyType的类,它有两个实例公寓和别墅。请问对吗?或者我应该把公寓和别墅作为物业类型类的子类?我认为,您在这里结合了两个区别,您可能需要分别论证: 什么时候应该使用子类化,什么时候应该使用属性引用 我应该在何时在TBox级别(子类化)和何时在ABox级别(属性值、实例

我试图建立一个本体来表示属性(资产),属性应该有一个类型,如别墅或公寓

我的问题是,我不知道别墅和公寓应该是类还是实例我怎么知道


我正在考虑创建一个名为
Property
的类和一个名为
isTypeOf
的关系,以及一个名为
PropertyType
的类,它有两个实例
公寓
别墅
。请问对吗?或者我应该把
公寓
别墅
作为
物业类型
类的子类?

我认为,您在这里结合了两个区别,您可能需要分别论证:

  • 什么时候应该使用子类化,什么时候应该使用属性引用
  • 我应该在何时在TBox级别(子类化)和何时在ABox级别(属性值、实例)表示区别
  • (1) 与旧的
    继承或委派问题或多或少相同。答案也大致相同:当歧视是所代表对象的固有属性时,当歧视属性是知识模型的核心时,当歧视属性没有独立的存在理由时,使用继承

    另一方面,当discrimination属性仅向类/对象添加额外信息或有足够的理由单独“存在”时(即,没有完全绑定到引用对象),请使用委托。在您的情况下:检查有多少信息取决于
    PropertyType
    ,它取决于
    PropertyType
    本身,而不是单个
    属性。如果有像“有游泳池和圆形车道的别墅”这样的区分很重要而且可以重复使用,你可以考虑委托。
    (2) 遵循相同的函数依赖关系

    我个人的经验法则是

    • 如果您希望基于细分制定其他公理,即如果您需要参考细分集,如果您需要附加数据或对象属性,或者如果您希望进一步细化,请将其设置为类(想想看
      LuxuryApartment
      或者只能连接到
      别墅的
      花园
      等等)
    • 如果您希望本体明确,并且希望新的子分类很少,请将其设置为类。但是请注意,您的期望可能是错误的
    • 如果属性值不引入或非常有限的函数依赖项,并且该区别本身不需要任何附加属性,则将其设置为属性
    但是,总的来说,不一定有正确或错误

    专业课程

    如果
    公寓
    别墅
    是类,那么很容易根据这些类制定额外的公理。例如,假设只有
    别墅
    物业
    才允许有花园:

    (∃ hasPropertyFeature . Garden) ⊑ Villa
    
    如果您尝试使用
    hasPropertyType
    data属性来表述此属性,那么最终会得到如下结果

    (∃ hasPropertyFeature . Garden) ⊑ (∃ hasPropertyType . "villa"^^xsd:string)
    
    这不仅很难理解,而且推理也很慢。此外,类可以被子类化,也就是说,有一种简单的方法可以进行额外的细分

    对位类

    但是,拥有一个没有附加限制的
    hasPropertyType
    属性,您就可以纯粹在实例级别添加附加属性值,而无需接触原始本体

    如果
    townHouse
    作为一种新的属性类型出现很长时间,则基于类的版本需要更改原始本体的TBox并添加一个新的
    townHouse
    类。虽然这通常没有问题(大多数情况下是保守的扩展)这仍然是一个TBox更改,您基本上需要为这些更改创建一个本体的新版本


    然而,当属性引入函数依赖项时,这个版本就变得不太可行了;参见上文。

    RDF、RDF和OWL都有必要的t-box术语。OWL DL默认基于描述逻辑,它大量借鉴了集合论,因此它的自然优势在于使用类、交集和并集来描述t欣

    话虽如此,我认为您更喜欢使用稍微软一点/松散一点的语义进行建模,并希望使用分类法(枚举),那么如果您对您的域了解不够,那么看看如何帮助方面的东西


    使用SKOS,您可以创建ConceptScheme,其中包括描述为比其他概念和ConceptScheme更宽/更窄的各种类。此外,它与OWL完全兼容

    非常感谢您的详细回答。我这里还有另一个问题,请检查