Module sophia_api::sparql

source ·
Expand description

Common traits for working with SPARQL.

Design rationale

These traits are deliberately very generic. Specific implementations may have additional features, such as:

  • setting default values for BASE, PREFIX, FROM, FROM NAMED directives, before parsing query string, or
  • pre-binding variables before evaluating query;
  • etc…

However, we do not want to impose these feature, or any subset thereof, to all implementations of Sophia.

Extension point

A possible way to extend these traits with additional functionalities (such as the ones described above) would be to define subtraits of Query with additional methods (e.g.set_base, bind_variables…). Implementation could then express requirements as trait bound, e.g.:

    D: SparqlDataset,
    D::Query: Clone + BindVariable,

Sophia may define such traits in the future.

Enums

Traits