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:

  • SPARQL 1.1 Protocol

    • 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.

  • Linked Data Platform 1.0

    • 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.