made by pyLODE 2.10.0

DASH Data Shapes Vocabulary

Metadata

URI
http://datashapes.org/dash
Imports
http://topbraid.org/tosh
sh:
Ontology RDF
RDF (turtle)

Description

DASH is a SHACL library for frequently needed features and design patterns. Almost all features in this library are 100% standards compliant and will work on any engine that fully supports SHACL.

Table of Contents

  1. Classes
  2. Properties
  3. Namespaces
  4. Legend

Overview

Pictures say 1,000 words
Figure 1: Ontology overview

Classes

API Statusc # Classes

URI http://datashapes.org/dash#APIStatus
Description

The class of possible values for dash:apiStatus.

Super-classes rdfs:Resourcec
In range of API status
Members http://datashapes.org/dash#Experimental
http://datashapes.org/dash#Deprecated
http://datashapes.org/dash#Stable

Execution platformc # Classes

URI http://datashapes.org/dash#ExecutionPlatform
Description

An platform (such as TopBraid) that may have features needed to execute, for example, SPARQL queries.

Super-classes rdfs:Resourcec
In domain of included execution platform
In range of included execution platform
required execution platform

Failure resultc # Classes

URI http://datashapes.org/dash#FailureResult
Description

A result representing a validation failure such as an unsupported recursion.

Super-classes sh:AbstractResultc

Failure test case resultc # Classes

URI http://datashapes.org/dash#FailureTestCaseResult
Description

Represents a failure of a test case.

Super-classes Test case resultc

Graph updatec # Classes

URI http://datashapes.org/dash#GraphUpdate
Description

A suggestion consisting of added and/or deleted triples, represented as rdf:Statements via dash:addedTriple and dash:deletedTriple.

Super-classes Suggestionc
In domain of added triple
deleted triple

Multi-functionc # Classes

URI http://datashapes.org/dash#MultiFunction
Description

A multi-function is a function that can return zero or more result objects consisting of one or more result variables. While normal (SPARQL/SHACL) functions can only return a single result node, multi-functions may not only return multiple nodes but even multiple individual variables per solution.

A common way of defining multi-functions is by wrapping a SPARQL SELECT query, using dash:SPARQLMultiFunction. However, some MultiFunctions (in TopBraid) may also be implemented natively.

Super-classes sh:Parameterizablec
Sub-classes SPARQL multi-functionc

Property rolec # Classes

URI http://datashapes.org/dash#PropertyRole
Description

The class of roles that a property (shape) may take for its focus nodes.

Super-classes rdfs:Resourcec
Members http://datashapes.org/dash#IDRole
http://datashapes.org/dash#IconRole
http://datashapes.org/dash#LabelRole
http://datashapes.org/dash#DepictionRole
http://datashapes.org/dash#KeyInfoRole
http://datashapes.org/dash#DescriptionRole

SPARQL CONSTRUCT templatec # Classes

URI http://datashapes.org/dash#SPARQLConstructTemplate
Description

Encapsulates one or more SPARQL CONSTRUCT queries that can be parameterized. Parameters will become pre-bound variables in the queries.

Super-classes sh:Parameterizablec
sh:SPARQLConstructExecutablec

SPARQL multi-functionc # Classes

URI http://datashapes.org/dash#SPARQLMultiFunction
Description

A multi-function based on a SPARQL SELECT query. The query gets executed with the arguments pre-bound to the variables declared as parameters. The results of the multi-function are all result bindings from the SPARQL result set.

Super-classes Multi-functionc
sh:SPARQLSelectExecutablec

SPARQL SELECT templatec # Classes

URI http://datashapes.org/dash#SPARQLSelectTemplate
Description

Encapsulates a SPARQL SELECT query that can be parameterized. Parameters will become pre-bound variables in the query.

Super-classes sh:Parameterizablec
sh:SPARQLSelectExecutablec

SPARQL UPDATE suggestion generatorc # Classes

URI http://datashapes.org/dash#SPARQLUpdateSuggestionGenerator
Description

