SHACLのShapeに記述誤りがある場合にNullPointerExceptionが発生する
takemikami opened this issue · 1 comments
takemikami commented
以下のようなケースでNullPointerExceptionとなるので、
Shapeの構文エラーであることがわかるようにしたい。
例: sh:pathとすべきところが、sh:passとなっている
imas-shape:IdolShape a sh:NodeShape;
sh:targetClass imas:Idol;
sh:property [
rdfs:label "アイドルの登場するコンテンツのタイトルの制約";
sh:pass imas:Title;
sh:datatype rdf:langString;
sh:minCount 1;
];
発生するエラー
Exception in thread "main" java.lang.NullPointerException
at org.topbraid.shacl.validation.java.ClosedConstraintExecutor.<init>(ClosedConstraintExecutor.java:34)
at org.topbraid.shacl.validation.java.JavaConstraintExecutors.lambda$static$2(JavaConstraintExecutors.java:20)
at org.topbraid.shacl.validation.ConstraintExecutors.getExecutor(ConstraintExecutors.java:81)
at org.topbraid.shacl.engine.Constraint.getExecutor(Constraint.java:98)
at org.topbraid.shacl.validation.ValidationEngine.validateNodesAgainstConstraint(ValidationEngine.java:488)
at org.topbraid.shacl.validation.ValidationEngine.validateAll(ValidationEngine.java:368)
at org.topbraid.shacl.validation.ValidationUtil.validateModel(ValidationUtil.java:121)
at org.topbraid.shacl.validation.ValidationUtil.validateModel(ValidationUtil.java:102)
at com.github.imas.rdflint.validator.impl.ShaclValidator.prepareValidationResource(ShaclValidator.java:41)
at com.github.imas.rdflint.ValidationRunner.lambda$execute$6(ValidationRunner.java:93)
at java.base/java.lang.Iterable.forEach(Iterable.java:75)
at com.github.imas.rdflint.ValidationRunner.execute(ValidationRunner.java:92)
at com.github.imas.rdflint.RdfLint.lintRdfDataSet(RdfLint.java:201)
at com.github.imas.rdflint.RdfLint.main(RdfLint.java:116)
takemikami commented
再現せず(エラーハンドリングまわりのissue対応で解消されたと思われる).
#99 でエラー原因はわかるようになったためOK