- From: Matt Womer <mdw@w3.org>
- Date: Thu, 26 May 2011 08:48:04 -0400
- To: roBman@mob-labs.com
- Cc: "public-poiwg@w3.org" <public-poiwg@w3.org>
Hi Rob, fantastic stuff!
Perfect timing on this, as I had just noticed in RDFa 1.1 that they have added a simplified way to namespace in attribute values by introducing an @vocab attribute:
http://www.w3.org/TR/2011/WD-rdfa-core-20110331/#A-vocab
This allowed them to switch from:
<div xmlns:foo="http://foo.example.org/vocab" typeof="foo:bar">
<span property="foo:firstname">Phil</span>
<span property="foo:lastname">Grasshopper</span>
</div>
to:
<div vocab="http://foo.example.org/vocab" typeof="bar">
<span property="firstname">Phil</span>
<span property="lastname">Grasshopper</span>
</div>
Which looks like a small change, but is much easier to write correctly and saves some keystrokes.
Perhaps we could do something similar, if we were to keep our metadata name/values in just attributes? (making up XML, borrowing <tag> from OSM)
With namespaces:
<meta xmlns:foo="http://foo.example.org/geodata" typeof="foo:poi">
<tag k="foo:color" v="foo:blue"/>
</meta>
which might look in JSON something like:
{
"meta":{
"http://foo.example.org/geodata#color":"http://foo.example.org/geodata#blue"
}
}
While simplifying it via @vocab, the XML would look like this:
<meta vocab="http://foo.example.org/geodata" typeof="poi">
<tag k="color" v="blue"/>
</meta>
and the JSON maybe something like:
{
"meta":{
"vocab":"http://foo.example.org/geodata",
"color":"blue"
}
}
I suppose this type of system falls into the number 2 option you outlined of partially supporting namespaces.
-M
On May 26, 2011, at 12:40 AM, Rob Manson wrote:
> Here is the summary of my evaluation of the use of namespaces in the
> different serialisation formats that the POI standard may support.
>
> I'll look forward to feedback, comments and discussion.
>
>
> roBman
>
>
> See #ACTION77 / #ISSUE27
> http://www.w3.org/2010/POI/track/actions/77
> http://www.w3.org/2010/POI/track/issues/27
>
> NOTE: I've used generic wikipedia links as they are aggregates of the
> other useful origin links on each of the topics. They are not intended
> to be credible sources in and of themselves.
>
>
> Question:
> What issues arise from using namespaces in the XML serialization?
> XML itself supports the xmlns usage, but by using this in the POI
> standard examples this then excludes the use of these in JSON or any
> other formats that may be explored.
> http://en.wikipedia.org/wiki/Namespace
> http://en.wikipedia.org/wiki/XML_namespace
>
>
> Review of use of namespaces:
> name format supports namespaces
> json json no
> http://en.wikipedia.org/wiki/JSON
>
> xml xml yes
> http://en.wikipedia.org/wiki/XML
>
> georss(rss) xml no
> georss(atom) xml yes
> http://en.wikipedia.org/wiki/GeoRSS
>
> geojson json yes-ish
> http://en.wikipedia.org/wiki/GeoJSON
> NOTE: There are examples of @namespace usage in the geojson
> wiki...but the standard spec itself does not seem to address
> this.
>
> kml xml yes
> http://en.wikipedia.org/wiki/KML
>
> gml xml yes?
> http://en.wikipedia.org/wiki/Geography_Markup_Language
>
>
> Examples of common namespaces used:
> - dublin core http://en.wikipedia.org/wiki/Dublin_Core
> - atom http://en.wikipedia.org/wiki/Atom_rss
> - geo http://en.wikipedia.org/wiki/Geo_%28microformat%29
>
>
> What strategies could we apply:
> Here is a simple summary of the 3 key strategies we could pursue for
> this issue and a very brief outline of the pros/cons. Obviously this is
> a very simplified summary of this issue and much more debate on the
> topic is required.
>
> 1. Do not support namespaces
> Simply exclude the use of namespaces altogether.
>
> pros:
> This simplifies the expression in different serialisation
> formats and removes this issue altogether.
>
> cons:
> This means we do not benefit from any of the existing working in
> common domains where pre-defined data models have been well
> thought out and tested. This also makes the POI standard a very
> static standard with extension only possible through revision.
>
>
> 2. Support namespaces
> Adopt the use of namespaces either in full or partially.
>
> pros:
> This allows the POI standard to re-use existing common data
> models from related fields and allows it to be easily extended
> as new data models are defined and adopted.
>
> cons:
> This makes the definition of the POI standard more complex and
> time consuming. The consistent use of namespaces across XML and
> JSON has not really been achieved in any previous body of work
> and is obviously very challenging.
>
>
> 3. Hardwire common datastructures
> Simply take the data models used in common or popular namespaces and
> pre-define their use in the POI standard.
>
> pros:
> This is a simply and achievable hybrid of the two approaches
> listed above. It has the benefit of "standing on the shoulders
> of giants" while make the problem more tractable.
>
> cons:
> This makes the POI standard static and therefore can only be
> extended through revision.
>
>
>
Received on Thursday, 26 May 2011 12:48:06 UTC