You are viewing an old version of this page. View the current version.
Compare with Current
View Page History
« Previous
Version 5
Next »
Overview
This proposes a change document structure using Activity Streams. It includes examples for each type of change.
Activity Streams
References:
Specification for Activity Stream 2.0
Sidecar specification describing activity types (e.g. add, delete, etc.)
Add Example:
{
"@context": "https://www.w3.org/ns/activitystreams",
"summary": "Add term milk",
"type": "Add",
"actor": {
"type": "Authority",
"id": "http://my.authority",
"name": "My Authority"
},
"graph": "<http://my_repo/entity/milk> <http://my.authority/vocab/hasLabel> 'milk'@en."
}
{
"@context": "https://www.w3.org/ns/activitystreams",
"summary": "Add term milk",
"type": "Add",
"actor": {
"type": "Authority",
"id": "http://my.authority",
"name": "My Authority"
},
"graph": "<http://my_repo/entity/cow_milk> <http://my.authority/vocab/hasLabel> 'cow milk'@en.
<http://my_repo/entity/cow_milk> <http://my.authority/vocab/broader_term> <http://my_repo/entity/milk>.
<http://my_repo/entity/cow_milk> <http://my.authority/vocab/narrow_term> <http://my_repo/entity/bovine_milk>. }
{
"@context": "https://www.w3.org/ns/activitystreams",
"summary": "Add term milk",
"type": "Add",
"actor": {
"type": "Authority",
"id": "http://my.authority",
"name": "My Authority"
},
"graph": "<http://my_repo/entity/milk> <http://my.authority/vocab/hasLabel> b1:.
<b1:> <http://my.authority/vocab/label> 'milk'@en."
}
Delete Example:
{
"@context": "https://www.w3.org/ns/activitystreams",
"summary": "Delete term milk",
"type": "Delete",
"actor": {
"type": "Authority",
"id": "http://my.authority",
"name": "My Authority"
},
"graph": "<http://my_repo/entity/milk> <http://my.authority/vocab/hasLabel> 'milk'@en."
}
{
"@context": "https://www.w3.org/ns/activitystreams",
"summary": "Delete term cow milk",
"type": "Delete",
"actor": {
"type": "Authority",
"id": "http://my.authority",
"name": "My Authority"
},
"graph": "<http://my_repo/entity/cow_milk> <http://my.authority/vocab/hasLabel> 'cow milk'@en.
<http://my_repo/entity/cow_milk> <http://my.authority/vocab/broader_term> <http://my_repo/entity/milk>.
<http://my_repo/entity/cow_milk> <http://my.authority/vocab/narrow_term> <http://my_repo/entity/bovine_milk>. }
{
"@context": "https://www.w3.org/ns/activitystreams",
"summary": "Delete term milk",
"type": "Delete",
"actor": {
"type": "Authority",
"id": "http://my.authority",
"name": "My Authority"
},
"graph": "<http://my_repo/entity/milk> <http://my.authority/vocab/hasLabel> b1:.
<b1:> <http://my.authority/vocab/label> "milk"@en."
}
Deprecate Example:
{
"@context": "https://www.w3.org/ns/activitystreams",
"summary": "Deprecate term milk",
"type": "Add",
"actor": {
"type": "Authority",
"id": "http://my.authority",
"name": "My Authority"
},
"graph": "<http://my_repo/entity/cow_milk> <http://my.authority/vocab/status> 'deprecated'.
<http://my_repo/entity/cow_milk> <http://my.authority/vocab/use_instead> <http://my_repo/entity/bovine_milk>."
}
Change Example:
{
"@context": "https://www.w3.org/ns/activitystreams",
"summary": "Delete term milk",
"type": "Delete",
"actor": {
"type": "Authority",
"id": "http://my.authority",
"name": "My Authority"
},
"graph": "<http://my_repo/entity/milk> <http://my.authority/vocab/hasLabel> 'milk'@en."
}
{
"@context": "https://www.w3.org/ns/activitystreams",
"summary": "Add term Milk as a replacement of term milk",
"type": "Add",
"actor": {
"type": "Authority",
"id": "http://my.authority",
"name": "My Authority"
},
"graph": "<http://my_repo/entity/milk> <http://my.authority/vocab/hasLabel> 'Milk'@en"
}
{
"@context": "https://www.w3.org/ns/activitystreams",
"summary": "Delete narrower terms for milk",
"type": "Delete",
"actor": {
"type": "Authority",
"id": "http://my.authority",
"name": "My Authority"
},
"graph": "<http://my_repo/entity/cow_milk> <http://my.authority/vocab/narrow_term> 'bovine milk'@en.
<http://my_repo/entity/cow_milk> <http://my.authority/vocab/narrow_term> 'oxen milk'@en."
}
{
"@context": "https://www.w3.org/ns/activitystreams",
"summary": "Add narrower terms for milk",
"type": "Add",
"actor": {
"type": "Authority",
"id": "http://my.authority",
"name": "My Authority"
},
"graph": "<http://my_repo/entity/cow_milk> <http://my.authority/vocab/narrow_term> 'Bovine milk'@en.
<http://my_repo/entity/cow_milk> <http://my.authority/vocab/narrow_term> 'Oxen milk'@en."
}
{
"@context": "https://www.w3.org/ns/activitystreams",
"summary": "Delete term milk",
"type": "Delete",
"actor": {
"type": "Authority",
"id": "http://my.authority",
"name": "My Authority"
},
"graph": "<http://my_repo/entity/milk> <http://my.authority/vocab/hasLabel> b1:.
<b1:> <http://my.authority/vocab/label> 'milk'@en."}
{
"@context": "https://www.w3.org/ns/activitystreams",
"summary": "Add term Milk as a replacement of term milk",
"type": "Add",
"actor": {
"type": "Authority",
"id": "http://my.authority",
"name": "My Authority"
},
"graph": "<http://my_repo/entity/milk> <http://my.authority/vocab/hasLabel> b2:.
<b2:> <http://my.authority/vocab/label> 'milk'@en."}
}
Split Example:
NOTE: For entities, Deprecation is preferred over Delete. As such, the entity being split is shown as deprecated.
{
"@context": "https://www.w3.org/ns/activitystreams",
"summary": "Add term bovine milk split from cow milk",
"type": "Add",
"actor": {
"type": "Authority",
"id": "http://my.authority",
"name": "My Authority"
},
"graph": "<http://my_repo/entity/bovine_milk> <http://my.authority/vocab/hasLabel> 'bovine milk'@en."
}
{
"@context": "https://www.w3.org/ns/activitystreams",
"summary": "Add term oxen milk split from cow milk",
"type": "Add",
"actor": {
"type": "Authority",
"id": "http://my.authority",
"name": "My Authority"
},
"graph": "<http://my_repo/entity/oxen_milk> <http://my.authority/vocab/hasLabel> 'oxen milk'@en"
}
{
"@context": "https://www.w3.org/ns/activitystreams",
"summary": "Deprecate term cow milk. Split into bovine milk and oxen milk.",
"type": "Deprecated",
"actor": {
"type": "Authority",
"id": "http://my.authority",
"name": "My Authority"
},
"graph": "<http://my_repo/entity/cow_milk> <http://my.authority/vocab/status> 'deprecated'.
<http://my_repo/entity/cow_milk> <http://my.authority/vocab/use_instead> <http://my_repo/entity/bovine_milk>.
<http://my_repo/entity/cow_milk> <http://my.authority/vocab/use_instead> <http://my_repo/entity/oxen_milk>."
}
{
"@context": "https://www.w3.org/ns/activitystreams",
"summary": "Deprecate triples related to cow milk.",
"type": "Delete",
"actor": {
"type": "Authority",
"id": "http://my.authority",
"name": "My Authority"
},
"graph": "<http://my_repo/entity/cow_milk> <http://my.authority/vocab/altLabel> 'bovine milk'@en.
<http://my_repo/entity/cow_milk> <http://my.authority/vocab/altLabel> 'oxen milk'@en."
}
{
"@context": "https://www.w3.org/ns/activitystreams",
"summary": "Add term bovine milk split from cow milk",
"type": "Add",
"actor": {
"type": "Authority",
"id": "http://my.authority",
"name": "My Authority"
},
"graph": "<http://my_repo/entity/bovine_milk> <http://my.authority/vocab/hasLabel> 'bovine milk'@en.
<http://my_repo/entity/bovine_milk> <http://my.authority/vocab/altLabel> 'cow milk'@en."
}
{
"@context": "https://www.w3.org/ns/activitystreams",
"summary": "Add term oxen milk split from cow milk",
"type": "Add",
"actor": {
"type": "Authority",
"id": "http://my.authority",
"name": "My Authority"
},
"graph": "<http://my_repo/entity/oxen_milk> <http://my.authority/vocab/hasLabel> 'oxen milk'@en.
<http://my_repo/entity/oxen_milk> <http://my.authority/vocab/altLabel> 'cow milk'@en."
}
{
"@context": "https://www.w3.org/ns/activitystreams",
"summary": "Deprecate term cow milk. Split into bovine milk and oxen milk.",
"type": "Deprecated",
"actor": {
"type": "Authority",
"id": "http://my.authority",
"name": "My Authority"
},
"graph": "<http://my_repo/entity/cow_milk> <http://my.authority/vocab/status> 'deprecated'.
<http://my_repo/entity/cow_milk> <http://my.authority/vocab/use_instead> <http://my_repo/entity/bovine_milk>.
<http://my_repo/entity/cow_milk> <http://my.authority/vocab/use_instead> <http://my_repo/entity/oxen_milk>."
}
RDF Diff
RDF*
Specification (draft) of RDF* and SPARQL* - https://w3c.github.io/rdf-star/cg-spec/editors_draft.html
Other Refs
IIIF Change Discovery
Specification: https://iiif.io/api/discovery/0.9/
Uses ActivityStreams