opengeospatial/ogc-geosparql

Create a GH Issues template for 3D Use Cases

nicholascar opened this issue · 3 comments

@nicholascar to create a Markdown template for others to use to submit 3D Use Cases to the SWG.

He will exercise the template with one or two Use Cases.

Others will be invited to fill out Use Cases, creating Issues for the SWG.

Use case template in Markdown:

Template

# Use Case {ID}

## {NAME}

{DESCRIPTION}

## Actor: {ACTOR-NAME}

## Preconditions

{PRECONDITIONS}

## Postconditions

{POSTCONDITIONS}

## Steps

{STEPS}

Key

{ID} - the ID of the Use Case. Just add 1 to the latest ID

{NAME} - a few words or a short sentence name

{DESCRIPTION} - a couple of sentences overviewing the Use Case and stating its approach and goal. When appropriate, it would be helpful to include at least one function signature in the form functionName (param1: type, param2: type): returnType. Aim to help us identify domain/range and any issues.

{ACTOR-NAMES} - names of the classes of person or system that will execute this Use Case

{PRECONDITIONS} - description, possibly bullet points, of things that must be true before this Use Cases is executed

{POSTCONDITIONS} - description, possibly bullet points, of things that must be true after this Use Cases is executed

{STEPS} - bullet list of the steps undertaken to execute this Use Case. Start each step with either the name of an Actor or "System" to indicate what agent is performing the step

Use Case 1

Representing a Feature with a 3D Geometry

As a 'GeoSPARQL data creator', I want to create valid GeoSPARQL RDF data that contains a Feature with a 3D Geometry

Actor: GeoSPARQL data creator (Programmer, Data Scientist, Engineer)

Preconditions

  • the 3D geometry is in a format that the actor can read

Postconditions

  • a geo:Feature instance is linked to a geo:Geometry instance that links to a representation of that geometry that contains its 3D-ness

Steps

  1. Actor: formulates the Feature & Geometry in RDF and links them, as per GeoSPARQL 1.1
  2. Actor: reads the 3D geometry
  3. Actor: writes the 3D geometry in XXX format and links it to the Geometry

(Format XXX is not yet known)

Use Case 2

Testing a 3D topological relation

As a 'GeoSPARQL data user', I want to execute topological functions on 3D objects in a manner similar to GeoSPARQL 1.1's topological functions on 2D objects

Actor: GeoSPARQL data user

Preconditions

  • Features and Geometries with 3D representations are present in data to be queried
  • the list of 3D topological functions supported by the system in use are discoverable

Postconditions

  • a SPARQL query can be executed that includes a function to test the selected 3D relation between two Geometry instances, just as GeoSPARQL 1.1 contains functions to test the Simple Features, Egenhofer and RCC8 relations
  • the results of the query are known to be true or false in 2 and/or 3D

Steps

  1. Actor: discovers which 3D topological relations are implemented by the system
  2. Actor: creates a SPARQL query containing one of the supported functions and specifies if 3D only or 3D and 2D results are allowed
  3. Actor: executes a SPARQL query containing one of the supported functions
  4. System: returns a SPARQL result