我有以下本体
<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>
实际数据存储在关系数据库中。(将来也可能来自对象数据库。)我想将数据与上述本体类关联起来,并对其进行推理以找出所有驱动因素。
我能够将人和车与数据库中的表连接起来。"驱动器"存储在单独的表中,汽车id和个人id作为外键,如何将数据与"驱动器"关联起来,以关联个人和车辆?
我明白了。基本上,我需要添加一个三重" poc# person/1 poc# drives poc# vehicle/7"。我可以用多对多表来做这个。如果将来数据存储在对象数据库中,我可以以类似的方式使用引用。