- From: Benjamin Nowack <bnowack@semsol.com>
- Date: Thu, 21 Jan 2010 10:17:35 +0100
- To: "Philip Jägenstedt" <philipj@opera.com>, public-html@w3.org
Hi Philip, thanks for the reply, but you missed my point ;)
I know the current conversion algorithm, but it leads to rather
ugly and unintuitive RDF. I was making a *suggestion* how
Microdata could/should be converted to common RDF using very
simple markup that would give RDFa a run for its money, within
the boundaries of the Microdata syntax, and in line with RDF
concepts.
I can still implement it via some easy post-processing and
call it Microdata/RDF or some such, but I guess it makes
sense if the *RDF* parts of Microdata are based on experience
and feedback from the RDF community and support relevant best
practices. From an RDF POV, the prefixing/escaping of plain
properties isn't required (if the motivation is to avoid
the creation of non-resolvable URIs). RDF encourages resolvable
term names, but tools can handle any sort of term just fine.
I *personally* wouldn't even specify anything RDF-ish in the
Microdata spec directly at all. Just define the HTML-relevant
syntax and DOM API and let the RDF community figure the
mapping out on their own. This worked for microformats, too.
Benji
--
Benjamin Nowack
http://bnode.org/
http://semsol.com/
On 21.01.2010 00:41:15, Philip Jägenstedt wrote:
>On Tue, 19 Jan 2010 18:17:19 +0100, Benjamin Nowack <bnowack@semsol.com>
>wrote:
>
>>
>> Hi,
>>
>> I'm working on a Microdata parser as part of an RDF toolkit. One thing
>> I've implemented but that isn't directly stated in the draft is the
>> generation of property URIs in the context of the itemtype. The spec
>> mentions that plain properties are to be used "within the context of
>> the types for which they are intended". And RDF vocabularies follow
>> the {namespace}/{type|prop} or {namespace}#{type|prop} pattern. So,
>> I made my parser extract the following RDF triples:
>>
>> _:bnode a <http://xmlns.com/foaf/0.1/Person> .
>> _:bnode <http://xmlns.com/foaf/0.1/name> "Alec Tronnick" .
>> _:bnode <http://xmlns.com/foaf/0.1/img> <mypic.jpg> .
>>
>> from the Microdata snippet:
>>
>> <div itemscope="" itemtype="http://xmlns.com/foaf/0.1/Person">
>> My name is <span itemprop="name">Alec Tronnick</span>
>> <img itemprop="img" src="mypic.jpg" alt="" />
>> </div>
>>
>> as "name" and "img" are supposed to be applicable to the "Person"
>> type from the FOAF vocabulary. This sort of rule leads to very
>> compact markup in most single-vocab use cases (even more compact
>> and readable than RDFa's CURIEs) and simple authoring.
>>
>> A sophisticated parser *could* GET and check the RDF vocabulary
>> for valid use of properties, but RDF does not have instance-level
>> validation, so the transparent expansion of plain property names
>> does not conflict with the RDF spec(trum). An author can of
>> course still use full URIs to mix in terms from other vocabs.
>
>If you follow the conversion algorithm at
><http://dev.w3.org/html5/md/#rdf>, you'll find that your markup yields
>something like these triples:
>
>@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
>_:n0 rdf:type <http://xmlns.com/foaf/0.1/Person> ;
>
><http://www.w3.org/1999/xhtml/microdata#http%3A%2F%2Fxmlns.com%2Ffoaf%2F0.1%2FPerson
>%23%3Aname>
>"Alec Tronnick" ;
>
><http://www.w3.org/1999/xhtml/microdata#http%3A%2F%2Fxmlns.com%2Ffoaf%2F0.1%2FPerson
>%23%3Aimg>
><http://example.com/mypic.jpg> .
><http://example.com/foo.html>
><http://www.w3.org/1999/xhtml/microdata#item> _:n0 .
>
>Note especially that mypic.jpg is resolved, here I assumed the markup was
> from http://example.com/foo.html.
>
>To produce the triples you wanted, use this markup:
>
><div itemscope="" itemtype="http://xmlns.com/foaf/0.1/Person">
> My name is <span itemprop="http://xmlns.com/foaf/0.1/name">Alec
>Tronnick</span>
> <img itemprop="http://xmlns.com/foaf/0.1/img" src="mypic.jpg" alt="" />
></div>
>
>As you can see, microdata has no prefix notation. To save yourself some
>typing, use this:
>
><div itemscope itemtype="http://microformats.org/profile/hcard">
> My name is <span itemprop="fn">Alec Tronnick</span>
> <img itemprop="photo" src="mypic.jpg" alt="">
></div>
>
>If you actually wanted to use FOAF or care very much about the exact
>triples, then the OWL needed to map the above to vCard RDF shouldn't be
>very tricky, and I assume the relationship between FOAF and that is
>already pretty clear.
>
>--
>Philip Jägenstedt
>Core Developer
>Opera Software
>
Received on Thursday, 21 January 2010 09:18:06 UTC