我在RDF、RDFS和OWL世界中非常新,我正在尝试构建我的小型本体结构示例。
我收集了一些有关植物的信息,特别是我在考虑一个基于“植物能有多高”的第一个分区级别(请让我把这个短语传递给大家,我正在做一个非常简单的本体论,它在现实世界中是不完全正确的,仅仅是为了理解OWL),方法是将一个名为的超类划分为三个子类,名为herbaceous 、灌木和tree。
现在,这些类中的对象的高度不同,所以我想用相同的名称创建3个属性(每个属性一个):"hasHeight“,在这个类中,它们对树木有一定的限制(> 6米),对于灌木(>= 1,5 & <= 6米)有一定的限制。
我在想的解决办法是:
植被
*L草本植物 hasHeight (< 1,5m)
*L6m hasHeight (>= 1,5m & <= 6m)
*L Tree with property hasHeight (> 6m)
我相信这不是处理这个问题的正确方法,我希望得到一些帮助,使我能更好地了解如何安排这些资料。
发布于 2018-09-11 07:45:29
在曼彻斯特语法中
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é中打开它,检查实体>类选项卡上的http://protegeproject.github.io/protege/views/class-hierarchy视图中的元素,然后选择Reasoner > Start reasoner,然后再次检查它们。
实际上,不需要注释掉的行就可以:
tree1分类为Tree,或tree2个体使本体失效(使其不一致)。https://stackoverflow.com/questions/52263807
复制相似问题