ruby-rdf / shex

The Unlicense
12 stars 2 forks source link

SemAct extentions #enter/#exit hooks #3

Open nyarly opened 5 years ago

nyarly commented 5 years ago

It seems like the Extension enter and exit hooks are only called in the EachOf operator. The documentation says (and I agree) that they should be called when arriving at and leaving a TripleConstraint.

Specifically, I'm trying to implement a Ruby version of ShexMap, and it's important to be able to group variable mappings into "domains" that separate repeated bindings of a variable. Eric's JS implementation has a kind of intermediate representation with lists of objects, where the JSON objects are analogous to the domains I'm talking about.

This is mostly an intent-to-PR, but I wanted to be sure that I'm reasoning correctly here and that there isn't a reason that semantic_actions enter and exit aren't called by every TripleConstraint.

gkellogg commented 5 years ago

Have at it. The extension stuff was prospective, and can't really handle the real semantics.

I haven't had time to work on this gem for quite a while, and don't know when I'll get back to it, so you're welcome to jump in.