Я изучаю ShEx и использую 'shex java API', сделанный http://shexjava.lille.inria.fr/ для моего проекта. У меня есть схема, график данных и карта фиксированной формы. Когда я проверяю, используя уточнение и рекурсивную проверку, я получаю ResultShapeMap , но причина и appInfo равны нулю для НЕ СОГЛАСОВАННОГО статуса. Я не понимаю, почему эти два поля являются нулевыми.
У меня есть схема, 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
]
]
]
Я хочу вывести причина не соответствует. Но это дает мне ноль за это.
Может кто-нибудь, пожалуйста, помогите мне.