我有一个本体论(分类学,只有类,没有个人),这样:
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查询,我应该在类之间创建关系的最佳方式是什么(我已经有了与我的映射,还有待完成的是添加关系)?
答案 0 :(得分:0)
您应该创建的是对象属性:grows_in
。对象属性将Individuals
连接到Individuals
。
此外,此对象属性需要Plants
为Domain
,Parts
为Range
。
注释属性显然不适合它。
例如,有价值的SPARQL查询将是:
PREFIX : <YOU_ONTOLOGY_URL>
SELECT * WHERE {
?parts :grows_in ?plan
}
编辑:编辑以下评论