I have following ontology
<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>
The actual data is stored in relational database. (It could come from object database also in future.) I want to associate the data with the above ontology classes and perform reasoning over it to find out all the drivers.
I am able to connect person and car with the tables in the database. How do I associate data with "drives", which is stored in separate table with car id and person id as foreign keys, to associate the individuals of person and vehicle?
Well I got it. Basically I need to add a triple "POC#person/1 POC#drives POC#vehicle/7". I can use my many to many table to do this. In future if data is stored in object database I can use the reference in the similar fashion.