FullSemanticsDatatypeRestrictions

WORK IN PROGRESS

The OWL 2 Full semantics of Datatype Restrictions, Complements, and Enumerations.

Note: There is still some ongoing discussion on syntax and semantics of these features in OWL 1 DL. However, the situation has much stabilized over the last months, so I am going to start working on this topic now.

Datatype Restrictions

Syntax

``` c rdf:type rdfs:Datatype
c owl:onDatatype d
c owl:withRestrictions SEQ( y_1 ... y_n )
y_1 xsd:facet_1 v_1
...
y_n xsd:facet_n v_n
```

Semantics

``` IF
l is a sequence of y_1, ..., y_n over R_I
(c,d) ∈ EXT_I(S_I(owl:onDatatype)),
(c,l) ∈ EXT_I(S_I(owl:withRestrictions)),
(y_1, v_1) ∈ EXT_I(S_I(xsd:facet_1)),
...,
(y_n, v_n) ∈ EXT_I(S_I(xsd:facet_n))
THEN
c, d ∈ IDC,
v_1, ..., v_n ∈ LV_I,
CEXT_I(c) = CEXT_I(d) ∩ FACET(xsd:facet_1,d,v_1) ∩ ... ∩ FACET(xsd:facet_n,d,v_n)
```

where FACET(xsd:facet, d, v) denotes the subset of LV_I, which is specified by applying the facet xsd:facet with value v to the extension CEXT_I(d) of the datatype d.

Special case: If the facet cannot be applied, then FACET(xsd:facet, d, v) is empty. [FIXME: Should ontology rather be inconsistent in such a case?]

Comprehension Principle:

``` TODO
```

Datatype Complements

In OWL 2 DL, the complement of a datatype is defined relative to the data domain. So this semantics has to be mirrored in OWL 2 Full.

Syntax

``` c rdf:type rdfs:Datatype
c owl:datatypeComplementOf d
```

Semantics

Axiomatic triples:

``` owl:datatypeComplementOf rdf:type rdf:Property
owl:datatypeComplementOf rdfs:domain rdfs:Datatype
owl:datatypeComplementOf rdfs:range rdfs:Datatype
```

Main semantic condition:

```   (c,d) ∈ EXT_I(S_I(owl:datatypeComplementOf))
IF AND ONLY IF
c, d ∈ IDC,
CEXT_I(c) = LV_I - CEXT_I(d)
```

Comprehension Principle:

``` IF
c ∈ IDC
THEN ∃ x
(x,d) ∈ EXT_I(S_I(owl:datatypeComplementOf))
```

Datatype Enumerations

See treetment of owl:oneOf.

Considerations

• Question: Is it right to have ONLY-IF semantics, as for "normal" restrictions?