shex.js
shex.js copied to clipboard
Can't use local object to be validated
I didn't manage to use a local object to be validated. This works:
ShEx.Loader.load([validationShape], [], [], [dataURL]).then(function (loaded) {
var db = ShEx.Util.makeN3DB(loaded.data);
var validator = ShEx.Validator.construct(loaded.schema, { results: "api" });
var result = validator.validate(db, [{node: dataID, shape: shapeURL}]);
return result;
}).catch(e => console.error(e));
But this throw an error:
ShEx.Loader.load([validationShape], [], [], [dataObject]).then(function (loaded) {
var db = ShEx.Util.makeN3DB(loaded.data);
var validator = ShEx.Validator.construct(loaded.schema, { results: "api" });
var result = validator.validate(db, [{node: dataID, shape: shapeURL}]);
return result;
}).catch(e => console.error(e));
Throw TypeError: Cannot use 'in' operator to search for 'productions' in undefined
Here is dataObject:
{
title: "Title test",
text: "Text test",
@id: "http://127.0.0.1:8000/conversations/7/"
}
Am I doing something wrong?