Skip to content

Commit

Permalink
Make agentType symmetrical form to other tying. update docs, note rat…
Browse files Browse the repository at this point in the history
…ionale for changes from PROV-JSON
  • Loading branch information
rob-metalinkage committed Jul 29, 2024
1 parent da75bf2 commit 0744820
Show file tree
Hide file tree
Showing 4 changed files with 29 additions and 2 deletions.
18 changes: 16 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
# OGC Building Block template

This repository defines a "building block" for use of [PROV-O Vocabulary](https://www.w3.org/TR/prov-o/) in a JSON or JSON-LD implementation.
This repository defines a "building block" for use of [PROV-O Vocabulary](https://www.w3.org/TR/prov-o/) using a schema valid for either JSON or JSON-LD implementation. (See ["Other Prov JSON serialisations"](#other-prov-json-serialisations) )



The "ready-to-use" form is generated [here:](https://ogcincubator.github.io/bblock-prov-schema/build/generateddocs/slate-build/ogc-utils/prov/index.html)

Expand All @@ -10,8 +12,20 @@ Such a schema is complex, and the purpose of this building block is to provide a

The **JSON-LD** context binds these structures to the PROV-O vocabulary.

The **SHACL** rules perform consistency checking above and beyond schema validation.
If provided **SHACL** rules perform consistency checking above and beyond schema validation.

## Other Prov JSON serialisations

NB. The W3C PROV working group published two early project drafts for JSON and JSON-LD serialisations, however these are not ideal solutions because:

- the JSON is not directly mappable to the PROV-O ontology via JSON-LD
- the JSON-LD serialisation is -LD specific and not compatible with normal JSON schemas.
- neither is supported by a formally published JSON Schema.
- neither schema supports annotation of existing objects as prov:Entities - requiring specialised structures to register all entities under a "entities" property.

This building block defines a schema that avoids all these limitations. Users may choose to define a building block that allows either one of the published JSON forms or this schema for backwards compatibility, however there is little evidence of significant usage of the published drafts.

## General

[OGC Building Blocks](https://opengeospatial.github.io/bblocks) are defined by the Open Geospatial Consortium to support implementation of customised applications consistent with OGC specifications.

Expand Down
10 changes: 10 additions & 0 deletions _sources/schema.json
Original file line number Diff line number Diff line change
Expand Up @@ -703,6 +703,16 @@
"required": [
"type"
]
},
{
"properties": {
"agentType": {
"$ref": "#/$defs/AgentType"
}
},
"required": [
"agentType"
]
},
{
"properties": {
Expand Down
2 changes: 2 additions & 0 deletions build.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
# Process building blocks
docker run --pull=always --rm --workdir /workspace -v "$(pwd):/workspace" ghcr.io/opengeospatial/bblocks-postprocess --clean true --base-url http://localhost:9090/register/
1 change: 1 addition & 0 deletions view.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
docker run --rm --pull=always -v "$(pwd):/register" -p 9090:9090 ghcr.io/ogcincubator/bblocks-viewer

0 comments on commit 0744820

Please sign in to comment.