Skip to content

Implement the rdf validate command #66

@Ostrzyciel

Description

@Ostrzyciel

Basically, the "oracle" mentioned in Jelly-RDF/jelly-protobuf#27

Takes as input at most three files:

  • (optional) A: input RDF data – if provided, jelly-cli validates if it is equivalent to C
    • It can be split over multiple files – allow for specifying multiple inputs by wildcard
  • (optional) B: stream options – if provided, jelly-cli validates if C uses B
  • (required) C: Jelly data – jelly-cli parses it and validates in detail
  • (optional) delimited or non-delimited data expected – by default accept either

We can reuse the usual parser here, but with additional bells and whistles.

  • A == C comparison will be done using the ordered RDF isomorphism algorithm
  • B used by C comparison is trivial (must be matched 1:1)
  • Additional C validation:
    • Can be parsed and transformed into Jena Triple/Quad objects without errors
    • If generalized statements are disabled, they should not be present
    • If RDF-star is disabled, quoted triples should not be present
    • Logical stream type must be consistent with the physical type

CC-ing @adanilenka @bswck – if you have any suggestions for things to check, go for it!

Metadata

Metadata

Assignees

Labels

No labels
No labels

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions