- From: Stian Soiland-Reyes <soiland-reyes@cs.manchester.ac.uk>
- Date: Sat, 27 Dec 2014 21:24:19 -0600
- To: Peter Ansell <ansell.peter@gmail.com>
- Cc: public-rdf-comments <public-rdf-comments@w3.org>
- Message-ID: <CAPRnXtnrDi8qOUDq9NDe2z8B3SmtEWDbHOr6-4Epwqy2mSnUog@mail.gmail.com>
No, for once I am not coming from OWL :) I'm just writing a simple n-triples serializer, and I am not sure if I should simply always include the type if there is no @lang (e.g. ^^xsd:string) ..Or if I should have a special case to output anything with type xsd:string as a classic "plain literal", e.g. no @ or ^^. Surely just one of these should be in the canonical version ? My guts says to always include the type for non-lang, but the spec is ambigous on this - if xsd:string is implied, should I then prefer to generate this implied version? Before rdf 1.1 the norm tended to be to NOT express xsd:string unless it really was a character-by-character string (e.g. a genome identifier), and not when it was human text (but in unknown or mixed language). As we SHOULD be generating the Canonical N-Triples, then it would be good to know if there already is a silent de facto agreement that is just not expressed in the spec. You might know the code base - https://github.com/stain/commons-rdf/blob/tests/src/test/java/com/github/commonsrdf/dummyimpl/LiteralImpl.java#L99 On 27 Dec 2014 17:14, "Peter Ansell" <ansell.peter@gmail.com> wrote: > Hi Stian, > > RDF-1.1 does not have the concept of plain literals [1]. Hence, it is > difficult to map the OWL-WG-derived rdf:PlainLiteral set to RDF-1.1, > if that is where you are coming at the issue from [2]. > > Cheers, > > Peter > > [1] > http://www.w3.org/TR/2014/REC-rdf11-concepts-20140225/#section-Graph-Literal > [2] https://github.com/owlcs/owlapi/issues/172 > > On 27 December 2014 at 16:37, Stian Soiland-Reyes > <soiland-reyes@cs.manchester.ac.uk> wrote: > > In http://www.w3.org/TR/n-triples/#canonical-ntriples I read: > > > >> Canonical N-Triples has the following additional constraints on layout: > >> > >> The whitespace following subject, predicate, and object MUST be a > single space, (U+0020). All other locations that allow whitespace MUST be > empty. > >> There MUST be no comments. > >> HEX MUST use only uppercase letters ([A-F]). > >> Characters MUST NOT be represented by UCHAR. > >> Within STRING_LITERAL_QUOTE, only the characters U+0022, U+005C, > U+000A, U+000D are encoded using ECHAR. ECHAR MUST NOT be used for > characters that are allowed directly in STRING_LITERAL_QUOTE. > > > > > > and in http://www.w3.org/TR/n-triples/#sec-parsing-terms > > > >> If neither a language tag nor a datatype IRI is provided, the literal > has a datatype of xsd:string. > > > > > > and in http://www.w3.org/TR/n-triples/#sec-literals > > > >> If there is no datatype IRI and no language tag it is a simple literal > and the datatype is http://www.w3.org/2001/XMLSchema#string. > > > >> Example 3 > >> <http://example.org/show/218> < > http://www.w3.org/2000/01/rdf-schema#label> "That Seventies Show"^^< > http://www.w3.org/2001/XMLSchema#string> . # literal with XML Schema > string datatype > >> <http://example.org/show/218> < > http://www.w3.org/2000/01/rdf-schema#label> "That Seventies Show" . # > same as above > > > > > > So I am not any wiser with regards to how to serialize plain literals > > in RDF 1.1 Canoical N-Triples.. > > > > > > Are both of the two examples allowed in Canonical N-Triples? (it seems > > so by the spec.. :-( ). > > > > Which variant should I generate? > > > > > > -- > > Stian Soiland-Reyes, myGrid team > > School of Computer Science > > The University of Manchester > > http://soiland-reyes.com/stian/work/ > http://orcid.org/0000-0001-9842-9718 > > >
Received on Sunday, 28 December 2014 03:24:49 UTC