A SuggestionGenerator based on a SPARQL UPDATE query (sh:update), producing an instance of dash:GraphUpdate. The INSERTs become dash:addedTriple and the DELETEs become dash:deletedTriple. The WHERE clause operates on the data graph with the pre-bound variables $focusNode, $predicate and $value, as well as the other pre-bound variables for the parameters of the constraint.

In many cases, there may be multiple possible suggestions to fix a problem. For example, with sh:maxLength there are many ways to slice a string. In those cases, the system will first iterate through the result variables from a SELECT query (sh:select) and apply these results as pre-bound variables into the UPDATE query.

Super-classes sh:SPARQLUpdateExecutablec
Suggestion generatorc
sh:SPARQLSelectExecutablec

Script functionc # Classes

URI http://datashapes.org/dash#ScriptFunction
Description

Script functions can be used from SPARQL queries and will be injected into the generated prefix object (in JavaScript, for ADS scripts). The dash:js will be inserted into a generated JavaScript function and therefore needs to use the return keyword to produce results. These JS snippets can access the parameter values based on the local name of the sh:Parameter's path. For example ex:value can be accessed using value.

SPARQL use note: Since these functions may be used from any data graph and any shapes graph, they must not rely on any API apart from what's available in the shapes graph that holds the rdf:type triple of the function itself. In other words, at execution time from SPARQL, the ADS shapes graph will be the home graph of the function's declaration.

Super-classes sh:Functionc
http://datashapes.org/dash#Scriptc

Shape scriptc # Classes

URI http://datashapes.org/dash#ShapeScript
Description

A shape script contains extra code that gets injected into the API for the associated node shape. In particular you can use this to define additional functions that operate on the current focus node (the this variable in JavaScript).

Super-classes http://datashapes.org/dash#Scriptc

Success resultc # Classes

URI http://datashapes.org/dash#SuccessResult
Description

A result representing a successfully validated constraint.

Super-classes sh:AbstractResultc

Success test case resultc # Classes

URI http://datashapes.org/dash#SuccessTestCaseResult
Description

Represents a successful run of a test case.

Super-classes Test case resultc

Suggestionc # Classes

URI http://datashapes.org/dash#Suggestion
Description

Base class of suggestions that modify a graph to "fix" the source of a validation result.

Super-classes rdfs:Resourcec
Sub-classes Graph updatec
In domain of suggestion confidence
suggestion
In range of suggestion

Suggestion generatorc # Classes

URI http://datashapes.org/dash#SuggestionGenerator
Description

Base class of objects that can generate suggestions (added or deleted triples) for a validation result of a given constraint component.

Super-classes rdfs:Resourcec
Sub-classes SPARQL UPDATE suggestion generatorc
http://datashapes.org/dash#ScriptSuggestionGeneratorc
In range of suggestion generator
property suggestion generator

Suggestion resultc # Classes

URI http://datashapes.org/dash#SuggestionResult
Description

Class of results that have been produced as suggestions, not through SHACL validation. How the actual results are produced is up to implementers. Each instance of this class should have values for sh:focusNode, sh:resultMessage, sh:resultSeverity (suggested default: sh:Info), and dash:suggestion to point at one or more suggestions.

Super-classes sh:AbstractResultc

Test case resultc # Classes

URI http://datashapes.org/dash#TestCaseResult
Description

Base class for results produced by running test cases.

Super-classes sh:AbstractResultc
Sub-classes Success test case resultc
Failure test case resultc

Test environmentc # Classes

URI http://datashapes.org/dash#TestEnvironment
Description

Abstract base class for test environments, holding information on how to set up a test case.

Super-classes rdfs:Resourcec

Classc # Classes

URI http://www.w3.org/2002/07/owl#Class
Super-classes rdfs:Classc

Properties

abstractp # Props

URI http://datashapes.org/dash#abstract
Description

Indicates that a class is "abstract" and cannot be used in asserted rdf:type triples. Only non-abstract subclasses of abstract classes should be instantiated directly.

