{
  "swagger": "2.0",
  "info": {
    "version": "pre-v1",
    "title": "Laces Platform - Namespaces API"
  },
  "host": "hub.laces.tech",
  "schemes": [
    "https"
  ],
  "paths": {
    "/ns/{repository}": {
      "get": {
        "tags": [
          "Publications"
        ],
        "summary": "List Publications",
        "description": "Lists all publications of a repository",
        "operationId": "listPublications",
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "required": false,
            "type": "string"
          },
          {
            "name": "repository",
            "in": "path",
            "description": "Repository id. The repository name written all lower case, with spaces replaced by '-'",
            "required": true,
            "type": "string",
            "pattern": "[A-Za-z0-9_-]+"
          }
        ],
        "responses": {
          "200": {
            "description": "Ok",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/Publication"
              }
            }
          },
          "400": {
            "description": "Bad request"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal server error"
          }
        }
      },
      "post": {
        "tags": [
          "Publications"
        ],
        "summary": "Create Publication",
        "description": "Create/update a Publication at the specified repository",
        "operationId": "createPublicationMultipart",
        "consumes": [
          "multipart/form-data"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "App Token Authorization or Basic Authentication",
            "required": true,
            "type": "string"
          },
          {
            "name": "repository",
            "in": "path",
            "required": true,
            "type": "string",
            "pattern": "[A-Za-z0-9_-]+"
          },
          {
            "name": "accessibility",
            "in": "query",
            "required": true,
            "type": "string",
            "enum": [
              "private",
              "public"
            ]
          },
          {
            "name": "status",
            "in": "query",
            "required": true,
            "type": "string",
            "enum": [
              "live",
              "test",
              "acceptance"
            ]
          },
          {
            "name": "context",
            "in": "query",
            "required": true,
            "type": "string",
            "pattern": "[a-z0-9_-]+"
          },
          {
            "name": "function",
            "in": "query",
            "required": true,
            "type": "string",
            "enum": [
              "library",
              "schema"
            ]
          },
          {
            "name": "name",
            "in": "query",
            "required": true,
            "type": "string",
            "pattern": "[a-z0-9_-]+"
          },
          {
            "name": "versioningMode",
            "in": "query",
            "required": false,
            "type": "string",
            "enum": [
              "none",
              "incremental",
              "date_time",
              "custom",
              "timestamp"
            ]
          },
          {
            "name": "versionLabel",
            "in": "query",
            "required": false,
            "type": "string",
            "pattern": "[a-z0-9_~.-]+"
          },
          {
            "name": "useVersionedBaseUri",
            "in": "query",
            "required": false,
            "type": "boolean"
          },
          {
            "name": "meta-data",
            "in": "formData",
            "required": true,
            "type": "string",
            "format": "json according to the following schema: { \"type\": \"object\", \"properties\": { \"description\": { \"type\": \"string\" }, \"owner\": { \"type\": \"string\" }, \"publisher\": { \"type\": \"string\" }, \"schemaURIs\": { \"type\": \"array\", \"items\": { \"type\": \"string\" } }",
            "x-example": "{ \"owner\" : \"Jill\", \"publisher\" : \"Ellen\", \"description\" : \"Demo OTL\", \"schemaURIs\" : [ \"http://www.laces.tech/publication/ns/semmtech/live/laces/schema/shapes/\", \"http://www.laces.tech/publication/ns/semmtech/live/laces/schema/otl-manager/\"]}"
          },
          {
            "name": "Content",
            "in": "formData",
            "required": true,
            "type": "file",
            "format": "Turtle (.ttl), N-Triples (.nt), N3 (.n3), RDF/XML (.rdf, .owl, .xml), JSON-LD (.jsonld), RDF/JSON (.rj)"
          }
        ],
        "responses": {
          "200": {
            "description": "successful operation",
            "schema": {
              "$ref": "#/definitions/Publication"
            }
          },
          "201": {
            "description": "Ok",
            "schema": {
              "$ref": "#/definitions/Publication"
            }
          },
          "400": {
            "description": "Bad request"
          },
          "500": {
            "description": "Internal server error"
          }
        }
      }
    },
    "/ns/{repository}/{accessibility}/{status}/{context}/{function}/{name}": {
      "get": {
        "tags": [
          "Publications"
        ],
        "summary": "Get Publication",
        "description": "",
        "operationId": "getPublication",
        "produces": [
          "text/turtle",
          "application/x-turtle",
          "application/rdf+xml",
          "application/n-triples",
          "application/ld+json"
        ],
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "App Token Authorization or Basic Authentication",
            "required": false,
            "type": "string"
          },
          {
            "name": "repository",
            "in": "path",
            "required": true,
            "type": "string",
            "pattern": "[A-Za-z0-9_-]+"
          },
          {
            "name": "accessibility",
            "in": "path",
            "required": true,
            "type": "string",
            "enum": [
              "private",
              "public"
            ]
          },
          {
            "name": "status",
            "in": "path",
            "required": true,
            "type": "string",
            "enum": [
              "live",
              "test",
              "acceptance"
            ]
          },
          {
            "name": "context",
            "in": "path",
            "required": true,
            "type": "string",
            "pattern": "[A-Za-z0-9_-]+"
          },
          {
            "name": "function",
            "in": "path",
            "required": true,
            "type": "string",
            "enum": [
              "library",
              "schema"
            ]
          },
          {
            "name": "name",
            "in": "path",
            "required": true,
            "type": "string",
            "pattern": "[A-Za-z0-9_-]+"
          }
        ],
        "responses": {
          "200": {
            "description": "successful operation",
            "schema": {
              "type": "string"
            }
          }
        }
      },
      "put": {
        "tags": [
          "Publications"
        ],
        "summary": "Update publication",
        "description": "",
        "operationId": "updatePublicationMultipart",
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "App Token Authorization or Basic Authentication",
            "required": true,
            "type": "string"
          },
          {
            "name": "repository",
            "in": "path",
            "required": true,
            "type": "string",
            "pattern": "[A-Za-z0-9_-]+"
          },
          {
            "name": "accessibility",
            "in": "path",
            "required": true,
            "type": "string",
            "enum": [
              "private",
              "public"
            ]
          },
          {
            "name": "status",
            "in": "path",
            "required": true,
            "type": "string",
            "enum": [
              "live",
              "test",
              "acceptance"
            ]
          },
          {
            "name": "context",
            "in": "path",
            "required": true,
            "type": "string",
            "pattern": "[A-Za-z0-9_-]+"
          },
          {
            "name": "function",
            "in": "path",
            "required": true,
            "type": "string",
            "enum": [
              "library",
              "schema"
            ]
          },
          {
            "name": "name",
            "in": "path",
            "required": true,
            "type": "string",
            "pattern": "[A-Za-z0-9_-]+"
          },
          {
            "name": "meta-data",
            "in": "formData",
            "required": true,
            "type": "string",
            "format": "json according to the following schema: { \"type\": \"object\", \"properties\": { \"description\": { \"type\": \"string\" }, \"owner\": { \"type\": \"string\" }, \"publisher\": { \"type\": \"string\" }, \"schemaURIs\": { \"type\": \"array\", \"items\": { \"type\": \"string\" } }",
            "x-example": "{ \"owner\" : \"Jill\", \"publisher\" : \"Ellen\", \"description\" : \"Demo OTL\", \"schemaURIs\" : [ \"http://www.laces.tech/publication/ns/semmtech/live/laces/schema/shapes/\", \"http://www.laces.tech/publication/ns/semmtech/live/laces/schema/otl-manager/\"]}"
          },
          {
            "name": "Content",
            "in": "formData",
            "required": true,
            "type": "file",
            "format": "Turtle (.ttl), N-Triples (.nt), N3 (.n3), RDF/XML (.rdf, .owl, .xml), JSON-LD (.jsonld), RDF/JSON (.rj)"
          }
        ],
        "responses": {
          "200": {
            "description": "successful operation",
            "schema": {
              "$ref": "#/definitions/Publication"
            }
          },
          "201": {
            "description": "Ok",
            "schema": {
              "$ref": "#/definitions/Publication"
            }
          },
          "400": {
            "description": "Bad request"
          },
          "500": {
            "description": "Internal server error"
          }
        }
      },
      "delete": {
        "tags": [
          "Publications"
        ],
        "summary": "Delete Publication",
        "description": "Deletes the publication",
        "operationId": "deletePublication",
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "App Token Authorization or Basic Authentication",
            "required": true,
            "type": "string"
          },
          {
            "name": "repository",
            "in": "path",
            "required": true,
            "type": "string",
            "pattern": "[A-Za-z0-9_-]+"
          },
          {
            "name": "accessibility",
            "in": "path",
            "required": true,
            "type": "string",
            "enum": [
              "private",
              "public"
            ]
          },
          {
            "name": "status",
            "in": "path",
            "required": true,
            "type": "string",
            "enum": [
              "live",
              "test",
              "acceptance"
            ]
          },
          {
            "name": "context",
            "in": "path",
            "required": true,
            "type": "string",
            "pattern": "[A-Za-z0-9_-]+"
          },
          {
            "name": "function",
            "in": "path",
            "required": true,
            "type": "string",
            "enum": [
              "library",
              "schema"
            ]
          },
          {
            "name": "name",
            "in": "path",
            "required": true,
            "type": "string",
            "pattern": "[A-Za-z0-9_-]+"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful deletion",
            "schema": {
              "$ref": "#/definitions/Publication"
            }
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal server error"
          }
        }
      }
    },
    "/ns/{repository}/{accessibility}/{status}/{context}/{function}/{name}/sparql": {
      "get": {
        "tags": [
          "Publications"
        ],
        "summary": "Execute SPARQL query using GET",
        "description": "",
        "operationId": "executeSparqlQueryGet",
        "produces": [
          "application/json",
          "text/csv",
          "application/sparql-results+json",
          "application/sparql-results+xml",
          "text/tab-separated-values"
        ],
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "App Token Authorization or Basic Authentication",
            "required": false,
            "type": "string"
          },
          {
            "name": "repository",
            "in": "path",
            "required": true,
            "type": "string",
            "pattern": "[A-Za-z0-9_-]+"
          },
          {
            "name": "accessibility",
            "in": "path",
            "required": true,
            "type": "string",
            "enum": [
              "private",
              "public"
            ]
          },
          {
            "name": "status",
            "in": "path",
            "required": true,
            "type": "string",
            "enum": [
              "live",
              "test",
              "acceptance"
            ]
          },
          {
            "name": "context",
            "in": "path",
            "required": true,
            "type": "string",
            "pattern": "[A-Za-z0-9_-]+"
          },
          {
            "name": "function",
            "in": "path",
            "required": true,
            "type": "string",
            "enum": [
              "library",
              "schema"
            ]
          },
          {
            "name": "name",
            "in": "path",
            "required": true,
            "type": "string",
            "pattern": "[A-Za-z0-9_-]+"
          },
          {
            "name": "query",
            "in": "query",
            "description": "Query",
            "required": true,
            "type": "string"
          },
          {
            "name": "default-graph-uri",
            "in": "query",
            "description": "Any (additional) publications/datasets that should be added as default graph",
            "required": false,
            "type": "array",
            "items": {
              "type": "string"
            },
            "collectionFormat": "multi"
          },
          {
            "name": "Accept",
            "in": "header",
            "description": "Output format",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Ok",
            "schema": {
              "type": "string"
            }
          },
          "400": {
            "description": "Bad request",
            "schema": {
              "$ref": "#/definitions/Pair"
            }
          },
          "500": {
            "description": "Internal server error"
          }
        }
      },
      "post": {
        "tags": [
          "Publications"
        ],
        "summary": "Execute SPARQL query using POST",
        "description": "",
        "operationId": "executeSparqlQueryPost",
        "consumes": [
          "application/sparql-query"
        ],
        "produces": [
          "application/json",
          "text/csv",
          "application/sparql-results+json",
          "application/sparql-results+xml",
          "text/tab-separated-values"
        ],
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "App Token Authorization or Basic Authentication",
            "required": true,
            "type": "string"
          },
          {
            "name": "repository",
            "in": "path",
            "required": true,
            "type": "string",
            "pattern": "[A-Za-z0-9_-]+"
          },
          {
            "name": "accessibility",
            "in": "path",
            "required": true,
            "type": "string",
            "enum": [
              "private",
              "public"
            ]
          },
          {
            "name": "status",
            "in": "path",
            "required": true,
            "type": "string",
            "enum": [
              "live",
              "test",
              "acceptance"
            ]
          },
          {
            "name": "context",
            "in": "path",
            "required": true,
            "type": "string",
            "pattern": "[A-Za-z0-9_-]+"
          },
          {
            "name": "function",
            "in": "path",
            "required": true,
            "type": "string",
            "enum": [
              "library",
              "schema"
            ]
          },
          {
            "name": "name",
            "in": "path",
            "required": true,
            "type": "string",
            "pattern": "[A-Za-z0-9_-]+"
          },
          {
            "in": "body",
            "name": "body",
            "description": "Query",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "default-graph-uri",
            "in": "query",
            "description": "Any (additional) publications/datasets that should be added as default graph",
            "required": false,
            "type": "array",
            "items": {
              "type": "string"
            },
            "collectionFormat": "multi"
          },
          {
            "name": "Accept",
            "in": "header",
            "description": "Output format",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Ok",
            "schema": {
              "type": "string"
            }
          },
          "400": {
            "description": "Bad request",
            "schema": {
              "$ref": "#/definitions/Pair"
            }
          },
          "500": {
            "description": "Internal server error"
          }
        }
      }
    },
    "/ns/{repository}/{accessibility}/{status}/{context}/{function}/{name}/versions": {
      "get": {
        "tags": [
          "Publications"
        ],
        "summary": "List Versions",
        "description": "Lists all versions of a publication",
        "operationId": "listPublicationVersions",
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "App Token Authorization or Basic Authentication",
            "required": false,
            "type": "string"
          },
          {
            "name": "repository",
            "in": "path",
            "required": true,
            "type": "string",
            "pattern": "[A-Za-z0-9_-]+"
          },
          {
            "name": "accessibility",
            "in": "path",
            "required": true,
            "type": "string",
            "enum": [
              "private",
              "public"
            ]
          },
          {
            "name": "status",
            "in": "path",
            "required": true,
            "type": "string",
            "enum": [
              "live",
              "test",
              "acceptance"
            ]
          },
          {
            "name": "context",
            "in": "path",
            "required": true,
            "type": "string",
            "pattern": "[A-Za-z0-9_-]+"
          },
          {
            "name": "function",
            "in": "path",
            "required": true,
            "type": "string",
            "enum": [
              "library",
              "schema"
            ]
          },
          {
            "name": "name",
            "in": "path",
            "required": true,
            "type": "string",
            "pattern": "[A-Za-z0-9_-]+"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful retrieval of list",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/PublicationVersion"
              }
            }
          },
          "400": {
            "description": "Invalid request"
          },
          "404": {
            "description": "Publication not found"
          },
          "500": {
            "description": "Server error"
          }
        }
      }
    },
    "/ns/{repository}/{accessibility}/{status}/{context}/{function}/{name}/versions/{version}": {
      "get": {
        "tags": [
          "Publications"
        ],
        "summary": "Get Publication",
        "description": "Get publication (model) from repository",
        "operationId": "getPublicationVersion",
        "produces": [
          "text/turtle",
          "application/x-turtle",
          "application/rdf+xml",
          "application/n-triples",
          "application/ld+json"
        ],
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "App Token Authorization or Basic Authentication",
            "required": false,
            "type": "string"
          },
          {
            "name": "repository",
            "in": "path",
            "required": true,
            "type": "string",
            "pattern": "[A-Za-z0-9_-]+"
          },
          {
            "name": "accessibility",
            "in": "path",
            "required": true,
            "type": "string",
            "enum": [
              "private",
              "public"
            ]
          },
          {
            "name": "status",
            "in": "path",
            "required": true,
            "type": "string",
            "enum": [
              "live",
              "test",
              "acceptance"
            ]
          },
          {
            "name": "context",
            "in": "path",
            "required": true,
            "type": "string",
            "pattern": "[A-Za-z0-9_-]+"
          },
          {
            "name": "function",
            "in": "path",
            "required": true,
            "type": "string",
            "enum": [
              "library",
              "schema"
            ]
          },
          {
            "name": "name",
            "in": "path",
            "required": true,
            "type": "string",
            "pattern": "[A-Za-z0-9_-]+"
          },
          {
            "name": "version",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful retrieval of Model",
            "schema": {
              "type": "string"
            }
          },
          "303": {
            "description": "See version at specified location"
          },
          "400": {
            "description": "Invalid request"
          },
          "404": {
            "description": "Repository or publication not found"
          },
          "500": {
            "description": "Server error"
          }
        }
      },
      "delete": {
        "tags": [
          "Publications"
        ],
        "summary": "Delete Publication",
        "description": "Deletes the publication",
        "operationId": "deletePublicationVersion",
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "App Token Authorization or Basic Authentication",
            "required": true,
            "type": "string"
          },
          {
            "name": "repository",
            "in": "path",
            "required": true,
            "type": "string",
            "pattern": "[A-Za-z0-9_-]+"
          },
          {
            "name": "accessibility",
            "in": "path",
            "required": true,
            "type": "string",
            "enum": [
              "private",
              "public"
            ]
          },
          {
            "name": "status",
            "in": "path",
            "required": true,
            "type": "string",
            "enum": [
              "live",
              "test",
              "acceptance"
            ]
          },
          {
            "name": "context",
            "in": "path",
            "required": true,
            "type": "string",
            "pattern": "[A-Za-z0-9_-]+"
          },
          {
            "name": "function",
            "in": "path",
            "required": true,
            "type": "string",
            "enum": [
              "library",
              "schema"
            ]
          },
          {
            "name": "name",
            "in": "path",
            "required": true,
            "type": "string",
            "pattern": "[A-Za-z0-9_-]+"
          },
          {
            "name": "version",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful deletion",
            "schema": {
              "$ref": "#/definitions/Publication"
            }
          },
          "400": {
            "description": "Bad request"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal server error"
          }
        }
      }
    },
    "/ns/{repository}/{accessibility}/{status}/{context}/{function}/{name}/versions/{version}/sparql": {
      "get": {
        "tags": [
          "Publications"
        ],
        "summary": "Execute SPARQL query using GET",
        "description": "",
        "operationId": "executeSparqlQueryOnVersionGet",
        "produces": [
          "application/json",
          "text/csv",
          "application/sparql-results+json",
          "application/sparql-results+xml",
          "text/tab-separated-values"
        ],
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "App Token Authorization or Basic Authentication",
            "required": false,
            "type": "string"
          },
          {
            "name": "repository",
            "in": "path",
            "required": true,
            "type": "string",
            "pattern": "[A-Za-z0-9_-]+"
          },
          {
            "name": "accessibility",
            "in": "path",
            "required": true,
            "type": "string",
            "enum": [
              "private",
              "public"
            ]
          },
          {
            "name": "status",
            "in": "path",
            "required": true,
            "type": "string",
            "enum": [
              "live",
              "test",
              "acceptance"
            ]
          },
          {
            "name": "context",
            "in": "path",
            "required": true,
            "type": "string",
            "pattern": "[A-Za-z0-9_-]+"
          },
          {
            "name": "function",
            "in": "path",
            "required": true,
            "type": "string",
            "enum": [
              "library",
              "schema"
            ]
          },
          {
            "name": "name",
            "in": "path",
            "required": true,
            "type": "string",
            "pattern": "[A-Za-z0-9_-]+"
          },
          {
            "name": "version",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "query",
            "in": "query",
            "description": "Query",
            "required": true,
            "type": "string"
          },
          {
            "name": "default-graph-uri",
            "in": "query",
            "description": "Any (additional) publications/datasets that should be added as default graph",
            "required": false,
            "type": "array",
            "items": {
              "type": "string"
            },
            "collectionFormat": "multi"
          },
          {
            "name": "Accept",
            "in": "header",
            "description": "Output format",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "schema": {
              "$ref": "#/definitions/Pair"
            }
          },
          "400": {
            "description": "Invalid request",
            "schema": {
              "$ref": "#/definitions/Pair"
            }
          },
          "500": {
            "description": "Server error"
          }
        }
      },
      "post": {
        "tags": [
          "Publications"
        ],
        "summary": "Execute SPARQL query using POST",
        "description": "",
        "operationId": "executeSparqlQueryOnVersionPostForm",
        "consumes": [
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/csv",
          "application/sparql-results+json",
          "application/sparql-results+xml",
          "text/tab-separated-values"
        ],
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "App Token Authorization or Basic Authentication",
            "required": false,
            "type": "string"
          },
          {
            "name": "repository",
            "in": "path",
            "required": true,
            "type": "string",
            "pattern": "[A-Za-z0-9_-]+"
          },
          {
            "name": "accessibility",
            "in": "path",
            "required": true,
            "type": "string",
            "enum": [
              "private",
              "public"
            ]
          },
          {
            "name": "status",
            "in": "path",
            "required": true,
            "type": "string",
            "enum": [
              "live",
              "test",
              "acceptance"
            ]
          },
          {
            "name": "context",
            "in": "path",
            "required": true,
            "type": "string",
            "pattern": "[A-Za-z0-9_-]+"
          },
          {
            "name": "function",
            "in": "path",
            "required": true,
            "type": "string",
            "enum": [
              "library",
              "schema"
            ]
          },
          {
            "name": "name",
            "in": "path",
            "required": true,
            "type": "string",
            "pattern": "[A-Za-z0-9_-]+"
          },
          {
            "name": "version",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "query",
            "in": "query",
            "description": "Query",
            "required": true,
            "type": "string"
          },
          {
            "name": "default-graph-uri",
            "in": "query",
            "description": "Any (additional) publications/datasets that should be added as default graph",
            "required": false,
            "type": "array",
            "items": {
              "type": "string"
            },
            "collectionFormat": "multi"
          },
          {
            "name": "Accept",
            "in": "header",
            "description": "Output format",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "schema": {
              "type": "string"
            }
          },
          "400": {
            "description": "Invalid request",
            "schema": {
              "$ref": "#/definitions/Pair"
            }
          },
          "500": {
            "description": "Server error"
          }
        }
      }
    }
  },
  "definitions": {
    "Pair": {
      "type": "object",
      "properties": {
        "key": {
          "type": "object"
        },
        "left": {
          "type": "object"
        },
        "right": {
          "type": "object"
        },
        "value": {
          "type": "object"
        }
      }
    },
    "Publication": {
      "type": "object",
      "properties": {
        "description": {
          "type": "string"
        },
        "id": {
          "type": "string"
        },
        "name": {
          "type": "string"
        },
        "owner": {
          "type": "string"
        },
        "publicationDate": {
          "type": "string",
          "format": "date-time"
        },
        "publisher": {
          "type": "string"
        },
        "repository": {
          "type": "string"
        },
        "schemaURIs": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "useVersionedBaseUri": {
          "type": "boolean"
        },
        "versioningMode": {
          "type": "string",
          "enum": [
            "UNDEFINED",
            "NONE",
            "TIMESTAMP",
            "INCREMENTAL",
            "DATE_TIME",
            "CUSTOM"
          ]
        },
        "versions": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/PublicationVersion"
          }
        }
      }
    },
    "PublicationVersion": {
      "type": "object",
      "properties": {
        "description": {
          "type": "string"
        },
        "id": {
          "type": "string"
        },
        "publicationDate": {
          "type": "string",
          "format": "date-time"
        },
        "publisher": {
          "type": "string"
        },
        "schemaURIs": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "version": {
          "type": "string"
        }
      }
    }
  }
}