- From: Omar Benjelloun <benjello@google.com>
- Date: Fri, 16 Aug 2013 10:20:58 -0400
- To: Thad Guidry <thadguidry@gmail.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: <CACsq2mmksmOYDGS4ezyav7QOGsQNvAD-pAubmVfU0jZPXczSnw@mail.gmail.com>
On Thu, Aug 15, 2013 at 11:21 AM, Thad Guidry <thadguidry@gmail.com> wrote:
> Yeap. Thought so. You might want to actually say exactly that in the
> proposal, since that helps make it very clear on the usage of @id
> definitions.
>
>
I tried to clarify. New version is attached.
Thanks,
-Omar
>
> On Thu, Aug 15, 2013 at 10:12 AM, Omar Benjelloun <benjello@google.com>wrote:
>
>> Hi Thad,
>>
>> The type declarations should all use SetOf, whether they're in schema.orgor class URLs from another vocabulary.
>>
>> The @id definitions (and other properties) are patterns where the values
>> of columns will be substituted for each row, to generate the values of the
>> properties for each instance, so the SetOf substitution doesn't apply to
>> them.
>>
>> Does that help clarify?
>>
>> Thanks,
>> -Omar
>>
>>
>>
>> On Thu, Aug 15, 2013 at 10:39 AM, Thad Guidry <thadguidry@gmail.com>wrote:
>>
>>> 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/>
>>>
>>
>>
>>
>> --
>> 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/>
>
--
Omar Benjelloun | benjello@google.com | (415) 845-8516
Attachments
- text/html attachment: Lookinginsidetables.html
Received on Friday, 16 August 2013 14:21:50 UTC