- From: Thad Guidry <thadguidry@gmail.com>
- Date: Thu, 15 Aug 2013 09:39:19 -0500
- To: Omar Benjelloun <benjello@google.com>
- Cc: Markus Lanthaler <markus.lanthaler@gmx.net>, Stéphane Corlosquet <scorlosquet@gmail.com>, W3C Vocabularies <public-vocabs@w3.org>, Ramanathan Guha <guha@google.com>, Dan Brickley <danbri@google.com>
- Message-ID: <CAChbWaPWRsGiAgJahfnKK0NTjC+AWUV=oYRVhcYQT_tK9ifqgA@mail.gmail.com>
Omar, So the /SetOf/ will be optional in user defined urls or not ? The examples under "Identifers and references" section seem to strip it out, or I misunderstood your earlier email : "@type": "SetOf/Country", "@id": "http://my.domain.org/country/{t1:col:country-code}", On Thu, Aug 15, 2013 at 9:21 AM, Omar Benjelloun <benjello@google.com>wrote: > Attached is a new version of the proposal that uses SetOf as a way to > declare table annotations explicitly (in the HTML mark-up as well as in > JSON-LD) > > @Markus we also considered explicit manipulation of tables in an earlier > version of this proposal. I'll try to explain why we went with the current > approach: > > If you look at the examples towards the bottom of the document, you'll see > that for the more complex cases, the directionality of the mappings is > different: instead of mapping from table columns to properties of a type, > we map from the type and its properties (sometimes with nesting) to columns > / patterns. This is more expressive, as the graph schema structured can be > nested, while the table structure is flat. > > Mapping from the type structure to the table columns with an explicit > table layer becomes quite heavy, as you first need to define the tables and > their columns, then the type/property structure with references to the > columns. > > I think the current approach with explicit SetOf is a nice trade-off > between simplicity and expressiveness. > > Thanks, > -Omar > > > > On Thu, Aug 15, 2013 at 9:55 AM, Markus Lanthaler < > markus.lanthaler@gmx.net> wrote: > >> On Wednesday, August 14, 2013 8:32 PM, Stéphane Corlosquet wrote: >> > From the proposal: >> > >> > <table typeof="Painting" vocab="http://schema.org/"> >> > <thead> >> > <tr> >> > <th property="image">Image</th> >> > <th property="name">Title</th> >> > <th property="dateCreated">Year</th> >> > <th>Technique</th> >> > <th>Dimensions</th> >> > <th property="contentLocation">Gallery</th> >> > </tr> >> > </thead> >> > <tbody>...</tbody> >> > </table> >> > >> > It should be noted that parsers which are not aware of this table >> > extension would generate this information: >> > >> > <> >> > rdf:type schema:Painting; >> > schema:image "Image"; >> > schema:name "Title"; >> > schema:dateCreated "Year"; >> > schema:contentLocation "Gallery" . >> > >> > How do you plane to cope with this situation? Leave it be? Would it >> > have unintended consequences on some applications? >> >> Thanks Stéphane, I was going to ask the same question. I think the >> problem is even more apparent if you look at the JSON-LD examples in the >> draft: >> >> { >> "@context": "http://schema.org/", >> "@type": "Painting", >> "dateCreated" : "{http://wp.org/rembrandt-paintings.csv#col:Year}", >> "contentLocation" : "{http://wp.org/rembrandt-paintings.csv#col:Gallery >> }", >> "author": "http://en.wikipedia.org/wiki/Rembrandt" >> } >> >> Why not define something which is a bit more explicit at the price of >> being a bit more verbose? Something like >> >> { >> "@context": "http://schema.org/" >> "rp" : "http://wp.org/rembrandt-paintings.csv#" >> }, >> "@type": "Table", ----- in lack of a better name >> "columnDefinitions": [ >> { >> "@id": "rp:col:Title", >> "mapsTo": "http://schema.org/name" -- can also be abbrev. to "name" >> }, >> { >> "@id": "rp:col:Year", >> "mapsTo": "dateCreated" >> { >> "@id": "rp:col:Gallery", >> "mapsTo": "contentLocation" >> { >> "constants": { >> "@type": "Painting", >> "author": "http://en.wikipedia.org/wiki/Rembrandt" >> } >> } >> ] >> } >> >> Or in HTML >> >> <table typeof="Table" vocab="http://schema.org/"> >> <thead rel="columnDefinitions"> >> <tr> >> <th about="#image" property="mapsTo" >> resource="schema:image">Image</th> >> <th about="#title" property="mapsTo" >> resource="schema:name">Title</th> >> <th about="#year" property="mapsTo" >> resource="schema:dateCreated">Year</th> >> ... >> >> >> Cheers, >> Markus >> >> >> -- >> Markus Lanthaler >> @markuslanthaler >> >> >> >> >> >> > > > -- > Omar Benjelloun | benjello@google.com | (415) 845-8516 > -- -Thad Thad on Freebase.com <http://www.freebase.com/view/en/thad_guidry> Thad on LinkedIn <http://www.linkedin.com/in/thadguidry/>
Received on Thursday, 15 August 2013 14:39:52 UTC