Domain(s) rdfs:Classc
Range(s) xsd:booleanc

action groupp # Props

URI http://datashapes.org/dash#actionGroup
Description

Links an Action with the ActionGroup that it should be arranged in.

Domain(s) http://datashapes.org/dash#Actionc
Range(s) http://datashapes.org/dash#ActionGroupc

action icon classp # Props

URI http://datashapes.org/dash#actionIconClass
Description

The (CSS) class of an Action for display purposes alongside the label.

Domain(s) http://datashapes.org/dash#Actionc
Range(s) xsd:stringc

added triplep # Props

URI http://datashapes.org/dash#addedTriple
Description

May link a dash:GraphUpdate with one or more triples (represented as instances of rdf:Statement) that should be added to fix the source of the result.

Domain(s) Graph updatec
Range(s) rdf:Statementc

API statusp # Props

URI http://datashapes.org/dash#apiStatus
Description

Defines how and whether the associated feature is part of an external API. APIs may be implemented as (REST) web services, via GraphQL or ADS Script APIs.

Range(s) http://datashapes.org/dash#APIStatusc

applicable to classp # Props

URI http://datashapes.org/dash#applicableToClass
Description

Can be used to state that a shape is applicable to instances of a given class. This is a softer statement than "target class": a target means that all instances of the class must conform to the shape. Being applicable to simply means that the shape may apply to (some) instances of the class. This information can be used by algorithms or humans.

Domain(s) sh:Shapec
Range(s) rdfs:Classc

cachablep # Props

URI http://datashapes.org/dash#cachable
Description

If set to true then the results of the SHACL function can be cached in between invocations with the same arguments. In other words, they are stateless and do not depend on triples in any graph, or the current time stamp etc.

Domain(s) sh:Functionc
Range(s) xsd:booleanc

closed by typesp # Props

URI http://datashapes.org/dash#closedByTypes

co-exists withp # Props

URI http://datashapes.org/dash#coExistsWith
Description

Specifies a property that must have a value whenever the property path has a value, and must have no value whenever the property path has no value.

Range(s) rdf:Propertyc

compositep # Props

URI http://datashapes.org/dash#composite
Description

Can be used to indicate that a property/path represented by a property constraint represents a composite relationship. In a composite relationship, the life cycle of a "child" object (value of the property/path) depends on the "parent" object (focus node). If the parent gets deleted, then the child objects should be deleted, too. Tools may use dash:composite (if set to true) to implement cascading delete operations.

Domain(s) sh:PropertyShapec
Range(s) xsd:booleanc

default languagep # Props

URI http://datashapes.org/dash#defaultLang
Description

Can be used to annotate a graph (usually the owl:Ontology) with the default language that tools should suggest for new literal values. For example, predominantly English graphs should have "en" as default language.

Domain(s) owl:Ontologyc
Range(s) xsd:stringc

default view for rolep # Props

URI http://datashapes.org/dash#defaultViewForRole
Description

Links a node shape with the roles for which it shall be used as default view. User interfaces can use these values to select how to present a given RDF resource. The values of this property are URIs representing a group of users or agents. There is a dedicated URI dash:all representing all users.

Domain(s) sh:NodeShapec

deleted triplep # Props

URI http://datashapes.org/dash#deletedTriple
Description

May link a dash:GraphUpdate result with one or more triples (represented as instances of rdf:Statement) that should be deleted to fix the source of the result.

Domain(s) Graph updatec
Range(s) rdf:Statementc

dependency predicatep # Props

URI http://datashapes.org/dash#dependencyPredicate
Description

Can be used in dash:js node expressions to enumerate the predicates that the computation of the values may depend on. This can be used by clients to determine whether an edit requires re-computation of values on a form or elsewhere. For example, if the dash:js is something like "focusNode.firstName + focusNode.lastName" then the dependency predicates should be ex:firstName and ex:lastName.

