OSLC Core Appendix D: JSON Representation Examples DRAFT
By: The
OSLC Core Workgroup
Overview
In this appendix we provide examples JSON representations of the resources defined in
Appendix B. These example representations follow the
OSLC Core Representations Guidance? .
Resource
Below is an example JSON representation of the example blog entry.
{
"prefixes" : {
"oslc": "http://open-services.net/ns/core#",
"rdf" : "http://www.w3.org/1999/02/22-rdf-syntax-ns#",
"foaf" : "http://http://xmlns.com/foaf/0.1/",
"dcterms" : "http://purl.org/dc/terms/"
},
"oslc:qname" : "oslc_blog:Entry",
"rdf:type" : { "rdf:resource" : "http://open-services.net/ns/bogus/blogs#Entry" },
"rdf:about" : "http://example.com/blogs/entry/1",
"dcterms:title", "I love trash",
"dcterms:modified" : "2002-10-10T12:00:00-05:00",
"dcterms:content", "Anything dirty or dingy or dusty. \\nAnything ragged or rotten or rusty."
"dcterms:creator" : {
"oslc:qname" : "foaf:Person",
"foaf:name" : "Oscar T. Grouch"
},
}
Below is an example JSON representation of the example blog comment.
{
"prefixes" : {
"oslc_blog": "http://open-services.net/ns/bogus/blogs#",
"rdf" : "http://www.w3.org/1999/02/22-rdf-syntax-ns#",
"foaf" : "http://http://xmlns.com/foaf/0.1/",
"dcterms" : "http://purl.org/dc/terms/"
},
"oslc:qname" : "oslc_blog:Comment",
"rdf:type" : { "rdf:resource" : "http://open-services.net/ns/bogus/blogs#Comment" },
"rdf:about" : "http://example.com/comments/1",
"oslc_blog:entry" : { "rdf:resource" : "http://example.com/blogs/entry/1" };
"dcterms:modified" : "2002-10-10T12:12:23-05:00",
"dcterms:content", "LOL! Tell us how you really feel, Oscar."
"dcterms:creator" : {
"oslc:qname" : "foaf:Person",
"foaf:name" : "William B. Bird"
},
}
Service Provider Resource
Below is an example JSON representation of the example blog service provider.
{
"prefixes" : {
"oslc": "http://open-services.net/ns/core#",
"rdf" : "http://www.w3.org/1999/02/22-rdf-syntax-ns#",
"foaf" : "http://http://xmlns.com/foaf/0.1/",
"dcterms" : "http://purl.org/dc/terms/"
}
"oslc:qname" : "oslc:ServiceProvider",
"rdf:about" : "http://example.com/service-provider",
"dcterms:title" : "Blogging Service",
"dcterms:description": "Example OSLC Blog Service",
"dcterms:contributor" : {
"oslc:qname": "oslc:Contributor",
"dcterms:title" : "OSLC Core Workgroup documentation department",
"dcterms:identifier": "com.example.oslc.blogservice",
"oslc:icon" : "http://example.com/icons/myprod.ico"
},
"oslc:prefixDefinition" : [{
"oslc:qname" : "oslc:PrefixDefinition"
"oslc:prefix" : "dc",
"oslc:prefixBase" : "http://purl.org/dc/elements/1.1/"
},
{ "oslc:qname" : "oslc:PrefixDefinition"
"oslc:prefix" : "oslc_blog",
"oslc:prefixBase" : "http://open-services.net/ns/bogus/blogs#"
},
{ "oslc:qname" : "oslc:PrefixDefinition"
"oslc:prefix" : "foaf",
"oslc:prefixBase" : "http://http://xmlns.com/foaf/0.1/"
},
{"oslc:qname" : "oslc:PrefixDefinition"
"oslc:prefix" : "rdf",
"oslc:prefixBase" : "http://www.w3.org/1999/02/22-rdf-syntax-ns#"
}],
"service" : {
"oslc:qname": "oslc:Service",
"oslc:domain": "http://open-services.net/ns/bogus/blogs#",
"oslc:creationFactory": {
"oslc:qname": "oslc:CreationFactory",
"dcterms:title", "Location for creation of Blog Entries",
"oslc:label", "Blog Entries",
"oslc:creation" : { "rdf:resource" : "http://example.com/creation/entries" },
"oslc:shape" : { "rdf:resource" : "http://example.com/shapes/blogentry" }
},
"oslc:creationFactory": {
"oslc:qname": "oslc:CreationFactory",
"dcterms:title", "Location for creation of Blog Comments",
"oslc:label", "Blog Comments",
"oslc:creation" : { "rdf:resource" : "http://example.com/creation/comments" },
"oslc:shape" : { "rdf:resource" : "http://example.com/shapes/blogcomment" }
},
"oslc:queryCapability": {
"oslc:qname": "oslc:QueryCapability",
"dcterms:title" : "Blog Entry and Comment Query",
"oslc:label" : "blogquery",
"oslc:creation rdf:resource="http://example.com/query",
"oslc:shape" : { "rdf:resource" : "http://example.com/shapes/blogquery",
},
}
}
Query Resource
Below is an example JSON representation of the example blog query result.
{
"prefixes" : {
"oslc": "http://open-services.net/ns/core#",
"oslc_blog": "http://open-services.net/ns/bogus/blogs#",
"rdf" : "http://www.w3.org/1999/02/22-rdf-syntax-ns#",
"foaf" : "http://http://xmlns.com/foaf/0.1/",
"dcterms" : "http://purl.org/dc/terms/"
},
"oslc:qname" : "oslc_blog:BlogQuery",
"rdf:about" : "http://example.com/query?oslc%3Aquery=remote",
"oslc:responseInfo" : {
"oslc:qname" : "oslc:ResponseInfo",
"dcterms:title" : "Blog Service Query Results for term [remote]",
"oslc:nextPage" : "http://example.com/query?oslc%3Aquery=remote&page=2"
},
"oslc_blog:comment" : [{
"oslc:qname" : "oslc_blog:BlogComment",
"rdf:resource" : "http://example.com/blogs/comment/346",
},
{ "oslc:qname" : "oslc_blog:BlogComment",
"rdf:resource" : "http://example.com/blogs/comment/344",
},
{ "oslc:qname" : "oslc_blog:BlogComment",
"rdf:resource" : "http://example.com/blogs/comment/673",
},
{ "oslc:qname" : "oslc_blog:BlogComment",
"rdf:resource" : "http://example.com/blogs/comment/232",
},
{ "oslc:qname" : "oslc_blog:BlogComment",
"rdf:resource" : "http://example.com/blogs/comment/333",
}]
}