- From: Robert Sanderson <azaroth42@gmail.com>
- Date: Mon, 27 Oct 2014 08:04:19 -0700
- To: Jacob Jett <jgjett@gmail.com>
- Cc: Paolo Ciccarese <paolo.ciccarese@gmail.com>, W3C Public Annotation List <public-annotation@w3.org>
- Message-ID: <CABevsUGBj_DGGk7r3HTERgT=0N7S8UVG1FBPvzdO25SRhqJSMQ@mail.gmail.com>
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