Range(s) rdf:Propertyc

details endpointp # Props

URI http://datashapes.org/dash#detailsEndpoint
Description

Can be used to link a SHACL property shape with the URL of a SPARQL endpoint that may contain further RDF triples for the value nodes delivered by the property. This can be used to inform a processor that it should switch to values from an external graph when the user wants to retrieve more information about a value.

This property should be regarded as an "annotation", i.e. it does not have any impact on validation or other built-in SHACL features. However, selected tools may want to use this information. One implementation strategy would be to periodically fetch the values specified by the sh:node or sh:class shape associated with the property, using the property shapes in that shape, and add the resulting triples into the main query graph.

An example value is "https://query.wikidata.org/sparql".

details graphp # Props

URI http://datashapes.org/dash#detailsGraph
Description

Can be used to link a SHACL property shape with a SHACL node expression that produces the URIs of one or more graphs that contain further RDF triples for the value nodes delivered by the property. This can be used to inform a processor that it should switch to another data graph when the user wants to retrieve more information about a value.

The node expressions are evaluated with the focus node as input. (It is unclear whether there are also cases where the result may be different for each specific value, in which case the node expression would need a second input argument).

This property should be regarded as an "annotation", i.e. it does not have any impact on validation or other built-in SHACL features. However, selected tools may want to use this information.

editorp # Props

URI http://datashapes.org/dash#editor
Description

Can be used to link a property shape with an editor, to state a preferred editing widget in user interfaces.

Domain(s) sh:PropertyShapec
Range(s) http://datashapes.org/dash#Editorc

expected resultp # Props

URI http://datashapes.org/dash#expectedResult
Description

The expected result(s) of a test case. The value range of this property is different for each kind of test cases.

Domain(s) http://datashapes.org/dash#TestCasec

expected result is JSONp # Props

URI http://datashapes.org/dash#expectedResultIsJSON
Description

A flag to indicate that the expected result represents a JSON string. If set to true, then tests would compare JSON structures (regardless of whitespaces) instead of actual syntax.

Range(s) xsd:booleanc

expected result is Turtlep # Props

URI http://datashapes.org/dash#expectedResultIsTTL
Description

A flag to indicate that the expected result represents an RDF graph encoded as a Turtle file. If set to true, then tests would compare graphs instead of actual syntax.

Domain(s) http://datashapes.org/dash#TestCasec
Range(s) xsd:booleanc

fixedp # Props

URI http://datashapes.org/dash#fixed
Description

Can be used to mark that certain validation results have already been fixed.

Domain(s) sh:ValidationResultc
Range(s) xsd:booleanc

has value inp # Props

URI http://datashapes.org/dash#hasValueIn
Description

Specifies a constraint that at least one of the value nodes must be a member of the given list.

Range(s) rdf:Listc

has value with classp # Props

URI http://datashapes.org/dash#hasValueWithClass
Description

Specifies a constraint that at least one of the value nodes must be an instance of a given class.

Range(s) rdfs:Classc

heightp # Props

URI http://datashapes.org/dash#height
Description

The height.

Range(s) xsd:integerc

hiddenp # Props

URI http://datashapes.org/dash#hidden
Description

Properties marked as hidden do not appear in user interfaces, yet remain part of the shape for other purposes such as validation and scripting or GraphQL schema generation.

Domain(s) sh:PropertyShapec
Range(s) xsd:booleanc

included execution platformp # Props

URI http://datashapes.org/dash#includedExecutionPlatform
Description

Can be used to state that one (subject) execution platform includes all features of another platform (object).

Domain(s) Execution platformc
Range(s) http://datashapes.org/dash#ExecutionPlatformc

indexp # Props

URI http://datashapes.org/dash#index
Range(s) xsd:integerc

indexedp # Props

URI http://datashapes.org/dash#indexed
Domain(s) sh:PropertyShapec
Range(s) xsd:booleanc

JavaScript source codep # Props

URI http://datashapes.org/dash#js
Description

