From 745f4a9c7852a89c9ace9946a2cf5e8748a4dab1 Mon Sep 17 00:00:00 2001 From: Rob Atkinson Date: Tue, 13 Aug 2024 17:39:11 +1000 Subject: [PATCH] stub for transforms --- _pages/create/transforms.md | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/_pages/create/transforms.md b/_pages/create/transforms.md index 48cf02c..6034d4f 100644 --- a/_pages/create/transforms.md +++ b/_pages/create/transforms.md @@ -2,4 +2,38 @@ title: Transforms permalink: /create/transforms --- + +Transformations may be required for several reasons: + +1. To test the ability of a building block to model information from a particular source (that does not conform to the building block specification). + +Accordingly, different types of transformations may be required: + +1. Encoding translations (e.g. XML -> JSON) +2. Schema transformations +3. Semantic transformations (entailments, equivalent terms) +4. Content transformations (terminology) + +**Note that the Building Blocks viewer application is still being developed to show all types of transformation in appropriate places.** + +## Transformation tools + +Building Blocks are technology agnostic, however rich support exists for JSON Schema and JSON-LD/RDF: + +- SHACL (AF- advances features) SPARQL rules are powerful for schema, semantic and content transformation rules. +- JQ may be used for pure JSON transformations + +Custom code may be used for transformation and validation. (details TBD) + +## Examples + +A key example is the mismatch between the GeoJSON geometry model and the GeoSPARQL geometry model. This +requires the transformation of both structure and vocabulary to convert GeoJSON to valid GeoSPARQL - see this [example](https://ogcincubator.github.io/bblocks-examples/bblock/ogc.bbr.examples.feature.geosparqlFeature) + +The transformation specification is here: + +https://github.com/ogcincubator/bblocks-examples/blob/master/_sources/feature/geosparqlFeature/bblock.json#L17 + +## Technical Documentation + TBD \ No newline at end of file