From 561a9837db678960ed8341885e26909868f11da7 Mon Sep 17 00:00:00 2001 From: Alex Nelson Date: Mon, 24 Mar 2025 16:50:35 -0400 Subject: [PATCH 1/4] #246: Create SHACL OWL concept-casting resource Signed-off-by: Alex Nelson --- shacl12-vocabularies/shacl-owl.ttl | 549 +++++++++++++++++++++++++++++ 1 file changed, 549 insertions(+) create mode 100644 shacl12-vocabularies/shacl-owl.ttl diff --git a/shacl12-vocabularies/shacl-owl.ttl b/shacl12-vocabularies/shacl-owl.ttl new file mode 100644 index 00000000..9ebf904d --- /dev/null +++ b/shacl12-vocabularies/shacl-owl.ttl @@ -0,0 +1,549 @@ +@prefix owl: . +@prefix rdf: . +@prefix rdfs: . +@prefix sh: . +@prefix xsd: . + + + a owl:Ontology ; + rdfs:label "SHACL concepts as OWL"@en ; + rdfs:comment "This ontology graph can be used to supplement ontologies that mix OWL and SHACL, for the benefit of OWL tools that require all classes and properties be explicitly designated as OWL classes and one of the three OWL property types. This graph designates all SHACL properties as OWL Annotation Properties, separating them from usage with OWL Restrictions and constraints on ranges."@en ; + owl:versionIRI ; + . + +sh:AbstractResult + a owl:Class ; + . + +sh:ConstraintComponent + a owl:Class ; + . + +sh:Function + a owl:Class ; + . + +sh:NodeExpression + a owl:Class ; + . + +sh:NodeKind + a owl:Class ; + . + +sh:NodeShape + a owl:Class ; + . + +sh:Parameter + a owl:Class ; + . + +sh:Parameterizable + a owl:Class ; + . + +sh:PrefixDeclaration + a owl:Class ; + . + +sh:PropertyGroup + a owl:Class ; + . + +sh:PropertyShape + a owl:Class ; + . + +sh:ResultAnnotation + a owl:Class ; + . + +sh:Rule + a owl:Class ; + . + +sh:SPARQLAskExecutable + a owl:Class ; + . + +sh:SPARQLAskValidator + a owl:Class ; + . + +sh:SPARQLConstraint + a owl:Class ; + . + +sh:SPARQLConstructExecutable + a owl:Class ; + . + +sh:SPARQLExecutable + a owl:Class ; + . + +sh:SPARQLFunction + a owl:Class ; + . + +sh:SPARQLRule + a owl:Class ; + . + +sh:SPARQLSelectExecutable + a owl:Class ; + . + +sh:SPARQLSelectValidator + a owl:Class ; + . + +sh:SPARQLTarget + a owl:Class ; + . + +sh:SPARQLTargetType + a owl:Class ; + . + +sh:SPARQLUpdateExecutable + a owl:Class ; + . + +sh:SelectExpression + a owl:Class ; + . + +sh:Severity + a owl:Class ; + . + +sh:Shape + a owl:Class ; + . + +sh:ShapeClass + a owl:Class ; + . + +sh:Target + a owl:Class ; + . + +sh:TargetType + a owl:Class ; + . + +sh:TripleRule + a owl:Class ; + . + +sh:ValidationReport + a owl:Class ; + . + +sh:ValidationResult + a owl:Class ; + . + +sh:Validator + a owl:Class ; + . + +sh:alternativePath + a owl:AnnotationProperty ; + . + +sh:and + a owl:AnnotationProperty ; + . + +sh:annotationProperty + a owl:AnnotationProperty ; + . + +sh:annotationValue + a owl:AnnotationProperty ; + . + +sh:annotationVarName + a owl:AnnotationProperty ; + . + +sh:ask + a owl:AnnotationProperty ; + . + +sh:class + a owl:AnnotationProperty ; + . + +sh:closed + a owl:AnnotationProperty ; + . + +sh:condition + a owl:AnnotationProperty ; + . + +sh:conforms + a owl:AnnotationProperty ; + . + +sh:construct + a owl:AnnotationProperty ; + . + +sh:datatype + a owl:AnnotationProperty ; + . + +sh:deactivated + a owl:AnnotationProperty ; + . + +sh:declare + a owl:AnnotationProperty ; + . + +sh:defaultValue + a owl:AnnotationProperty ; + . + +sh:description + a owl:AnnotationProperty ; + . + +sh:detail + a owl:AnnotationProperty ; + . + +sh:disjoint + a owl:AnnotationProperty ; + . + +sh:entailment + a owl:AnnotationProperty ; + . + +sh:equals + a owl:AnnotationProperty ; + . + +sh:expression + a owl:AnnotationProperty ; + . + +sh:filterShape + a owl:AnnotationProperty ; + . + +sh:flags + a owl:AnnotationProperty ; + . + +sh:focusNode + a owl:AnnotationProperty ; + . + +sh:group + a owl:AnnotationProperty ; + . + +sh:hasValue + a owl:AnnotationProperty ; + . + +sh:ignoredProperties + a owl:AnnotationProperty ; + . + +sh:in + a owl:AnnotationProperty ; + . + +sh:intersection + a owl:AnnotationProperty ; + . + +sh:inversePath + a owl:AnnotationProperty ; + . + +sh:keyParameter + a owl:AnnotationProperty ; + . + +sh:labelTemplate + a owl:AnnotationProperty ; + . + +sh:languageIn + a owl:AnnotationProperty ; + . + +sh:lessThan + a owl:AnnotationProperty ; + . + +sh:lessThanOrEquals + a owl:AnnotationProperty ; + . + +sh:maxCount + a owl:AnnotationProperty ; + . + +sh:maxExclusive + a owl:AnnotationProperty ; + . + +sh:maxInclusive + a owl:AnnotationProperty ; + . + +sh:maxLength + a owl:AnnotationProperty ; + . + +sh:message + a owl:AnnotationProperty ; + . + +sh:minCount + a owl:AnnotationProperty ; + . + +sh:minExclusive + a owl:AnnotationProperty ; + . + +sh:minInclusive + a owl:AnnotationProperty ; + . + +sh:minLength + a owl:AnnotationProperty ; + . + +sh:name + a owl:AnnotationProperty ; + . + +sh:namespace + a owl:AnnotationProperty ; + . + +sh:node + a owl:AnnotationProperty ; + . + +sh:nodeKind + a owl:AnnotationProperty ; + . + +sh:nodeValidator + a owl:AnnotationProperty ; + . + +sh:nodes + a owl:AnnotationProperty ; + . + +sh:not + a owl:AnnotationProperty ; + . + +sh:object + a owl:AnnotationProperty ; + . + +sh:oneOrMorePath + a owl:AnnotationProperty ; + . + +sh:optional + a owl:AnnotationProperty ; + . + +sh:or + a owl:AnnotationProperty ; + . + +sh:order + a owl:AnnotationProperty ; + . + +sh:parameter + a owl:AnnotationProperty ; + . + +sh:path + a owl:AnnotationProperty ; + . + +sh:pattern + a owl:AnnotationProperty ; + . + +sh:predicate + a owl:AnnotationProperty ; + . + +sh:prefix + a owl:AnnotationProperty ; + . + +sh:prefixes + a owl:AnnotationProperty ; + . + +sh:property + a owl:AnnotationProperty ; + . + +sh:propertyValidator + a owl:AnnotationProperty ; + . + +sh:qualifiedMaxCount + a owl:AnnotationProperty ; + . + +sh:qualifiedMinCount + a owl:AnnotationProperty ; + . + +sh:qualifiedValueShape + a owl:AnnotationProperty ; + . + +sh:qualifiedValueShapesDisjoint + a owl:AnnotationProperty ; + . + +sh:result + a owl:AnnotationProperty ; + . + +sh:resultAnnotation + a owl:AnnotationProperty ; + . + +sh:resultMessage + a owl:AnnotationProperty ; + . + +sh:resultPath + a owl:AnnotationProperty ; + . + +sh:resultSeverity + a owl:AnnotationProperty ; + . + +sh:returnType + a owl:AnnotationProperty ; + . + +sh:rule + a owl:AnnotationProperty ; + . + +sh:select + a owl:AnnotationProperty ; + . + +sh:severity + a owl:AnnotationProperty ; + . + +sh:shapesGraph + a owl:AnnotationProperty ; + . + +sh:shapesGraphWellFormed + a owl:AnnotationProperty ; + . + +sh:singleLine + a owl:AnnotationProperty ; + . + +sh:sourceConstraint + a owl:AnnotationProperty ; + . + +sh:sourceConstraintComponent + a owl:AnnotationProperty ; + . + +sh:sourceShape + a owl:AnnotationProperty ; + . + +sh:sparql + a owl:AnnotationProperty ; + . + +sh:subject + a owl:AnnotationProperty ; + . + +sh:suggestedShapesGraph + a owl:AnnotationProperty ; + . + +sh:target + a owl:AnnotationProperty ; + . + +sh:targetClass + a owl:AnnotationProperty ; + . + +sh:targetNode + a owl:AnnotationProperty ; + . + +sh:targetObjectsOf + a owl:AnnotationProperty ; + . + +sh:targetSubjectsOf + a owl:AnnotationProperty ; + . + +sh:union + a owl:AnnotationProperty ; + . + +sh:uniqueLang + a owl:AnnotationProperty ; + . + +sh:update + a owl:AnnotationProperty ; + . + +sh:validator + a owl:AnnotationProperty ; + . + +sh:value + a owl:AnnotationProperty ; + . + +sh:xone + a owl:AnnotationProperty ; + . + +sh:zeroOrMorePath + a owl:AnnotationProperty ; + . + +sh:zeroOrOnePath + a owl:AnnotationProperty ; + . + From d033e26fd1cdf3671bd0fd7cb658816d27bfcd3d Mon Sep 17 00:00:00 2001 From: Alex Nelson Date: Tue, 8 Apr 2025 09:41:20 -0400 Subject: [PATCH 2/4] #246, #315: Cast node expression base definitions Signed-off-by: Alex Nelson --- shacl12-vocabularies/shacl-owl.ttl | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/shacl12-vocabularies/shacl-owl.ttl b/shacl12-vocabularies/shacl-owl.ttl index 9ebf904d..5f003845 100644 --- a/shacl12-vocabularies/shacl-owl.ttl +++ b/shacl12-vocabularies/shacl-owl.ttl @@ -23,6 +23,14 @@ sh:Function a owl:Class ; . +sh:ListParameterExpression + a owl:Class ; + . + +sh:NamedParameterExpression + a owl:Class ; + . + sh:NodeExpression a owl:Class ; . @@ -83,6 +91,10 @@ sh:SPARQLExecutable a owl:Class ; . +sh:SPARQLExprExpression + a owl:Class ; + . + sh:SPARQLFunction a owl:Class ; . From 7005a574f011295dfd0c6606ba09a01f4c3989a3 Mon Sep 17 00:00:00 2001 From: Alex Nelson Date: Thu, 10 Apr 2025 09:43:54 -0400 Subject: [PATCH 3/4] #246, #315, #349: Cast sh:sparqlExpr Signed-off-by: Alex Nelson --- shacl12-vocabularies/shacl-owl.ttl | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/shacl12-vocabularies/shacl-owl.ttl b/shacl12-vocabularies/shacl-owl.ttl index 5f003845..7638362d 100644 --- a/shacl12-vocabularies/shacl-owl.ttl +++ b/shacl12-vocabularies/shacl-owl.ttl @@ -499,6 +499,10 @@ sh:sparql a owl:AnnotationProperty ; . +sh:sparqlExpr + a owl:AnnotationProperty ; + . + sh:subject a owl:AnnotationProperty ; . From 40cd61da7994858aa6b00f372ab2fc2c95077ab3 Mon Sep 17 00:00:00 2001 From: Alex Nelson Date: Wed, 11 Jun 2025 08:15:18 -0400 Subject: [PATCH 4/4] #300: Cast reification properties Signed-off-by: Alex Nelson --- shacl12-vocabularies/shacl-owl.ttl | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/shacl12-vocabularies/shacl-owl.ttl b/shacl12-vocabularies/shacl-owl.ttl index 7638362d..c38225ed 100644 --- a/shacl12-vocabularies/shacl-owl.ttl +++ b/shacl12-vocabularies/shacl-owl.ttl @@ -435,6 +435,14 @@ sh:qualifiedValueShapesDisjoint a owl:AnnotationProperty ; . +sh:reificationRequired + a owl:AnnotationProperty ; + . + +sh:reifierShape + a owl:AnnotationProperty ; + . + sh:result a owl:AnnotationProperty ; .