Skip to content

fact_checkChoosing a process ​

Two questions decide your chain: what output do you need, and does the graph fit your hardware for reasoning and validation.

The two questions ​

  1. What is the output?
    • Read the data → Query.
    • Read the data plus what follows from it → Reason, then Query.
    • A conformance verdict → Validate, after Reason if the shapes constrain entailed facts.
    • A frozen, verifiable copy to hand on → Seal, then Unload if it should leave the database.
  2. Does the graph fit your hardware for Reason and Validate?
    • Yes → load it and run the chain on it directly.
    • No → load all of it, carve the slice you need into its own graph, and run Reason and Validate on the slice.

Decision table ​

Your goalGraph fits your hardwareGraph too big to reason over
Query onlyLoad → QueryLoad → Query — Query isn't bound by the one-session limit
Inferred queryLoad → Reason → QueryIngest → Carve → Reason
Validation gateLoad → Validate → QueryIngest → Carve → Reason, then validate the slice
Reason + validateLoad → Validate → Query, with its Reason stepIngest → Carve → Reason, then validate the slice
Publish a frozen copyAny of the above, then Seal and UnloadThe same, on the slice

The one rule that drives it ​

Import scales to the complete 8.2-billion-triple Wikidata dump. Reason and Validate run in one session over one graph, and that graph has to fit your hardware. So:

Query at any scale. Reason and validate at your scale — carve a slice when the source is bigger than one session can hold.

See also ​

pgRDF is released under the MIT license. Documentation built with VitePress, served via GitHub Pages.