我有以下本体论
<owl:Class rdf:about="http://www.semanticweb.org/POC#Person"/>
<owl:Class rdf:about="http://www.semanticweb.org/POC#Vehicle"/>
<owl:ObjectProperty rdf:about="http://www.semanticweb.org/POC#drives"/>
<owl:Class rdf:about="http://www.semanticweb.org/POC#Driver">
<owl:equivalentClass>
<owl:Class>
<owl:intersectionOf rdf:parseType="Collection">
<rdf:Description rdf:about="http://www.semanticweb.org/POC#Person"/>
<owl:Restriction>
<owl:onProperty rdf:resource="http://www.semanticweb.org/POC#drives"/>
<owl:someValuesFrom rdf:resource="http://www.semanticweb.org/POC#Vehicle"/>
</owl:Restriction>
</owl:intersectionOf>
</owl:Class>
</owl:equivalentClass>
</owl:Class>
实际数据存储在关系数据库中。 (它将来也可能来自对象数据库。)我想将数据与上述本体类相关联,并对其进行推理以找出所有驱动程序。
我能够将人和车与数据库中的表连接起来。如何将数据与“驱动器”相关联,“驱动器”存储在具有car id和person id作为外键的单独表中,以关联人员和车辆的个人?
答案 0 :(得分:2)
嗯,我明白了。基本上我需要添加一个三重&#34; POC#person / 1 POC#驱动器POC#vehicle / 7 &#34;。我可以用我的多对多表来做到这一点。将来如果数据存储在对象数据库中,我可以以类似的方式使用引用。