(I forgot to CC the list...)
Forwarded message 1
Hi Joakim,
thanks for the assembling of the page!
Comments below
Joakim Söderberg schrieb:
> Hi all,
> In order to facilitate the discussion on data interchange format, I have assembled the options on a wiki page:
> http://www.w3.org/2008/WebVideo/Annotations/wiki/Dataformat
>
> Personally I like the idea of JSONs collection of name/value pairs.
> Some thoughts are:
> 1) Can we have two levels of complexity e.g. simple (string) and complex (e.g. collection of name/Value pairs) depending on property or application?
>
If we want to have it we can implement it I guess. Please have a look at
how RDF can be represented using JSON [1]:
"http://example.org/about" : {
"http://purl.org/dc/elements/1.1/creator" : [ { "value" : "Anna
Wilder", "type" : "literal" } ],
"http://purl.org/dc/elements/1.1/title" : [ { "value" :
"Anna's Homepage", "type" : "literal", "lang" : "en" } ] ,
"http://xmlns.com/foaf/0.1/maker" : [ { "value" :
"_:person", "type" : "bnode" } ]
} ,
"_:person" : {
"http://xmlns.com/foaf/0.1/homepage" : [ { "value" :
"http://example.org/about", "type" : "uri" } ] ,
"http://xmlns.com/foaf/0.1/made" : [ { "value" :
"http://example.org/about", "type" : "uri" } ] ,
"http://xmlns.com/foaf/0.1/name" : [ { "value" : "Anna
Wilder", "type" : "literal" } ] ,
"http://xmlns.com/foaf/0.1/firstName" : [ { "value" :
"Anna", "type" : "literal" } ] ,
"http://xmlns.com/foaf/0.1/surname" : [ { "value" :
"Wilder", "type" : "literal" } ] ,
"http://xmlns.com/foaf/0.1/depiction" : [ { "value" :
"http://example.org/pic.jpg", "type" : "uri" } ] ,
"http://xmlns.com/foaf/0.1/nick" : [
{ "type" :
"literal", "value" : "wildling"} ,
{ "type" :
"literal", "value" : "wilda" }
] ,
"http://xmlns.com/foaf/0.1/mbox_sha1sum" : [ { "value" :
"69e31bbcf58d432950127593e292a55975bc66fd", "type" : "literal" } ]
}
Here a resource @ http://example.org/about is described. For the creator
they return a literal and for the maker a person object with more
properties attached (so a complex object so to speak). So this is a way
we could implement it.
If we want to have a property which has two different return types than
we could subclass this property, e.g. hasMetadataValue is the
SuperProperty (with no specified range) with two sub-properties
hasMetadataValueLiteral (range: Literal) and hasMetadataValueComplex
(range: class representing some "complex" objects).
This approach is valid in RDF(S), OWL Lite and OWL DL.
> 2) How does the application know what is returned?
>
The application would have to see for which sub property a value is
returned to determine if she gets a literal or a complex object.
Just one idea....
Best,
Tobias
> /J
>
>
[1] http://n2.talis.com/wiki/RDF_JSON_Specification
--
_________________________________________________
Dipl.-Inf. Univ. Tobias Bürger
STI Innsbruck
University of Innsbruck, Austria
http://www.sti-innsbruck.at/
tobias.buerger@sti2.at
__________________________________________________