Layer 1
Layer 1 is designed to use established open standards wherever appropriate. All exchange with the underlying Layer 0 is done using the SPARQL 1.1 Protocol, making it compatible with any compliant triplestore software. Additionally, Layer 1 also natively supports any S3-compatible storage service for persisting large models uploaded by the client.
The following protocols constitute the available endpoints:
Query – endpoints whose path ends in
/query
, including RepoQuery, ModelQuery, LockQuery, DiffQuery, and CollectionQuery.Update – endpoints whose path ends in
/update
, namely ModelCommit.
SPARQL 1.1 Graph Store Protocol – endpoints whose path ends in
/graph
, namely for downloading or replacing entire models via Branches and Locks.Direct Container – endpoints at the root path of the following objects: Orgs, Repos, Branches, Locks, Diffs, Groups, Policies, and Collections.
All mutable resources are tracked with entity tags (ETags), meaning that clients are able to determine if changes to any resource have occurred. Additionally, Layer 1 supports conditional HTTP requests using ETags, allowing clients to gracefully handle and recover from potential write conflicts.
Where applicable, endpoints support the widest range of content negotiation. For example, RDF/XML, JSON-LD, Turtle, N-Triples and TriG are all supported for RDF serializations.