---
swagger: "2.0"
info:
description: "scholexplorer API version 2.0"
version: "4.0"
title: "Scholix Api"
#host: "api-dliservice-prototype-dli.d4science.org"
host: "{{host}}"
basePath: "/"
tags:
- name: "default"
description: "Default namespace"
- name: "LinkProvider"
description: "Operation related to the Link Provider"
- name: "LinkPublisher"
description: "Operation related to the Link Publisher"
- name: "Links"
description: "Operation related to the Scholix Links"
consumes:
- "application/json"
produces:
- "application/json"
paths:
/LinkProvider/:
get:
tags:
- "LinkProvider"
description: "Get the list of the Link Provider and the number of Scholix relationships"
operationId: "get_data_source_collection"
parameters:
- name: "name"
in: "query"
description: "filter for link Provider Name"
required: false
type: "string"
responses:
200:
description: "A list of Link Provider and the total number of Scholix relationships\
\ they provide"
schema:
type: "array"
items:
$ref: "#/definitions/LinkProvider Model"
x-swagger-router-controller: "swagger_server.controllers.link_provider_controller"
/LinkPublisher/inSource:
get:
tags:
- "LinkPublisher"
description: "Return a List of all Publishers that provide source objects in\
\ Scholix links and the total number of links where the source object come\
\ from this publisher"
operationId: "get_source_publisher_collection"
parameters:
- name: "name"
in: "query"
description: "filter for link Provider Name"
required: false
type: "string"
responses:
200:
description: "A list of Link Provider and the total number of Scholix relationships\
\ they provide"
schema:
type: "array"
items:
$ref: "#/definitions/LinkProvider Model"
x-swagger-router-controller: "swagger_server.controllers.link_publisher_controller"
/LinkPublisher/inTarget:
get:
tags:
- "LinkPublisher"
description: "Return a List of all Publishers that provide source objects in\
\ Scholix links and the total number of links where the target object come\
\ from this publisher"
operationId: "get_target_publisher_collection"
parameters:
- name: "name"
in: "query"
description: "filter for link Provider Name"
required: false
type: "string"
responses:
200:
description: "A list of Link Provider and the total number of Scholix relationships\
\ they provide"
schema:
type: "array"
items:
$ref: "#/definitions/LinkProvider Model"
x-swagger-router-controller: "swagger_server.controllers.link_publisher_controller"
/Links/:
get:
tags:
- "Links"
description: "Return a List of scholix Links, this method require one of the following parameters (sourcePid, targetPid, sourcePublisher,\
\ targetPublisher, linkProvider) all parameters can be combined"
operationId: "get_links"
parameters:
- name: "linkProvider"
in: "query"
description: "Filter Scholix relationships collected from a LinkProvider"
required: false
type: "string"
- name: "targetPid"
in: "query"
description: "Filter Scholix relationships having a target pid"
required: false
type: "string"
- name: "targetPublisher"
in: "query"
description: "Filter Scholix relationships having a target published in a\
\ Publisher named targetPublisher"
required: false
type: "string"
- name: "sourcePid"
in: "query"
description: "Filter Scholix relationships having a source pid"
required: false
type: "string"
- name: "harvestedAfter"
in: "query"
description: "filter scholix Links having collected after this date"
required: false
type: "string"
- name: "sourcePublisher"
in: "query"
description: "Filter Scholix relationships having a source published in a\
\ Publisher named sourcePublisher"
required: false
type: "string"
- name: "sourcePidType"
in: "query"
description: "Filter Scholix relationships having a source pid type"
required: false
type: "string"
- name: "page"
in: "query"
description: "select page of result"
required: false
type: "integer"
- name: "targetPidType"
in: "query"
description: "Filter Scholix relationships having a target pid Type"
required: false
type: "string"
responses:
200:
description: "A list of List of scholix Links following the schema https://github.com/scholix/schema/tree/master/json/v3/schema.json"
schema:
type: "array"
items:
$ref: "#/definitions/Scholix Links Model"
x-swagger-router-controller: "swagger_server.controllers.links_controller"
definitions:
Scholix Resource Model:
type: "object"
properties:
Publisher:
type: "array"
items:
$ref: "#/definitions/Datasource Model"
Creator:
type: "array"
items:
$ref: "#/definitions/Scholix Author Model"
Title:
type: "string"
PublicationDate:
type: "string"
Identifier:
type: "array"
items:
$ref: "#/definitions/Scholix Identifier"
Type:
type: "string"
example: "literature"
enum:
- "literature"
- "dataset"
- "unknwon"
Scholix Links Model:
type: "object"
properties:
totalPages:
type: "integer"
currentPage:
type: "integer"
totalLinks:
type: "integer"
result:
type: "array"
items:
$ref: "#/definitions/Scholix Data Model"
Datasource Model:
type: "object"
properties:
identifier:
type: "array"
items:
$ref: "#/definitions/Scholix Identifier"
name:
type: "string"
Scholix Author Model:
type: "object"
properties:
Identifier:
type: "array"
items:
$ref: "#/definitions/Scholix Identifier"
Name:
type: "string"
Scholix Data Model:
type: "object"
properties:
LinkProvider:
type: "array"
items:
$ref: "#/definitions/Datasource Model"
target:
$ref: "#/definitions/Scholix Resource Model"
source:
$ref: "#/definitions/Scholix Resource Model"
LicenseURL:
type: "string"
HarvestedDate:
type: "string"
format: "date"
LinkPublicationDate:
type: "string"
RelationshipType:
$ref: "#/definitions/Relationship Model"
Scholix Identifier:
type: "object"
properties:
ID:
type: "string"
IDScheme:
type: "string"
IDURL:
type: "string"
LinkProvider Model:
type: "object"
properties:
totalRelationships:
type: "integer"
name:
type: "string"
Relationship Model:
type: "object"
properties:
SubType:
type: "string"
example: "IsSupplementTo"
enum:
- "IsSupplementTo"
- "IsSupplementedBy"
- "References"
- "IsReferencedBy"
- "IsRelatedTo"
SubTypeSchema:
type: "string"
Name:
type: "string"
responses:
MaskError:
description: "When any error occurs on mask"
ParseError:
description: "When a mask can't be parsed"