{
  "name": "Topo-Feature",
  "abstract": "Features with 2 or 3D geometry defined via generalised topology between identified objects (Features).",
  "description": "Defines Feature (object) topology using a _topology_ property containing an ordered list of references to other features. \\n\\nOther features may be either features with topology properties or GeoJSON (or FG-JSON) geometry properties.\\n\\nTopo-Feature defined objects can be solids, swept volumes or any other concept. \\n\\nTopo-Feature allows for general topology to be described between independent features (objects) with any geometry dimensions. \\n\\nTopo-Feature-Collections define a self-contained set of such objects with referential integrity (all elements are present to fully define geometry coordinates.\\n\\nNote: This is a generalisation of the TopoJSON concept using inline, nested arrays of coordinates - but not limited to self-contained geometries per feature, duplicated between topologically related features..\n\nUsing JSON-FG allows for explicit CRS.\n\nSupports transformation \"smoke tests\" from 2 and 3D topology to simple geojson views.\n\nIf desired coordinate compaction transformations could be defined as per TopoJSON functionality, using specialised CRS definition._\n",
  "modified": "2026-08-11T07:24:17.134947",
  "tooling": {
    "bblocks-postprocess": {
      "commitId": "\"989dc6251d43604afdfd4b503bdbd417e88a5876",
      "shortCommitId": "\"989dc6",
      "date": "2026-08-06T10:55:48+00:00\""
    }
  },
  "gitRepository": "https://github.com/ogcincubator/topo-feature",
  "gitHubRepository": "https://github.com/ogcincubator/topo-feature/blob/master/",
  "baseURL": "https://ogcincubator.github.io/topo-feature/",
  "viewerURL": "https://ogcincubator.github.io/topo-feature/",
  "validationReport": "https://ogcincubator.github.io/topo-feature/build/tests/report.html",
  "validationReportJson": "https://ogcincubator.github.io/topo-feature/build/tests/report.json",
  "imports": [
    "https://opengeospatial.github.io/bblocks/register.json"
  ],
  "bblocks": [
    {
      "itemIdentifier": "ogc.geo.topo.alignments.cityjson-transform",
      "name": "CityJSON to TopoFeature transform",
      "highlighted": true,
      "abstract": "Demonstration of a transform from CityJSON to TopoFeature",
      "status": "under-development",
      "dateTimeAddition": "2024-10-18T08:31:00Z",
      "itemClass": "schema",
      "register": "ogc",
      "version": "0.1",
      "dateOfLastChange": "2024-10-18",
      "tags": [
        "3D",
        "geometry",
        "topology",
        "cityjson"
      ],
      "shaclShapes": {},
      "sourceFiles": "https://ogcincubator.github.io/topo-feature/_sources/alignments/cityjson-transform/",
      "validationPassed": true,
      "testOutputs": "https://github.com/ogcincubator/topo-feature/blob/master/build/tests/geo/topo/alignments/cityjson-transform/",
      "transforms": [
        {
          "id": "topo-feature",
          "description": "Transforms CityJSON geometries and vertices to GeoJSON / TopoFeature features.",
          "type": "jq",
          "ref": "https://ogcincubator.github.io/topo-feature/_sources/alignments/cityjson-transform/transforms/topo-feature.jq",
          "code": "# CityJSON -> topoFeature type mapping\n# (note: Surface is used as an auxiliary type)\ndef toTopoGeometry: {\n  \"MultiSurface\": \"MultiPolygon\",\n  \"CompositeSurface\": \"MultiPolygon\",\n  \"Solid\": \"Polyhedron\",\n  \"MultiSolid\": \"MultiPolyhedron\",\n  \"CompositeSolid\": \"MultiPolyhedron\",\n} as $MAP | ($MAP[.] // .);\n\n# CityJSON geometry array contents mapping\n# (note: Surface is used as an auxiliary type)\ndef nextGeometry: {\n  \"MultiPolyhedron\": \"Polyhedron\",\n  \"Polyhedron\": \"MultiPolygon\",\n  \"MultiPolygon\": \"Polygon\",\n  \"Polygon\": \"LineString\"\n} as $MAP | $MAP[.];\n\n# Accepts object with \"references\" (to inner geometries or vertices), \"type\", and optional \"id\"\ndef processBoundaries: .type as $TYPE | .id as $ID | (.type | toTopoGeometry) as $TOPO_TYPE | ($TOPO_TYPE | nextGeometry) as $NEXT_TYPE | {\n  \"@type\": \"Feature\",\n  \"@id\": ($ID // empty),\n  \"geometry\": null,\n  \"topology\": {\n    \"type\": $TOPO_TYPE,\n    \"references\": (if (.type == \"MultiPoint\" or .type == \"LineString\") then (.references | map(\"#vertices-\\(.)\")) else (.references | to_entries | map({\n        \"type\": $NEXT_TYPE,\n        \"id\": (if $ID then \"\\($ID)_\\(.key + 1)\" else empty end),\n        \"references\": .value\n      } | processBoundaries)) end)\n  },\n  \"properties\": null\n};\n\n.CityObjects |= [\n  to_entries | .[]\n  | .value.parents |= if . then map(\"#:city-objects-\\(.)\") else empty end\n  | { \"@id\": \"#city-objects-\\(.key | @uri)\", \"dct:identifier\": .key } + .value\n  | .\"@id\" as $OBJECT_ID\n  | .geometry |= if . then ([ .[] |\n    .type as $GEOM_TYPE | .boundaries as $BOUNDARIES | (try (.semantics.values | to_entries) catch []) as $INDEXES\n    | {\n      \"surfaces\": (if .semantics.surfaces\n        then [.semantics.surfaces | to_entries | .[] | .key as $IDX\n          | .value + {\n            \"@type\": (if .type then [$GEOM_TYPE, .type] else $GEOM_TYPE end),\n            \"boundaries\": ({\"type\": $GEOM_TYPE, \"id\": \"\\($OBJECT_ID)_geom_\\($IDX)\", \"references\": [$BOUNDARIES | .[$INDEXES | map(if .value == $IDX then .key else empty end) | .[]]]} | processBoundaries)\n          }]\n        else [{\"@type\": $GEOM_TYPE, \"boundaries\": ({\"type\": $GEOM_TYPE, \"id\": \"\\($OBJECT_ID)_geom_0\", \"references\": $BOUNDARIES} | processBoundaries)}]\n        end),\n      \"lod\": \"\\(.lod)\"\n    }\n  ]) else empty end\n]\n| . + {\n  \"@id\": \"#city\"\n}\n|\ndef to_coords: if . then { \"city:x\": .[0], \"city:y\": .[1], \"city:z\": .[2] } else empty end ;\n(.transform.scale |= to_coords) | (.transform.translate |= to_coords)\n  | .metadata.geographicalExtent |= if . then {\n    \"city:min\": .[0:3] | to_coords,\n    \"city:max\": .[3:6] | to_coords\n  } else empty end\n  | .vertices |= [to_entries | .[] | {\n    \"@id\": \"#vertices-\\(.key | @uri)\",\n    \"type\": \"Feature\",\n    \"geometry\": {\n      \"@type\": \"Point\",\n      \"geojson:coordinates\": .value\n    },\n    \"properties\": (.value | to_coords),\n  }]",
          "inputs": {
            "mediaTypes": [
              {
                "id": "json",
                "defaultExtension": "json",
                "label": "JSON",
                "mimeType": "application/json",
                "extensions": [
                  "json"
                ]
              }
            ]
          },
          "outputs": {
            "mediaTypes": [
              {
                "id": "json",
                "defaultExtension": "json",
                "label": "JSON",
                "mimeType": "application/json",
                "extensions": [
                  "json"
                ]
              }
            ]
          }
        },
        {
          "id": "topo-feature-semantic-uplift",
          "description": "Transforms CityJSON geometries and vertices to GeoJSON / TopoFeature features, and then to a custom RDF model.",
          "type": "semantic-uplift",
          "ref": "https://ogcincubator.github.io/topo-feature/_sources/alignments/cityjson-transform/transforms/topo-feature-uplift.yml",
          "code": "transform:\n  # Assign fragment ids to City Objects and format geometries (semantics surfaces/values)\n  - |\n    \n    # CityJSON -> topoFeature type mapping\n    # (note: Surface is used as an auxiliary type)\n    def toTopoGeometry: {\n      \"MultiSurface\": \"MultiPolygon\",\n      \"CompositeSurface\": \"MultiPolygon\",\n      \"Solid\": \"Polyhedron\",\n      \"MultiSolid\": \"MultiPolyhedron\",\n      \"CompositeSolid\": \"MultiPolyhedron\",\n    } as $MAP | ($MAP[.] // .);\n\n    # CityJSON geometry array contents mapping\n    # (note: Surface is used as an auxiliary type)\n    def nextGeometry: {\n      \"MultiPolyhedron\": \"Polyhedron\",\n      \"Polyhedron\": \"MultiPolygon\",\n      \"MultiPolygon\": \"Polygon\",\n      \"Polygon\": \"LineString\"\n    } as $MAP | $MAP[.];\n\n    # Accepts object with \"references\" (to inner geometries or vertices), \"type\", and optional \"id\"\n    def processBoundaries: .type as $TYPE | .id as $ID | (.type | toTopoGeometry) as $TOPO_TYPE | ($TOPO_TYPE | nextGeometry) as $NEXT_TYPE | {\n      \"@type\": \"Feature\",\n      \"@id\": ($ID // empty),\n      \"geometry\": null,\n      \"topology\": {\n        \"type\": $TOPO_TYPE,\n        \"references\": (if (.type == \"MultiPoint\" or .type == \"LineString\") then (.references | map(\"#vertices-\\(.)\")) else (.references | to_entries | map({\n            \"type\": $NEXT_TYPE,\n            \"id\": (if $ID then \"\\($ID)_\\(.key + 1)\" else empty end),\n            \"references\": .value\n          } | processBoundaries)) end)\n      },\n      \"properties\": null\n    };\n\n    .CityObjects |= [\n      to_entries | .[]\n      | .value.parents |= if . then map(\"#:city-objects-\\(.)\") else empty end\n      | { \"@id\": \"#city-objects-\\(.key | @uri)\", \"dct:identifier\": .key } + .value\n      | .\"@id\" as $OBJECT_ID\n      | .geometry |= if . then ([ .[] |\n        .type as $GEOM_TYPE | .boundaries as $BOUNDARIES | (try (.semantics.values | to_entries) catch []) as $INDEXES\n        | {\n          \"surfaces\": (if .semantics.surfaces\n            then [.semantics.surfaces | to_entries | .[] | .key as $IDX\n              | .value + {\n                \"@type\": (if .type then [$GEOM_TYPE, .type] else $GEOM_TYPE end),\n                \"boundaries\": ({\"type\": $GEOM_TYPE, \"id\": \"\\($OBJECT_ID)_geom_\\($IDX)\", \"references\": [$BOUNDARIES | .[$INDEXES | map(if .value == $IDX then .key else empty end) | .[]]]} | processBoundaries)\n              }]\n            else [{\"@type\": $GEOM_TYPE, \"boundaries\": ({\"type\": $GEOM_TYPE, \"id\": \"\\($OBJECT_ID)_geom_0\", \"references\": $BOUNDARIES} | processBoundaries)}]\n            end),\n          \"lod\": \"\\(.lod)\"\n        }\n      ]) else empty end\n    ]\n    | . + {\n      \"@id\": \"#city\"\n    }\n  # Format coordinates and assign fragment ids to vertices\n  - |\n    def to_coords: if . then { \"city:x\": .[0], \"city:y\": .[1], \"city:z\": .[2] } else empty end ;\n    (.transform.scale |= to_coords) | (.transform.translate |= to_coords)\n    | .metadata.geographicalExtent |= if . then { \n      \"city:min\": .[0:3] | to_coords,\n      \"city:max\": .[3:6] | to_coords\n    } else empty end\n    | .vertices |= [to_entries | .[] | { \n        \"@id\": \"#vertices-\\(.key | @uri)\",\n        \"type\": \"Feature\",\n        \"geometry\": {\n          \"@type\": \"Point\",\n          \"geojson:coordinates\": .value\n        },\n        \"properties\": (.value | to_coords), \n      }]\n\ncontext:\n  $:\n    '@version': 1.1\n    '@base': https://example.com/city-topo-feature\n    c: https://example.com/city-topo-feature#\n\n    city: http://example.com/vocab/city/\n    attr: http://example.com/vocab/city/attr#\n    dct: http://purl.org/dc/terms/\n    xsd: http://www.w3.org/2001/XMLSchema#\n    gml: http://www.opengis.net/ont/gml#\n    geojson: https://purl.org/geojson/vocab#\n\n    CityJSON: city:City\n\n    type: '@type'\n    id: dct:identifier\n    version: city:version\n\n    attributes: '@nest'\n\n    CityObjects:\n      '@id': city:hasObject\n      '@context':\n        # City Objects\n        Bridge: city:Bridge\n        BridgeConstructiveElement: city:BridgeConstructiveElement\n        BridgeFurniture: city:BridgeFurniture\n        BridgeInstallation: city:BridgeInstallation\n        BridgePart: city:BridgePart\n        BridgeRoom: city:BridgeRoom\n        Building: city:Building\n        BuildingConstructiveElement: city:BuildingConstructiveElement\n        BuildingFurniture: city:BuildingFurniture\n        BuildingInstallation: city:BuildingInstallation\n        BuildingPart: city:BuildingPart\n        BuildingRoom: city:BuildingRoom\n        BuildingStorey: city:BuildingStorey\n        BuildingUnit: city:BuildingUnit\n        CityFurniture: city:CityFurniture\n        CityObjectGroup: city:CityObjectGroup\n        ExtensionObject: city:ExtensionObject\n        LandUse: city:LandUse\n        OtherConstruction: city:OtherConstruction\n        PlantCover: city:PlantCover\n        Railway: city:Railway\n        Road: city:Road\n        SolitaryVegetationObject: city:SolitaryVegetationObject\n        TINRelief: city:TINRelief\n        TransportSquare: city:TransportSquare\n        Tunnel: city:Tunnel\n        TunnelConstructiveElement: city:TunnelConstructiveElement\n        TunnelFurniture: city:TunnelFurniture\n        TunnelHollowSpace: city:TunnelHollowSpace\n        TunnelInstallation: city:TunnelInstallation\n        TunnelPart: city:TunnelPart\n        WaterBody: city:WaterBody\n        Waterway: city:Waterway\n        _AbstractBuilding: city:_AbstractBuilding\n        _AbstractCityObject: city:_AbstractCityObject\n        _AbstractTransportationComplex: city:_AbstractTransportationComplex\n        '+GenericCityObject': https://www.cityjson.org/extensions/download/generic.ext.json#GenericCityObject\n\n        function: city:hasFunction\n        usage: city:hasUsage\n\n        Feature: geojson:Feature\n        \n        geometry:\n          '@id': city:hasGeometry\n          '@context':\n            # Geometry Objects\n            GeometryInstance: city:GeometryInstance\n            Semantics: city:Semantics\n\n            CompositeSolid: gml:CompositeSolid\n            CompositeSurface: gml:CompositeSurface\n            MultiLineString: gml:MultiLineString\n            MultiPoint: gml:MultiPoint\n            MultiSolid: gml:MultiSolid\n            MultiSurface: gml:MultiSurface\n            Solid: gml:Solid\n\n            # Geometric primitives\n            RoofSurface: city:RoofSurface\n            GroundSurface: city:GroundSurface\n            WallSurface: city:WallSurface\n            ClosureSurface: city:ClosureSurface\n            OuterCeilingSurface: city:OuterCeilingSurface\n            OuterFloorSurface: city:OuterFloorSurface\n            Window: city:Window\n            Door: city:Door\n            InteriorWallSurface: city:InteriorWallSurface\n            CeilingSurface: city:CeilingSurface\n            FloorSurface: city:FloorSurface\n            WaterSurface: city:WaterSurface\n            WaterGroundSurface: city:WaterGroundSurface\n            WaterClosureSurface: city:WaterClosureSurface\n            TrafficArea: city:TrafficArea\n            AuxiliaryTrafficArea: city:AuxiliaryTrafficArea\n            TransportationHole: city:TransportationHole\n            TransportationMarking: city:TransportationMarking\n\n            # Appearance Objects\n            Material: city:Material\n            Texture: city:Texture\n\n            lod:\n              '@id': city:lod\n            surfaces:\n              '@id': city:hasSurface\n              '@context':\n                '@vocab': http://example.com/vocab/city/attr#\n            boundaries:\n              '@id': city:boundaries\n              '@container': '@list'\n              '@type': '@id'\n\n            # Topo-feature\n            topology:\n              '@type': '@id'\n              '@id': geojson:topology\n              '@context':\n                references:\n                  '@id': geojson:relatedFeatures\n                  '@type': '@id'\n                  '@container': '@list'\n                GeometryCollection: geojson:GeometryCollection\n                LineString: geojson:LineString\n                MultiLineString: geojson:MultiLineString\n                MultiPoint: geojson:MultiPoint\n                MultiPolygon: geojson:MultiPolygon\n                Point: geojson:Point\n                Polygon: geojson:Polygon\n                Polyhedron: geojson:Polyhedron\n                MultiPolyhedron: geojson:MultiPolyhedron\n                Prism:\n                  '@id': geojson:Prism\n                  '@context':\n                    base: geojson:prismBase\n                    lower: geojson:prismLower\n                    upper: geojson:prismUpper\n                MultiPrism:\n                  '@id': geojson:MultiPrism\n                  '@context':\n                    prisms: geojson:prisms\n        parents:\n          '@id': city:hasParent\n          '@type': '@id'\n        children:\n          '@id': city:hasChild\n          '@type': '@id'\n\n    'city:x':\n      '@id': city:x\n      '@type': xsd:decimal\n    'city:y':\n      '@id': city:y\n      '@type': xsd:decimal\n    'city:z':\n      '@id': city:z\n      '@type': xsd:decimal\n\n    transform:\n      '@id': city:hasTransform\n      '@context':\n        scale: city:scale\n        translate: city:translate\n\n    metadata:\n      '@id': '@nest'\n      '@context':\n        identifier: dct:identifier\n    geographicalExtent: city:geographicalExtent\n\n    vertices:\n      '@id': city:hasVertex\n      '@context':\n        properties: '@nest'\n        geometry: city:hasGeometry\n        Point: geojson:Point\n\n    extensions:\n      '@id': city:hasExtension\n      '@container': '@index'\n      '@index': dct:identifier\n      '@context':\n        url: '@id'\n        version: dct:version",
          "inputs": {
            "mediaTypes": [
              {
                "id": "json",
                "defaultExtension": "json",
                "label": "JSON",
                "mimeType": "application/json",
                "extensions": [
                  "json"
                ]
              }
            ]
          },
          "outputs": {
            "mediaTypes": [
              {
                "id": "ttl",
                "defaultExtension": "ttl",
                "label": "RDF/Turtle",
                "mimeType": "text/turtle",
                "aliases": [
                  "turtle",
                  "rdf/turtle"
                ],
                "extensions": [
                  "ttl"
                ]
              },
              {
                "id": "rdf",
                "defaultExtension": "rdf",
                "label": "RDF/XML",
                "mimeType": "application/rdf+xml",
                "aliases": [
                  "rdf/xml"
                ],
                "extensions": [
                  "rdf"
                ]
              }
            ]
          }
        }
      ],
      "documentation": {
        "json-full": {
          "mediatype": "application/json",
          "url": "https://ogcincubator.github.io/topo-feature/build/generateddocs/json-full/geo/topo/alignments/cityjson-transform/index.json"
        },
        "markdown": {
          "mediatype": "text/markdown",
          "url": "https://ogcincubator.github.io/topo-feature/build/generateddocs/markdown/geo/topo/alignments/cityjson-transform/index.md"
        },
        "bblocks-viewer": {
          "mediatype": "text/html",
          "url": "https://ogcincubator.github.io/topo-feature/bblock/ogc.geo.topo.alignments.cityjson-transform"
        }
      }
    },
    {
      "itemIdentifier": "ogc.geo.topo.datatypes.oriented-ref",
      "name": "Oriented Object Reference",
      "abstract": "A datatype for referencing a topological object with an orientation indicator ('+' or '-'), used to define the sense (direction/orientation) of boundary elements such as edges in rings or faces in shells.",
      "status": "under-development",
      "dateTimeAddition": "2024-01-01T00:00:00Z",
      "itemClass": "datatype",
      "register": "ogcincubator",
      "version": "0.1",
      "dateOfLastChange": "2024-01-01",
      "sources": [],
      "maturity": "development",
      "scope": "unstable",
      "tags": [
        "topology",
        "reference",
        "orientation"
      ],
      "group": "OGC",
      "dependsOn": [
        "bblocks://ogc.ogc-utils.iri-or-curie"
      ],
      "shaclShapes": {},
      "ldContext": "https://ogcincubator.github.io/topo-feature/build/annotated/geo/topo/datatypes/oriented-ref/context.jsonld",
      "schema": {
        "application/yaml": "https://ogcincubator.github.io/topo-feature/build/annotated/geo/topo/datatypes/oriented-ref/schema.yaml",
        "application/json": "https://ogcincubator.github.io/topo-feature/build/annotated/geo/topo/datatypes/oriented-ref/schema.json"
      },
      "sourceSchema": "https://ogcincubator.github.io/topo-feature/_sources/datatypes/oriented-ref/schema.json",
      "sourceLdContext": "https://ogcincubator.github.io/topo-feature/_sources/datatypes/oriented-ref/context.jsonld",
      "resolvedSchemaProperties": "https://ogcincubator.github.io/topo-feature/build/annotated/geo/topo/datatypes/oriented-ref/resolvedProperties.json",
      "sourceFiles": "https://ogcincubator.github.io/topo-feature/_sources/datatypes/oriented-ref/",
      "validationPassed": true,
      "testOutputs": "https://github.com/ogcincubator/topo-feature/blob/master/build/tests/geo/topo/datatypes/oriented-ref/",
      "documentation": {
        "json-full": {
          "mediatype": "application/json",
          "url": "https://ogcincubator.github.io/topo-feature/build/generateddocs/json-full/geo/topo/datatypes/oriented-ref/index.json"
        },
        "markdown": {
          "mediatype": "text/markdown",
          "url": "https://ogcincubator.github.io/topo-feature/build/generateddocs/markdown/geo/topo/datatypes/oriented-ref/index.md"
        },
        "bblocks-viewer": {
          "mediatype": "text/html",
          "url": "https://ogcincubator.github.io/topo-feature/bblock/ogc.geo.topo.datatypes.oriented-ref"
        }
      }
    },
    {
      "itemIdentifier": "ogc.geo.topo.datatypes.topology",
      "name": "Geometry using references",
      "highlighted": true,
      "abstract": "Demonstration of a schema using coordinates of points, withpout duplication",
      "status": "under-development",
      "dateTimeAddition": "2023-04-05T00:00:00Z",
      "itemClass": "schema",
      "register": "icsm-csdm",
      "version": "0.1",
      "dateOfLastChange": "2023-05-24",
      "link": "https://github.com/icsm-au/3d-csdm-schema",
      "sources": [],
      "maturity": "development",
      "scope": "unstable",
      "tags": [
        "3D",
        "geometry",
        "topology"
      ],
      "shaclShapes": {},
      "dependsOn": [
        "bblocks://ogc.geo.topo.datatypes.oriented-ref",
        "bblocks://ogc.ogc-utils.iri-or-curie",
        "bblocks://ogc.geo.json-fg.link-role"
      ],
      "ldContext": "https://ogcincubator.github.io/topo-feature/build/annotated/geo/topo/datatypes/topology/context.jsonld",
      "schema": {
        "application/yaml": "https://ogcincubator.github.io/topo-feature/build/annotated/geo/topo/datatypes/topology/schema.yaml",
        "application/json": "https://ogcincubator.github.io/topo-feature/build/annotated/geo/topo/datatypes/topology/schema.json"
      },
      "sourceSchema": "https://ogcincubator.github.io/topo-feature/_sources/datatypes/topology/schema.json",
      "sourceLdContext": "https://ogcincubator.github.io/topo-feature/_sources/datatypes/topology/context.jsonld",
      "resolvedSchemaProperties": "https://ogcincubator.github.io/topo-feature/build/annotated/geo/topo/datatypes/topology/resolvedProperties.json",
      "sourceFiles": "https://ogcincubator.github.io/topo-feature/_sources/datatypes/topology/",
      "validationPassed": true,
      "testOutputs": "https://github.com/ogcincubator/topo-feature/blob/master/build/tests/geo/topo/datatypes/topology/",
      "documentation": {
        "json-full": {
          "mediatype": "application/json",
          "url": "https://ogcincubator.github.io/topo-feature/build/generateddocs/json-full/geo/topo/datatypes/topology/index.json"
        },
        "markdown": {
          "mediatype": "text/markdown",
          "url": "https://ogcincubator.github.io/topo-feature/build/generateddocs/markdown/geo/topo/datatypes/topology/index.md"
        },
        "bblocks-viewer": {
          "mediatype": "text/html",
          "url": "https://ogcincubator.github.io/topo-feature/bblock/ogc.geo.topo.datatypes.topology"
        }
      }
    },
    {
      "itemIdentifier": "ogc.geo.topo.features.topo-feature",
      "name": "Feature with topology",
      "highlighted": true,
      "abstract": "This building block defines a GeoJSON feature with topological relationships to point nodes, or other to TopoFeatures. Testing and visualisation of its examples draw on a common set of referenced objects (points, edges, faces) shared across the topo-* building blocks, at `_sources/examples/referenced-objects.ttl`.",
      "status": "under-development",
      "dateTimeAddition": "2023-07-05T00:00:00Z",
      "itemClass": "schema",
      "register": "ogc-building-block-register",
      "version": "0.1",
      "dateOfLastChange": "2023-07-05",
      "sources": [],
      "maturity": "development",
      "scope": "unstable",
      "dependsOn": [
        "bblocks://ogc.geo.topo.features.topo-feature-collection",
        "bblocks://ogc.geo.topo.datatypes.topology"
      ],
      "tags": [
        "topology",
        "feature"
      ],
      "group": "OGC",
      "shaclShapes": {
        "ogc.geo.topo.features.topo-feature": [
          "https://ogcincubator.github.io/topo-feature/_sources/features/topo-feature/tests/geometry-coordinates.shacl",
          "https://ogcincubator.github.io/topo-feature/_sources/features/topo-feature-collection/tests/topo-refs-exist.shacl"
        ],
        "ogc.geo.topo.features.topo-feature-collection": [
          "https://ogcincubator.github.io/topo-feature/_sources/features/topo-feature/tests/geometry-coordinates.shacl",
          "https://ogcincubator.github.io/topo-feature/_sources/features/topo-feature-collection/tests/topo-refs-exist.shacl"
        ],
        "ogc.geo.features.feature": [
          "https://opengeospatial.github.io/bblocks/registereditems/geo/features/feature/shapes.shacl"
        ],
        "ogc.geo.features.featureCollection": [
          "https://opengeospatial.github.io/bblocks/registereditems/geo/features/featureCollection/shapes.shacl"
        ]
      },
      "ldContext": "https://ogcincubator.github.io/topo-feature/build/annotated/geo/topo/features/topo-feature/context.jsonld",
      "schema": {
        "application/yaml": "https://ogcincubator.github.io/topo-feature/build/annotated/geo/topo/features/topo-feature/schema.yaml",
        "application/json": "https://ogcincubator.github.io/topo-feature/build/annotated/geo/topo/features/topo-feature/schema.json"
      },
      "sourceSchema": "https://ogcincubator.github.io/topo-feature/_sources/features/topo-feature/schema.json",
      "sourceLdContext": "https://ogcincubator.github.io/topo-feature/_sources/features/topo-feature/context.jsonld",
      "resolvedSchemaProperties": "https://ogcincubator.github.io/topo-feature/build/annotated/geo/topo/features/topo-feature/resolvedProperties.json",
      "sourceFiles": "https://ogcincubator.github.io/topo-feature/_sources/features/topo-feature/",
      "validationPassed": true,
      "testOutputs": "https://github.com/ogcincubator/topo-feature/blob/master/build/tests/geo/topo/features/topo-feature/",
      "transforms": [
        {
          "id": "Points-n-Edges",
          "description": "GeoJSON points and Edges",
          "type": "topo2geojson",
          "metadata": {
            "ttl": [
              "_sources/examples/referenced-objects.ttl"
            ],
            "mode": "points,edges"
          },
          "code": "This uses a reusable code library for 2 and 3D topology",
          "inputs": {
            "mediaTypes": [
              {
                "mimeType": "application/json",
                "label": "JSON",
                "defaultExtension": "json"
              }
            ]
          },
          "outputs": {
            "mediaTypes": [
              {
                "mimeType": "application/geo+json",
                "label": "GeoJSON",
                "defaultExtension": "geojson"
              }
            ]
          }
        },
        {
          "id": "Faces-as-Polygons",
          "description": "GeoJSON Polygons for faces",
          "type": "topo2geojson",
          "metadata": {
            "ttl": [
              "_sources/examples/referenced-objects.ttl"
            ],
            "mode": "faces"
          },
          "code": "This uses a reusable code library for 2 and 3D topology",
          "inputs": {
            "mediaTypes": [
              {
                "mimeType": "application/json",
                "label": "JSON",
                "defaultExtension": "json"
              }
            ]
          },
          "outputs": {
            "mediaTypes": [
              {
                "mimeType": "application/geo+json",
                "label": "GeoJSON",
                "defaultExtension": "geojson"
              }
            ]
          }
        }
      ],
      "documentation": {
        "json-full": {
          "mediatype": "application/json",
          "url": "https://ogcincubator.github.io/topo-feature/build/generateddocs/json-full/geo/topo/features/topo-feature/index.json"
        },
        "markdown": {
          "mediatype": "text/markdown",
          "url": "https://ogcincubator.github.io/topo-feature/build/generateddocs/markdown/geo/topo/features/topo-feature/index.md"
        },
        "bblocks-viewer": {
          "mediatype": "text/html",
          "url": "https://ogcincubator.github.io/topo-feature/bblock/ogc.geo.topo.features.topo-feature"
        }
      }
    },
    {
      "itemIdentifier": "ogc.geo.topo.features.topo-arc",
      "name": "Non-linear Arc and Spline Descriptions using Point topology",
      "highlighted": true,
      "abstract": "Defines options for describing Arcs, Circles, Splines using point features as canonical source of geometry coordinates. Testing and visualisation of its examples draw on a common set of referenced objects (points, edges, faces) shared across the topo-* building blocks, at `_sources/examples/referenced-objects.ttl`.",
      "status": "under-development",
      "dateTimeAddition": "2023-11-01T00:00:00Z",
      "itemClass": "schema",
      "register": "ogcincubator",
      "version": "0.1",
      "dateOfLastChange": "2023-05-24",
      "sources": [],
      "maturity": "development",
      "scope": "unstable",
      "tags": [
        "2D",
        "geometry",
        "topology"
      ],
      "shaclClosures": [],
      "shaclShapes": {
        "ogc.geo.topo.features.topo-arc": [
          "https://ogcincubator.github.io/topo-feature/_sources/features/topo-feature/tests/geometry-coordinates.shacl",
          "https://ogcincubator.github.io/topo-feature/_sources/features/topo-feature-collection/tests/topo-refs-exist.shacl"
        ],
        "ogc.geo.topo.features.topo-feature": [
          "https://ogcincubator.github.io/topo-feature/_sources/features/topo-feature/tests/geometry-coordinates.shacl",
          "https://ogcincubator.github.io/topo-feature/_sources/features/topo-feature-collection/tests/topo-refs-exist.shacl"
        ],
        "ogc.geo.topo.features.topo-feature-collection": [
          "https://ogcincubator.github.io/topo-feature/_sources/features/topo-feature/tests/geometry-coordinates.shacl",
          "https://ogcincubator.github.io/topo-feature/_sources/features/topo-feature-collection/tests/topo-refs-exist.shacl"
        ],
        "ogc.geo.features.feature": [
          "https://opengeospatial.github.io/bblocks/registereditems/geo/features/feature/shapes.shacl"
        ],
        "ogc.geo.features.featureCollection": [
          "https://opengeospatial.github.io/bblocks/registereditems/geo/features/featureCollection/shapes.shacl"
        ]
      },
      "dependsOn": [
        "bblocks://ogc.geo.topo.datatypes.topology",
        "bblocks://ogc.geo.topo.features.topo-feature"
      ],
      "ldContext": "https://ogcincubator.github.io/topo-feature/build/annotated/geo/topo/features/topo-arc/context.jsonld",
      "schema": {
        "application/yaml": "https://ogcincubator.github.io/topo-feature/build/annotated/geo/topo/features/topo-arc/schema.yaml",
        "application/json": "https://ogcincubator.github.io/topo-feature/build/annotated/geo/topo/features/topo-arc/schema.json"
      },
      "sourceSchema": "https://ogcincubator.github.io/topo-feature/_sources/features/topo-arc/schema.json",
      "sourceLdContext": "https://ogcincubator.github.io/topo-feature/_sources/features/topo-arc/context.jsonld",
      "resolvedSchemaProperties": "https://ogcincubator.github.io/topo-feature/build/annotated/geo/topo/features/topo-arc/resolvedProperties.json",
      "sourceFiles": "https://ogcincubator.github.io/topo-feature/_sources/features/topo-arc/",
      "validationPassed": true,
      "testOutputs": "https://github.com/ogcincubator/topo-feature/blob/master/build/tests/geo/topo/features/topo-arc/",
      "transforms": [
        {
          "id": "Points-n-Edges",
          "description": "GeoJSON points and a line approximation (chord) of each arc/circle/spline",
          "type": "topo2geojson",
          "metadata": {
            "ttl": [
              "_sources/examples/referenced-objects.ttl"
            ],
            "mode": "points,edges"
          },
          "code": "Extracts a 2D \"smoke test\" view of the point references used by each\nArcWithCenter/Arc/ArcByChord/CircleByCenter/CubicSpline example.\n\ntopo2geojson does not compute true arc/circle/spline geometry \u2014 it\nresolves the topology's point references directly, so the output is a\nstraight-line (chord) approximation, not the actual curved geometry.\n\nInvokes a reusable utility library supporting an OGC Building Blocks\ntransformer interface.\n",
          "inputs": {
            "mediaTypes": [
              {
                "mimeType": "application/json",
                "label": "JSON",
                "defaultExtension": "json"
              }
            ]
          },
          "outputs": {
            "mediaTypes": [
              {
                "mimeType": "application/geo+json",
                "label": "GeoJSON",
                "defaultExtension": "geojson"
              }
            ]
          }
        }
      ],
      "documentation": {
        "json-full": {
          "mediatype": "application/json",
          "url": "https://ogcincubator.github.io/topo-feature/build/generateddocs/json-full/geo/topo/features/topo-arc/index.json"
        },
        "markdown": {
          "mediatype": "text/markdown",
          "url": "https://ogcincubator.github.io/topo-feature/build/generateddocs/markdown/geo/topo/features/topo-arc/index.md"
        },
        "bblocks-viewer": {
          "mediatype": "text/html",
          "url": "https://ogcincubator.github.io/topo-feature/bblock/ogc.geo.topo.features.topo-arc"
        }
      }
    },
    {
      "itemIdentifier": "ogc.geo.topo.features.topo-feature-collection",
      "name": "TopoFeatureCollection",
      "highlighted": true,
      "abstract": "This building block defines a GeoJSON (or FG-JSON) Feature Collection for a set of features with geometries defined by topological relationships. From these it is possible to derive simplified geometries using coordinates for each feature.",
      "status": "under-development",
      "dateTimeAddition": "2023-07-05T00:00:00Z",
      "itemClass": "schema",
      "register": "ogc-building-block-register",
      "version": "0.1",
      "dateOfLastChange": "2023-07-05",
      "sources": [],
      "maturity": "development",
      "scope": "unstable",
      "dependsOn": [
        "bblocks://ogc.geo.json-fg.feature-lenient",
        "bblocks://ogc.geo.json-fg.feature",
        "bblocks://ogc.geo.features.featureCollection",
        "bblocks://ogc.geo.json-fg.featureCollection",
        "bblocks://ogc.geo.topo.features.topo-feature",
        "bblocks://ogc.geo.json-fg.featureCollection-lenient",
        "bblocks://ogc.geo.features.feature"
      ],
      "tags": [
        "topology",
        "feature"
      ],
      "group": "OGC",
      "shaclShapes": {
        "ogc.geo.topo.features.topo-feature-collection": [
          "https://ogcincubator.github.io/topo-feature/_sources/features/topo-feature/tests/geometry-coordinates.shacl",
          "https://ogcincubator.github.io/topo-feature/_sources/features/topo-feature-collection/tests/topo-refs-exist.shacl"
        ],
        "ogc.geo.features.feature": [
          "https://opengeospatial.github.io/bblocks/registereditems/geo/features/feature/shapes.shacl"
        ],
        "ogc.geo.features.featureCollection": [
          "https://opengeospatial.github.io/bblocks/registereditems/geo/features/featureCollection/shapes.shacl"
        ],
        "ogc.geo.topo.features.topo-feature": [
          "https://ogcincubator.github.io/topo-feature/_sources/features/topo-feature/tests/geometry-coordinates.shacl",
          "https://ogcincubator.github.io/topo-feature/_sources/features/topo-feature-collection/tests/topo-refs-exist.shacl"
        ]
      },
      "ldContext": "https://ogcincubator.github.io/topo-feature/build/annotated/geo/topo/features/topo-feature-collection/context.jsonld",
      "schema": {
        "application/yaml": "https://ogcincubator.github.io/topo-feature/build/annotated/geo/topo/features/topo-feature-collection/schema.yaml",
        "application/json": "https://ogcincubator.github.io/topo-feature/build/annotated/geo/topo/features/topo-feature-collection/schema.json"
      },
      "sourceSchema": "https://ogcincubator.github.io/topo-feature/_sources/features/topo-feature-collection/schema.json",
      "sourceLdContext": "https://ogcincubator.github.io/topo-feature/_sources/features/topo-feature-collection/context.jsonld",
      "resolvedSchemaProperties": "https://ogcincubator.github.io/topo-feature/build/annotated/geo/topo/features/topo-feature-collection/resolvedProperties.json",
      "sourceFiles": "https://ogcincubator.github.io/topo-feature/_sources/features/topo-feature-collection/",
      "validationPassed": true,
      "testOutputs": "https://github.com/ogcincubator/topo-feature/blob/master/build/tests/geo/topo/features/topo-feature-collection/",
      "transforms": [
        {
          "id": "Points-n-Edges",
          "description": "GeoJSON points and Edges",
          "type": "topo2geojson",
          "metadata": {
            "ttl": [
              "_sources/examples/referenced-objects.ttl"
            ],
            "mode": "points,edges"
          },
          "code": "This uses a reusable code library for 2 and 3D topology",
          "inputs": {
            "mediaTypes": [
              {
                "mimeType": "application/json",
                "label": "JSON",
                "defaultExtension": "json"
              }
            ]
          },
          "outputs": {
            "mediaTypes": [
              {
                "mimeType": "application/geo+json",
                "label": "GeoJSON",
                "defaultExtension": "geojson"
              }
            ]
          }
        },
        {
          "id": "Faces-as-Polygons",
          "description": "GeoJSON Polygons for faces",
          "type": "topo2geojson",
          "metadata": {
            "ttl": [
              "_sources/examples/referenced-objects.ttl"
            ],
            "mode": "faces"
          },
          "code": "This uses a reusable code library for 2 and 3D topology",
          "inputs": {
            "mediaTypes": [
              {
                "mimeType": "application/json",
                "label": "JSON",
                "defaultExtension": "json"
              }
            ]
          },
          "outputs": {
            "mediaTypes": [
              {
                "mimeType": "application/geo+json",
                "label": "GeoJSON",
                "defaultExtension": "geojson"
              }
            ]
          }
        }
      ],
      "documentation": {
        "json-full": {
          "mediatype": "application/json",
          "url": "https://ogcincubator.github.io/topo-feature/build/generateddocs/json-full/geo/topo/features/topo-feature-collection/index.json"
        },
        "markdown": {
          "mediatype": "text/markdown",
          "url": "https://ogcincubator.github.io/topo-feature/build/generateddocs/markdown/geo/topo/features/topo-feature-collection/index.md"
        },
        "bblocks-viewer": {
          "mediatype": "text/html",
          "url": "https://ogcincubator.github.io/topo-feature/bblock/ogc.geo.topo.features.topo-feature-collection"
        }
      }
    },
    {
      "itemIdentifier": "ogc.geo.topo.features.topo-line",
      "name": "Line using Point References",
      "highlighted": true,
      "abstract": "Demonstration of a schema using coordinates of points, without duplication. Reuses context but constrains to Line types. Testing and visualisation of its examples draw on a common set of referenced objects (points, edges, faces) shared across the topo-* building blocks, at `_sources/examples/referenced-objects.ttl`.",
      "status": "under-development",
      "dateTimeAddition": "2023-04-05T00:00:00Z",
      "itemClass": "schema",
      "register": "icsm-csdm",
      "version": "0.1",
      "dateOfLastChange": "2023-05-24",
      "link": "https://github.com/icsm-au/3d-csdm-schema",
      "sources": [],
      "shaclClosures": [],
      "maturity": "development",
      "scope": "unstable",
      "tags": [
        "3D",
        "geometry",
        "topology"
      ],
      "shaclShapes": {
        "ogc.geo.topo.features.topo-feature": [
          "https://ogcincubator.github.io/topo-feature/_sources/features/topo-feature/tests/geometry-coordinates.shacl",
          "https://ogcincubator.github.io/topo-feature/_sources/features/topo-feature-collection/tests/topo-refs-exist.shacl"
        ],
        "ogc.geo.topo.features.topo-feature-collection": [
          "https://ogcincubator.github.io/topo-feature/_sources/features/topo-feature/tests/geometry-coordinates.shacl",
          "https://ogcincubator.github.io/topo-feature/_sources/features/topo-feature-collection/tests/topo-refs-exist.shacl"
        ],
        "ogc.geo.features.feature": [
          "https://opengeospatial.github.io/bblocks/registereditems/geo/features/feature/shapes.shacl"
        ],
        "ogc.geo.features.featureCollection": [
          "https://opengeospatial.github.io/bblocks/registereditems/geo/features/featureCollection/shapes.shacl"
        ]
      },
      "dependsOn": [
        "bblocks://ogc.geo.topo.features.topo-feature",
        "bblocks://ogc.geo.topo.datatypes.topology"
      ],
      "ldContext": "https://ogcincubator.github.io/topo-feature/build/annotated/geo/topo/features/topo-line/context.jsonld",
      "schema": {
        "application/yaml": "https://ogcincubator.github.io/topo-feature/build/annotated/geo/topo/features/topo-line/schema.yaml",
        "application/json": "https://ogcincubator.github.io/topo-feature/build/annotated/geo/topo/features/topo-line/schema.json"
      },
      "sourceSchema": "https://ogcincubator.github.io/topo-feature/_sources/features/topo-line/schema.json",
      "sourceLdContext": "https://ogcincubator.github.io/topo-feature/_sources/features/topo-line/context.jsonld",
      "resolvedSchemaProperties": "https://ogcincubator.github.io/topo-feature/build/annotated/geo/topo/features/topo-line/resolvedProperties.json",
      "sourceFiles": "https://ogcincubator.github.io/topo-feature/_sources/features/topo-line/",
      "validationPassed": true,
      "testOutputs": "https://github.com/ogcincubator/topo-feature/blob/master/build/tests/geo/topo/features/topo-line/",
      "transforms": [
        {
          "id": "Points-n-Edges",
          "description": "GeoJSON points, LineStrings and MultiLineStrings",
          "type": "topo2geojson",
          "metadata": {
            "ttl": [
              "_sources/examples/referenced-objects.ttl"
            ],
            "mode": "points,edges,rings"
          },
          "code": "Extracts a 2D view of the point references used by each LineString/\nMultiLineString example.\n\nInvokes a reusable utility library supporting an OGC Building Blocks\ntransformer interface. Resolved MultiLineString geometries are\nsurfaced under the \"rings\" mode bucket alongside points/edges.\n",
          "inputs": {
            "mediaTypes": [
              {
                "mimeType": "application/json",
                "label": "JSON",
                "defaultExtension": "json"
              }
            ]
          },
          "outputs": {
            "mediaTypes": [
              {
                "mimeType": "application/geo+json",
                "label": "GeoJSON",
                "defaultExtension": "geojson"
              }
            ]
          }
        }
      ],
      "documentation": {
        "json-full": {
          "mediatype": "application/json",
          "url": "https://ogcincubator.github.io/topo-feature/build/generateddocs/json-full/geo/topo/features/topo-line/index.json"
        },
        "markdown": {
          "mediatype": "text/markdown",
          "url": "https://ogcincubator.github.io/topo-feature/build/generateddocs/markdown/geo/topo/features/topo-line/index.md"
        },
        "bblocks-viewer": {
          "mediatype": "text/html",
          "url": "https://ogcincubator.github.io/topo-feature/bblock/ogc.geo.topo.features.topo-line"
        }
      }
    },
    {
      "itemIdentifier": "ogc.geo.topo.features.topo-ring",
      "name": "Ring Topology Feature",
      "highlighted": true,
      "abstract": "A feature representing a Ring in topology: an ordered, closed sequence of oriented Edge references that form a boundary loop. A Ring is used as the boundary of a Face.",
      "status": "under-development",
      "dateTimeAddition": "2024-01-01T00:00:00Z",
      "itemClass": "schema",
      "register": "ogcincubator",
      "version": "0.1",
      "dateOfLastChange": "2024-01-01",
      "sources": [],
      "maturity": "development",
      "scope": "unstable",
      "dependsOn": [
        "bblocks://ogc.geo.topo.datatypes.oriented-ref",
        "bblocks://ogc.geo.topo.features.topo-feature",
        "bblocks://ogc.geo.topo.datatypes.topology"
      ],
      "tags": [
        "topology",
        "ring",
        "feature",
        "3D"
      ],
      "group": "OGC",
      "shaclShapes": {
        "ogc.geo.topo.features.topo-feature": [
          "https://ogcincubator.github.io/topo-feature/_sources/features/topo-feature/tests/geometry-coordinates.shacl",
          "https://ogcincubator.github.io/topo-feature/_sources/features/topo-feature-collection/tests/topo-refs-exist.shacl"
        ],
        "ogc.geo.topo.features.topo-feature-collection": [
          "https://ogcincubator.github.io/topo-feature/_sources/features/topo-feature/tests/geometry-coordinates.shacl",
          "https://ogcincubator.github.io/topo-feature/_sources/features/topo-feature-collection/tests/topo-refs-exist.shacl"
        ],
        "ogc.geo.features.feature": [
          "https://opengeospatial.github.io/bblocks/registereditems/geo/features/feature/shapes.shacl"
        ],
        "ogc.geo.features.featureCollection": [
          "https://opengeospatial.github.io/bblocks/registereditems/geo/features/featureCollection/shapes.shacl"
        ]
      },
      "ldContext": "https://ogcincubator.github.io/topo-feature/build/annotated/geo/topo/features/topo-ring/context.jsonld",
      "schema": {
        "application/yaml": "https://ogcincubator.github.io/topo-feature/build/annotated/geo/topo/features/topo-ring/schema.yaml",
        "application/json": "https://ogcincubator.github.io/topo-feature/build/annotated/geo/topo/features/topo-ring/schema.json"
      },
      "sourceSchema": "https://ogcincubator.github.io/topo-feature/_sources/features/topo-ring/schema.json",
      "sourceLdContext": "https://ogcincubator.github.io/topo-feature/_sources/features/topo-ring/context.jsonld",
      "resolvedSchemaProperties": "https://ogcincubator.github.io/topo-feature/build/annotated/geo/topo/features/topo-ring/resolvedProperties.json",
      "sourceFiles": "https://ogcincubator.github.io/topo-feature/_sources/features/topo-ring/",
      "validationPassed": true,
      "testOutputs": "https://github.com/ogcincubator/topo-feature/blob/master/build/tests/geo/topo/features/topo-ring/",
      "transforms": [
        {
          "id": "Points-n-Edges",
          "description": "GeoJSON points and Edges",
          "type": "topo2geojson",
          "metadata": {
            "ttl": [
              "_sources/examples/referenced-objects.ttl"
            ],
            "mode": "points,edges"
          },
          "code": "This uses a reusable code library for 2 and 3D topology",
          "inputs": {
            "mediaTypes": [
              {
                "mimeType": "application/json",
                "label": "JSON",
                "defaultExtension": "json"
              }
            ]
          },
          "outputs": {
            "mediaTypes": [
              {
                "mimeType": "application/geo+json",
                "label": "GeoJSON",
                "defaultExtension": "geojson"
              }
            ]
          }
        },
        {
          "id": "Faces-as-Polygons",
          "description": "GeoJSON Polygon for the ring boundary",
          "type": "topo2geojson",
          "metadata": {
            "ttl": [
              "_sources/examples/referenced-objects.ttl"
            ],
            "mode": "faces"
          },
          "code": "This uses a reusable code library for 2 and 3D topology",
          "inputs": {
            "mediaTypes": [
              {
                "mimeType": "application/json",
                "label": "JSON",
                "defaultExtension": "json"
              }
            ]
          },
          "outputs": {
            "mediaTypes": [
              {
                "mimeType": "application/geo+json",
                "label": "GeoJSON",
                "defaultExtension": "geojson"
              }
            ]
          }
        }
      ],
      "documentation": {
        "json-full": {
          "mediatype": "application/json",
          "url": "https://ogcincubator.github.io/topo-feature/build/generateddocs/json-full/geo/topo/features/topo-ring/index.json"
        },
        "markdown": {
          "mediatype": "text/markdown",
          "url": "https://ogcincubator.github.io/topo-feature/build/generateddocs/markdown/geo/topo/features/topo-ring/index.md"
        },
        "bblocks-viewer": {
          "mediatype": "text/html",
          "url": "https://ogcincubator.github.io/topo-feature/bblock/ogc.geo.topo.features.topo-ring"
        }
      }
    },
    {
      "itemIdentifier": "ogc.geo.topo.features.topo-face",
      "name": "Face Topology Feature",
      "highlighted": true,
      "abstract": "A feature representing a Face in topology: a bounded planar region described by an outer boundary Ring and zero or more inner boundary (hole) Rings. Faces are used as the surfaces of a Shell/Solid.",
      "status": "under-development",
      "dateTimeAddition": "2024-01-01T00:00:00Z",
      "itemClass": "schema",
      "register": "ogcincubator",
      "version": "0.1",
      "dateOfLastChange": "2024-01-01",
      "sources": [],
      "maturity": "development",
      "scope": "unstable",
      "dependsOn": [
        "bblocks://ogc.geo.topo.features.topo-feature-collection",
        "bblocks://ogc.geo.topo.features.topo-feature",
        "bblocks://ogc.geo.topo.datatypes.topology"
      ],
      "tags": [
        "topology",
        "face",
        "feature",
        "3D"
      ],
      "group": "OGC",
      "shaclShapes": {
        "ogc.geo.topo.features.topo-feature-collection": [
          "https://ogcincubator.github.io/topo-feature/_sources/features/topo-feature/tests/geometry-coordinates.shacl",
          "https://ogcincubator.github.io/topo-feature/_sources/features/topo-feature-collection/tests/topo-refs-exist.shacl"
        ],
        "ogc.geo.features.feature": [
          "https://opengeospatial.github.io/bblocks/registereditems/geo/features/feature/shapes.shacl"
        ],
        "ogc.geo.features.featureCollection": [
          "https://opengeospatial.github.io/bblocks/registereditems/geo/features/featureCollection/shapes.shacl"
        ],
        "ogc.geo.topo.features.topo-feature": [
          "https://ogcincubator.github.io/topo-feature/_sources/features/topo-feature/tests/geometry-coordinates.shacl",
          "https://ogcincubator.github.io/topo-feature/_sources/features/topo-feature-collection/tests/topo-refs-exist.shacl"
        ]
      },
      "ldContext": "https://ogcincubator.github.io/topo-feature/build/annotated/geo/topo/features/topo-face/context.jsonld",
      "schema": {
        "application/yaml": "https://ogcincubator.github.io/topo-feature/build/annotated/geo/topo/features/topo-face/schema.yaml",
        "application/json": "https://ogcincubator.github.io/topo-feature/build/annotated/geo/topo/features/topo-face/schema.json"
      },
      "sourceSchema": "https://ogcincubator.github.io/topo-feature/_sources/features/topo-face/schema.json",
      "sourceLdContext": "https://ogcincubator.github.io/topo-feature/_sources/features/topo-face/context.jsonld",
      "resolvedSchemaProperties": "https://ogcincubator.github.io/topo-feature/build/annotated/geo/topo/features/topo-face/resolvedProperties.json",
      "sourceFiles": "https://ogcincubator.github.io/topo-feature/_sources/features/topo-face/",
      "validationPassed": true,
      "testOutputs": "https://github.com/ogcincubator/topo-feature/blob/master/build/tests/geo/topo/features/topo-face/",
      "transforms": [
        {
          "id": "Points-n-Edges",
          "description": "GeoJSON points and Edges",
          "type": "topo2geojson",
          "metadata": {
            "ttl": [
              "_sources/examples/referenced-objects.ttl"
            ],
            "mode": "points,edges"
          },
          "code": "This uses a reusable code library for 2 and 3D topology",
          "inputs": {
            "mediaTypes": [
              {
                "mimeType": "application/json",
                "label": "JSON",
                "defaultExtension": "json"
              }
            ]
          },
          "outputs": {
            "mediaTypes": [
              {
                "mimeType": "application/geo+json",
                "label": "GeoJSON",
                "defaultExtension": "geojson"
              }
            ]
          }
        },
        {
          "id": "Faces-as-Polygons",
          "description": "GeoJSON Polygons for faces",
          "type": "topo2geojson",
          "metadata": {
            "ttl": [
              "_sources/examples/referenced-objects.ttl"
            ],
            "mode": "faces"
          },
          "code": "This uses a reusable code library for 2 and 3D topology",
          "inputs": {
            "mediaTypes": [
              {
                "mimeType": "application/json",
                "label": "JSON",
                "defaultExtension": "json"
              }
            ]
          },
          "outputs": {
            "mediaTypes": [
              {
                "mimeType": "application/geo+json",
                "label": "GeoJSON",
                "defaultExtension": "geojson"
              }
            ]
          }
        }
      ],
      "documentation": {
        "json-full": {
          "mediatype": "application/json",
          "url": "https://ogcincubator.github.io/topo-feature/build/generateddocs/json-full/geo/topo/features/topo-face/index.json"
        },
        "markdown": {
          "mediatype": "text/markdown",
          "url": "https://ogcincubator.github.io/topo-feature/build/generateddocs/markdown/geo/topo/features/topo-face/index.md"
        },
        "bblocks-viewer": {
          "mediatype": "text/html",
          "url": "https://ogcincubator.github.io/topo-feature/bblock/ogc.geo.topo.features.topo-face"
        }
      }
    },
    {
      "itemIdentifier": "ogc.geo.topo.features.topo-polyhedron",
      "name": "3D (Polyhedron) using nested Polygons and Point topology",
      "highlighted": true,
      "abstract": "Typical 3D polyhedrons using features with Point geometry coordinates - note this does not support full topology of shared faces but matches many simplified geometry models.",
      "status": "under-development",
      "dateTimeAddition": "2023-11-01T00:00:00Z",
      "itemClass": "schema",
      "register": "ogcincubator",
      "version": "0.1",
      "dateOfLastChange": "2023-05-24",
      "sources": [],
      "maturity": "development",
      "scope": "unstable",
      "tags": [
        "3D",
        "geometry",
        "topology"
      ],
      "shaclRules": [],
      "shaclClosures": [],
      "shaclShapes": {
        "ogc.geo.topo.features.topo-feature-collection": [
          "https://ogcincubator.github.io/topo-feature/_sources/features/topo-feature/tests/geometry-coordinates.shacl",
          "https://ogcincubator.github.io/topo-feature/_sources/features/topo-feature-collection/tests/topo-refs-exist.shacl"
        ],
        "ogc.geo.features.feature": [
          "https://opengeospatial.github.io/bblocks/registereditems/geo/features/feature/shapes.shacl"
        ],
        "ogc.geo.features.featureCollection": [
          "https://opengeospatial.github.io/bblocks/registereditems/geo/features/featureCollection/shapes.shacl"
        ],
        "ogc.geo.topo.features.topo-feature": [
          "https://ogcincubator.github.io/topo-feature/_sources/features/topo-feature/tests/geometry-coordinates.shacl",
          "https://ogcincubator.github.io/topo-feature/_sources/features/topo-feature-collection/tests/topo-refs-exist.shacl"
        ]
      },
      "dependsOn": [
        "bblocks://ogc.geo.topo.features.topo-feature-collection",
        "bblocks://ogc.geo.topo.datatypes.topology",
        "bblocks://ogc.geo.topo.features.topo-feature"
      ],
      "ldContext": "https://ogcincubator.github.io/topo-feature/build/annotated/geo/topo/features/topo-polyhedron/context.jsonld",
      "schema": {
        "application/yaml": "https://ogcincubator.github.io/topo-feature/build/annotated/geo/topo/features/topo-polyhedron/schema.yaml",
        "application/json": "https://ogcincubator.github.io/topo-feature/build/annotated/geo/topo/features/topo-polyhedron/schema.json"
      },
      "sourceSchema": "https://ogcincubator.github.io/topo-feature/_sources/features/topo-polyhedron/schema.json",
      "sourceLdContext": "https://ogcincubator.github.io/topo-feature/_sources/features/topo-polyhedron/context.jsonld",
      "resolvedSchemaProperties": "https://ogcincubator.github.io/topo-feature/build/annotated/geo/topo/features/topo-polyhedron/resolvedProperties.json",
      "sourceFiles": "https://ogcincubator.github.io/topo-feature/_sources/features/topo-polyhedron/",
      "validationPassed": true,
      "testOutputs": "https://github.com/ogcincubator/topo-feature/blob/master/build/tests/geo/topo/features/topo-polyhedron/",
      "transforms": [
        {
          "id": "Points-n-Edges",
          "description": "GeoJSON points (the Polyhedron's own geometry does not resolve \u2014 see note)",
          "type": "topo2geojson",
          "metadata": {
            "ttl": [
              "_sources/examples/referenced-objects.ttl"
            ],
            "mode": "points,edges"
          },
          "code": "NOTE: topology.type \"Polyhedron\" (a nested shells-of-rings-of-point-\nreferences structure, as used in examples/building_topo.json) is not\nyet supported by topo2geojson \u2014 it resolves to no geometry rather\nthan erroring. This transform still surfaces the example's inline\nvertex Point features (they don't depend on Polyhedron support), but\nthe Polyhedron feature itself is omitted until that support is added.\n\nInvokes a reusable utility library supporting an OGC Building Blocks\ntransformer interface.\n",
          "inputs": {
            "mediaTypes": [
              {
                "mimeType": "application/json",
                "label": "JSON",
                "defaultExtension": "json"
              }
            ]
          },
          "outputs": {
            "mediaTypes": [
              {
                "mimeType": "application/geo+json",
                "label": "GeoJSON",
                "defaultExtension": "geojson"
              }
            ]
          }
        },
        {
          "id": "Faces-as-Polygons",
          "description": "GeoJSON Polygons for faces (currently produces no output \u2014 see note)",
          "type": "topo2geojson",
          "metadata": {
            "ttl": [
              "_sources/examples/referenced-objects.ttl"
            ],
            "mode": "faces"
          },
          "code": "NOTE: see Points-n-Edges \u2014 topology.type \"Polyhedron\" is not yet\nsupported by topo2geojson, so this currently produces no output (the\nexample's only face-like feature is the unresolved Polyhedron).\n",
          "inputs": {
            "mediaTypes": [
              {
                "mimeType": "application/json",
                "label": "JSON",
                "defaultExtension": "json"
              }
            ]
          },
          "outputs": {
            "mediaTypes": [
              {
                "mimeType": "application/geo+json",
                "label": "GeoJSON",
                "defaultExtension": "geojson"
              }
            ]
          }
        }
      ],
      "documentation": {
        "json-full": {
          "mediatype": "application/json",
          "url": "https://ogcincubator.github.io/topo-feature/build/generateddocs/json-full/geo/topo/features/topo-polyhedron/index.json"
        },
        "markdown": {
          "mediatype": "text/markdown",
          "url": "https://ogcincubator.github.io/topo-feature/build/generateddocs/markdown/geo/topo/features/topo-polyhedron/index.md"
        },
        "bblocks-viewer": {
          "mediatype": "text/html",
          "url": "https://ogcincubator.github.io/topo-feature/bblock/ogc.geo.topo.features.topo-polyhedron"
        }
      }
    },
    {
      "itemIdentifier": "ogc.geo.topo.features.topo-shell",
      "name": "Shell Topology Feature",
      "abstract": "A feature representing a Shell in topology: a closed set of oriented Face references forming the boundary surface of a Solid. A Shell is the 3D analog of a Ring \u2014 it bounds a volumetric region.",
      "status": "under-development",
      "dateTimeAddition": "2024-01-01T00:00:00Z",
      "itemClass": "schema",
      "register": "ogcincubator",
      "version": "0.1",
      "dateOfLastChange": "2024-01-01",
      "sources": [],
      "maturity": "development",
      "scope": "unstable",
      "dependsOn": [
        "bblocks://ogc.geo.topo.features.topo-feature-collection",
        "bblocks://ogc.geo.topo.datatypes.oriented-ref",
        "bblocks://ogc.geo.topo.features.topo-feature",
        "bblocks://ogc.geo.topo.datatypes.topology"
      ],
      "tags": [
        "topology",
        "shell",
        "feature",
        "3D"
      ],
      "group": "OGC",
      "shaclShapes": {
        "ogc.geo.topo.features.topo-feature-collection": [
          "https://ogcincubator.github.io/topo-feature/_sources/features/topo-feature/tests/geometry-coordinates.shacl",
          "https://ogcincubator.github.io/topo-feature/_sources/features/topo-feature-collection/tests/topo-refs-exist.shacl"
        ],
        "ogc.geo.features.feature": [
          "https://opengeospatial.github.io/bblocks/registereditems/geo/features/feature/shapes.shacl"
        ],
        "ogc.geo.features.featureCollection": [
          "https://opengeospatial.github.io/bblocks/registereditems/geo/features/featureCollection/shapes.shacl"
        ],
        "ogc.geo.topo.features.topo-feature": [
          "https://ogcincubator.github.io/topo-feature/_sources/features/topo-feature/tests/geometry-coordinates.shacl",
          "https://ogcincubator.github.io/topo-feature/_sources/features/topo-feature-collection/tests/topo-refs-exist.shacl"
        ]
      },
      "ldContext": "https://ogcincubator.github.io/topo-feature/build/annotated/geo/topo/features/topo-shell/context.jsonld",
      "schema": {
        "application/yaml": "https://ogcincubator.github.io/topo-feature/build/annotated/geo/topo/features/topo-shell/schema.yaml",
        "application/json": "https://ogcincubator.github.io/topo-feature/build/annotated/geo/topo/features/topo-shell/schema.json"
      },
      "sourceSchema": "https://ogcincubator.github.io/topo-feature/_sources/features/topo-shell/schema.json",
      "sourceLdContext": "https://ogcincubator.github.io/topo-feature/_sources/features/topo-shell/context.jsonld",
      "resolvedSchemaProperties": "https://ogcincubator.github.io/topo-feature/build/annotated/geo/topo/features/topo-shell/resolvedProperties.json",
      "sourceFiles": "https://ogcincubator.github.io/topo-feature/_sources/features/topo-shell/",
      "validationPassed": true,
      "testOutputs": "https://github.com/ogcincubator/topo-feature/blob/master/build/tests/geo/topo/features/topo-shell/",
      "transforms": [
        {
          "id": "Points-n-Edges",
          "description": "GeoJSON points and Edges",
          "type": "topo2geojson",
          "metadata": {
            "ttl": [
              "_sources/examples/referenced-objects.ttl"
            ],
            "mode": "points,edges"
          },
          "code": "This uses a reusable code library for 2 and 3D topology",
          "inputs": {
            "mediaTypes": [
              {
                "mimeType": "application/json",
                "label": "JSON",
                "defaultExtension": "json"
              }
            ]
          },
          "outputs": {
            "mediaTypes": [
              {
                "mimeType": "application/geo+json",
                "label": "GeoJSON",
                "defaultExtension": "geojson"
              }
            ]
          }
        },
        {
          "id": "Faces-as-Polygons",
          "description": "GeoJSON (Multi)Polygon approximation of the shell's boundary faces",
          "type": "topo2geojson",
          "metadata": {
            "ttl": [
              "_sources/examples/referenced-objects.ttl"
            ],
            "mode": "faces"
          },
          "code": "This uses a reusable code library for 2 and 3D topology",
          "inputs": {
            "mediaTypes": [
              {
                "mimeType": "application/json",
                "label": "JSON",
                "defaultExtension": "json"
              }
            ]
          },
          "outputs": {
            "mediaTypes": [
              {
                "mimeType": "application/geo+json",
                "label": "GeoJSON",
                "defaultExtension": "geojson"
              }
            ]
          }
        }
      ],
      "documentation": {
        "json-full": {
          "mediatype": "application/json",
          "url": "https://ogcincubator.github.io/topo-feature/build/generateddocs/json-full/geo/topo/features/topo-shell/index.json"
        },
        "markdown": {
          "mediatype": "text/markdown",
          "url": "https://ogcincubator.github.io/topo-feature/build/generateddocs/markdown/geo/topo/features/topo-shell/index.md"
        },
        "bblocks-viewer": {
          "mediatype": "text/html",
          "url": "https://ogcincubator.github.io/topo-feature/bblock/ogc.geo.topo.features.topo-shell"
        }
      }
    },
    {
      "itemIdentifier": "ogc.geo.topo.features.topo-solid",
      "name": "Solid Topology Feature",
      "abstract": "A feature representing a Solid in topology: a volumetric region bounded by one or more oriented Shell references. The first Shell is the outer boundary; any additional Shells describe interior voids. A Solid is the 3D analog of a Face \u2014 it is bounded by Shells the way a Face is bounded by Rings.",
      "status": "under-development",
      "dateTimeAddition": "2024-01-01T00:00:00Z",
      "itemClass": "schema",
      "register": "ogcincubator",
      "version": "0.1",
      "dateOfLastChange": "2024-01-01",
      "sources": [],
      "maturity": "development",
      "scope": "unstable",
      "tags": [
        "topology",
        "solid",
        "feature",
        "3D"
      ],
      "group": "OGC",
      "shaclShapes": {
        "ogc.geo.topo.features.topo-feature-collection": [
          "https://ogcincubator.github.io/topo-feature/_sources/features/topo-feature/tests/geometry-coordinates.shacl",
          "https://ogcincubator.github.io/topo-feature/_sources/features/topo-feature-collection/tests/topo-refs-exist.shacl"
        ],
        "ogc.geo.features.feature": [
          "https://opengeospatial.github.io/bblocks/registereditems/geo/features/feature/shapes.shacl"
        ],
        "ogc.geo.features.featureCollection": [
          "https://opengeospatial.github.io/bblocks/registereditems/geo/features/featureCollection/shapes.shacl"
        ],
        "ogc.geo.topo.features.topo-feature": [
          "https://ogcincubator.github.io/topo-feature/_sources/features/topo-feature/tests/geometry-coordinates.shacl",
          "https://ogcincubator.github.io/topo-feature/_sources/features/topo-feature-collection/tests/topo-refs-exist.shacl"
        ]
      },
      "dependsOn": [
        "bblocks://ogc.geo.topo.features.topo-feature-collection",
        "bblocks://ogc.geo.topo.datatypes.oriented-ref",
        "bblocks://ogc.geo.topo.features.topo-feature"
      ],
      "ldContext": "https://ogcincubator.github.io/topo-feature/build/annotated/geo/topo/features/topo-solid/context.jsonld",
      "schema": {
        "application/yaml": "https://ogcincubator.github.io/topo-feature/build/annotated/geo/topo/features/topo-solid/schema.yaml",
        "application/json": "https://ogcincubator.github.io/topo-feature/build/annotated/geo/topo/features/topo-solid/schema.json"
      },
      "sourceSchema": "https://ogcincubator.github.io/topo-feature/_sources/features/topo-solid/schema.json",
      "sourceLdContext": "https://ogcincubator.github.io/topo-feature/_sources/features/topo-solid/context.jsonld",
      "resolvedSchemaProperties": "https://ogcincubator.github.io/topo-feature/build/annotated/geo/topo/features/topo-solid/resolvedProperties.json",
      "sourceFiles": "https://ogcincubator.github.io/topo-feature/_sources/features/topo-solid/",
      "validationPassed": true,
      "testOutputs": "https://github.com/ogcincubator/topo-feature/blob/master/build/tests/geo/topo/features/topo-solid/",
      "transforms": [
        {
          "id": "Points-n-Edges",
          "description": "GeoJSON points and Edges",
          "type": "topo2geojson",
          "metadata": {
            "ttl": [
              "_sources/examples/referenced-objects.ttl"
            ],
            "mode": "points,edges"
          },
          "code": "This uses a reusable code library for 2 and 3D topology",
          "inputs": {
            "mediaTypes": [
              {
                "mimeType": "application/json",
                "label": "JSON",
                "defaultExtension": "json"
              }
            ]
          },
          "outputs": {
            "mediaTypes": [
              {
                "mimeType": "application/geo+json",
                "label": "GeoJSON",
                "defaultExtension": "geojson"
              }
            ]
          }
        },
        {
          "id": "Faces-as-Polygons",
          "description": "GeoJSON (Multi)Polygon approximation of the solid's boundary faces",
          "type": "topo2geojson",
          "metadata": {
            "ttl": [
              "_sources/examples/referenced-objects.ttl"
            ],
            "mode": "faces"
          },
          "code": "This uses a reusable code library for 2 and 3D topology",
          "inputs": {
            "mediaTypes": [
              {
                "mimeType": "application/json",
                "label": "JSON",
                "defaultExtension": "json"
              }
            ]
          },
          "outputs": {
            "mediaTypes": [
              {
                "mimeType": "application/geo+json",
                "label": "GeoJSON",
                "defaultExtension": "geojson"
              }
            ]
          }
        }
      ],
      "documentation": {
        "json-full": {
          "mediatype": "application/json",
          "url": "https://ogcincubator.github.io/topo-feature/build/generateddocs/json-full/geo/topo/features/topo-solid/index.json"
        },
        "markdown": {
          "mediatype": "text/markdown",
          "url": "https://ogcincubator.github.io/topo-feature/build/generateddocs/markdown/geo/topo/features/topo-solid/index.md"
        },
        "bblocks-viewer": {
          "mediatype": "text/html",
          "url": "https://ogcincubator.github.io/topo-feature/bblock/ogc.geo.topo.features.topo-solid"
        }
      }
    },
    {
      "itemIdentifier": "ogc.geo.topo.features.topo-feature-multi-collection",
      "name": "Topo Feature Multi-Collection",
      "highlighted": true,
      "abstract": "A schema for a structured topology dataset containing typed Feature Collections for each topological dimension: points, edges (Line features), rings (Ring features), faces (Face features), shells (Shell features), and solids (Solid features). Each collection is restricted to its specific building block type, enabling referential integrity across the topology hierarchy. Testing and visualisation of its examples draw on a common set of referenced objects (points, edges, faces) shared across the topo-* building blocks, at `_sources/examples/referenced-objects.ttl`.",
      "status": "under-development",
      "dateTimeAddition": "2024-01-01T00:00:00Z",
      "itemClass": "schema",
      "register": "ogcincubator",
      "version": "0.1",
      "dateOfLastChange": "2024-01-01",
      "sources": [],
      "maturity": "development",
      "scope": "unstable",
      "tags": [
        "topology",
        "feature",
        "collection",
        "3D"
      ],
      "group": "OGC",
      "shaclShapes": {
        "ogc.geo.topo.features.topo-feature-collection": [
          "https://ogcincubator.github.io/topo-feature/_sources/features/topo-feature/tests/geometry-coordinates.shacl",
          "https://ogcincubator.github.io/topo-feature/_sources/features/topo-feature-collection/tests/topo-refs-exist.shacl"
        ],
        "ogc.geo.features.feature": [
          "https://opengeospatial.github.io/bblocks/registereditems/geo/features/feature/shapes.shacl"
        ],
        "ogc.geo.features.featureCollection": [
          "https://opengeospatial.github.io/bblocks/registereditems/geo/features/featureCollection/shapes.shacl"
        ],
        "ogc.geo.topo.features.topo-feature": [
          "https://ogcincubator.github.io/topo-feature/_sources/features/topo-feature/tests/geometry-coordinates.shacl",
          "https://ogcincubator.github.io/topo-feature/_sources/features/topo-feature-collection/tests/topo-refs-exist.shacl"
        ]
      },
      "dependsOn": [
        "bblocks://ogc.geo.topo.features.topo-solid",
        "bblocks://ogc.geo.topo.features.topo-line",
        "bblocks://ogc.geo.topo.features.topo-feature-collection",
        "bblocks://ogc.geo.topo.features.topo-shell",
        "bblocks://ogc.geo.topo.features.topo-face",
        "bblocks://ogc.geo.topo.features.topo-ring"
      ],
      "ldContext": "https://ogcincubator.github.io/topo-feature/build/annotated/geo/topo/features/topo-feature-multi-collection/context.jsonld",
      "schema": {
        "application/yaml": "https://ogcincubator.github.io/topo-feature/build/annotated/geo/topo/features/topo-feature-multi-collection/schema.yaml",
        "application/json": "https://ogcincubator.github.io/topo-feature/build/annotated/geo/topo/features/topo-feature-multi-collection/schema.json"
      },
      "sourceSchema": "https://ogcincubator.github.io/topo-feature/_sources/features/topo-feature-multi-collection/schema.json",
      "sourceLdContext": "https://ogcincubator.github.io/topo-feature/_sources/features/topo-feature-multi-collection/context.jsonld",
      "resolvedSchemaProperties": "https://ogcincubator.github.io/topo-feature/build/annotated/geo/topo/features/topo-feature-multi-collection/resolvedProperties.json",
      "sourceFiles": "https://ogcincubator.github.io/topo-feature/_sources/features/topo-feature-multi-collection/",
      "validationPassed": true,
      "testOutputs": "https://github.com/ogcincubator/topo-feature/blob/master/build/tests/geo/topo/features/topo-feature-multi-collection/",
      "transforms": [
        {
          "id": "Points-n-Edges",
          "description": "GeoJSON points and Edges",
          "type": "topo2geojson",
          "metadata": {
            "ttl": [
              "_sources/examples/referenced-objects.ttl"
            ],
            "mode": "points,edges"
          },
          "code": "Extracts a 2D view of point and edge geometries from 2 or 3D topology models.\n\nInvokes a reusable utility library supporting an OGC Building Blocks transformer interface.\n\nFormat output type (application/geo+json) triggers viewer availability for results.\n",
          "inputs": {
            "mediaTypes": [
              {
                "mimeType": "application/json",
                "label": "JSON",
                "defaultExtension": "json"
              }
            ]
          },
          "outputs": {
            "mediaTypes": [
              {
                "mimeType": "application/geo+json",
                "label": "GeoJSON",
                "defaultExtension": "geojson"
              }
            ]
          }
        },
        {
          "id": "Faces-as-Polygons",
          "description": "GeoJSON Polygons for faces",
          "type": "topo2geojson",
          "metadata": {
            "ttl": [
              "_sources/examples/referenced-objects.ttl"
            ],
            "mode": "faces"
          },
          "code": "Extracts a 2D view of polygon geometries from faces in 3D topology models",
          "inputs": {
            "mediaTypes": [
              {
                "mimeType": "application/json",
                "label": "JSON",
                "defaultExtension": "json"
              }
            ]
          },
          "outputs": {
            "mediaTypes": [
              {
                "mimeType": "application/geo+json",
                "label": "GeoJSON",
                "defaultExtension": "geojson"
              }
            ]
          }
        },
        {
          "id": "Polygons-2D",
          "description": "GeoJSON Polygons from bounded 2D topology",
          "type": "topo2geojson",
          "metadata": {
            "ttl": [
              "_sources/examples/referenced-objects.ttl"
            ],
            "objects": "parcels:Polygon",
            "mode": "parcels"
          },
          "code": "Extracts a 2D view of polygon geometries from 2 or 3D topology models",
          "inputs": {
            "mediaTypes": [
              {
                "mimeType": "application/json",
                "label": "JSON",
                "defaultExtension": "json"
              }
            ]
          },
          "outputs": {
            "mediaTypes": [
              {
                "mimeType": "application/geo+json",
                "label": "GeoJSON",
                "defaultExtension": "geojson"
              }
            ]
          }
        }
      ],
      "documentation": {
        "json-full": {
          "mediatype": "application/json",
          "url": "https://ogcincubator.github.io/topo-feature/build/generateddocs/json-full/geo/topo/features/topo-feature-multi-collection/index.json"
        },
        "markdown": {
          "mediatype": "text/markdown",
          "url": "https://ogcincubator.github.io/topo-feature/build/generateddocs/markdown/geo/topo/features/topo-feature-multi-collection/index.md"
        },
        "bblocks-viewer": {
          "mediatype": "text/html",
          "url": "https://ogcincubator.github.io/topo-feature/bblock/ogc.geo.topo.features.topo-feature-multi-collection"
        }
      }
    }
  ],
  "viewer": {
    "viewPlugins": [
      {
        "url": "https://cdn.jsdelivr.net/gh/ogcincubator/bblocks-viewer-topo-feature-plugin@dist/index.js",
        "export": "TopoFeaturePlugin"
      }
    ]
  },
  "transformPlugins": [
    {
      "modules": [
        {
          "module": "topo2geojson",
          "transformers": [
            {
              "class": "Topo2GeoJsonTransform",
              "types": [
                "topo2geojson"
              ],
              "defaultInputs": [
                "application/json"
              ],
              "defaultOutputs": [
                "application/geo+json"
              ]
            }
          ]
        }
      ],
      "pip": "git+https://github.com/ogcincubator/topo-functions.git",
      "urls": [
        "https://github.com/ogcincubator/topo-functions"
      ]
    }
  ],
  "remoteCacheDir": "https://ogcincubator.github.io/topo-feature/build/annotated/_cache",
  "links": [
    {
      "rel": "self",
      "href": "https://ogcincubator.github.io/topo-feature/build/register.json",
      "type": "application/json",
      "title": "This Building Blocks Register in JSON format"
    },
    {
      "rel": "self",
      "href": "https://ogcincubator.github.io/topo-feature/build/bblocks.ttl",
      "type": "text/turtle",
      "title": "This Building Blocks Register in RDF Turtle format"
    },
    {
      "rel": "self",
      "href": "https://ogcincubator.github.io/topo-feature/build/bblocks.jsonld",
      "type": "application/ld+json",
      "title": "This Building Blocks Register in JSON-LD format"
    }
  ]
}