W3C home > Mailing lists > Public > public-html-data-tf@w3.org > October 2011

Re: Single heuristic mapping for property URIs

From: Lin Clark <lin.w.clark@gmail.com>
Date: Wed, 26 Oct 2011 12:11:00 +0100
Message-ID: <CACho_AuftodS6Cu=Sd4djO-N5f36pMePUTk7YFD0rbPzmGOuew@mail.gmail.com>
To: Toby Inkster <tai@g5n.co.uk>
Cc: public-html-data-tf@w3.org
This depends on authors implicitly following a particular naming convention
within their vocabularies. However, the Microdata spec is clear that the
itemtype URL is an opaque string and doesn't need to follow any
pattern. This means that someone could potentially create a Foo vocabulary
that has a Person type and a Book type.

They could choose to have a global title property:


Or they could choose to have different title properties for the Person and
the Book... this is totally OK.


Or they could have something like this:


Based on the algorithm you described yesterday, property generation would
fail for the second two if I'm not mistaken.

In addition, many content authors will probably get the case wrong, even for
vocabularies like Schema.org. If you look at the Rich Snippets testing tool,
it is clear they don't care about case because they change the itemtype to
lowercase when they display. This could very well lead authors to believe
that case is not important and thus lead to many authors using something
like http://schema.org/person for itemtypes.

I don't think we can create a reliable URI generation method by using case,
or any other character attributes.


On Wed, Oct 26, 2011 at 11:53 AM, Toby Inkster <tai@g5n.co.uk> wrote:

> On Tue, 25 Oct 2011 16:49:45 +0100
> Toby Inkster <tai@g5n.co.uk> wrote:
> > This single (albeit complex) mapping seems to cover
> > http://schema.org/, http://microformats.org/profile/hcard,
> > http://n.whatwg.org/work, Google Rich Snippets, and most other common
> > RDF vocabs including FOAF, SIOC, SKOS, OWL, etc.
> I've now implemented this mapping in my Microdata parser. Without
> requiring any special knowledge of different Microdata and RDF
> vocabularies, or any registry, it "just works". It generates sensible
> property URIs for all of the following examples:
>        <div itemscope itemtype="http://schema.org/Person">
>          <span itemprop="name">Alice</span>
>          <!-- result: http://schema.org/name -->
>        </div>
>        <div itemscope
>          itemtype="http://schema.org/Person/Employee/AcmeEmployee">
>          <span itemprop="name">Alice</span>
>          <!-- result: http://schema.org/name -->
>        </div>
>        <div itemscope itemtype="http://xmlns.com/foaf/0.1/Person">
>          <span itemprop="name">Alice</span>
>          <!-- result: http://xmlns.com/foaf/0.1/name -->
>        </div>
>        <div itemscope itemtype="http://microformats.org/profile/hcard">
>          <span itemprop="fn">Alice</span>
>          <!-- result: http://microformats.org/profile/hcard#fn -->
>        </div>
>        <div itemscope itemtype="http://example.com/2011/vocab#Person">
>          <span itemprop="name">Alice</span>
>          <!-- result: http://example.com/2011/vocab#name -->
>        </div>
> Source code for a Perl module implementing this is here:
> https://metacpan.org/source/TOBYINK/HTML-HTML5-Microdata-Parser-0.100/lib/HTML/HTML5/Microdata/Strategy/Heuristic.pm
> --
> Toby A Inkster
> <mailto:mail@tobyinkster.co.uk>
> <http://tobyinkster.co.uk>

Lin Clark
DERI, NUI Galway <http://www.deri.ie/>

Received on Wednesday, 26 October 2011 11:11:39 UTC

This archive was generated by hypermail 2.4.0 : Friday, 17 January 2020 20:08:25 UTC