The JavaScript source code of a Script.

Domain(s) http://datashapes.org/dash#Scriptc
Range(s) xsd:stringc

local constraintp # Props

URI http://datashapes.org/dash#localConstraint
Description

Can be set to true for those constraint components where the validation does not require to visit any other triples than the shape definitions and the direct property values of the focus node mentioned in the property constraints. Examples of this include sh:minCount and sh:hasValue.

Constraint components that are marked as such can be optimized by engines, e.g. they can be evaluated client-side at form submission time, without having to make a round-trip to a server, assuming the client has downloaded a complete snapshot of the resource.

Any component marked with dash:staticConstraint is also a dash:localConstraint.

Domain(s) sh:ConstraintComponentc
Range(s) xsd:booleanc

mime typesp # Props

URI http://datashapes.org/dash#mimeTypes
Description

For file-typed properties, this can be used to specify the expected/allowed mime types of its values. This can be used, for example, to limit file input boxes or file selectors. If multiple values are allowed then they need to be separated by commas.

Example values are listed at https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types/Common_types

Domain(s) sh:PropertyShapec
Range(s) xsd:stringc

never materializep # Props

URI http://datashapes.org/dash#neverMaterialize
Description

If set to true at a property shape then any sh:values rules of this property will be ignored when 'all inferences' are computed. This is useful for property values that shall only be computed for individual focus nodes (e.g. when a user visits a resource) but not for large inference runs.

Domain(s) sh:PropertyShapec
Range(s) xsd:booleanc

on all valuesp # Props

URI http://datashapes.org/dash#onAllValues
Description

If set to true for a ScriptConstraint or ScriptValidator, then the associated script will receive all value nodes at once, as a value of the variable values. By default (or false), the script is called for each value node individually.

Range(s) xsd:booleanc

property suggestion generatorp # Props

URI http://datashapes.org/dash#propertySuggestionGenerator
Description

Links the constraint component with instances of dash:SuggestionGenerator that may be used to produce suggestions for a given validation result that was produced by a property constraint.

Domain(s) sh:ConstraintComponentc
Range(s) http://datashapes.org/dash#SuggestionGeneratorc

read onlyp # Props

URI http://datashapes.org/dash#readOnly
Description

Used as a hint for user interfaces that values of the associated property should not be editable. The values of this may be the boolean literals true or false or, more generally, a SHACL node expression that must evaluate to true or false.

Domain(s) sh:PropertyShapec

reifiable byp # Props

URI http://datashapes.org/dash#reifiableBy
Description

Can be used to specify the node shape that may be applied to reified statements produced by a property shape. The property shape must have a URI resource as its sh:path. The values of this property must be node shapes. User interfaces can use this information to determine which properties to present to users when reified statements are explored or edited. Use dash:None to indicate that no reification should be permitted.

Domain(s) sh:PropertyShapec
Range(s) sh:NodeShapec

required execution platformp # Props

URI http://datashapes.org/dash#requiredExecutionPlatform
Description

Links a SPARQL executable with the platforms that it can be executed on. This can be used by a SHACL implementation to determine whether a constraint validator or rule shall be ignored based on the current platform. For example, if a SPARQL query uses a function or magic property that is only available in TopBraid then a non-TopBraid platform can ignore the constraint (or simply always return no validation results). If this property has no value then the assumption is that the execution will succeed. As soon as one value exists, the assumption is that the engine supports at least one of the given platforms.

Domain(s) sh:SPARQLExecutablec
Range(s) http://datashapes.org/dash#ExecutionPlatformc

resource actionp # Props

URI http://datashapes.org/dash#resourceAction
Description

Links a class with the Resource Actions that can be applied to instances of that class.

Domain(s) rdfs:Classc
Range(s) http://datashapes.org/dash#ResourceActionc

root classp # Props

URI http://datashapes.org/dash#rootClass

shapep # Props

URI http://datashapes.org/dash#shape
Description

