Re: In preparation to the F2F: Data Model status

Actually in JSON-LD the serialization would be identical, regardless of
whether it's an rdf:List or multiple triples with the same predicate.  It
would also be identical to the oa:List serialization.

Composite with multiple oa:item predicates:

{
  "@type": "oa:Composite",
  "oa:item": [item1, item2, item3]
}

Composite with oa:members predicate with a range of rdf:List:

{
  "@type": "oa:Composite",
  "oa:members": [item1, item2, item3]
}

And for comparison, oa:List with oa:members predicate:

{
  "@type": "oa:List",
  "oa:members" : [item1, item2, item3]
}

As Stian says, it's the semantics that the class embues on the membership
list.  I would even go so far as to say that the use of rdf:List is better
than multiple predicates as the membership is closed rather than allowing
the potential for other oa:item triples to be added to the
Choice/Composite/List after the fact.

Rob


On Mon, Oct 27, 2014 at 6:07 AM, Jacob Jett <jgjett@gmail.com> wrote:

> Hi Paolo,
>
> How are we to express the oa:Composite entity in JSON-LD? It's nothing
> like a list entity and I'm pretty confidant that expressing it as an array
> is not the correct way to express it.
>
> Regards,
>
> Jacob
>
>
> On Mon, Oct 27, 2014 at 7:39 AM, Paolo Ciccarese <
> paolo.ciccarese@gmail.com> wrote:
>
>> Dear all,
>> in the process of defining the first draft of the model, the plan emerged
>> in the last call is to (i) start from the Community draft (
>> http://www.openannotation.org/spec/core/), (ii) get rid of the SPARQL
>> queries and (iii) replace the turtle with JSON-LD.
>>
>> Also, after the email discussions, the current orientation is to
>>
>> 1) replace the Choice/Composite/List constructs with one simple
>> list-based construct as follows:
>> {
>>   "@type": "oa:List",
>>   "members": ["eg:target1", "eg:target2", "eg:target3"]
>> }
>>
>> Choice as list of descending priority
>>
>> {
>>  "@type" : "oa:Choice",
>>  "members": ["eg:option1", "eg:option2", "eg:option3"]
>> }
>>
>> 2) Replace ContentAsText with something like:
>> {
>>   "@type": "oa:Content",
>>   "value": "I love this book!",
>>   "format": "text/plain",
>>   "language": "en"
>> }
>>
>> Where:
>> * rdf:value -- for recording the content (required)
>> * dc:format -- for the media type of the content (optional)
>> * dc:language -- for the language of the content (optional)
>>
>> Content encoded using UTF-8.
>>
>> See you tomorrow for further discussions,
>> Paolo
>>
>>
>>
>
>


-- 
Rob Sanderson
Technology Collaboration Facilitator
Digital Library Systems and Services
Stanford, CA 94305

Received on Monday, 27 October 2014 15:04:52 UTC