Orgs, Repos, and Collections

This article describes the role of the “Cluster” named graph in Flexo MMS. Layer 1 forbids arbitrary writes to this graph and instead exposes a set of LDP endpoints.

This named graph holds organizational objects that are global to the deployed Flexo MMS cluster. Specifically, a Repo is the container for version-controlled data (similar to a git repository), a Collection is readonly view that selects the union of any number of Refs when queried, and an Org is an entity that owns Repos or Collections.

Linked Data Platform (LDP) actions

The following list describes the LDP semantics of various HTTP operations available on Cluster objects.

  • /orgs

    • GET – Enumerates all orgs along with their public properties.

  • /orgs/{ORG_ID}

    • PUTCreates a new org.

      • Suggested properties: dct:title "{ORG_TITLE}"

    • GETReads public properties of the given org.

    • PATCHUpdates an existing org.

    • DELETE -- Deletes an org.

  • /orgs/{ORG_ID}/repos/{REPO_ID}

    • GET – Enumerates all repos along with their public properties.

  • /orgs/{ORG_ID}/repos/{REPO_ID}

    • PUTCreates a new repo.

      • Suggested properties: dct:title "{REPO_TITLE}"

    • GETReads public properties of the given repo.

    • PATCHUpdates an existing repo.

    • DELETE -- Deletes a repo.

  • /orgs/{ORG_ID}/collections/{COLLECTION_ID}

    • GET – Enumerates all collections along with their public properties.

  • /orgs/{ORG_ID}/collections/{COLLECTION_ID}

    • PUTCreates a new collection.

      • Suggested properties: dct:title "{COLLECTION_TITLE}"

    • GETReads public properties of the given collection.

    • PATCHUpdates an existing collection.

    • DELETE -- Deletes a collection.