本体:在本体中创建类连接

时间:2018-06-18 15:59:19

标签: owl ontology rdflib

我有一个本体论(分类学,只有类,没有个人),这样:

Owl:Thing
    Parts
        Jackfruit
        Jackfruit_flower 
        Grape
    Plant
        Jackfruit_tree
        Grapevine

我想创建一个关系来连接两个类 Parts Plant grow_in ,它们将每个部分映射到一个树。最终,我希望能够编写SparQL查询,例如: grow_in 特定工厂的哪些部分。

我在某处读到使用注释属性是解决此问题的最佳方法。但是,似乎注释属性不适用于reasoners / SparQL查询。应该注意的是,我所拥有的本体是巨大的(> 10,000个类),我在python中使用rdflib。

为了能够运行SparQL查询,我应该在类之间创建关系的最佳方式是什么(我已经有了与我的映射,还有待完成的是添加关系)?

1 个答案:

答案 0 :(得分:0)

您应该创建的是对象属性:grows_in。对象属性将Individuals连接到Individuals

此外,此对象属性需要PlantsDomainPartsRange

注释属性显然不适合它。

例如,有价值的SPARQL查询将是:

PREFIX : <YOU_ONTOLOGY_URL>

SELECT * WHERE {
  ?parts :grows_in ?plan
}

编辑:编辑以下评论