Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
…schema

# Conflicts:
#	README.md
#	_sources/examples.yaml
#	_sources/examples/example-withrefs.json
  • Loading branch information
rob-metalinkage committed Jun 10, 2024
2 parents 5b4d777 + d35b241 commit 74adbc5
Show file tree
Hide file tree
Showing 53 changed files with 33,321 additions and 1,262 deletions.
9 changes: 0 additions & 9 deletions _sources/assets/README.md

This file was deleted.

338 changes: 314 additions & 24 deletions _sources/context.jsonld
Original file line number Diff line number Diff line change
@@ -1,48 +1,338 @@
{
"@context": {
"@vocab": "http://www.w3.org/ns/prov#",
"rdf": "http://www.w3.org/1999/02/22-rdf-syntax-ns#",
"prov": "http://www.w3.org/ns/prov#",
"prov-x": "http://www.w3.org/ns/prov-x#",
"id": "@id",
"type": "@type",
"featureType": "@type",
"activity": "@type",
"rdfs": "http://www.w3.org/2000/01/rdf-schema#",
"xsd": "http://www.w3.org/2001/XMLSchema#",
"dct": "http://purl.org/dc/terms/",
"activityType": "@type",
"agentType": "@type",
"Entity": {
"type": "@id",
"@id": "prov:Entity"
"entityType": "@type",
"featureType": "@type",
"provType": "@type",
"Activity": "prov:Activity",
"ActivityInfluence": "prov:ActivityInfluence",
"Agent": "prov:Agent",
"AgentInfluence": "prov:AgentInfluence",
"Association": "prov:Association",
"Attribution": "prov:Attribution",
"Bundle": "prov:Bundle",
"Collection": "prov:Collection",
"Communication": "prov:Communication",
"Delegation": "prov:Delegation",
"Derivation": "prov:Derivation",
"EmptyCollection": "prov:EmptyCollection",
"End": "prov:End",
"Entity": "prov:Entity",
"EntityInfluence": "prov:EntityInfluence",
"Generation": "prov:Generation",
"Influence": "prov:Influence",
"InstantaneousEvent": "prov:InstantaneousEvent",
"Invalidation": "prov:Invalidation",
"Location": "prov:Location",
"Organization": "prov:Organization",
"Person": "prov:Person",
"Plan": "prov:Plan",
"PrimarySource": "prov:PrimarySource",
"Quotation": "prov:Quotation",
"Revision": "prov:Revision",
"Role": "prov:Role",
"SoftwareAgent": "prov:SoftwareAgent",
"Start": "prov:Start",
"Usage": "prov:Usage",
"ServiceDescription": "prov:ServiceDescription",
"DirectQueryService": "prov:DirectQueryService",
"Accept": "prov:Accept",
"Contribute": "prov:Contribute",
"Contributor": "prov:Contributor",
"Copyright": "prov:Copyright",
"Create": "prov:Create",
"Creator": "prov:Creator",
"Modify": "prov:Modify",
"Publish": "prov:Publish",
"Publisher": "prov:Publisher",
"Replace": "prov:Replace",
"RightsAssignment": "prov:RightsAssignment",
"RightsHolder": "prov:RightsHolder",
"Submit": "prov:Submit",
"Dictionary": "prov:Dictionary",
"EmptyDictionary": "prov:EmptyDictionary",
"KeyEntityPair": "prov:KeyEntityPair",
"Insertion": "prov:Insertion",
"Removal": "prov:Removal",
"atTime": {
"@id": "prov:atTime",
"@type": "xsd:dateTime"
},
"endedAtTime": {
"@id": "prov:endedAtTime",
"@type": "xsd:dateTime"
},
"generatedAtTime": {
"@id": "prov:generatedAtTime",
"@type": "xsd:dateTime"
},
"invalidatedAtTime": {
"@id": "prov:invalidatedAtTime",
"@type": "xsd:dateTime"
},
"startedAtTime": {
"@id": "prov:startedAtTime",
"@type": "xsd:dateTime"
},
"value": "prov:value",
"provenanceUriTemplate": "prov:provenanceUriTemplate",
"pairKey": {
"@id": "prov:pairKey",
"@type": "rdfs:Literal"
},
"removedKey": {
"@id": "prov:removedKey",
"@type": "rdfs:Literal"
},
"actedOnBehalfOf": {
"@id": "prov:actedOnBehalfOf",
"@type": "@id"
},

"agent": {
"@id": "prov:agent",
"@type": "@id"
},
"alternateOf": {
"@id": "prov:alternateOf",
"@type": "@id"
},
"atLocation": {
"@id": "prov:atLocation",
"@type": "@id"
},
"entity": {
"@id": "prov:entity",
"@type": "@id"
},
"generated": {
"@id": "prov:generated",
"@type": "@id"
},
"hadActivity": {
"@id": "prov:hadActivity",
"@type": "@id"
},
"activity": {
"@id": "prov:activity",
"@type": "@id"
},
"agent": {
"@id": "prov:agent",
"@type": "@id"
},
"hadGeneration": {
"@id": "prov:hadGeneration",
"@type": "@id"
},
"hadMember": {
"@id": "prov:hadMember",
"@type": "@id"
},
"hadPlan": {
"@id": "prov:hadPlan",
"@type": "@id"
},
"hadPrimarySource": {
"@id": "prov:hadPrimarySource",
"@type": "@id"
},
"hadRole": {
"@id": "prov:hadRole",
"@type": "@id"
},
"hadUsage": {
"@id": "prov:hadUsage",
"@type": "@id"
},
"influenced": {
"@id": "prov:influenced",
"@type": "@id"
},
"influencer": {
"@id": "prov:influencer",
"@type": "@id"
},
"invalidated": {
"@id": "prov:invalidated",
"@type": "@id"
},
"Activity": {
"type": "@id",
"@id": "prov:Activity"
"qualifiedAssociation": {
"@id": "prov:qualifiedAssociation",
"@type": "@id"
},
"qualifiedAttribution": {
"@id": "prov:qualifiedAttribution",
"@type": "@id"
},
"qualifiedCommunication": {
"@id": "prov:qualifiedCommunication",
"@type": "@id"
},
"qualifiedDelegation": {
"@id": "prov:qualifiedDelegation",
"@type": "@id"
},
"Agent": {
"type": "@id",
"@id": "prov:Agent"
"qualifiedDerivation": {
"@id": "prov:qualifiedDerivation",
"@type": "@id"
},
"provenance": {
"@id": "prov-x:provenance",
"@type": "@id",
"@container": "@set"
"qualifiedEnd": {
"@id": "prov:qualifiedEnd",
"@type": "@id"
},
"qualifiedGeneration": {
"@id": "prov:qualifiedGeneration",
"@type": "@id"
},
"qualifiedInfluence": {
"@id": "prov:qualifiedInfluence",
"@type": "@id"
},
"qualifiedInvalidation": {
"@id": "prov:qualifiedInvalidation",
"@type": "@id"
},
"qualifiedPrimarySource": {
"@id": "prov:qualifiedPrimarySource",
"@type": "@id"
},
"qualifiedQuotation": {
"@id": "prov:qualifiedQuotation",
"@type": "@id"
},
"qualifiedRevision": {
"@id": "prov:qualifiedRevision",
"@type": "@id"
},
"qualifiedStart": {
"@id": "prov:qualifiedStart",
"@type": "@id"
},
"qualifiedUsage": {
"@id": "prov:qualifiedUsage",
"@type": "@id"
},
"specializationOf": {
"@id": "prov:specializationOf",
"@type": "@id"
},
"used": {
"@id": "prov:used",
"@type": "@id"
},
"wasAssociatedWith": {
"@id": "prov:wasAssociatedWith",
"@type": "@id"
},
"wasAttributedTo": {
"@id": "prov:wasAttributedTo",
"@type": "@id"
},
"wasDerivedFrom": {
"@id": "prov:wasDerivedFrom",
"@type": "@id"
},
"wasEndedBy": {
"@id": "prov:wasEndedBy",
"@type": "@id"
},
"wasGeneratedBy": {
"@id": "prov:wasGeneratedBy",
"@type": "@id"
},
"used": {
"wasInfluencedBy": {
"@id": "prov:wasInfluencedBy",
"@type": "@id"
},
"wasInformedBy": {
"@id": "prov:wasInformedBy",
"@type": "@id"
},
"wasInvalidatedBy": {
"@id": "prov:wasInvalidatedBy",
"@type": "@id"
},
"wasQuotedFrom": {
"@id": "prov:wasQuotedFrom",
"@type": "@id"
},
"wasRevisionOf": {
"@id": "prov:wasRevisionOf",
"@type": "@id"
},
"wasStartedBy": {
"@id": "prov:wasStartedBy",
"@type": "@id"
},
"has_anchor": {
"@id": "prov:has_anchor",
"@type": "@id"
},
"name": "foaf:name",
"links": {
"@id": "http://www.w3.org/2000/01/rdf-schema#seeAlso"
}
"has_provenance": {
"@id": "dct:provenance",
"@type": "@id"
},
"has_query_service": {
"@id": "prov:has_query_service",
"@type": "@id"
},
"describesService": {
"@id": "prov:describesService",
"@type": "@id"
},
"pingback": {
"@id": "prov:pingback",
"@type": "@id"
},
"dictionary": {
"@id": "prov:dictionary",
"@type": "@id"
},
"derivedByInsertionFrom": {
"@id": "prov:derivedByInsertionFrom",
"@type": "@id"
},
"derivedByRemovalFrom": {
"@id": "prov:derivedByRemovalFrom",
"@type": "@id"
},
"insertedKeyEntityPair": {
"@id": "prov:insertedKeyEntityPair",
"@type": "@id"
},
"hadDictionaryMember": {
"@id": "prov:hadDictionaryMember",
"@type": "@id"
},
"pairEntity": {
"@id": "prov:pairEntity",
"@type": "@id"
},
"qualifiedInsertion": {
"@id": "prov:qualifiedInsertion",
"@type": "@id"
},
"qualifiedRemoval": {
"@id": "prov:qualifiedRemoval",
"@type": "@id"
},
"asInBundle": {
"@id": "prov:asInBundle",
"@type": "@id"
},
"mentionOf": {
"@id": "prov:mentionOf",
"@type": "@id"
},
"id": "@id",
"name": "rdfs:label",
"links": "rdfs:seeAlso"
}
}
18 changes: 16 additions & 2 deletions _sources/description.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,20 @@
## Provenance chain

A schema defining objects that may be referenced or nested as a chain of activities.
A JSON schema defining objects that may be referenced or nested as a chain of Activities, Entities or Agents (or subclasses thereof)

This schema implements the PROV vocabulary semantics.
This schema implements the PROV vocabulary semantics (through JSON-LD mapping directly to the PROV-O RDF model.)

## Object typing

Object typing needs to be explicit to support effective semantic mapping to the PROV vocabulary, and to support schema validation scope clarity (using the right sub-schema for objects in a collection representing the directed graph model of PROV).

`provType` may be used to map to the subClasses of the Provenance vocabulary.

Custom application object types are explicit (`activityType`, `agentType`, `entityType` to support schema validation clarity).



Note that entityType is optional and may be replaced by `featureType` for compatibility with the OGC Feature implementation (implicitly always an Entity)

likewise the use of the property `type` is not specified to allow compatibility with GeoJSON features that must have this property with a constant value ("Feature" or "FeatureCollection").

Loading

0 comments on commit 74adbc5

Please sign in to comment.