1

我有以下本体

    <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 作为外键,以关联人员和车辆的个体?

4

1 回答 1

2

嗯,我明白了。基本上我需要添加三重“ POC#person/1 POC#drives POC#vehicle/7 ”。我可以使用我的多对多表来做到这一点。将来如果数据存储在对象数据库中,我可以以类似的方式使用引用。

于 2015-08-24T08:49:58.833 回答