我在RDF,RDFS和OWL领域还很陌生,我正在尝试构建我的小型本体结构示例。
我已经收集了一些有关植物的信息,特别是我正在考虑基于“植物的高度”的第一个分区级别(请让我通过这个短语,我正在做一个非常简单的本体论,即“ 100%真实的世界是正确的,只需使用它来理解猫头鹰(OWL))即可,将称为植被的超类划分为3个子类,分别为: 树。
现在这些类在对象中的高度不同,因此我正在考虑制作3个具有相同名称的属性(每个属性一个):“ hasHeight”,其中,基于类,它们具有某些限制值,例如( > 6米)的树木或(> = 1,5&<= 6米)的灌木丛。
我在想的解决方案:
植被
*具有 hasHeight 属性的L 发芽植物(<1,5m)
* L 灌木,属性为 hasHeight (> = 1,5m&<= 6m)
*具有属性 hasHeight (> 6m)
我确信这不是解决此问题的正确方法,希望获得一些帮助以更好地理解我如何构造这些信息。
答案 0 :(得分:1)
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视图中检查元素,然后选择原因>启动推理器并再次检查它们。
实际上,不需要注释掉的行即可:
tree1
归类为Tree
,或 tree2
个人使本体无效(使其不一致)。