EnterpriseIntegrationLab / icity

Ontologies developed for the UTTRI iCity-ORF Project
Other
3 stars 6 forks source link

don't use subPropertyOf "for organizational purposes" #2

Open VladimirAlexiev opened 2 years ago

VladimirAlexiev commented 2 years ago

Eg Person.owl has this:

    <owl:ObjectProperty rdf:about="http://ontology.eil.utoronto.ca/icity/Person/SchemaOrgProperty">
        <dc:description>Added for organizational purposes, to capture the properties reused from Schema.org. Notice that since we cannot import schema.org we must manually reference the individual IRIs.</dc:description>
    </owl:ObjectProperty>
    <owl:ObjectProperty rdf:about="http://schema.org/address">
        <rdfs:subPropertyOf rdf:resource="http://ontology.eil.utoronto.ca/icity/Person/SchemaOrgProperty"/>
        <dc:description>Physical address of the item.</dc:description>
    </owl:ObjectProperty>
    <owl:ObjectProperty rdf:about="http://ontology.eil.utoronto.ca/icity/Person/hasIncome">
        <rdfs:subPropertyOf rdf:resource="http://ontology.eil.utoronto.ca/icity/Person/PersonOntologyProperty"/>
    </owl:ObjectProperty>

If you use RDFS, a repository would have to infer from every instance of the specific props hasIncome and address, an instance of the "organizational" props PersonOntologyProperty and SchemaOrgProperty. A forward-chaining repo like GraphDB will have to infer actual new triples.

But one would never use the "organizational" props for querying, so this is wasteful.

Using "organizational props" may make a nice hierarchy in Protege, but is not a good thing to use on real data.

Note: I'm not against super-properties in general. Eg schema:identifier has sub-props, which has a useful competency question: "find by any identifier".