States that a subject resource has a given shape. This property can, for example, be used to capture results of SHACL validation on static data.

Range(s) sh:Shapec

shape scriptp # Props

URI http://datashapes.org/dash#shapeScript
Domain(s) sh:NodeShapec

single linep # Props

URI http://datashapes.org/dash#singleLine
Range(s) xsd:booleanc

static constraintp # Props

URI http://datashapes.org/dash#staticConstraint
Description

Can be set to true for those constraint components where the validation does not require to visit any other triples than the parameters. Examples of this include sh:datatype or sh:nodeKind, where no further triples need to be queried to determine the result.

Constraint components that are marked as such can be optimized by engines, e.g. they can be evaluated client-side at form submission time, without having to make a round-trip to a server.

Domain(s) sh:ConstraintComponentc
Range(s) xsd:booleanc

stemp # Props

URI http://datashapes.org/dash#stem
Description

Specifies a string value that the IRI of the value nodes must start with.

Range(s) xsd:stringc

sub set ofp # Props

URI http://datashapes.org/dash#subSetOf

suggestionp # Props

URI http://datashapes.org/dash#suggestion
Description

Can be used to link a result with one or more suggestions on how to address or improve the underlying issue.

Domain(s) sh:AbstractResultc
Range(s) http://datashapes.org/dash#Suggestionc

suggestion confidencep # Props

URI http://datashapes.org/dash#suggestionConfidence
Description

An optional confidence between 0% and 100%. Suggestions with 100% confidence are strongly recommended. Can be used to sort recommended updates.

Domain(s) Suggestionc
Range(s) xsd:decimalc

suggestion generatorp # Props

URI http://datashapes.org/dash#suggestionGenerator
Description

Links a sh:SPARQLConstraint or sh:JSConstraint with instances of dash:SuggestionGenerator that may be used to produce suggestions for a given validation result that was produced by the constraint.

Range(s) http://datashapes.org/dash#SuggestionGeneratorc

suggestionp # Props

URI http://datashapes.org/dash#suggestionGroup
Description

Can be used to link a suggestion with the group identifier to which it belongs. By default this is a link to the dash:SuggestionGenerator, but in principle this could be any value.

Domain(s) Suggestionc

symmetricp # Props

URI http://datashapes.org/dash#symmetric
Description

True to declare that the associated property path is symmetric.

unique value for classp # Props

URI http://datashapes.org/dash#uniqueValueForClass

validate shapesp # Props

URI http://datashapes.org/dash#validateShapes
Description

True to also validate the shapes itself (i.e. parameter declarations).

Domain(s) http://datashapes.org/dash#GraphValidationTestCasec
Range(s) xsd:booleanc

viewerp # Props

URI http://datashapes.org/dash#viewer
Description

Can be used to link a property shape with a viewer, to state a preferred viewing widget in user interfaces.

Domain(s) sh:PropertyShapec
Range(s) http://datashapes.org/dash#Viewerc

widthp # Props

URI http://datashapes.org/dash#width
Description

The width.

Range(s) xsd:integerc

xp # Props

URI http://datashapes.org/dash#x
Description

The x position.

Range(s) xsd:integerc

yp # Props

URI http://datashapes.org/dash#y
Description

The y position.

Range(s) xsd:integerc

Namespaces

default (:)
http://datashapes.org/dash
dct
http://purl.org/dc/terms/
owl
http://www.w3.org/2002/07/owl#
prov
http://www.w3.org/ns/prov#
rdf
http://www.w3.org/1999/02/22-rdf-syntax-ns#
rdfs
http://www.w3.org/2000/01/rdf-schema#
sdo
https://schema.org/
sh
http://www.w3.org/ns/shacl#
skos
http://www.w3.org/2004/02/skos/core#
tosh
http://topbraid.org/tosh#
xsd
http://www.w3.org/2001/XMLSchema#

Legend

cClasses
opObject Properties
fpFunctional Properties
dpData Properties
dpAnnotation Properties
pProperties
niNamed Individuals