Summary
jsonld views for cubicweb
Views
This cube provides a jsonld view with two different implementations.
jsonld for CWEType
The jsonld view for CWEType entities is accessible either explicitly or through the BASE_URL/<etype>.jsonld url. It provides schema information using the jsonld specification.
Assuming you have the following schema declaration:
class Person(EntityType):
name = String()
age = Int()
birthdate = Date()
The corresponding jsonld output will be:
{
"@context": {
"xsd": "http://www.w3.org/2001/XMLSchema#",
"creation_date": {
"@id": "https://my-app.org/CWRType/creation_date",
"@type": "xsd:dateTime"
},
"modification_date": {
"@id": "https://my-app.org/CWRType/modification_date",
"@type": "xsd:dateTime"
},
"cwuri": {
"@id": "https://my-app.org/CWRType/cwuri",
"@type": "@id"
},
"eid": {
"@id": "https://my-app.org/CWRType/eid",
"@type": "xsd:integer"
},
"name": {
"@id": "https://my-app.org/CWAttribute/278",
"@type": "xsd:string"
},
"age": {
"@id": "https://my-app.org/CWAttribute/281",
"@type": "xsd:string"
},
"birthdate": {
"@id": "https://my-app.org/CWAttribute/301",
"@type": "xsd:date"
}
}
}
jsonld for any rset
This view is somewhat similar to the standard jsonexport one with two main differences:
it provides resultset metadata alongside the actual data and tries to be as close as possible to the general shape of the sparql-results-json format,
each cell is exposed as a “jsonld” object. Entities expose all their attributes and dc properties, “final” values expose their type and value.
Considering the RQL query Any P,N LIMIT 2 WHERE P is Person, P name N, the jsonld output would look like:
{
"@context": {
"cw": "http://ns.cubicweb.org/cubicweb/0.0/",
"xsd": "http://www.w3.org/2001/XMLSchema#",
"dcterms": "http://purl.org/dc/terms/",
"myapp": "https://my-app.org/CWEType/"
},
"cw:head": {
"rql": "Any P,N LIMIT 2 WHERE P is Person, P name N",
"vars": ["P", "N"],
"limit": 2
},
"cw:results": [
[{
"@context": "https://my-app.org/Person.jsonld",
"@type": "myapp:Person",
"cwuri": "https://my-app.org/1234",
"name": "John",
"age": 42,
"birthdate": "2013/01/01",
"creation_date": "2009/08/07 15:20:30",
"modification_date": "2009/08/05 11:12:24",
"eid": 1234,
"dcterms:title": "the result of p.dc_title() on John",
"dcterms:description": null
},
{
"@type": "xsd:string",
"@value": "John"
}],
[{
"@context": "https://my-app.org/Person.jsonld",
"@type": "myapp:Person",
"cwuri": "https://my-app.org/4321",
"name": "Mary",
"age": 40,
"birthdate": "2015/02/02",
"creation_date": "2014/01/02 11:30:20",
"modification_date": "2015/01/05 12:24:11",
"eid": 4321,
"dcterms:title": "the result of p.dc_title() on Mary",
"dcterms:description": null
},
{
"@type": "xsd:string",
"@value": "Mary"
}]
]
}
Release files for cubicweb-jsonld 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| cubicweb-jsonld-0.1.0.tar.gz | 9.6 kB | Details |
Release files / cubicweb-jsonld-0.1.0.tar.gz
| Download URL | cubicweb-jsonld-0.1.0.tar.gz |
|---|---|
| Size | 9.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
b1a1f9759dc69405fae26d0fe11d4156990a120cdc5655e3058bbcee805939c4
|
|
BLAKE2b-256 checksum How to use checksums |
978c95ff91435f7d1b52b2fc027041d2e676beca42a425ca656641f348377af4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |