Rijksmuseum (Independent Publisher) (#2423)

* Rijksmuseum (Independent Publisher)

* Updated Responses and Operation
This commit is contained in:
Ashwin Ganesh Kumar 2023-03-08 21:35:37 +01:00 коммит произвёл GitHub
Родитель a65c0114e2
Коммит 963ff8d777
Не найден ключ, соответствующий данной подписи
Идентификатор ключа GPG: 4AEE18F83AFDEB23
3 изменённых файлов: 885 добавлений и 0 удалений

Просмотреть файл

@ -0,0 +1,836 @@
{
"swagger": "2.0",
"info": {
"title": "Rijksmuseum",
"description": "Retrieve metadata of objects from the Rijksmuseum collection",
"version": "1.0",
"contact": {
"name": "Ashwin Ganesh Kumar",
"url": "https://www.sogeti.nl/",
"email": "ashwin.ganesh-kumar@sogeti.com"
}
},
"x-ms-connector-metadata": [
{
"propertyName": "Website",
"propertyValue": "https://data.rijksmuseum.nl/"
},
{
"propertyName": "Privacy policy",
"propertyValue": "https://www.rijksmuseum.nl/en/footer/privacy-policy"
},
{
"propertyName": "Categories",
"propertyValue": "Data"
}
],
"host": "www.rijksmuseum.nl",
"basePath": "/",
"schemes": [
"https"
],
"consumes": [],
"produces": [],
"paths": {
"/api/{culture}/collection/": {
"get": {
"responses": {
"200": {
"description": "Success",
"schema": {
"type": "object",
"properties": {
"elapsedMilliseconds": {
"type": "integer",
"format": "int32",
"description": "elapsedMilliseconds",
"title": "Ellapsed Milliseconds",
"x-ms-visibility": "advanced"
},
"count": {
"type": "integer",
"format": "int32",
"description": "count",
"title": "Number of collections"
},
"countFacets": {
"type": "object",
"properties": {
"hasimage": {
"type": "integer",
"format": "int32",
"description": "hasimage",
"title": "Number of Images"
},
"ondisplay": {
"type": "integer",
"format": "int32",
"description": "ondisplay",
"title": "Number of Objects on Display"
}
},
"description": "countFacets"
},
"artObjects": {
"type": "array",
"items": {
"type": "object",
"properties": {
"links": {
"type": "object",
"properties": {
"self": {
"type": "string",
"description": "self",
"title": "self URL",
"x-ms-visibility": "internal"
},
"web": {
"type": "string",
"description": "web",
"title": "Art Object Web URL"
}
},
"description": "links"
},
"id": {
"type": "string",
"description": "id",
"title": "Art Object Id with culture"
},
"objectNumber": {
"type": "string",
"description": "objectNumber",
"title": "Art Object Number"
},
"title": {
"type": "string",
"description": "title",
"title": "Title of the Art Object"
},
"hasImage": {
"type": "boolean",
"description": "hasImage",
"title": "Image Count",
"enum": [
true,
false
]
},
"principalOrFirstMaker": {
"type": "string",
"description": "principalOrFirstMaker",
"title": "Prinicipal/ First Maker"
},
"longTitle": {
"type": "string",
"description": "longTitle",
"title": "Long title of Art Object"
},
"showImage": {
"type": "boolean",
"description": "showImage",
"title": "Visibility of Image",
"enum": [
true,
false
],
"x-ms-visibility": "advanced"
},
"permitDownload": {
"type": "boolean",
"description": "permitDownload",
"title": "Download Permission",
"enum": [
true,
false
],
"x-ms-visibility": "advanced"
},
"webImage": {
"type": "object",
"properties": {
"guid": {
"type": "string",
"description": "guid",
"title": "GUID of HeaderImage",
"x-ms-visibility": "advanced"
},
"offsetPercentageX": {
"type": "integer",
"format": "int32",
"description": "offsetPercentageX",
"title": "Header Image offsetPercentageX",
"x-ms-visibility": "advanced"
},
"offsetPercentageY": {
"type": "integer",
"format": "int32",
"description": "offsetPercentageY",
"title": "Header Image offsetPercentageY",
"x-ms-visibility": "advanced"
},
"width": {
"type": "integer",
"format": "int32",
"description": "width",
"title": "Width of Header Image",
"x-ms-visibility": "advanced"
},
"height": {
"type": "integer",
"format": "int32",
"description": "height",
"title": "Height of Header Image",
"x-ms-visibility": "advanced"
},
"url": {
"type": "string",
"description": "url",
"title": "Header Image URL",
"x-ms-visibility": "advanced"
}
},
"description": "webImage"
},
"headerImage": {
"type": "object",
"properties": {
"guid": {
"type": "string",
"description": "guid",
"title": "GUID of WebImage",
"x-ms-visibility": "advanced"
},
"offsetPercentageX": {
"type": "integer",
"format": "int32",
"description": "offsetPercentageX",
"title": "Web Image offsetPercentageX",
"x-ms-visibility": "advanced"
},
"offsetPercentageY": {
"type": "integer",
"format": "int32",
"description": "offsetPercentageY",
"title": "Web Image offsetPercentageY",
"x-ms-visibility": "advanced"
},
"width": {
"type": "integer",
"format": "int32",
"description": "width",
"title": "Width of Web Image",
"x-ms-visibility": "advanced"
},
"height": {
"type": "integer",
"format": "int32",
"description": "height",
"title": "Height of Web Image",
"x-ms-visibility": "advanced"
},
"url": {
"type": "string",
"description": "url",
"title": "Web Image URL"
}
},
"description": "headerImage"
},
"productionPlaces": {
"type": "array",
"items": {
"type": "string"
},
"description": "productionPlaces"
}
}
},
"description": "artObjects"
},
"facets": {
"type": "array",
"items": {
"type": "object",
"properties": {
"facets": {
"type": "array",
"items": {
"type": "object",
"properties": {
"key": {
"type": "string",
"description": "key"
},
"value": {
"type": "integer",
"format": "int32",
"description": "value"
}
}
},
"description": "facets"
},
"name": {
"type": "string",
"description": "name",
"title": "Facet Name",
"x-ms-visibility": "advanced"
},
"otherTerms": {
"type": "integer",
"format": "int32",
"description": "otherTerms",
"title": "Facet Other Terms",
"x-ms-visibility": "advanced"
},
"prettyName": {
"type": "integer",
"format": "int32",
"description": "prettyName",
"title": "Facet Pretty Name",
"x-ms-visibility": "advanced"
}
}
},
"description": "facets"
}
}
}
}
},
"summary": "Search the Collection",
"operationId": "GetCollection",
"parameters": [
{
"name": "culture",
"in": "path",
"required": true,
"type": "string",
"default": "nl",
"description": "The language to search in (and of the results).",
"enum": [
"nl",
"en"
],
"x-ms-summary": "Language",
"x-ms-url-encoding": "single"
},
{
"name": "objectnumber",
"in": "query",
"required": false,
"type": "string",
"description": "The identifier of the object (case-sensitive).",
"x-ms-summary": "Object Identifier",
"x-ms-visibility": "advanced"
},
{
"name": "involvedMaker",
"in": "query",
"required": false,
"type": "string",
"description": "Object needs to be made by this agent.",
"x-ms-summary": "Principal Maker (Full name)"
},
{
"name": "p",
"in": "query",
"required": false,
"type": "integer",
"default": 0,
"description": "The result page. Note that p * ps cannot exceed 10,000.",
"x-ms-summary": "Result Page",
"x-ms-visibility": "advanced"
},
{
"name": "ps",
"in": "query",
"required": false,
"type": "integer",
"default": 10,
"description": "The number of results per page. Note that p * ps cannot exceed 10,000. ps can have a value from 1-100.",
"x-ms-summary": "Results/Page",
"x-ms-visibility": "advanced"
},
{
"name": "s",
"in": "query",
"required": false,
"type": "string",
"description": "Sorting of the Results",
"x-ms-summary": "Sort Type",
"x-ms-visibility": "advanced",
"enum": [
"relevance",
"objecttype",
"chronologic",
"achronologic",
"artist",
"artistdesc"
]
},
{
"name": "toppieces",
"in": "query",
"required": false,
"type": "boolean",
"default": false,
"description": "Only give works that are top pieces.",
"x-ms-summary": "Top Pieces",
"x-ms-visibility": "advanced",
"enum": [
true,
false
]
},
{
"name": "imgoly",
"in": "query",
"required": false,
"type": "boolean",
"default": false,
"enum": [
true,
false
],
"description": "Only give results for which an image is available or not.",
"x-ms-summary": "Image availability",
"x-ms-visibility": "advanced"
},
{
"name": "f.dating.period",
"in": "query",
"required": false,
"type": "integer",
"description": "The century in which the object is made (0-21).",
"x-ms-summary": "Century in which object is made"
},
{
"name": "title",
"in": "query",
"required": false,
"type": "string",
"description": "Title of the Object",
"x-ms-summary": "Object Title"
},
{
"name": "technique",
"in": "query",
"required": false,
"type": "string",
"description": "The technique used to make the object.",
"x-ms-summary": "Technique used",
"x-ms-visibility": "advanced"
},
{
"name": "material",
"in": "query",
"required": false,
"type": "string",
"description": "The material of the object.",
"x-ms-summary": "Material",
"x-ms-visibility": "advanced"
},
{
"name": "type",
"in": "query",
"required": false,
"type": "string",
"description": "The type of the object.",
"x-ms-summary": "Object Type"
},
{
"name": "place",
"in": "query",
"required": false,
"type": "string",
"description": "The place where the object was produced",
"x-ms-summary": "Production place"
}
],
"description": "This operation is used for searching the rijksmuseum collection"
}
},
"/api/{culture}/usersets/{user-id}-{collection-name}": {
"get": {
"responses": {
"200": {
"description": "Success",
"schema": {
"type": "object",
"properties": {
"elapsedMilliseconds": {
"type": "integer",
"format": "int32",
"description": "elapsedMilliseconds",
"title": "Elapsed Milliseconds",
"x-ms-visibility": "advanced"
},
"userSet": {
"type": "object",
"properties": {
"links": {
"type": "object",
"properties": {
"overview": {
"type": "string",
"description": "overview",
"title": "overview URL",
"x-ms-visibility": "internal"
},
"web": {
"type": "string",
"description": "web",
"title": "Web URL"
}
},
"description": "links"
},
"id": {
"type": "string",
"description": "id",
"title": "User-Collection id"
},
"count": {
"type": "integer",
"format": "int32",
"description": "count",
"title": "Number of objects in your collection"
},
"type": {
"type": "string",
"description": "type",
"title": "Type",
"x-ms-visibility": "advanced"
},
"name": {
"type": "string",
"description": "name",
"title": "Collection Name"
},
"slug": {
"type": "string",
"description": "slug",
"title": "Slug",
"x-ms-visibility": "advanced"
},
"description": {
"type": "string",
"description": "description",
"title": "Description of the User-Collection",
"x-ms-visibility": "advanced"
},
"user": {
"type": "object",
"properties": {
"id": {
"type": "integer",
"format": "int32",
"description": "id",
"title": "User Id"
},
"name": {
"type": "string",
"description": "name",
"title": "User Name"
},
"lang": {
"type": "string",
"description": "lang",
"title": "User Language",
"x-ms-visibility": "advanced"
},
"avatarUrl": {
"type": "string",
"description": "avatarUrl",
"title": "Avatar URL",
"x-ms-visibility": "advanced"
},
"headerUrl": {
"type": "string",
"description": "headerUrl",
"title": "Header URL",
"x-ms-visibility": "advanced"
},
"initials": {
"type": "string",
"description": "initials",
"title": "Initials of the User",
"x-ms-visibility": "advanced"
}
},
"description": "user"
},
"setItems": {
"type": "array",
"items": {
"type": "object",
"properties": {
"links": {
"type": "object",
"properties": {
"artobject": {
"type": "string",
"description": "artobject",
"title": "art object URL",
"x-ms-visibility": "internal"
},
"web": {
"type": "string",
"description": "web",
"title": "art object Web URL"
}
},
"description": "links"
},
"id": {
"type": "string",
"description": "id",
"title": "Art Object Id",
"x-ms-visibility": "advanced"
},
"objectNumber": {
"type": "string",
"description": "objectNumber",
"title": "Object Number"
},
"relation": {
"type": "string",
"description": "relation",
"title": "Relation",
"x-ms-visibility": "advanced"
},
"relationDescription": {
"type": "string",
"description": "relationDescription",
"title": "Relation Description",
"x-ms-visibility": "advanced"
},
"cropped": {
"type": "boolean",
"description": "cropped",
"title": "cropped",
"x-ms-visibility": "advanced",
"enum": [
true,
false
]
},
"cropX": {
"type": "integer",
"format": "int32",
"description": "cropX",
"title": "cropX",
"x-ms-visibility": "advanced"
},
"cropY": {
"type": "integer",
"format": "int32",
"description": "cropY",
"title": "cropY",
"x-ms-visibility": "advanced"
},
"cropWidth": {
"type": "integer",
"format": "int32",
"description": "cropWidth",
"title": "cropWidth",
"x-ms-visibility": "advanced"
},
"cropHeight": {
"type": "integer",
"format": "int32",
"description": "cropHeight",
"title": "cropHeight",
"x-ms-visibility": "advanced"
},
"origWidth": {
"type": "integer",
"format": "int32",
"description": "origWidth",
"title": "Original Width of the art object"
},
"origHeight": {
"type": "integer",
"format": "int32",
"description": "origHeight",
"title": "Original Height of the art object",
"x-ms-visibility": "advanced"
},
"image": {
"type": "object",
"properties": {
"guid": {
"type": "string",
"description": "guid",
"title": "ID of the image of the artobject in the collection",
"x-ms-visibility": "advanced"
},
"parentObjectNumber": {
"type": "string",
"description": "parentObjectNumber",
"title": "Parent Object Number"
},
"cdnUrl": {
"type": "string",
"description": "cdnUrl",
"title": "Image URL of the art object in the user set collection"
},
"cropX": {
"type": "string",
"description": "cropX",
"title": "cropX of the image of the art object in the user set collection",
"x-ms-visibility": "advanced"
},
"cropY": {
"type": "string",
"description": "cropY",
"title": "cropY of the image of the art object in the user set collection",
"x-ms-visibility": "advanced"
},
"width": {
"type": "integer",
"format": "int32",
"description": "width",
"title": "width of the image of the art object in the user set collection",
"x-ms-visibility": "advanced"
},
"height": {
"type": "integer",
"format": "int32",
"description": "height",
"title": "height of the image of the art object in the user set collection",
"x-ms-visibility": "advanced"
},
"offsetPercentageX": {
"type": "integer",
"format": "int32",
"description": "offsetPercentageX",
"title": "offsetPercentageX of the image of the art object in the user set collection",
"x-ms-visibility": "advanced"
},
"offsetPercentageY": {
"type": "integer",
"format": "int32",
"description": "offsetPercentageY",
"title": "offsetPercentageY of the image of the art object in the user set collection",
"x-ms-visibility": "advanced"
}
},
"description": "image"
}
}
},
"description": "setItems"
},
"createdOn": {
"type": "string",
"description": "createdOn",
"title": "User Collection Created On"
},
"updatedOn": {
"type": "string",
"description": "updatedOn",
"title": "User Collection Updated On"
}
},
"description": "userSet"
}
}
}
}
},
"summary": "User-generated content",
"description": "These APIs give access to sets of objects created by users in Rijksstudio.",
"operationId": "GetUsersets",
"parameters": [
{
"name": "culture",
"in": "path",
"required": true,
"type": "string",
"default": "nl",
"description": "The language to search in (and of the results).",
"x-ms-summary": "Language",
"x-ms-url-encoding": "single",
"enum": [
"nl",
"en"
]
},
{
"name": "user-id",
"in": "path",
"required": true,
"type": "integer",
"x-ms-summary": "User id",
"x-ms-url-encoding": "single",
"description": "Specify an individual user-id"
},
{
"name": "collection-name",
"in": "path",
"required": true,
"type": "string",
"description": "Specify your collection name (in small letter and spaces to be replaced with \u0022-\u0022)",
"x-ms-summary": "Collection Name",
"x-ms-url-encoding": "single"
},
{
"name": "format",
"in": "query",
"required": false,
"type": "string",
"default": "json",
"description": "The format of the result.",
"x-ms-summary": "Result format",
"enum": [
"json",
"jsonp",
"xml"
],
"x-ms-visibility": "advanced"
},
{
"name": "page",
"in": "query",
"required": false,
"type": "integer",
"default": 0,
"description": "The result page to fetch. Note that page * pageSize cannot exceed 10.000.",
"x-ms-summary": "Result page (0-n)",
"x-ms-visibility": "advanced"
},
{
"name": "pageSize",
"in": "query",
"required": false,
"type": "integer",
"default": 25,
"description": "The number of results per page. Note that page * pageSize cannot exceed 10.000.",
"x-ms-summary": "Results/page (1-100)",
"x-ms-visibility": "advanced"
}
]
}
}
},
"definitions": {},
"parameters": {},
"responses": {},
"securityDefinitions": {
"API Key": {
"type": "apiKey",
"in": "query",
"name": "key"
}
},
"security": [
{
"API Key": []
}
],
"tags": []
}

Просмотреть файл

@ -0,0 +1,23 @@
{
"properties": {
"connectionParameters": {
"api_key": {
"type": "securestring",
"uiDefinition": {
"displayName": "API Key",
"description": "The API Key issued by Rijksmuseum",
"tooltip": "Provide your API Key",
"constraints": {
"tabIndex": 2,
"clearText": false,
"required": "true"
}
}
}
},
"iconBrandColor": "#da3b01",
"capabilities": [],
"publisher": "Ashwin Ganesh Kumar",
"stackOwner": "Rijksmuseum"
}
}

Просмотреть файл

@ -0,0 +1,26 @@
# Rijksmuseum
Rijksmuseum data services provide access to object metadata and user generated content from their museum collection.
## Publisher: Ashwin Ganesh Kumar
## Prerequisites
You need a Rijksmuseum account. You can make one for free [here](https://www.rijksmuseum.nl/nl/registreer?redirectUrl=https://www.rijksmuseum.nl/nl).
## Obtaining Credentials
For authorization an API key is required. How to get this is described in
their [website](https://data.rijksmuseum.nl/object-metadata/api/)
## Supported Operations
### Object metadata
Searching the collection of objects from Rijksmuseum. [More info](https://data.rijksmuseum.nl/object-metadata/api/)
### User-generated content
Gives access to sets of objects created by users in Rijksstudio. [More info](https://data.rijksmuseum.nl/user-generated-content/api/)
## Known Issues and Limitations
Although the API service is free, the number of calls is limited. The number of results that will be fetched cannot exceed 10,000.
## Deployment Instructions
Upload the connector and authorize by providing your API key.