The OWL 2 Full semantics of Easy Keys.
Easy Keys are a "lightweight" alternative to full featured inverse functional data properties (IFDPs). Support for compound keys is provided.
Note: This feature is still under construction and discussion.
Note: The RDF syntax is currently only a suggestion, see .
c owl:hasKey SEQ( p_1 ... p_n )
owl:hasKey rdf:type rdf:Property owl:hasKey rdfs:domain owl:Class owl:hasKey rdfs:range rdf:List
Main semantic condition:
IF l is a sequence of p_1 ... p_n over R_I THEN (c,l) ∈ EXT_I(S_I(owl:hasKey)) IF AND ONLY IF c ∈ IOC, p_1, ..., p_n ∈ P_I, (x,z_1), (y,z_1) ∈ EXT_I(p_1) ∧ ... ∧ (x,z_n), (y,z_n) ∈ EXT_I(p_n) → x = y
- Easy Keys allow for the free intermixing of data and object properties, see the Structural Spec. So it is not possible to determine from the position of a property in the list of properties whether it is a data property or not. And this also cannot, in general, be entailed from other axioms. Hence, the only thing which can be entailed is that the properties are object properties, and that all the RHSs of the property assertions are individuals. This means that the basic idea of "data keys" isn't really reflected by the OWL Full semantics for Easy Keys, but this is regrettably not achievable.