Merge pull request #653 from afs/shacl-target-test
JENA-1797: Test for instance of subclass of implicit target
diff --git a/jena-db/jena-tdb2/src/main/java/org/apache/jena/tdb2/params/StoreParams.java b/jena-db/jena-tdb2/src/main/java/org/apache/jena/tdb2/params/StoreParams.java
index b2a851a..d62d8dd 100644
--- a/jena-db/jena-tdb2/src/main/java/org/apache/jena/tdb2/params/StoreParams.java
+++ b/jena-db/jena-tdb2/src/main/java/org/apache/jena/tdb2/params/StoreParams.java
@@ -30,10 +30,10 @@
* and some parameters can only be changed at the point the database is
* created.
* <p>
- * Getting paramters settings wrong can destroy a databse.
+ * Getting parameters settings wrong can destroy a databse.
* Alternating the block size is not encouraged and should only be
* done if necessary. It can silently destroy a database if set
- * to a different value than thatused to create the database. The
+ * to a different value than that used to create the database. The
* default value of 8Kbytes is good for almost use.
*
* @see StoreParamsBuilder for constructing StoreParams
diff --git a/jena-shacl/src/main/java/org/apache/jena/shacl/validation/ValidationProc.java b/jena-shacl/src/main/java/org/apache/jena/shacl/validation/ValidationProc.java
index 12e1027..7c862fe 100644
--- a/jena-shacl/src/main/java/org/apache/jena/shacl/validation/ValidationProc.java
+++ b/jena-shacl/src/main/java/org/apache/jena/shacl/validation/ValidationProc.java
@@ -35,9 +35,7 @@
import org.apache.jena.shacl.parser.PropertyShape;
import org.apache.jena.shacl.parser.Shape;
import org.apache.jena.sparql.path.Path;
-import org.apache.jena.vocabulary.RDF;
-import static org.apache.jena.shacl.lib.G.hasType;
import static org.apache.jena.shacl.lib.G.isOfType;
public class ValidationProc {
@@ -273,16 +271,14 @@
Node targetObj = target.getObject();
switch(target.getTargetType()) {
case targetClass:
- return G.listPO(data, RDF.Nodes.type, targetObj);
+ case implicitClass:
+ return G.listAllNodesOfType(data, targetObj);
case targetNode:
return Collections.singletonList(targetObj);
case targetObjectsOf:
return G.setSP(data, null, targetObj);
case targetSubjectsOf:
return G.setPO(data, targetObj, null);
- case implicitClass:
- // Instances of the class and its subtypes.
- return G.listAllNodesOfType(data, targetObj);
default:
return Collections.emptyList();
}
@@ -298,15 +294,14 @@
Node targetObject = target.getObject();
switch (target.getTargetType()) {
case targetClass:
- return hasType(data, node, targetObject);
+ case implicitClass:
+ return isOfType(data, node, targetObject);
case targetNode:
return targetObject.equals(node);
case targetObjectsOf:
return data.contains(null, targetObject, node);
case targetSubjectsOf:
return data.contains(node, targetObject, null);
- case implicitClass:
- return isOfType(data, node, targetObject);
default:
return false;
}