- From: Antoine Zimmermann <antoine.zimmermann@insa-lyon.fr>
- Date: Wed, 25 May 2011 16:50:35 +0000
- To: public-rdf-wg <public-rdf-wg@w3.org>
All,
[disclaimer: I am not vehemently in favour of that proposal, just expressing my thoughts aloud.]
Adding datatypes for each language tags may work as follows:
For a language tag {langTag}, "xxx"@{langTag} would be interpreted as a typed literal of type rdf:lang{langTag}. For any language tag {langTag}, there is a datatype rdf:lang{langTag} such that:
- the lexical space is all unicode strings.
- the value space is all pairs <string,{langTag}>
- the lexical to value space is L2V(rdf:lang{langTag})(xxx)=<xxx,{langTag}>
There is an infinite number of lang datatypes and {langTag} SHOULD be restricted to what RFC 5646 defines, but implementation MAY accept any string for lang tags (e.g., "foo"@mylangtag-bar42 MAY be considered as a valid literal by parsers), in which case, a corresponding datatype rdf:land{langTag} MUST exist.
Additionally, we can add an additional datatype which is a superclass of all the lang datatypes (e.g., rdf:LangTaggedLiteral). This additional datatype has an empty lexical space but its value space is the set of all pairs <string,tag>.
It follows that the following triples are valid under the appropriate entailment regime:
rdf:lang{langTag} rdf:type rdfs:Datatype;
rdfs:subClassOf rdf:LangTaggedLiteral .
rdf:LangTaggedLiteral rdf:type rdfs:Datatype;
rdfs:subClassOf rdf:PlainLiteral .
In OWL, we have, for all pairs of distinct {langTag1} and {langTag2}:
rdf:lang{langTag1} owl:disjointWith rdf:lang{langTag2}.
rdf:LangTaggedLiteral owl:equivalentClass [
rdf:type rdfs:Datatype;
owl:onDatatype rdf:PlainLiteral;
owl:withRestrictions( [rdf:langRange "*"] )
].
rdf:lang{langTag} owl:equivalentClass [
rdf:type rdfs:Datatype;
owl:onDatatype rdf:PlainLiteral;
owl:withRestrictions( [rdf:langRange "{langTag}"] )
].
DRAWBACKS:
- an infinite number of datatypes (but we already have an infinite number of RDF properties anyway);
- OWL 2 does not talk about these new types, so the OWL 2 RDF-based semantics is incomplete wrt RDF 1.1 semantics;
- there is no relationship between "sublanguages" like "en" VS "en-GB".
- others?
ADVANTAGES:
- compared to rdf:PlainLiteral, we distinguish langTagged and non-langTagged literals; and the lexical form is more natural;
- one can define language-specific range restrictions (e.g., ex:englishLabel rdfs:range rdf:langen.) in RDF without the need for OWL 2 datatype machinery;
- compared to RDF alone, we have everything typed, which can be seen as a simplification.
- others?
Regards,
--
Antoine Zimmermann
Researcher at:
Laboratoire d'InfoRmatique en Image et Systèmes d'information
Database Group
7 Avenue Jean Capelle
69621 Villeurbanne Cedex
France
Tel: +33(0)4 72 43 61 74 - Fax: +33(0)4 72 43 87 13
Lecturer at:
Institut National des Sciences Appliquées de Lyon
20 Avenue Albert Einstein
69621 Villeurbanne Cedex
France
antoine.zimmermann@insa-lyon.fr
http://zimmer.aprilfoolsreview.com/
Received on Thursday, 26 May 2011 14:04:38 UTC