Le 26/06/2014 12:06, Svensson, Lars a écrit :
Simon, all,
There's already a slight problem in vCard's treatment of bday; it
includes xsd:gYear, which is not permitted in OWL2-DL, and it does
not include xsd:string, which is available, and which is required
by the RFC.
If I declare the use of xsd:gYear in my ontology, can I use it then?
I'm not familiar enough with OWL to answer that question myself, but
the way I read §9.4 of the OWL syntax [1] I can use any datatype. Can
someone more familiar with this topic shed some light on this?
In OWL 2 DL, you can't declare any term in the xsd:, rdf:, rdfs: and
owl: namespaces, according to the spec. Even if you could, you would not
be able to define xsd:gYear because any datatype must be either an
OWL-compatible datatype (see Section 4.1 of the structural spec), the
special datatype rdfs:Literal, or a custom datatype that is built from
unions, intersections, enumerations, complements of, or restrictions of
already defined datatypes (See Section 5.2 and Section 7). With these
constructs, you would never be able to define the value space of gYear,
which is disjoint from all OWL-compatible datatypes.
Now, you can still use xsd:gYear if you want because OWL 2 DL processors
do not have to reject all non-compliant ontologies. Actually, most OWL
processors would not bother much about gYear. Besides, these
restrictions are for OWL 2 DL ontologies but the OWL specs also specify
OWL Full ontologies, which are all valid RDF graphs.
Depending on what tools you expect to be used on your ontology, the
restrictions might be irrelevant.
OWL2-DL allows for facets on dataTime to specify a minimum and
maximum time point value, which can be used in restrictions on
individuals to yield the appropriate models; however, this
approach is not ideal.
What would an ideal approach look like?
My suggestion would be one of two ways:
1. use xsd:gYear in spite of the spec's restriction; or
2. use xsd:integer. Although gYear is formally disjoint from integer,
in practice they are almost treated exactly in the same way.
AZ.
[1] http://www.w3.org/TR/owl2-syntax/#Datatype_Definitions
Thanks,
Lars