[][src]Crate sophia_api

This crate provides a foundation, as a set of traits and core types, for building interoperable implementations of RDF and Linked Data in Rust.

For an all-included crate (providing actual implementations of the traits defined here), see sophia.

RDF

RDF is a data model designed to exchange knowledge on the Web in an interoperable way. Each piece of knowledge in RDF (a statement) is represented by a triple, made of three terms. A set of triples forms an RDF graph. Finally, several graphs can be grouped in a collection called a dataset, where each graph is identified by a unique name.

Generalized vs. Strict RDF model

The data model supported by this crate is in fact a superset of the RDF data model as defined by the W3C. When the distinction matters, they will be called, respectively, the generalized RDF model, and the strict RDF model.

Modules

dataset

An RDF dataset is composed of a default graph, and zero or more named graphs, each associated with a graph name.

graph

An RDF graph, the central notion of the RDF data model, is a collection of triples.

ns

Standard and custom namespaces.

parser

API for parsing RDF syntaxes.

quad

A quad expresses a single fact within a context. Quads are like RDF triples augmented with an optional graph name.

serializer

API for serializing RDF syntaxes.

term

This module defines the API for RDF terms.

triple

An RDF triple expresses a single fact. Its formed of three terms called subject, predicate and object.

Macros

def_mod_functions_for_bufread_parser

Define convenience module-level functions for a parser implementation supporting BufRead.

make_scoped_quad_streaming_mode

Create a streaming mode for lifetime-parameterized Quad types.

make_scoped_triple_streaming_mode

Create a streaming mode for lifetime-parameterized Triple types.

namespace

Create a "namespace module" defining a set of terms within a given IRI space.

ns_iri

Create a term in a "namespace module". In general, you should use the namespace! macro instead.

test_dataset_impl

Generate a test suite for an implementation of Dataset, CollectibleDataset and MutableDataset.

test_graph_impl

Generate a test suite for an implementation of Graph, CollectibleGraph and MutableGraph.

test_immutable_dataset_impl

Generate a test suite for an implementation of Dataset and CollectibleDataset.

test_immutable_graph_impl

Generate a test suite for an implementation of Graph and CollectibleGraph.