- From: Philip Jägenstedt <philipj@opera.com>
- Date: Thu, 21 Jan 2010 21:00:54 +0100
- To: bnowack@semsol.com, public-html@w3.org
I misunderstood what you were trying to do. Can you outline the steps needed to get the triples in your example? If you start out with http://xmlns.com/foaf/0.1/Person, name and img, would you HTTP GET http://xmlns.com/foaf/0.1/Person, hope to find an RDF Schema and find within it something relating to "name" and "img"? As far as I can see http://xmlns.com/foaf/0.1/Person redirects to an HTML page that uses RDFa to encode the RDF schema. Philip On Thu, 21 Jan 2010 10:17:35 +0100, Benjamin Nowack <bnowack@semsol.com> wrote: > > 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 >> > > -- Philip Jägenstedt Core Developer Opera Software
Received on Thursday, 21 January 2010 20:01:39 UTC