gtfierro/hod-v1

Allow variable predicates in queries

Closed this issue · 3 comments

Handling arbitrary chains of predicates is tricky, so focus on one predicate var per term for now (possibly including +,?,* support if it turns out to not be too tricky)

We can move ahead with implementation of #4, even though the ?s ?p ?o pattern is still not implemented.

This last pattern is a little trickier because it involves changing the query planner to be aware of terms with 3 variables, which wasn't In the original design.

Turns out we did need the ?s ?p ?o pattern, but it was simple to do provided we had constrained at least one of the variables. The last part to do is the simple dump of the triples in the graph, which requires writing some new traversal operators. These should be easy because its just iterating over the underlying LevelDB, but we need to give some thought on how to iterate:

  • do we list the triples as they were inserted?
  • do we only want to list triples that are in the building?
  • do we want to ignore the 'inverse' triples?

We don't need this functionality just yet so I'm punting on implementing it.

Migrating this last issue to #12