shex.js icon indicating copy to clipboard operation
shex.js copied to clipboard

Can't use local object to be validated

Open matthieu-fesselier opened this issue 5 years ago • 3 comments

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?

matthieu-fesselier avatar Jun 13 '19 01:06 matthieu-fesselier