Re: RDF Lang tagged literals Re: vCard Update

> A short summary:
>
> - This is a change to the RDF data model (the abstract syntax)
> - Nothing changes in RDF syntaxes (Turtle, RDF/XML) as a result, and no published data has to be changed

That is, no published data is invalidated.  The exact number of triples 
may change. Data tends to either have simple literals or xsd:strings and 
so the change is more less visible, but not invisible.

> - Other access interfaces (query languages, APIs) will change behaviour in some cases as they migrate to 1.1
> - In RDF 1.1, they *must* treat untagged plain literals and xsd:string as the same

and the preferred output format is without the ^^xsd:string.

In SPARQL 1.0, datatype("foo") returned xsd:string.

> - Query languages and APIs of course remain free to define how exactly they bind to the data model
> - Therefore, such query languages and APIs need to choose whether to report the datatype of such literals as “none” or as “xsd:string” (with the second being a better choice, IMO)
> - Query languages and APIs also need to choose whether to report the datatype of language-tagged plain literals as “none” or as “rdf:langString” (SPARQL 1.1 already does the latter)

^^rdf:langString does not appear explicitly in the data.  The "..."@lang 
triggers it.  That means new data can be read by RDf 1.0 assuming 
systems/applications.

I think this change is likely to be more tricky.  Code that tests for 
the presence/absence of a datatype then assumes that if there is a 
datatype then there is no language tag, typically output code, will be 
affected. If it had tested for language tag first it is likely safe.

Toolkits need to chase down such cases but also application code does as 
well.

> - I expect that RDF stores will have an option to upgrade a store to RDF 1.1; this option would go through the stored data and unify xsd:string literals and untagged plain literals
> - I expect a long transition phase where RDF APIs will have a switch where they can be run in one of two modes, with “RDF 1.0 mode” being the current behaviour, and “RDF 1.1 mode” activating different behaviour as outlined above. Application developers may need to modify some queries before they can switch from 1.0 mode to 1.1 mode

Debatable.  Supporting an option of either mode is costly and messy, 
especially with respect to persistent data.  For persistent data, the 
case of two applications updating the same data but making different API 
choices means that it's not simply an API switch.

Overall, I think the changes are for the better long term good but it's 
not zero-impact.

 Andy

> There's more to be said about XML literals, the new HTML literals, and the introduction of named graphs into the core data model.
>
> Best,
> Richard
>

Received on Saturday, 20 October 2012 17:48:48 UTC