2018-11-27 12:01:44 +01:00
{
2018-11-29 18:57:43 +01:00
"basePath" : "/api/v1/aquarius" ,
2018-11-27 12:01:44 +01:00
"definitions" : {
} ,
2018-11-29 18:57:43 +01:00
"host" : "myfancyaquarius.com" ,
2018-11-27 12:01:44 +01:00
"info" : {
2018-11-30 17:35:59 +01:00
"description" : "Aquarius provides an off-chain database store for metadata about data assets. When running with our Docker images, it is exposed under `http://localhost:5000`." ,
"title" : "Aquarius" ,
"version" : "0.1.4"
2018-11-27 12:01:44 +01:00
} ,
"paths" : {
2018-11-30 17:35:59 +01:00
"/api/v1/aquarius/assets" : {
"get" : {
"description" : "" ,
"responses" : {
"200" : {
"description" : "successful action"
}
} ,
"summary" : "Get all asset IDs." ,
"tags" : [
"ddo"
]
}
} ,
"/api/v1/aquarius/assets/ddo" : {
"get" : {
"description" : "" ,
"responses" : {
"200" : {
"description" : "successful action"
}
} ,
"summary" : "Get DDO of all assets." ,
"tags" : [
"ddo"
]
2018-11-27 12:01:44 +01:00
} ,
2018-11-30 17:35:59 +01:00
"post" : {
"consumes" : [
"application/json"
] ,
"description" : "" ,
"parameters" : [
{
"description" : "DDO of the asset." ,
"in" : "body" ,
"name" : "body" ,
"required" : true ,
"schema" : {
"properties" : {
"@context" : {
"description" : null ,
"example" : "https://w3id.org/future-method/v1" ,
"type" : "string"
} ,
"authentication" : {
"description" : "List of authentication mechanisms." ,
"example" : [
{
"type" : "RsaSignatureAuthentication2018"
} ,
{
"publicKey" : "did:op:123456789abcdefghi#keys-1"
}
2018-11-27 12:01:44 +01:00
] ,
2018-11-30 17:35:59 +01:00
"type" : "array"
} ,
"id" : {
"description" : "ID of the asset." ,
"example" : "did:op:123456789abcdefghi" ,
"type" : "string"
} ,
"publicKey" : {
"description" : "List of public keys." ,
"example" : [
{
"id" : "did:op:123456789abcdefghi#keys-1"
} ,
{
"type" : "Ed25519VerificationKey2018"
} ,
{
"owner" : "did:op:123456789abcdefghi"
} ,
{
"publicKeyBase58" : "H3C2AVvLMv6gmMNam3uVAjZpfkcJCwDwnZn6z3wXmqPV"
}
2018-11-27 12:01:44 +01:00
] ,
2018-11-30 17:35:59 +01:00
"type" : "array"
} ,
"service" : {
"description" : "List of services." ,
"example" : [
{
"serviceEndpoint" : "http://mybrizo.org/api/v1/brizo/services/consume?pubKey=${pubKey}&serviceId={serviceId}&url={url}" ,
"type" : "Consume"
} ,
{
"serviceEndpoint" : "http://mybrizo.org/api/v1/brizo/services/compute?pubKey=${pubKey}&serviceId={serviceId}&algo={algo}&container={container}" ,
"type" : "Compute"
} ,
{
"metadata" : {
"additionalInformation" : {
"structuredMarkup" : [
{
"mediaType" : "application/ld+json" ,
"uri" : "http://skos.um.es/unescothes/C01194/jsonld"
} ,
{
"mediaType" : "text/turtle" ,
"uri" : "http://skos.um.es/unescothes/C01194/turtle"
}
] ,
"updateFrecuency" : "yearly"
} ,
"base" : {
"author" : "Met Office" ,
"compression" : "zip" ,
"contentType" : "text/csv" ,
"contentUrls" : [
"https://testocnfiles.blob.core.windows.net/testfiles/testzkp.zip"
] ,
"copyrightHolder" : "Met Office" ,
"dateCreated" : "2012-10-10T17:00:000Z" ,
"description" : "Weather information of UK including temperature and humidity" ,
"encoding" : "UTF-8" ,
"inLanguage" : "en" ,
"license" : "CC-BY" ,
"links" : [
{
"sample1" : "http://data.ceda.ac.uk/badc/ukcp09/data/gridded-land-obs/gridded-land-obs-daily/"
} ,
{
"sample2" : "http://data.ceda.ac.uk/badc/ukcp09/data/gridded-land-obs/gridded-land-obs-averages-25km/"
} ,
{
"fieldsDescription" : "http://data.ceda.ac.uk/badc/ukcp09/"
}
] ,
"name" : "UK Weather information 2011" ,
"price" : 10 ,
"size" : "3.1gb" ,
"tags" : "weather, uk, 2011, temperature, humidity" ,
"type" : "dataset" ,
"workExample" : "423432fsd,51.509865,-0.118092,2011-01-01T10:55:11+00:00,7.2,68"
} ,
"curation" : {
"numVotes" : 123 ,
"rating" : 0.93 ,
"schema" : "Binary Votting"
}
} ,
"serviceEndpoint" : "http://myaquarius.org/api/v1/provider/assets/metadata/{did}" ,
"type" : "Metadata"
}
2018-11-27 12:01:44 +01:00
] ,
2018-11-30 17:35:59 +01:00
"type" : "array"
}
} ,
"required" : [
"@context" ,
"id" ,
"publicKey" ,
"authentication" ,
"service"
] ,
"type" : "object"
}
}
] ,
"responses" : {
"201" : {
"description" : "Asset successfully registered."
2018-11-27 12:01:44 +01:00
} ,
2018-11-30 17:35:59 +01:00
"400" : {
"description" : "One of the required attributes is missing."
} ,
"404" : {
"description" : "Invalid asset data."
} ,
"500" : {
"description" : "Error"
}
} ,
"summary" : "Register DDO of a new asset" ,
"tags" : [
"ddo"
]
}
} ,
"/api/v1/aquarius/assets/ddo/query" : {
"get" : {
"description" : "" ,
"parameters" : [
{
"description" : "ID of the asset." ,
"in" : "query" ,
"name" : "text" ,
"required" : true ,
"type" : "string"
} ,
{
"description" : "Key or list of keys to sort the result" ,
"example" : {
2018-11-27 12:01:44 +01:00
"value" : 1
2018-11-30 17:35:59 +01:00
} ,
"in" : "query" ,
"name" : "sort" ,
"type" : "object"
2018-11-27 12:01:44 +01:00
} ,
2018-11-30 17:35:59 +01:00
{
"description" : "Number of records per page" ,
"example" : 100 ,
"in" : "query" ,
"name" : "offset" ,
"type" : "int"
} ,
{
"description" : "Page showed" ,
"example" : 0 ,
"in" : "query" ,
"name" : "page" ,
"type" : "int"
}
] ,
"responses" : {
"200" : {
"description" : "successful action"
}
} ,
"summary" : "Get a list of DDOs that match with the given text." ,
"tags" : [
"ddo"
]
2018-11-27 12:01:44 +01:00
} ,
2018-11-30 17:35:59 +01:00
"post" : {
"consumes" : [
"application/json"
] ,
"description" : "" ,
"parameters" : [
{
"description" : "Asset metadata." ,
"in" : "body" ,
"name" : "body" ,
"required" : true ,
"schema" : {
"properties" : {
"offset" : {
"description" : "Number of records per page" ,
"example" : 100 ,
"type" : "int"
} ,
"page" : {
"description" : "Page showed" ,
"example" : 0 ,
"type" : "int"
} ,
"query" : {
"description" : "Query to realize" ,
"example" : {
"value" : 1
} ,
"type" : "string"
} ,
"sort" : {
"description" : "Key or list of keys to sort the result" ,
"example" : {
"value" : 1
} ,
"type" : "object"
}
2018-11-27 12:01:44 +01:00
} ,
2018-11-30 17:35:59 +01:00
"type" : "object"
}
}
] ,
"responses" : {
"200" : {
"description" : "successful action"
}
} ,
"summary" : "Get a list of DDOs that match with the executed query." ,
"tags" : [
"ddo"
]
}
} ,
"/api/v1/aquarius/assets/ddo/{did}" : {
"put" : {
"consumes" : [
"application/json"
] ,
"description" : "" ,
"parameters" : [
{
"description" : "DDO of the asset." ,
"in" : "body" ,
"name" : "body" ,
"required" : true ,
"schema" : {
"properties" : {
"@context" : {
"description" : null ,
"example" : "https://w3id.org/future-method/v1" ,
"type" : "string"
} ,
"authentication" : {
"description" : "List of authentication mechanisms." ,
"example" : [
{
"type" : "RsaSignatureAuthentication2018"
} ,
{
"publicKey" : "did:op:123456789abcdefghi#keys-1"
}
2018-11-27 12:01:44 +01:00
] ,
2018-11-30 17:35:59 +01:00
"type" : "array"
} ,
"id" : {
"description" : "ID of the asset." ,
"example" : "did:op:123456789abcdefghi" ,
"type" : "string"
} ,
"publicKey" : {
"description" : "List of public keys." ,
"example" : [
{
"id" : "did:op:123456789abcdefghi#keys-1"
} ,
{
"type" : "Ed25519VerificationKey2018"
} ,
{
"owner" : "did:op:123456789abcdefghi"
} ,
{
"publicKeyBase58" : "H3C2AVvLMv6gmMNam3uVAjZpfkcJCwDwnZn6z3wXmqPV"
}
2018-11-27 12:01:44 +01:00
] ,
2018-11-30 17:35:59 +01:00
"type" : "array"
} ,
"service" : {
"description" : "List of services." ,
"example" : [
{
"serviceEndpoint" : "http://mybrizo.org/api/v1/brizo/services/consume?pubKey=${pubKey}&serviceId={serviceId}&url={url}" ,
"type" : "Consume"
} ,
{
"serviceEndpoint" : "http://mybrizo.org/api/v1/brizo/services/compute?pubKey=${pubKey}&serviceId={serviceId}&algo={algo}&container={container}" ,
"type" : "Compute"
} ,
{
"metadata" : {
"additionalInformation" : {
"structuredMarkup" : [
{
"mediaType" : "application/ld+json" ,
"uri" : "http://skos.um.es/unescothes/C01194/jsonld"
} ,
{
"mediaType" : "text/turtle" ,
"uri" : "http://skos.um.es/unescothes/C01194/turtle"
}
] ,
"updateFrecuency" : "yearly"
} ,
"base" : {
"author" : "Met Office" ,
"compression" : "zip" ,
"contentType" : "text/csv" ,
"contentUrls" : [
"https://testocnfiles.blob.core.windows.net/testfiles/testzkp.zip"
] ,
"copyrightHolder" : "Met Office" ,
"dateCreated" : "2012-10-10T17:00:000Z" ,
"description" : "Weather information of UK including temperature and humidity" ,
"encoding" : "UTF-8" ,
"inLanguage" : "en" ,
"license" : "CC-BY" ,
"links" : [
{
"name" : "Sample of Asset Data" ,
"type" : "sample" ,
"url" : "https://foo.com/sample.csv"
} ,
{
"AssetID" : "4d517500da0acb0d65a716f61330969334630363ce4a6a9d39691026ac7908ea" ,
"name" : "Data Format Definition" ,
"type" : "format"
}
] ,
"name" : "UK Weather information 2011" ,
"price" : 10 ,
"size" : "3.1gb" ,
"tags" : "weather, uk, 2011, temperature, humidity" ,
"type" : "dataset" ,
"workExample" : "423432fsd,51.509865,-0.118092,2011-01-01T10:55:11+00:00,7.2,68"
} ,
"curation" : {
"numVotes" : 123 ,
"rating" : 0.93 ,
"schema" : "Binary Voting"
}
} ,
"serviceEndpoint" : "http://myaquarius.org/api/v1/aquarius/assets/metadata/{did}" ,
"type" : "Metadata"
}
2018-11-27 12:01:44 +01:00
] ,
2018-11-30 17:35:59 +01:00
"type" : "array"
}
} ,
"required" : [
"@context" ,
"id" ,
"publicKey" ,
"authentication" ,
"service"
] ,
"type" : "object"
}
}
] ,
"responses" : {
"200" : {
"description" : "Asset successfully updated."
2018-11-27 12:01:44 +01:00
} ,
2018-11-30 17:35:59 +01:00
"201" : {
"description" : "Asset successfully registered."
} ,
"400" : {
"description" : "One of the required attributes is missing."
} ,
"404" : {
"description" : "Invalid asset data."
} ,
"500" : {
"description" : "Error"
}
} ,
"summary" : "Update DDO of an existing asset" ,
"tags" : [
"ddo"
]
}
} ,
"/api/v1/aquarius/assets/ddo/{id}" : {
"delete" : {
"description" : "" ,
"parameters" : [
{
"description" : "ID of the asset." ,
"in" : "path" ,
"name" : "id" ,
"required" : true ,
"type" : "string"
}
] ,
"responses" : {
"200" : {
"description" : "successfully deleted"
} ,
"404" : {
"description" : "This asset ID is not in OceanDB"
} ,
"500" : {
"description" : "Error"
}
} ,
"summary" : "Retire metadata of an asset" ,
"tags" : [
"ddo"
]
2018-11-27 12:01:44 +01:00
} ,
2018-11-30 17:35:59 +01:00
"get" : {
"description" : "" ,
"parameters" : [
{
"description" : "ID of the asset." ,
"in" : "path" ,
"name" : "id" ,
"required" : true ,
"type" : "string"
}
] ,
"responses" : {
"200" : {
"description" : "successful operation"
} ,
"404" : {
"description" : "This asset ID is not in OceanDB"
}
} ,
"summary" : "Get DDO of a particular asset." ,
"tags" : [
"ddo"
]
}
} ,
"/api/v1/aquarius/assets/metadata/{id}" : {
"get" : {
"description" : "" ,
"parameters" : [
{
"description" : "ID of the asset." ,
"in" : "path" ,
"name" : "id" ,
"required" : true ,
"type" : "string"
}
] ,
"responses" : {
"200" : {
"description" : "successful operation."
} ,
"404" : {
"description" : "This asset ID is not in OceanDB."
}
} ,
"summary" : "Get metadata of a particular asset" ,
"tags" : [
"metadata"
]
}
}
2018-11-27 12:01:44 +01:00
} ,
"swagger" : "2.0"
}