CategoricalData / hydra

Transformations transformed
Apache License 2.0
72 stars 10 forks source link

Create a property graph element validator #100

Closed joshsh closed 11 months ago

joshsh commented 1 year ago

We need a tool to validate elements (vertices or edges) in the Property Graph data model (hydra/langs/tinkerpop/propertyGraph) against element types (vertex or edge types). This validator will operate at the level of individual elements (and therefore in linear time w.r.t. the number of elements), not at the level of a whole graph. It will check for vertices that:

Additionally for edges, it will check that:

The immediate need for the validator is in Java, but it may be worthwhile to write the utility in the Haskell DSL so that it can be used in both languages. This code is likely to be used in additional TinkerPop language variants in the future.

joshsh commented 11 months ago

Note: the implementation also validates graphs against schemas, in addition to validating vertices against vertex types and edges against edge types. Migration into the DSL is still TODO.