ShEx 验证 - 原因和 appInfo 在结果形状图中为空
ShEx Validation - reason and appInfo are null in Result Shape Map
我正在学习 ShEx 并在我的项目中使用 http://shexjava.lille.inria.fr/ 完成的 'shexjava API'。我有架构、数据图和固定形状地图。当我使用优化和递归验证进行验证时,我得到 ResultShapeMap 但 reason 和 appInfo 为空对于 NONCONFORMANT 状态。我不明白为什么这两个字段为空。
我有架构、dataGraph、shapeMap。这是验证代码。
ValidationAlgorithm vl = new RefineValidation(schema, dataGraph);
ResultShapeMap result = vl.validate(shapeMap);
形状是,
{
"@context": "http://www.w3.org/ns/shex.jsonld",
"type": "Schema",
"shapes": [
{
"id": "http://example.com/ns#HouseShape",
"type": "Shape",
"expression": {
"type": "EachOf",
"expressions": [
{ "type": "TripleConstraint",
"predicate": "http://example.com/ns#number",
"valueExpr": { "type": "NodeConstraint",
"datatype": "http://www.w3.org/2001/XMLSchema#String"
}
},
{ "type": "TripleConstraint",
"predicate": "http://example.com/ns#size",
"valueExpr": { "type": "NodeConstraint",
"datatype": "http://www.w3.org/2001/XMLSchema#decimal"
}
}
]
}
}
]
}
数据是,
ex:House1 a ex:House ;
ex:number "11A" ;
ex:size 23 .
我的结果是,
ResultShapeMap [
associations= [
ShapeAssociation [
nodeSelector=<example.com/ns#House>,
shapeSelector=<example.com/ns#HouseShape>,
status=NONCONFORMANT,
reason=null,
appInfo=null
]
]
]
我要输出不符合的原因。但它给了我 null。
有人可以帮助我吗?
shexjava 实现目前不支持指示失败原因。
这是因为当节点不满足形状时,可能有多种原因。
如果你想学习 ShEx,我建议你使用 ShapeDesigner
https://gitlab.inria.fr/jdusart/shexjapp/
它提供了一个图形界面,您可以在其中浏览验证结果。
在这种特殊情况下,它表示验证失败,因为 23 不是小数(它实际上是一个整数)Screenshot of validation exploration result in ShapeDesigner
我不知道这是否是一个错误,即是否应将整数视为 RDF 中的小数。
我正在学习 ShEx 并在我的项目中使用 http://shexjava.lille.inria.fr/ 完成的 'shexjava API'。我有架构、数据图和固定形状地图。当我使用优化和递归验证进行验证时,我得到 ResultShapeMap 但 reason 和 appInfo 为空对于 NONCONFORMANT 状态。我不明白为什么这两个字段为空。
我有架构、dataGraph、shapeMap。这是验证代码。
ValidationAlgorithm vl = new RefineValidation(schema, dataGraph);
ResultShapeMap result = vl.validate(shapeMap);
形状是,
{
"@context": "http://www.w3.org/ns/shex.jsonld",
"type": "Schema",
"shapes": [
{
"id": "http://example.com/ns#HouseShape",
"type": "Shape",
"expression": {
"type": "EachOf",
"expressions": [
{ "type": "TripleConstraint",
"predicate": "http://example.com/ns#number",
"valueExpr": { "type": "NodeConstraint",
"datatype": "http://www.w3.org/2001/XMLSchema#String"
}
},
{ "type": "TripleConstraint",
"predicate": "http://example.com/ns#size",
"valueExpr": { "type": "NodeConstraint",
"datatype": "http://www.w3.org/2001/XMLSchema#decimal"
}
}
]
}
}
]
}
数据是,
ex:House1 a ex:House ;
ex:number "11A" ;
ex:size 23 .
我的结果是,
ResultShapeMap [
associations= [
ShapeAssociation [
nodeSelector=<example.com/ns#House>,
shapeSelector=<example.com/ns#HouseShape>,
status=NONCONFORMANT,
reason=null,
appInfo=null
]
]
]
我要输出不符合的原因。但它给了我 null。
有人可以帮助我吗?
shexjava 实现目前不支持指示失败原因。 这是因为当节点不满足形状时,可能有多种原因。
如果你想学习 ShEx,我建议你使用 ShapeDesigner
https://gitlab.inria.fr/jdusart/shexjapp/
它提供了一个图形界面,您可以在其中浏览验证结果。
在这种特殊情况下,它表示验证失败,因为 23 不是小数(它实际上是一个整数)Screenshot of validation exploration result in ShapeDesigner
我不知道这是否是一个错误,即是否应将整数视为 RDF 中的小数。