[whatwg] Microdata and Linked Data

Ian Hickson ian at hixie.ch
Mon Aug 3 03:10:00 PDT 2009

(I trimmed public-html from the CC list to avoid cross-posting, and 
because the whatwg list has had most of the traffic on this topic so far; 
please feel free to forward this to public-html if you would rather 
discuss that there instead.)

On Fri, 24 Jul 2009, Peter Mika wrote:
> The use of a URI as the value of the id attribute. It seems to me there 
> is actually nothing in the spec that would stop this:
> "Identifiers are opaque strings. Particular meanings should not be derived
> from the value of the id  attribute."
> This is great because in principle I could do something like:
> <section id="http://john.example.com#hedral" item="org.example.animal.cat
> com.example.feline">
> <h1 itemprop="org.example.name com.example.fn">Hedral</h1>
> </section>
> I assume you can achieve something similar with the "about" property but that
> would require me to write:
> <section item="org.example.animal.cat com.example.feline">
> <h1 itemprop="org.example.name com.example.fn">Hedral</h1>
> <a itemprop="about" href="http://john.example.com#hedral"/>
> </section>
> This is longer by itself, and if I want an internal identifier as well, than I
> have to write:
> <section id="hedral" item="org.example.animal.cat com.example.feline">
> <h1 itemprop="org.example.name com.example.fn">Hedral</h1>
> <a itemprop="about" href="http://john.example.com#hedral"/>
> </section>

In practice, all the use cases that were brought up that needed to 
identify the item were cases where there was a URL already in the page, 
e.g. in a link or an <img> or a <video> element, such that it actually 
ends up better if we use itemprop=about rather than having a dedicated 
attribute (like id="" or about="") for identifying types.

Are there use cases where this is not the case? For example, when would 
you need to have an internal identifier?

> The other area that could be possibly improved is the connection of type 
> identifiers with ontologies on the web. I would actually like the notion 
> of reverse domain names if
> -- there would be an explicit agreement that they are of the form
> xxx.yyy.zzz.classname
> -- there would be a registry for mappings from xxx.yyy.zzz to URIs.
> For example, org.foaf-project.Person could be linked to
> http://xmlns.com/foaf/0.1/Person by having the mapping from org.foaf-project
> to http://xmlns.com/foaf/0.1/.
> It wouldn't be perfect, the FOAF ontology as you see is not at 
> org.foaf-project but at com.xmlns. However, it would be a step in the 
> right direction.

What problem is this solving?

> I would consider adding the sameAs property as part of the standard 
> vocabulary. This is a term from the OWL vocabulary that is widely used 
> in the Linked Data world for connecting entities that are deemed to be 
> equivalent. Alternatively, we could add the entire RDFS and OWL 
> vocabulary to the spec.

Could you elaborate on this? What are the use cases that this is intended 
to address? What do you mean by "adding the sameAs property"?

> I don't expect that writing full URIs for property names will be 
> appealing to users, but of course I'm not a big fan either of defining 
> prefixes individually as done in RDFa with the CURIE mechanism. Still, 
> prefixes would be useful, e.g. foaf:Person is much shorter to write than 
> com.foaf-project.Person and also easier to remember. So would there be a 
> way to reintroduce the notion of prefixes, with possibly pointing to a 
> registry that defines the mapping from prefixes to namespaces?
> <section id="hedral" namespaces="http://www.w3c.org/registry/"
> item="animal:cat">
> <h1 itemprop="animal:name">Hedral</h1>
> </section>
> Here the registry would define a number of prefixes. However, the 
> mechanism would be open in that other organizations or even individuals 
> could maintain registries.

I'm definitely against any in-page indirection mechanism, because we have 
seen with XML Namespaces (and with RDFa) that prefixes are simply a huge 
source of problems.

However, there actually already is a registry for registering strings that 
start with a keyword and a colon: the scheme registry. So if animals 
become important enough that they need their own scheme, I guess people 
could register them that way. Alternatively, a short domain followed by a 
keyword seems like a reasonable option: instead of "animal:cat", have 
"org.animal.cat": it's only four more characters. (Actually, with ICANN 
considering opening up TLDs, people could just register those: 
"animal.cat" is a valid reverse DNS label if "animal" is a TLD!)

Ian Hickson               U+1047E                )\._.,--....,'``.    fL
http://ln.hixie.ch/       U+263A                /,   _.. \   _\  ;`._ ,.
Things that are impossible just take longer.   `._.-(,_..'--(,_..'`-.;.'

More information about the whatwg mailing list