Skip to content

Commit 51687d6

Browse files
Rearranged node expression (meta) classes and added the current functions to shnex.ttl (#512)
sh:Expression/NodeByExpression and annotations were just moved around within the document
1 parent d18e1e5 commit 51687d6

File tree

2 files changed

+608
-104
lines changed

2 files changed

+608
-104
lines changed

shacl12-vocabularies/shacl.ttl

Lines changed: 115 additions & 93 deletions
Original file line numberDiff line numberDiff line change
@@ -1011,26 +1011,6 @@ sh:node
10111011
rdfs:isDefinedBy sh: .
10121012

10131013

1014-
sh:NodeByExpressionConstraintComponent
1015-
a sh:ConstraintComponent ;
1016-
rdfs:label "Node by expression constraint component"@en ;
1017-
rdfs:comment "A constraint component that can be used to verify that all value nodes conform to the node shape(s) produced by the given node expression."@en ;
1018-
sh:parameter sh:NodeByExpressionConstraintComponent-nodeByExpression ;
1019-
rdfs:isDefinedBy sh: .
1020-
1021-
sh:NodeByExpressionConstraintComponent-nodeByExpression
1022-
a sh:Parameter ;
1023-
sh:path sh:nodeByExpression ;
1024-
rdfs:isDefinedBy sh: .
1025-
1026-
sh:nodeByExpression
1027-
a rdf:Property ;
1028-
rdfs:label "node by expression"@en ;
1029-
rdfs:comment "Links a shape to node expressions, indicating the node shape(s) that all value nodes must conform to."@en ;
1030-
# rdfs:range sh:NodeShape ; (node expression)
1031-
rdfs:isDefinedBy sh: .
1032-
1033-
10341014
sh:NodeKindConstraintComponent
10351015
a sh:ConstraintComponent ;
10361016
rdfs:label "Node-kind constraint component"@en ;
@@ -1335,32 +1315,54 @@ sh:xone
13351315

13361316
# Node Expressions ------------------------------------------------------------
13371317

1338-
sh:NodeExpression
1318+
sh:NodeExpressionFunction
13391319
a rdfs:Class ;
1340-
rdfs:label "Node expression"@en ;
1341-
rdfs:comment "The base class of node expression functions."@en ;
1342-
rdfs:subClassOf rdfs:Resource ;
1320+
rdfs:label "Node expression function"@en ;
1321+
rdfs:comment "The base (meta) class of node expression functions."@en ;
1322+
rdfs:subClassOf rdfs:Class ;
13431323
rdfs:isDefinedBy sh: .
13441324

1345-
sh:NamedParameterExpression
1325+
sh:NamedParameterExpressionFunction
13461326
a rdfs:Class ;
1347-
rdfs:label "Named parameter expression"@en ;
1327+
rdfs:label "Named parameter expression function"@en ;
13481328
rdfs:comment "The base class of node expression functions that take named parameters."@en ;
1349-
rdfs:subClassOf sh:NodeExpression ;
1329+
rdfs:subClassOf sh:NodeExpressionFunction ;
13501330
rdfs:subClassOf sh:Parameterizable ;
13511331
rdfs:isDefinedBy sh: .
13521332

13531333
sh:keyParameter
13541334
a rdf:Property ;
13551335
rdfs:label "key parameter"@en ;
13561336
rdfs:comment "Set to true for the parameter of a named parameter expression function that uniquely identifies it."@en ;
1337+
rdfs:domain sh:Parameter ;
13571338
rdfs:range xsd:boolean ;
13581339
rdfs:isDefinedBy sh: .
13591340

1341+
sh:ListParameterExpressionFunction
1342+
a rdfs:Class ;
1343+
rdfs:label "List parameter expression function"@en ;
1344+
rdfs:comment "The base class of node expression functions that take a list of parameters."@en ;
1345+
rdfs:subClassOf sh:NodeExpressionFunction ;
1346+
rdfs:isDefinedBy sh: .
1347+
1348+
sh:NodeExpression
1349+
a rdfs:Class ;
1350+
rdfs:label "Node expression"@en ;
1351+
rdfs:comment "The base class of node expression (instances)."@en ;
1352+
rdfs:subClassOf rdfs:Resource ;
1353+
rdfs:isDefinedBy sh: .
1354+
1355+
sh:NamedParameterExpression
1356+
a rdfs:Class ;
1357+
rdfs:label "Named parameter expression"@en ;
1358+
rdfs:comment "The base class of node expressions (instances) that take named parameters."@en ;
1359+
rdfs:subClassOf sh:NodeExpression ;
1360+
rdfs:isDefinedBy sh: .
1361+
13601362
sh:ListParameterExpression
13611363
a rdfs:Class ;
13621364
rdfs:label "List parameter expression"@en ;
1363-
rdfs:comment "The base class of node expression functions that take a list of parameters."@en ;
1365+
rdfs:comment "The base class of node expressions (instances) that take a list of parameters."@en ;
13641366
rdfs:subClassOf sh:NodeExpression ;
13651367
rdfs:isDefinedBy sh: .
13661368

@@ -1505,7 +1507,7 @@ sh:SPARQLConstraint
15051507
# SPARQL-based Node Expressions -----------------------------------------------
15061508

15071509
sh:SelectExpression
1508-
a rdfs:Class ;
1510+
a sh:NamedParameterExpressionFunction ;
15091511
rdfs:label "Select expression"@en ;
15101512
rdfs:comment "The class of node expressions based on SPARQL SELECT queries."@en ;
15111513
rdfs:subClassOf sh:NamedParameterExpression ;
@@ -1532,7 +1534,7 @@ sh:SelectExpression-prefixes
15321534
rdfs:isDefinedBy sh: .
15331535

15341536
sh:SPARQLExprExpression
1535-
a rdfs:Class ;
1537+
a sh:NamedParameterExpressionFunction ;
15361538
rdfs:label "SPARQL expr expression"@en ;
15371539
rdfs:comment "The class of node expressions based on SPARQL expressions (sh:sparqlExpr)."@en ;
15381540
rdfs:subClassOf sh:NamedParameterExpression ;
@@ -1567,6 +1569,88 @@ sh:sparqlExpr
15671569
rdfs:isDefinedBy sh: .
15681570

15691571

1572+
# SPARQL-based Result Annotations ---------------------------------------------
1573+
1574+
sh:resultAnnotation
1575+
a rdf:Property ;
1576+
rdfs:label "result annotation"@en ;
1577+
rdfs:comment "Links a SPARQL validator with zero or more sh:ResultAnnotation instances, defining how to derive additional result properties based on the variables of the SELECT query."@en ;
1578+
rdfs:domain sh:SPARQLSelectValidator ;
1579+
rdfs:range sh:ResultAnnotation ;
1580+
rdfs:isDefinedBy sh: .
1581+
1582+
sh:ResultAnnotation
1583+
a rdfs:Class ;
1584+
rdfs:label "Result annotation"@en ;
1585+
rdfs:comment "A class of result annotations, which define the rules to derive the values of a given annotation property as extra values for a validation result."@en ;
1586+
rdfs:subClassOf rdfs:Resource ;
1587+
rdfs:isDefinedBy sh: .
1588+
1589+
sh:annotationProperty
1590+
a rdf:Property ;
1591+
rdfs:label "annotation property"@en ;
1592+
rdfs:comment "The annotation property that shall be set."@en ;
1593+
rdfs:domain sh:ResultAnnotation ;
1594+
rdfs:range rdf:Property ;
1595+
rdfs:isDefinedBy sh: .
1596+
1597+
sh:annotationValue
1598+
a rdf:Property ;
1599+
rdfs:label "annotation value"@en ;
1600+
rdfs:comment "The (default) values of the annotation property."@en ;
1601+
rdfs:domain sh:ResultAnnotation ;
1602+
rdfs:isDefinedBy sh: .
1603+
1604+
sh:annotationVarName
1605+
a rdf:Property ;
1606+
rdfs:label "annotation variable name"@en ;
1607+
rdfs:comment "The name of the SPARQL variable from the SELECT clause that shall be used for the values."@en ;
1608+
rdfs:domain sh:ResultAnnotation ;
1609+
rdfs:range xsd:string ;
1610+
rdfs:isDefinedBy sh: .
1611+
1612+
1613+
# Constraints based on Node Expressions ---------------------------------------
1614+
1615+
sh:ExpressionConstraintComponent
1616+
a sh:ConstraintComponent ;
1617+
rdfs:label "Expression constraint component"@en ;
1618+
rdfs:comment "A constraint component that can be used to verify that a given node expression produces true for all value nodes."@en ;
1619+
sh:parameter sh:ExpressionConstraintComponent-expression ;
1620+
rdfs:isDefinedBy sh: .
1621+
1622+
sh:ExpressionConstraintComponent-expression
1623+
a sh:Parameter ;
1624+
sh:path sh:expression ;
1625+
rdfs:isDefinedBy sh: .
1626+
1627+
sh:expression
1628+
a rdf:Property ;
1629+
rdfs:label "expression"@en ;
1630+
rdfs:comment "The node expression that must return true for the value nodes."@en ;
1631+
rdfs:isDefinedBy sh: .
1632+
1633+
1634+
sh:NodeByExpressionConstraintComponent
1635+
a sh:ConstraintComponent ;
1636+
rdfs:label "Node by expression constraint component"@en ;
1637+
rdfs:comment "A constraint component that can be used to verify that all value nodes conform to the node shape(s) produced by the given node expression."@en ;
1638+
sh:parameter sh:NodeByExpressionConstraintComponent-nodeByExpression ;
1639+
rdfs:isDefinedBy sh: .
1640+
1641+
sh:NodeByExpressionConstraintComponent-nodeByExpression
1642+
a sh:Parameter ;
1643+
sh:path sh:nodeByExpression ;
1644+
rdfs:isDefinedBy sh: .
1645+
1646+
sh:nodeByExpression
1647+
a rdf:Property ;
1648+
rdfs:label "node by expression"@en ;
1649+
rdfs:comment "Links a shape to node expressions, indicating the node shape(s) that all value nodes must conform to."@en ;
1650+
# rdfs:range sh:NodeShape ; (node expression)
1651+
rdfs:isDefinedBy sh: .
1652+
1653+
15701654
# Non-validating constraint properties ----------------------------------------
15711655

15721656
sh:defaultValue
@@ -1616,7 +1700,7 @@ sh:PropertyGroup
16161700

16171701

16181702
# -----------------------------------------------------------------------------
1619-
# SHACL ADVANCED FEATURES -----------------------------------------------------
1703+
# SHACL ADVANCED FEATURES (will likely be marked deprecated with 1.2)
16201704
# -----------------------------------------------------------------------------
16211705

16221706

@@ -1690,47 +1774,6 @@ sh:SPARQLFunction
16901774
rdfs:subClassOf sh:SPARQLSelectExecutable ;
16911775
rdfs:isDefinedBy sh: .
16921776

1693-
1694-
# Result Annotations ----------------------------------------------------------
1695-
1696-
sh:resultAnnotation
1697-
a rdf:Property ;
1698-
rdfs:label "result annotation"@en ;
1699-
rdfs:comment "Links a SPARQL validator with zero or more sh:ResultAnnotation instances, defining how to derive additional result properties based on the variables of the SELECT query."@en ;
1700-
rdfs:domain sh:SPARQLSelectValidator ;
1701-
rdfs:range sh:ResultAnnotation ;
1702-
rdfs:isDefinedBy sh: .
1703-
1704-
sh:ResultAnnotation
1705-
a rdfs:Class ;
1706-
rdfs:label "Result annotation"@en ;
1707-
rdfs:comment "A class of result annotations, which define the rules to derive the values of a given annotation property as extra values for a validation result."@en ;
1708-
rdfs:subClassOf rdfs:Resource ;
1709-
rdfs:isDefinedBy sh: .
1710-
1711-
sh:annotationProperty
1712-
a rdf:Property ;
1713-
rdfs:label "annotation property"@en ;
1714-
rdfs:comment "The annotation property that shall be set."@en ;
1715-
rdfs:domain sh:ResultAnnotation ;
1716-
rdfs:range rdf:Property ;
1717-
rdfs:isDefinedBy sh: .
1718-
1719-
sh:annotationValue
1720-
a rdf:Property ;
1721-
rdfs:label "annotation value"@en ;
1722-
rdfs:comment "The (default) values of the annotation property."@en ;
1723-
rdfs:domain sh:ResultAnnotation ;
1724-
rdfs:isDefinedBy sh: .
1725-
1726-
sh:annotationVarName
1727-
a rdf:Property ;
1728-
rdfs:label "annotation variable name"@en ;
1729-
rdfs:comment "The name of the SPARQL variable from the SELECT clause that shall be used for the values."@en ;
1730-
rdfs:domain sh:ResultAnnotation ;
1731-
rdfs:range xsd:string ;
1732-
rdfs:isDefinedBy sh: .
1733-
17341777

17351778
# Node Expressions ------------------------------------------------------------
17361779

@@ -1750,27 +1793,6 @@ sh:union
17501793
rdfs:comment "Deprecated with SHACL 1.2: replaced by shnex:union."@en .
17511794

17521795

1753-
# Expression Constraints ------------------------------------------------------
1754-
1755-
sh:ExpressionConstraintComponent
1756-
a sh:ConstraintComponent ;
1757-
rdfs:label "Expression constraint component"@en ;
1758-
rdfs:comment "A constraint component that can be used to verify that a given node expression produces true for all value nodes."@en ;
1759-
sh:parameter sh:ExpressionConstraintComponent-expression ;
1760-
rdfs:isDefinedBy sh: .
1761-
1762-
sh:ExpressionConstraintComponent-expression
1763-
a sh:Parameter ;
1764-
sh:path sh:expression ;
1765-
rdfs:isDefinedBy sh: .
1766-
1767-
sh:expression
1768-
a rdf:Property ;
1769-
rdfs:label "expression"@en ;
1770-
rdfs:comment "The node expression that must return true for the value nodes."@en ;
1771-
rdfs:isDefinedBy sh: .
1772-
1773-
17741796
# Rules -----------------------------------------------------------------------
17751797

17761798
sh:Rule

0 commit comments

Comments
 (0)