Example available in the JSON-LD Playground at:
https://json-ld.org/playground/#startTab=tab-compacted&json-ld=%7B%22%40context%22%3A%7B%22dcat%22%3A%22http%3A%2F%2Fwww.w3.org%2Fns%2Fdcat%23%22%2C%22odrl%22%3A%22http%3A%2F%2Fwww.w3.org%2Fns%2Fodrl%2F2%2F%22%2C%22dcterms%22%3A%22http%3A%2F%2Fpurl.org%2Fdc%2Fterms%2F%22%7D%2C%22%40id%22%3A%22dataset%3Adataset1%22%2C%22%40type%22%3A%22dcat%3ADataset%22%2C%22dcat%3Adistribution%22%3A%5B%7B%22%40type%22%3A%22dcat%3ADistribution%22%2C%22dcterms%3Aformat%22%3A%22example%3Aformat%22%2C%22dcat%3AaccessService%22%3A%22service%3Aaccess1%22%7D%5D%2C%22odrl%3AhasPolicy%22%3A%7B%22%40context%22%3A%22http%3A%2F%2Fwww.w3.org%2Fns%2Fodrl.jsonld%22%2C%22%40type%22%3A%22Offer%22%2C%22uid%22%3A%22policy%3Apolicy1%22%2C%22permission%22%3A%5B%7B%22action%22%3A%22use%22%7D%5D%7D%2C%22dcterms%3Atype%22%3A%22https%3A%2F%2Fvocabulary.uncefact.org%2FConsignment%22%2C%22dcterms%3Apublisher%22%3A%22did%3Aiota%3A0x123456789abcdef%22%7D&context=%7B%22%40context%22%3A%5B%22https%3A%2F%2Fw3id.org%2Fdspace%2F2025%2F1%2Fcontext.jsonld%22%5D%7D
The unexplainable is that format is kept as dct:format but it should be just compacted to format.
--- Explanation -----
let it be
{
"@context": {
"dcat": "http://www.w3.org/ns/dcat#",
"odrl": "http://www.w3.org/ns/odrl/2/",
"dcterms": "http://purl.org/dc/terms/"
},
"@id": "dataset:dataset1",
"@type": "dcat:Dataset",
"dcat:distribution": [
{
"@type": "dcat:Distribution",
"dcterms:format": "example:format",
"dcat:accessService": "service:access1"
}
],
"odrl:hasPolicy": {
"@context": "http://www.w3.org/ns/odrl.jsonld",
"@type": "Offer",
"uid": "policy:policy1",
"permission": [
{
"action": "use"
}
]
},
"dcterms:type": "https://vocabulary.uncefact.org/Consignment",
"dcterms:publisher": "did:iota:0x123456789abcdef"
}
that it is compacted through
{
"@context": ["https://w3id.org/dspace/2025/1/context.jsonld"]
}
result is below. Why dcterms:format is not compacted to be just format and why is it prefixed? because the compaction LD Context has a term definition for it at https://github.com/eclipse-dataspace-protocol-base/DataspaceProtocol/blob/main/artifacts/src/main/resources/context/dspace.jsonld#L415
{
"@context": "https://w3id.org/dspace/2025/1/context.jsonld",
"@id": "dataset:dataset1",
"@type": "Dataset",
"dct:publisher": "did:iota:0x123456789abcdef",
"dct:type": "https://vocabulary.uncefact.org/Consignment",
"distribution": [
{
"@type": "Distribution",
"dct:format": "example:format",
"accessService": "service:access1"
}
],
"hasPolicy": [
{
"@id": "policy:policy1",
"@type": "Offer",
"permission": [
{
"action": "use"
}
]
}
]
}
Example available in the JSON-LD Playground at:
https://json-ld.org/playground/#startTab=tab-compacted&json-ld=%7B%22%40context%22%3A%7B%22dcat%22%3A%22http%3A%2F%2Fwww.w3.org%2Fns%2Fdcat%23%22%2C%22odrl%22%3A%22http%3A%2F%2Fwww.w3.org%2Fns%2Fodrl%2F2%2F%22%2C%22dcterms%22%3A%22http%3A%2F%2Fpurl.org%2Fdc%2Fterms%2F%22%7D%2C%22%40id%22%3A%22dataset%3Adataset1%22%2C%22%40type%22%3A%22dcat%3ADataset%22%2C%22dcat%3Adistribution%22%3A%5B%7B%22%40type%22%3A%22dcat%3ADistribution%22%2C%22dcterms%3Aformat%22%3A%22example%3Aformat%22%2C%22dcat%3AaccessService%22%3A%22service%3Aaccess1%22%7D%5D%2C%22odrl%3AhasPolicy%22%3A%7B%22%40context%22%3A%22http%3A%2F%2Fwww.w3.org%2Fns%2Fodrl.jsonld%22%2C%22%40type%22%3A%22Offer%22%2C%22uid%22%3A%22policy%3Apolicy1%22%2C%22permission%22%3A%5B%7B%22action%22%3A%22use%22%7D%5D%7D%2C%22dcterms%3Atype%22%3A%22https%3A%2F%2Fvocabulary.uncefact.org%2FConsignment%22%2C%22dcterms%3Apublisher%22%3A%22did%3Aiota%3A0x123456789abcdef%22%7D&context=%7B%22%40context%22%3A%5B%22https%3A%2F%2Fw3id.org%2Fdspace%2F2025%2F1%2Fcontext.jsonld%22%5D%7D
The unexplainable is that
formatis kept asdct:formatbut it should be just compacted toformat.--- Explanation -----
let it be
{ "@context": { "dcat": "http://www.w3.org/ns/dcat#", "odrl": "http://www.w3.org/ns/odrl/2/", "dcterms": "http://purl.org/dc/terms/" }, "@id": "dataset:dataset1", "@type": "dcat:Dataset", "dcat:distribution": [ { "@type": "dcat:Distribution", "dcterms:format": "example:format", "dcat:accessService": "service:access1" } ], "odrl:hasPolicy": { "@context": "http://www.w3.org/ns/odrl.jsonld", "@type": "Offer", "uid": "policy:policy1", "permission": [ { "action": "use" } ] }, "dcterms:type": "https://vocabulary.uncefact.org/Consignment", "dcterms:publisher": "did:iota:0x123456789abcdef" }that it is compacted through
{ "@context": ["https://w3id.org/dspace/2025/1/context.jsonld"] }result is below. Why
dcterms:formatis not compacted to be justformatand why is it prefixed? because the compaction LD Context has a term definition for it at https://github.com/eclipse-dataspace-protocol-base/DataspaceProtocol/blob/main/artifacts/src/main/resources/context/dspace.jsonld#L415{ "@context": "https://w3id.org/dspace/2025/1/context.jsonld", "@id": "dataset:dataset1", "@type": "Dataset", "dct:publisher": "did:iota:0x123456789abcdef", "dct:type": "https://vocabulary.uncefact.org/Consignment", "distribution": [ { "@type": "Distribution", "dct:format": "example:format", "accessService": "service:access1" } ], "hasPolicy": [ { "@id": "policy:policy1", "@type": "Offer", "permission": [ { "action": "use" } ] } ] }