A summary of the proposed resolution of ISSUE-95

Hello,

At the last teleconference there was some dissent with the current resolution of ISSUE-95, and I would like to comment on this. If I
understood the dissent properly, some people thought that that we should allow for nested datatype restrictions, such as the
following:

DatatypeRestriction(
  DatatypeRestriction(
    xsd:integer
    maxInclusive "5"^^xsd:integer
  )
  minInclusive "2"^^xsd:integer
)

The idea was that this would allow us to first define a restriction such as "integers up to 5", and then additionally to restrict it
to "values greater than 2". 


It seems to me, however, that we do not need this at the level of the syntax. First, note that nested restrictions such as the one
mentioned above do not increase the expressivity of the language. This is because such restrictions are to be interpreted
conjunctively, which is exactly what multiple facets do. Thus, the above restriction is semantically equivalent to the following
one: 

DatatypeRestriction(
  xsd:integer
  maxInclusive "5"^^xsd:integer
  minInclusive "2"^^xsd:integer
)



Second, nested restrictions do not allow us to name datatypes such as "integers up to 5". If we wanted to have something like this,
we'd need a different kind of axiom, such as the following:

UserDefinedDatatype(
  my:intsGreatedThan5
  DatatypeRestriction(
    xsd:integer
    maxInclusive "5"^^xsd:integer
  )
}

Note, however, that this would now define a new datatype called my:intsGreatedThan5; hence, we could actually write restrictions
such as the following one:

DatatypeRestriction(
  my:intsGreatedThan5
  minInclusive "2"^^xsd:integer
)

In the above axiom, note that you are applying a restriction to a datatype, not a nested restriction. Thus, the current syntax is
sufficient.


To summarize, we should close ISSUE-95 as it is. Any discussion about named datatypes should be independent of this issue. Finally,
we can always reopen the issue in future if we need to.

Regards,

	Boris

Received on Tuesday, 4 March 2008 15:04:10 UTC