建议简单的本体结构

问题描述 投票:0回答:1

我是RDF,RDFS和OWL世界的新手,我正在尝试构建我的小型本体结构示例。

我收集了一些关于植物的信息,特别是我想到的是基于“植物有多高”的第一个分区等级(请让我通过这个短语,我做的是一个非常简单的本体,不是100%现实世界是正确的,只是用它来理解OWL)在一个叫做草本植物,灌木和树木的3个子类中划分一个叫做植被的超类。

现在这些类对于它们中的对象的高度不同,所以我想要制作3个属性(每个一个)具有相同的名称:“hasHeight”,其中,基于类它们具有某些限制值(> 6米) )对于树木或(> = 1,5&<= 6米)的灌木。

我在想的解决方案:

植被 * L草本植物有财产hasHeight(<1,5m) * L带有财产的灌木有高度(> = 1,5m&<= 6m) * L树有财产hasHeight(> 6m)

我确信这不是解决这个问题的正确方法,并希望得到一些帮助,以便更好地理解我如何构建这些信息。

rdf owl semantic-web ontology rdfs
1个回答
1
投票

Manchester syntax

Prefix: : <https://stackoverflow.com/q/52263807#>

Ontology: <https://stackoverflow.com/q/52263807>

Class: Vegetation
#    DisjointUnionOf: Herbaceous_plant, Shrub, Tree

DataProperty: has_height
    Domain: Vegetation
    Range: xsd:decimal[>= 0.0]
    Characteristics: Functional
    Annotations: rdfs:comment "in meters"@en

Class: Herbaceous_plant
    EquivalentTo: # Vegetation and
        has_height exactly 1 xsd:decimal[>= 0.0 , < 1.5]

Class: Shrub
    EquivalentTo: # Vegetation and 
        has_height exactly 1 xsd:decimal[>= 1.5 , <= 6.0]

Class: Tree
    EquivalentTo: # Vegetation and
        has_height exactly 1 xsd:decimal[> 6.0]

Individual: tree1
    Facts: has_height 7.0

# Individual: tree2
#     Types: Tree, Shrub

在Protégé中打开它,检查实体>类选项卡上Class hierarchy视图中的元素,然后选择Reasoner> Start reasoner并再次检查它们。

实际上,人们不需要注释掉的行以便:

  • tree1归类为Tree,或
  • 使tree2个体使本体失效(使其不一致)。
© www.soinside.com 2019 - 2024. All rights reserved.