Skip to content

Query cookbook

Runnable examples against an ontology workspace.

After First success:

strixonomy query ~/strixonomy-tutorial "SELECT * FROM classes"
strixonomy query ~/strixonomy-tutorial "SELECT short_name, labels FROM classes WHERE short_name = 'Person'"
cargo run -- query fixtures "SELECT * FROM classes"
cargo run -- query fixtures "SELECT short_name, labels FROM classes WHERE short_name = 'Person'"

Clone vs install

fixtures/ exists only in a git clone. After cargo install strixonomy-cli, do not run strixonomy query ./fixtures unless you cloned the repo.

Classes and entities

strixonomy query /path/to/ontologies "SELECT * FROM classes"
strixonomy query /path/to/ontologies "SELECT short_name, labels FROM classes WHERE short_name = 'Person'"
strixonomy query /path/to/ontologies "SELECT * FROM individuals"
strixonomy query /path/to/ontologies "SELECT * FROM entities"

Expected (fixtures/ or tutorial example.ttl, filtered query): 1 row with short_name = Person.

Properties

strixonomy query /path/to/ontologies "SELECT * FROM object_properties"
strixonomy query /path/to/ontologies "SELECT * FROM data_properties"
strixonomy query /path/to/ontologies "SELECT * FROM properties"

Annotations and axioms

strixonomy query /path/to/ontologies "SELECT * FROM annotations"
strixonomy query /path/to/ontologies "SELECT * FROM axioms"

Ontology metadata

strixonomy query /path/to/ontologies "SELECT * FROM ontologies"
strixonomy query /path/to/ontologies "SELECT * FROM namespaces"
strixonomy query /path/to/ontologies "SELECT * FROM imports"

Diagnostics and validation

strixonomy query /path/to/ontologies "SELECT code, severity, message, file FROM diagnostics"
strixonomy validate /path/to/ontologies

SPARQL

strixonomy sparql /path/to/ontologies "SELECT ?s ?p ?o WHERE { ?s ?p ?o } LIMIT 5"
strixonomy sparql fixtures "PREFIX ex: <http://example.org/people#> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT ?label WHERE { ex:Person rdfs:label ?label }"

Expected (fixtures): the second query returns 1 row with a label for Person (e.g. "Person").

Export formats

strixonomy query /path/to/ontologies "SELECT * FROM classes" --format json
strixonomy query /path/to/ontologies "SELECT * FROM classes" --format csv

CI validation

strixonomy validate /path/to/ontologies   # exit 0 when no diagnostic errors

Expected (fixtures/): exit code 0 (warnings may be present; errors fail validation).

Full column reference: sql-reference.md. SPARQL: sparql-reference.md. Errors: errors.md.