Test: Difference between revisions

From Endeavour Knowledge Base
No edit summary
No edit summary
Line 173: Line 173:


|-
|-
|rowspan="7"|<span id="class_Query">[https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23Query/  <span style="color:navy"> '''Query'''</span>]<br> (subtype of [[#class_ModelHeading|ModelHeading]])</span>
|rowspan="7"|<span id="class_Query">[https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23Query/  <span style="color:navy"> '''Query'''</span>]<br> (subtype of [[#class_ClauseHeading|ClauseHeading]])</span>
|colspan="4"|
|colspan="4"|
|A Query definition holding the logical definition of a query in a standard language
|A Query definition holding the logical definition of a query in a standard language
Line 205: Line 205:
<span style="color:green">ask</span>
<span style="color:green">ask</span>
|0..1
|0..1
|<span title="A clause that matches a path to entity, its properties and its values or intersections unions or negation. Equivalent to a sparql wheew filter clause">[[#class_MatchClause|MatchClause]]</span>
|<span title="A clause containing criteria which the objects must conform to. Equivalent to a from/join where clause in SQL and where/filter in sparql.<br>Supports graph traversal filtering and inference for subsumption query">[[#class_MatchClause|MatchClause]]</span>
|If the query is a boolean true or false use match clauses as an ask
|If the query is a boolean true or false use match clauses as an ask
|-
|-
Line 216: Line 216:


|-
|-
|rowspan="12"|<span id="class_SelectClause">[https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23SelectClause/  <span style="color:navy"> '''SelectClause'''</span>]<br> (subtype of [[#class_ModelHeading|ModelHeading]])</span>
|rowspan="12"|<span id="class_SelectClause">[https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23SelectClause/  <span style="color:navy"> '''SelectClause'''</span>]<br> (subtype of [[#class_ClauseHeading|ClauseHeading]])</span>
|colspan="4"|
|colspan="4"|
|null
|null
Line 236: Line 236:
<span style="color:green">pathToTarget</span>
<span style="color:green">pathToTarget</span>
|1..1
|1..1
|<span title="">[[#class_PathTargetClause|PathTargetClause]]</span>
|<span title="Information about the target of a path query, including the IRI of the target and the number of hops processed.">[[#class_PathTargetClause|PathTargetClause]]</span>
|Special function for path query. Information about the target entity when the query is looking to return paths between a source and a target. Both are likely to be passed in as parameters
|Special function for path query. Information about the target entity when the query is looking to return paths between a source and a target. Both are likely to be passed in as parameters
|-
|-
Line 242: Line 242:
|colspan="2"|<span style="color:green">match</span>
|colspan="2"|<span style="color:green">match</span>
|0..*
|0..*
|<span title="A clause that matches a path to entity, its properties and its values or intersections unions or negation. Equivalent to a sparql wheew filter clause">[[#class_MatchClause|MatchClause]]</span>
|<span title="A clause containing criteria which the objects must conform to. Equivalent to a from/join where clause in SQL and where/filter in sparql.<br>Supports graph traversal filtering and inference for subsumption query">[[#class_MatchClause|MatchClause]]</span>
|The match pattern to which the select clause must comply. Equivalent to a where/filter in SPARQL and JOIN/WHERE in SQL
|The match pattern to which the select clause must comply. Equivalent to a where/filter in SPARQL and JOIN/WHERE in SQL
|-
|-
Line 292: Line 292:


|-
|-
|rowspan="2"|<span id="class_ModelHeading">[https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23ModelHeading/  <span style="color:navy"> '''ModelHeading'''</span>]<br> (subtype of [[#class_Entity|Entity]])</span>
|rowspan="2"|<span id="class_ClauseHeading">[https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23ClauseHeading/  <span style="color:navy"> '''ClauseHeading'''</span>]<br> (subtype of [[#class_Entity|Entity]])</span>
|colspan="4"|
|colspan="4"|
|General headings such as name description and alias
|General headings such as name description and alias
Line 303: Line 303:


|-
|-
|<span id="class_MatchClause">[https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23MatchClause/  <span style="color:navy"> '''MatchClause'''</span>]</span>
|rowspan="15"|<span id="class_MatchClause">[https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23MatchClause/  <span style="color:navy"> '''MatchClause'''</span>]<br> (subtype of [[#class_ClauseHeading|ClauseHeading]])</span>
|colspan="4"|
|colspan="4"|
|A clause that matches a path to entity, its properties and its values or intersections unions or negation. Equivalent to a sparql wheew filter clause
|A clause containing criteria which the objects must conform to. Equivalent to a from/join where clause in SQL and where/filter in sparql.<br>Supports graph traversal filtering and inference for subsumption query
|-
|-
|colspan="2"|<span style="color:green">pathTo</span>
|0..1
|<span title="">[https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fwww.w3.org%2F2000%2F01%2Frdf-schema%23Resource/ rdfs:Resource]</span>
|A convenient way of traversing properties and objects to get to the match object, avoiding excessive nesting.<br>The properties are listed and thus traversed in strict order
|-
|rowspan="2"|or<br>0..1
|<span style="color:green">or</span>
|2..*
|<span title="A clause containing criteria which the objects must conform to. Equivalent to a from/join where clause in SQL and where/filter in sparql.<br>Supports graph traversal filtering and inference for subsumption query">[[#class_MatchClause|MatchClause]]</span>
|Boolean operator OR on subclauses
|-
|
|
<span style="color:green">and</span>
|2..*
|<span title="A clause containing criteria which the objects must conform to. Equivalent to a from/join where clause in SQL and where/filter in sparql.<br>Supports graph traversal filtering and inference for subsumption query">[[#class_MatchClause|MatchClause]]</span>
|Boolean operator AND on subclauses
|-
|-
|rowspan="2"|or<br>0..1
|<span style="color:green">entityType</span>
|1..1
|<span title="">[[#class_ConceptReference|ConceptReference]]</span>
|The entity type that matched instances must be (including subtypes). Options include including subtypes.
|-
|
<span style="color:green">entityId</span>
|1..1
|<span title="">[[#class_ConceptReference|ConceptReference]]</span>
|An instance of an entitu for which this match clause operates on.  As in entity type, optionally to include subtypes, where the entity id is a concept
|-
|rowspan="2"|or<br>0..1
|<span style="color:green">entityInSet</span>
|1..1
|<span title="">[https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fwww.w3.org%2F2000%2F01%2Frdf-schema%23Resource/ rdfs:Resource]</span>
|The concept set, value set, or query result set that the instances must be in to match.<br>on which the select clause operates. e.g. a parent cohort.
|-
|
<span style="color:green">entityNotInSet</span>
|1..1
|<span title="">[https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fwww.w3.org%2F2000%2F01%2Frdf-schema%23Resource/ rdfs:Resource]</span>
|The concept set, value set, or query result set that the instances must NOT be in to match.<br>on which the select clause operates. e.g. a parent cohort.
|-
|colspan="2"|<span style="color:green">graph</span>
|0..1
|<span title="Core graphs for core ontologies such as the health information model, Discovery and Snomed">[https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23Graph/ im:Graph]</span>
|The iri of a graph if the query is limied to a particular data set
|-
|colspan="2"|<span style="color:green">property</span>
|0..*
|<span title="A property (Oas a concept reference) and value filter supporting ranges sets and functions,<br>As a result of the concept references, supports sub properties as well as inferred values">[[#class_PropertyValue|PropertyValue]]</span>
|Properties and their values required to match (or not match), including any nesting of objects (joins).<br>The default assumption is the AND operator on the properties. Use orProperty for or operator
|-
|colspan="2"|<span style="color:green">orProperty</span>
|2..*
|<span title="A property (Oas a concept reference) and value filter supporting ranges sets and functions,<br>As a result of the concept references, supports sub properties as well as inferred values">[[#class_PropertyValue|PropertyValue]]</span>
|Properties and their values one of which is required to match (or not match), including any nesting of objects (joins).
|-
|colspan="2"|<span style="color:green">notExist</span>
|0..1
|<span title="">[https://www.w3.org/TR/xmlschema-2/#boolean xsd:boolean]</span>
|Negation indicator for this entire clause. i.e. for the instance to be included it must NOT match.
|-
|colspan="2"|<span style="color:green">orderLimit</span>
|0..1
|<span title="">[[#class_OrderLimitClause|OrderLimitClause]]</span>
|Ability to order and limit the match before the select or matchstatement operates.<br> Crucially, this is processed before the application of a test or check, enabling things like latest or earliest, max or min
|-
|colspan="2"|<span style="color:green">testProperty</span>
|0..*
|<span title="A property (Oas a concept reference) and value filter supporting ranges sets and functions,<br>As a result of the concept references, supports sub properties as well as inferred values">[[#class_PropertyValue|PropertyValue]]</span>
|Further test applied to the result of an ordered limited match.<br> The rest of the match clause then becomes a sub select query on which these tests operate. Implicit operator is AND
|-
|colspan="2"|<span style="color:green">displayText</span>
|0..1
|<span title="any valid json value characters with json escapes">[https://www.w3.org/TR/xmlschema-2/#string xsd:string]</span>
|Optional text for display in query viewer if dfferent from the match clause name
|-
|-
|-


Line 364: Line 452:
|rowspan="2"|<span id="class_PathTargetClause">[https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23PathTargetClause/  <span style="color:navy"> '''PathTargetClause'''</span>]<br> (subtype of [[#class_IrirRef|IrirRef]])</span>
|rowspan="2"|<span id="class_PathTargetClause">[https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23PathTargetClause/  <span style="color:navy"> '''PathTargetClause'''</span>]<br> (subtype of [[#class_IrirRef|IrirRef]])</span>
|colspan="4"|
|colspan="4"|
|null
|Information about the target of a path query, including the IRI of the target and the number of hops processed.
|-
|-
|colspan="2"|<span style="color:green">depth</span>
|colspan="2"|<span style="color:green">depth</span>
Line 412: Line 500:
|-
|-


|-
|rowspan="15"|<span id="class_PropertyValue">[https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23PropertyValue/  <span style="color:navy"> '''PropertyValue'''</span>]<br> (subtype of [[#class_ConceptReference|ConceptReference]])</span>
|colspan="4"|
|A property (Oas a concept reference) and value filter supporting ranges sets and functions,<br>As a result of the concept references, supports sub properties as well as inferred values
|-
|colspan="2"|<span style="color:green">optional</span>
|0..1
|<span title="">[https://www.w3.org/TR/xmlschema-2/#boolean xsd:boolean]</span>
|Optional match for this property, used to enable IF a present then A must have X,Y.<br> N.B for SPARQL experts the OPTIONAL is generally generated automatically from SELECT,  so optional need only be set when a test is to be applied to a linked object
|-
|rowspan="7"|or<br>0..1
|<span style="color:green">value</span>
|1..1
|<span title="">[[#class_CompareClause|CompareClause]]</span>
|If testing a property value as equal greater than ete. use compare
|-
|
<span style="color:green">inSet</span>
|1..*
|<span title="">[[#class_ConceptReference|ConceptReference]]</span>
|The value of the property must be in the concept set IRI.<br>For teesting simple lists or single concepts use isConcept
|-
|
<span style="color:green">notInSet</span>
|1..*
|<span title="">[[#class_ConceptReference|ConceptReference]]</span>
|The value of the property must NOT be in the concept set IRI.<br> Note that this is not negation of the entire match, only the negation of this entry instance when tested. Equivalent to SPARQL filter not in.<br> For testing simple lists of concepts use isNotConcept
|-
|
<span style="color:green">isConcept</span>
|1..*
|<span title="">[[#class_ConceptReference|ConceptReference]]</span>
|The value of the property be this concept (and otionally its sub types).<br> Used for inline sets or single concepts
|-
|
<span style="color:green">isNotConcept</span>
|1..*
|<span title="">[[#class_ConceptReference|ConceptReference]]</span>
|The value of the property must NOT be this concept (and otionally its sub types).<br> Used for inline sets or single concepts.<br>Note that this is not negation of the entire match, only the negation of this entry instance when tested. Equivalent to SPARQL filter not in.
|-
|
<span style="color:green">inRange</span>
|1..1
|<span title="">[[#class_RangeClause|RangeClause]]</span>
|Test foe a value being between two absolute or relative values
|-
|
<span style="color:green">valueMatch</span>
|1..1
|<span title="A clause containing criteria which the objects must conform to. Equivalent to a from/join where clause in SQL and where/filter in sparql.<br>Supports graph traversal filtering and inference for subsumption query">[[#class_MatchClause|MatchClause]]</span>
|The match clause operating on the property value object.<br> Equivalent to a join in SQL or '.' in sparql
|-
|colspan="2"|<span style="color:green">pathTo</span>
|0..1
|<span title="">[https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fwww.w3.org%2F2000%2F01%2Frdf-schema%23Resource/ rdfs:Resource]</span>
|A convenient way of traversing properties and objects to get to a property, avoiding excessive nesting.<br>The properties are listed and thus traversed in strict order
|-
|colspan="2"|<span style="color:green">function</span>
|1..1
|<span title="">[[#class_FunctionClause|FunctionClause]]</span>
|A function that operates on the property value (and other parameters) prior to a compare or range or inclusion test. For example a time difference function operating on the date and a reference date.<br>Note that properties that ARE functions do not need functions included for example age. For these simply supply the arguments.
|-
|colspan="2"|<span style="color:green">inverseOf</span>
|0..1
|<span title="">[https://www.w3.org/TR/xmlschema-2/#boolean xsd:boolean]</span>
|Tests the property as an inverse property (inbound relationship)
|-
|colspan="2"|<span style="color:green">notExist</span>
|0..1
|<span title="">[https://www.w3.org/TR/xmlschema-2/#boolean xsd:boolean]</span>
|The property match must not exist. This is negatation at a more granular level than the match clause.<br>For example to test for a null field or absent property
|-
|colspan="2"|<span style="color:green">argument</span>
|0..1
|<span title="A named parameter and a value for passing into a function">[[#class_Argument|Argument]]</span>
|Arguments to pass into a function when the property is a function property.<br>Note that if the test is a function then the argument list would be in the function clause
|-
|colspan="2"|<span style="color:green">displayText</span>
|0..1
|<span title="any valid json value characters with json escapes">[https://www.w3.org/TR/xmlschema-2/#string xsd:string]</span>
|Optional text for display in query viewer if dfferent from the match clause name
|-
|-
|-
|-
|-
|-
|<span id="class_CompareClause">[https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23CompareClause/  <span style="color:navy"> '''CompareClause'''</span>]</span>
|colspan="4"|
|null
|-
|
|-
|-
|<span id="class_RangeClause">[https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23RangeClause/  <span style="color:navy"> '''RangeClause'''</span>]</span>
|colspan="4"|
|null
|-
|
|-
|-
|rowspan="2"|<span id="class_FunctionClause">[https://im.endeavourhealth.net/viewer/#/concept/http%3A%2F%2Fendhealth.info%2Fim%23FunctionClause/  <span style="color:navy"> '''FunctionClause'''</span>]<br> (subtype of [[#class_IrirRef|IrirRef]])</span>
|colspan="4"|
|null
|-
|colspan="2"|<span style="color:green">argument</span>
|0..*
|<span title="A named parameter and a value for passing into a function">[[#class_Argument|Argument]]</span>
|Arguments to pass into the function. They should match the parameter definitions of the function
|-
|-



Revision as of 13:42, 25 August 2022

Basic shapes

These shapes are the meta classes of the named entities within the information model.

IrirRef

Class Field Card. Type Comment
IrirRef A resource with an iri and name
label 1..1 xsd:string The name of the entity

Entity

Class Field Card. Type Comment
Entity
(subtype of IrirRef)
The super class and data model for all named resources in the model i.e. the data model of the entities that are labelled with iri label and status
comment 0..1 xsd:string The description of the entity
type 1..1 rdfs:Resource The base type of the entity i.e. one of the high level entity types
status 1..1 im:Status The status of the entity being active, inactive, draft or unassigned
scheme 1..1 im:Graph The code scheme or graph which the entity belongs to

Query language shapes

These shapes form the query language DSL for retrieving data from the IM or health records.

Query Request

Class Field Card. Type Comment
Query Request A request for data sent as a body (json in local name format) to the /queryIM API.
Contains either a query or query iri with run time variable values for use in the query
page 0..1 PageInformation optional page number and size if the client is looking for paged results
textSearch 0..1 xsd:string If a free text search is part of the query
argument 0..* Argument arguments to pass in to the query as parameters. Parameter name and value pairs. Values ,may be strings, numbers or IRIs
or
1..1
query 1..1 Query The query definition for an inline dynamic query. If the query is already defined, use the queryIri. Arguments may be used in eoither approach

queryIri

1..1 sh:IRI The IRI of a predefined query in the information model. i.e. request the system to run query X
referenceDate 0..1 im:DateTime reference date for date ranges that use reference date. Note that it could be passed in as an argeument
PageInformation Information about paging if the client wishes to page results, including page number and page size
pageNumber 1..1 xsd:integer Page number (starting at 1)
pageSize 1..1 xsd:integer number of entries per page
Argument A named parameter and a value for passing into a function
parameter 1..1 xsd:string Parameter name for a function or the parameter name for an argument
or
1..1
valueData 1..1 xsd:string Vaue that is a literal such as a string or number

valueVariable

1..1 xsd:string argumenT value which is a variable name to be resolved at run time

valueSelect

1..1 SelectClause Argument value that is the result of a select query

valueIri

1..1 sh:IRI Argument value that is an iri
Query
(subtype of ClauseHeading)
A Query definition holding the logical definition of a query in a standard language
resultFormat 0..1 xsd:string Whether the result set is required flat select style json or a nested graphql json object style 'RELATIONAL' or 'OBJECT. Default is OBJECT
usePrefixes 0..1 xsd:boolean true if you want the results to use IRI prefixes
activeOnly 0..1 xsd:boolean Whether only active entities are included in the match clauses or select clauses
or
1..1
select 1..1 SelectClause Select query clause logically similar to SQL/SPARQL select but with GraphQL nesting ability

ask

0..1 <span title="A clause containing criteria which the objects must conform to. Equivalent to a from/join where clause in SQL and where/filter in sparql.
Supports graph traversal filtering and inference for subsumption query">MatchClause
If the query is a boolean true or false use match clauses as an ask
mainEntity 0..1 sh:NodeShape The main entity to which all matches must be related e.g. Patient or organisation. i.e. the IRI of a data model entity (SHACL shape)
SelectClause
(subtype of ClauseHeading)
null
count 0..1 xsd:boolean If the query result is simply a sum of the main entities found. equivalent to COUNT(id)
or
0..1
property 1..* PropertySelectClause Information about a property or field to includein the results. Property select supports nesting with selects for the objects that may be values of the property

pathToTarget

1..1 PathTargetClause Special function for path query. Information about the target entity when the query is looking to return paths between a source and a target. Both are likely to be passed in as parameters
match 0..* <span title="A clause containing criteria which the objects must conform to. Equivalent to a from/join where clause in SQL and where/filter in sparql.
Supports graph traversal filtering and inference for subsumption query">MatchClause
The match pattern to which the select clause must comply. Equivalent to a where/filter in SPARQL and JOIN/WHERE in SQL
distinct 0..1 xsd:boolean Whether the entity objects returned should be distinct
or
0..1
entityType 1..1 ConceptReference The entity type for instances this select clause operates on. Options include including subtypes.

entityId

1..1 ConceptReference An instance of an enttu for which this select clause operates. As in entity type, optionally to include subtypes, where the entity id is a concept

entityIn

1..1 rdfs:Resource The consept set, value set, or query result set that forms the base population of instances on which the select clause operates. e.g. a parent cohort.
groupBy 0..* PropertySelectClause If the results need to be grouped, the grouping properties.
orderLimit 0..* OrderLimitClause Ordering of instances via a property value and limiting th enumber returned.
subselect 0..* SelectClause For a query with column groups such as a list report, the select query for each group
ClauseHeading
(subtype of Entity)
General headings such as name description and alias
alias 1..1 xsd:string An alias or reference term that can be used throughout a query as shorthand for the result set
MatchClause
(subtype of ClauseHeading)
A clause containing criteria which the objects must conform to. Equivalent to a from/join where clause in SQL and where/filter in sparql.
Supports graph traversal filtering and inference for subsumption query
pathTo 0..1 rdfs:Resource A convenient way of traversing properties and objects to get to the match object, avoiding excessive nesting.
The properties are listed and thus traversed in strict order
or
0..1
or 2..* <span title="A clause containing criteria which the objects must conform to. Equivalent to a from/join where clause in SQL and where/filter in sparql.
Supports graph traversal filtering and inference for subsumption query">MatchClause
Boolean operator OR on subclauses

and

2..* <span title="A clause containing criteria which the objects must conform to. Equivalent to a from/join where clause in SQL and where/filter in sparql.
Supports graph traversal filtering and inference for subsumption query">MatchClause
Boolean operator AND on subclauses
or
0..1
entityType 1..1 ConceptReference The entity type that matched instances must be (including subtypes). Options include including subtypes.

entityId

1..1 ConceptReference An instance of an entitu for which this match clause operates on. As in entity type, optionally to include subtypes, where the entity id is a concept
or
0..1
entityInSet 1..1 rdfs:Resource The concept set, value set, or query result set that the instances must be in to match.
on which the select clause operates. e.g. a parent cohort.

entityNotInSet

1..1 rdfs:Resource The concept set, value set, or query result set that the instances must NOT be in to match.
on which the select clause operates. e.g. a parent cohort.
graph 0..1 im:Graph The iri of a graph if the query is limied to a particular data set
property 0..* <span title="A property (Oas a concept reference) and value filter supporting ranges sets and functions,
As a result of the concept references, supports sub properties as well as inferred values">PropertyValue
Properties and their values required to match (or not match), including any nesting of objects (joins).
The default assumption is the AND operator on the properties. Use orProperty for or operator
orProperty 2..* <span title="A property (Oas a concept reference) and value filter supporting ranges sets and functions,
As a result of the concept references, supports sub properties as well as inferred values">PropertyValue
Properties and their values one of which is required to match (or not match), including any nesting of objects (joins).
notExist 0..1 xsd:boolean Negation indicator for this entire clause. i.e. for the instance to be included it must NOT match.
orderLimit 0..1 OrderLimitClause Ability to order and limit the match before the select or matchstatement operates.
Crucially, this is processed before the application of a test or check, enabling things like latest or earliest, max or min
testProperty 0..* <span title="A property (Oas a concept reference) and value filter supporting ranges sets and functions,
As a result of the concept references, supports sub properties as well as inferred values">PropertyValue
Further test applied to the result of an ordered limited match.
The rest of the match clause then becomes a sub select query on which these tests operate. Implicit operator is AND
displayText 0..1 xsd:string Optional text for display in query viewer if dfferent from the match clause name
PropertySelectClause
(subtype of ConceptReference)
null
or
0..1
sum 0..1 xsd:boolean Whether the result is a summation of this property's values

average

0..1 xsd:boolean Whether the result is an average of this property's values

max

0..1 xsd:boolean Whether the result is the maximum of this property's values
select 0..1 SelectClause Nested select clause for graphql style results format
inverseOf 0..1 xsd:boolean Indicates if true that the selected property is an inverse relationship with the target object
function 0..1 im:Function The iri of a function indicating that the result is the result of a function operating on the property values, and any arguments passed in
argument 0..* Argument Arguments to pass into the function
PathTargetClause
(subtype of IrirRef)
Information about the target of a path query, including the IRI of the target and the number of hops processed.
depth 0..1 xsd:integer How many hops to be taken in the graph between source and target
ConceptReference
(subtype of IrirRef)
null
includeSubtypes 0..1 xsd:boolean Whether to include the subtypes of the entites selected or matched
includeSupertypes 0..1 xsd:boolean Whether to include the supertypes of the entity in a match clause. Used for ascending the hierarch to look for properties inherited
excludeSelf 0..1 xsd:boolean Whether to exclude this entity when either include supbtypes or include suprtypes is set. Rarely used but sometimes found in ECL definitions
alias 0..1 xsd:string The column name in a select clause for this property, or a variable used to reference the result set of the values matched
OrderLimitClause null
PropertyValue
(subtype of ConceptReference)
A property (Oas a concept reference) and value filter supporting ranges sets and functions,
As a result of the concept references, supports sub properties as well as inferred values
optional 0..1 xsd:boolean Optional match for this property, used to enable IF a present then A must have X,Y.
N.B for SPARQL experts the OPTIONAL is generally generated automatically from SELECT, so optional need only be set when a test is to be applied to a linked object
or
0..1
value 1..1 CompareClause If testing a property value as equal greater than ete. use compare

inSet

1..* ConceptReference The value of the property must be in the concept set IRI.
For teesting simple lists or single concepts use isConcept

notInSet

1..* ConceptReference The value of the property must NOT be in the concept set IRI.
Note that this is not negation of the entire match, only the negation of this entry instance when tested. Equivalent to SPARQL filter not in.
For testing simple lists of concepts use isNotConcept

isConcept

1..* ConceptReference The value of the property be this concept (and otionally its sub types).
Used for inline sets or single concepts

isNotConcept

1..* ConceptReference The value of the property must NOT be this concept (and otionally its sub types).
Used for inline sets or single concepts.
Note that this is not negation of the entire match, only the negation of this entry instance when tested. Equivalent to SPARQL filter not in.

inRange

1..1 RangeClause Test foe a value being between two absolute or relative values

valueMatch

1..1 <span title="A clause containing criteria which the objects must conform to. Equivalent to a from/join where clause in SQL and where/filter in sparql.
Supports graph traversal filtering and inference for subsumption query">MatchClause
The match clause operating on the property value object.
Equivalent to a join in SQL or '.' in sparql
pathTo 0..1 rdfs:Resource A convenient way of traversing properties and objects to get to a property, avoiding excessive nesting.
The properties are listed and thus traversed in strict order
function 1..1 FunctionClause A function that operates on the property value (and other parameters) prior to a compare or range or inclusion test. For example a time difference function operating on the date and a reference date.
Note that properties that ARE functions do not need functions included for example age. For these simply supply the arguments.
inverseOf 0..1 xsd:boolean Tests the property as an inverse property (inbound relationship)
notExist 0..1 xsd:boolean The property match must not exist. This is negatation at a more granular level than the match clause.
For example to test for a null field or absent property
argument 0..1 Argument Arguments to pass into a function when the property is a function property.
Note that if the test is a function then the argument list would be in the function clause
displayText 0..1 xsd:string Optional text for display in query viewer if dfferent from the match clause name
CompareClause null
RangeClause null
FunctionClause
(subtype of IrirRef)
null
argument 0..* Argument Arguments to pass into the function. They should match the parameter definitions of the function

Data Model shapes

These shapes are the meta classes of the data modelling entities within the information model.

Transactional entity filing shapes

These shapes form the meta classes for entities to be filed into the model or health records.