Contributor: Guus Schreiber
In addition, we want to express in the ontology additional knowledge. For example, if an indexer selects the value "Late Georgian" for the style/period of (say) an antique chest of drawers, we want to be able to infer that the data element "date.created" should have a value between 1760 and 1811 A.D. and that the "culture" is British. Availability of this type of background knowledge increases significantly the support that can be given for indexing as well as for search.
<color> <chromatic color> pink vivid pink strong pink .... <intermediate pink> purplish pink brilliant purplish pink .... yellowish pink .... brownish pink (etc.) <neutral color> white gray light gray .... blackThe terms of type "<label>" are what AAT calls 'guide terms'. Their purpose is to provide structure to the hierarchy. When we specify a value restriction for the slot "color" of an image description template we ideally just want to say that any subclass of the <color> hierarchy can be used as slot filler.
REQUIREMENT: Class as slot filler. The corresponding range constraint should typically specify of what superclass(es) the slot fillers should be a subclass.
BTW: An assumption of our work is that in order to be successful we need to build on the (semi-)ontologies already available (like AAT), and that we will have to map these onto a representation in OWL. It is unrealistic to assume we can redo large-scale efforts like AAT.
REQUIREMNT: Possibility to specify that a property denotes a part-whole (containment/aggregation) relation.
style/period = "Late Georgian" => culture = "British" AND date.created = between 1760 and 1811[Style/period, culture and date.created are all VRA data elements defined as slots for our art-object description template.]
We could not define this constraint in RDFS. Sean Bechofer (University of Manchester) provided a DAML+OIL solution (details of data-type representation and URIs left out):
<daml:Restriction> <daml:onProperty rdf:resource="some-URL#style"/> <daml:hasClass> <daml:Class rdf:about="some-URL#Late Georgian"/> </daml:hasClass> <rdfs:subClassOf> <daml:Class> <daml:intersectionOf rdf:parseType="daml:collection"/> <daml:Restriction> <daml:onProperty rdf:resource="some-URL#date"/> <daml:hasClass> <daml:Class rdf:about="some-URL#1760-1811"/> </daml:hasClass> </daml:Restriction> <daml:Restriction> <daml:onProperty rdf:resource="some-URL#culture"/> <daml:hasClass> <daml:Class rdf:about="some-URL#British"/> </daml:hasClass> </daml:Restriction> </daml:intersectionOf> </daml:Class> </rdf:subClassOf> </daml:Restriction>So, all Late-Georgian things are subclasses of British things and all things created between 1760-1811. This is similar to what is called multiple specialization in data modelling.
Two issues arise here:
REQUIREMENT: Natural way to define definitional constraints.
IF type "chest of drawers" AND style/period = Late-Georgian THEN (this typically suggests) material.main = mahoganyThis knowledge is crucial for real semantic queries, e.g. a user query for "antique mahogany storage furniture" could match with images of Late Georgian chests of drawers, even if nothing is said about wood type in the image annotation.
One similar example from a different image search domain: suppose a person wants to search for images of a "red ape". Most photos of orang-utans will match this query. However, one cannot expect the indexer of every orang-utan photo to state explicitly the color of the ape (this also leads to unwanted inter-indexer variability). You really want them to link the photo to the class "orang-utan", and possibly only specify the color if it is not red/orange (old animals can get brown/grey, there are albino orang-utans, etc.). If we do not allow the specification of default color values for orang-utans in general, we will not find these matching photos.
REQUIREMENT: Possibility to represent default knowledge