...
Representation example in DSPace
Representation in TTL (extract from
...
RDFizer)
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
### Repository @prefix void: <http://rdfs.org/ns/void#> . @prefix dcterms: <http://purl.org/dc/terms/> . @prefix foaf: <http://xmlns.com/foaf/0.1/> . @prefix dspace: <http://digital-repositories.org/ontologies/dspace/0.1.0#> . <http://localhost:8080/server/rdf/resource/123456789/0> dspace:hasCommunity <http://localhost:8080/server/rdf/resource/123456789/2> , <http://localhost:8080/server/rdf/resource/123456789/1> , <http://localhost:8080/server/rdf/resource/123456789/58> ; dcterms:hasPart <http://localhost:8080/server/rdf/resource/123456789/2> , <http://localhost:8080/server/rdf/resource/123456789/1> , <http://localhost:8080/server/rdf/resource/123456789/58> ; void:sparqlEndpoint <http://localhost/fuseki/dspace/sparql> ; foaf:homepage <http://localhost:8080/> . ### Super Community @prefix void: <http:/rdfs.org/ns/void#> . @prefix dcterms: <http://purl.org/dc/terms/> . @prefix bibo: <http://purl.org/ontology/bibo/> . @prefix foaf: <http://xmlns.com/foaf/0.1/> . @prefix dspace: <http://digital-repositories.org/ontologies/dspace/0.1.0#> . <http://localhost:8080/server/rdf/resource/123456789/58> a bibo:Collection ; dspace:hasCollection <http://localhost:8080/server/rdf/resource/123456789/61> , <http://localhost:8080/server/rdf/resource/123456789/62> , <http://localhost:8080/server/rdf/resource/123456789/63> , <http://localhost:8080/server/rdf/resource/123456789/64> ; dspace:hasSubcommunity <http://localhost:8080/server/rdf/resource/123456789/60> , <http://localhost:8080/server/rdf/resource/123456789/59> ; dspace:isPartOfRepository <http://localhost:8080/server/rdf/resource/123456789/0> ; dcterms:hasPart <http://localhost:8080/server/rdf/resource/123456789/60> , <http://localhost:8080/server/rdf/resource/123456789/63> , <http://localhost:8080/server/rdf/resource/123456789/59> , <http://localhost:8080/server/rdf/resource/123456789/64> , <http://localhost:8080/server/rdf/resource/123456789/61> , <http://localhost:8080/server/rdf/resource/123456789/62> ; dcterms:isPartOf <http://localhost:8080/server/rdf/resource/123456789/0> ; void:sparqlEndpoint <http://localhost/fuseki/dspace/sparql> ; foaf:homepage <http://localhost:8080/> . ### Super Community / Sub Community 1 @prefix void: <http://rdfs.org/ns/void#> . @prefix dcterms: <http://purl.org/dc/terms/> . @prefix bibo: <http://purl.org/ontology/bibo/> . @prefix foaf: <http://xmlns.com/foaf/0.1/> . @prefix dspace: <http://digital-repositories.org/ontologies/dspace/0.1.0#> . <http://localhost:8080/server/rdf/resource/123456789/59> a bibo:Collection ; dspace:hasCollection <http://localhost:8080/server/rdf/resource/123456789/61> , <http://localhost:8080/server/rdf/resource/123456789/62> ; dspace:hasSubcommunity <http://localhost:8080/server/rdf/resource/123456789/65> ; dspace:isSubcommunityOf <http://localhost:8080/server/rdf/resource/123456789/58> ; dcterms:hasPart <http://localhost:8080/server/rdf/resource/123456789/62> , <http://localhost:8080/server/rdf/resource/123456789/65> , <http://localhost:8080/server/rdf/resource/123456789/61> ; dcterms:isPartOf <http://localhost:8080/server/rdf/resource/123456789/58> ; void:sparqlEndpoint <http://localhost/fuseki/dspace/sparql> ; foaf:homepage <http://localhost:8080/> . ### Super Community / Sub Community 2 @prefix void: <http://rdfs.org/ns/void#> . @prefix dcterms: <http://purl.org/dc/terms/> . @prefix bibo: <http://purl.org/ontology/bibo/> . @prefix foaf: <http://xmlns.com/foaf/0.1/> . @prefix dspace: <http://digital-repositories.org/ontologies/dspace/0.1.0#> . <http://localhost:8080/server/rdf/resource/123456789/60> a bibo:Collection ; dspace:hasCollection <http://localhost:8080/server/rdf/resource/123456789/63> , <http://localhost:8080/server/rdf/resource/123456789/64> ; dspace:isSubcommunityOf <http://localhost:8080/server/rdf/resource/123456789/58> ; dcterms:hasPart <http://localhost:8080/server/rdf/resource/123456789/63> , <http://localhost:8080/server/rdf/resource/123456789/64> ; dcterms:isPartOf <http://localhost:8080/server/rdf/resource/123456789/58> ; void:sparqlEndpoint <http://localhost/fuseki/dspace/sparql> ; foaf:homepage <http://localhost:8080/> . ### Sub Community 1 / Papers (Collection) @prefix void: <http://rdfs.org/ns/void#> . @prefix dcterms: <http://purl.org/dc/terms/> . @prefix bibo: <http://purl.org/ontology/bibo/> . @prefix foaf: <http://xmlns.com/foaf/0.1/> . @prefix dspace: <http://digital-repositories.org/ontologies/dspace/0.1.0#> . <http://localhost:8080/server/rdf/resource/123456789/61> a bibo:Collection ; dspace:hasItem <http://localhost:8080/server/rdf/resource/123456789/66> ; dspace:isPartOfCommunity <http://localhost:8080/server/rdf/resource/123456789/59> , <http://localhost:8080/server/rdf/resource/123456789/58> ; dcterms:hasPart <http://localhost:8080/server/rdf/resource/123456789/66> ; dcterms:isPartOf <http://localhost:8080/server/rdf/resource/123456789/59> , <http://localhost:8080/server/rdf/resource/123456789/58> ; void:sparqlEndpoint <http://localhost/fuseki/dspace/sparql> ; foaf:homepage <http://localhost:8080/> . ### Sub Community 1 / Thesis (Collection) @prefix void: <http://rdfs.org/ns/void#> . @prefix dcterms: <http://purl.org/dc/terms/> . @prefix bibo: <http://purl.org/ontology/bibo/> . @prefix foaf: <http://xmlns.com/foaf/0.1/> . @prefix dspace: <http://digital-repositories.org/ontologies/dspace/0.1.0#> . <http://localhost:8080/server/rdf/resource/123456789/62> a bibo:Collection ; dspace:hasItem <http://localhost:8080/server/rdf/resource/123456789/68> ; dspace:isPartOfCommunity <http://localhost:8080/server/rdf/resource/123456789/59> , <http://localhost:8080/server/rdf/resource/123456789/58> ; dcterms:hasPart <http://localhost:8080/server/rdf/resource/123456789/68> ; dcterms:isPartOf <http://localhost:8080/server/rdf/resource/123456789/59> , <http://localhost:8080/server/rdf/resource/123456789/58> ; void:sparqlEndpoint <http://localhost/fuseki/dspace/sparql> ; foaf:homepage <http://localhost:8080/> . ### Sub Community 1 / Papers / Test paper (Item) @prefix void: <http://rdfs.org/ns/void#> . @prefix xsd: <http://www.w3.org/2001/XMLSchema#> . @prefix dcterms: <http://purl.org/dc/terms/> . @prefix bibo: <http://purl.org/ontology/bibo/> . @prefix foaf: <http://xmlns.com/foaf/0.1/> . @prefix dspace: <http://digital-repositories.org/ontologies/dspace/0.1.0#> . @prefix dc: <http://purl.org/dc/elements/1.1/> . <http://localhost:8080/server/rdf/resource/123456789/66> dspace:hasBitstream <http://localhost:4000/bitstream/123456789/66/1/bubble-chart-line.png> ; dspace:isPartOfCollection <http://localhost:8080/server/rdf/resource/123456789/61> ; dc:date "2022-04-02T06:26:06Z"^^xsd:dateTime ; dcterms:available "2022-04-02T06:26:06Z"^^xsd:dateTime ; dcterms:hasPart <http://localhost:4000/bitstream/123456789/66/1/bubble-chart-line.png> ; dcterms:isPartOf <http://localhost:8080/server/rdf/resource/123456789/61> ; dcterms:issued "2022" ; dcterms:title "Test paper" ; bibo:uri <http://localhost:4000/handle/123456789/66> ; void:sparqlEndpoint <http://localhost/fuseki/dspace/sparql> ; foaf:homepage <http://localhost:8080/> . ### Sub Community 1 / Papers / Test thesis (Item) @prefix void: <http://rdfs.org/ns/void#> . @prefix xsd: <http://www.w3.org/2001/XMLSchema#> . @prefix dcterms: <http://purl.org/dc/terms/> . @prefix bibo: <http://purl.org/ontology/bibo/> . @prefix foaf: <http://xmlns.com/foaf/0.1/> . @prefix dspace: <http://digital-repositories.org/ontologies/dspace/0.1.0#> . @prefix dc: <http://purl.org/dc/elements/1.1/> . <http://localhost:8080/server/rdf/resource/123456789/68> dspace:hasBitstream <http://localhost:4000/bitstream/123456789/68/1/bubble-chart-line.png> ; dspace:isPartOfCollection <http://localhost:8080/server/rdf/resource/123456789/62> ; dc:date "2022-04-02T06:28:50Z"^^xsd:dateTime ; dcterms:available "2022-04-02T06:28:50Z"^^xsd:dateTime ; dcterms:hasPart <http://localhost:4000/bitstream/123456789/68/1/bubble-chart-line.png> ; dcterms:isPartOf <http://localhost:8080/server/rdf/resource/123456789/62> ; dcterms:issued "2022" ; dcterms:title "Test thesis" ; bibo:uri <http://localhost:4000/handle/123456789/68> ; void:sparqlEndpoint <http://localhost/fuseki/dspace/sparql> ; foaf:homepage <http://localhost:8080/> . |
YAML Metamodel
Code Block | ||||
---|---|---|---|---|
| ||||
openapi: "3.0.2"
info:
version: 1.1.0
title: DSpace-VIVO EXchange Data Schema (DVExDS)
description: |-
This is the "DSpace-VIVO EXchange Data Schema (DVExDS)" based on the OpenAPI 3.0.2 specification.
You can find out more about Swagger at [http://swagger.io](http://swagger.io). In the third iteration of the pet store, we've switched to the design first approach!
You can now help us improve the API whether it's by making changes to the definition itself or to the code.
That way, with time, we can improve the API in general, and expose some of the new features in OAS3.
Some useful links:
- [DSpace-VIVO - Integration project of DSpace metadata with VIVO](https://github.com/vivo-community/DSpace-VIVO)
- [The Pet Store repository](https://github.com/swagger-api/swagger-petstore)
- [The source API definition for the Pet Store](https://github.com/swagger-api/swagger-petstore/blob/master/src/main/resources/openapi.yaml)
termsOfService: http://swagger.io/terms/
contact:
name: Michel Héon PhD
email: vivo@uqam.ca
url: https://github.com/vivo-community/DSpace-VIVO
license:
name: BSD 3-Clause License
url: http://www.apache.org/licenses/LICENSE-2.0.html
servers:
- url: /api
tags:
- name: "DSpace"
description: "Operations about a DSpace metadata convertion to VIVO"
paths:
/dspace/item:
post:
tags:
- DSpace
summary: "Translate DSpace-Item metadata to VIVO"
description: ""
operationId: "parseItem"
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/Item'
required: true
responses:
200:
description: successful operation
content:
text/plain:
schema:
type: string
application/ld+json:
schema:
type: string
text/n3:
schema:
type: string
text/turtle:
schema:
type: string
text/owl-manchester:
schema:
type: string
text/owl-functional:
schema:
type: string
application/rdf+xml:
schema:
type: string
application/owl+xml:
schema:
type: string
default:
description: unexpected error
content:
application/json:
schema:
$ref: "#/components/schemas/Error"
/dspace/collection:
post:
tags:
- DSpace
summary: "Translate DSpace-Collection metadata to VIVO"
description: ""
operationId: "parseCollection"
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/Collection'
required: true
responses:
200:
description: successful operation
content:
text/plain:
schema:
type: string
application/ld+json:
schema:
type: string
text/n3:
schema:
type: string
text/turtle:
schema:
type: string
text/owl-manchester:
schema:
type: string
text/owl-functional:
schema:
type: string
application/rdf+xml:
schema:
type: string
application/owl+xml:
schema:
type: string
default:
description: unexpected error
content:
application/json:
schema:
$ref: "#/components/schemas/Error"
components:
schemas:
Collection:
type: object
required:
- id
- uri
- url
properties:
dspaceType:
type: string
readOnly: true
default: collection
id:
type: string
example: 123456789/2
uri:
type: string
example: http://localhost:4000/handle/123456789/2
url:
type: string
example: http://localhost:4000/items/948d534a-e1d9-41b2-bb23-1ae2fe9cff4f
hasItem:
type: array
items:
$ref: '#/components/schemas/Item'
isPartOfCommunityID:
type: array
items:
type: string
listOfStatements:
type: array
items:
$ref: '#/components/schemas/Statement'
listOfStatementLiterals:
type: array
items:
$ref: '#/components/schemas/StatementLiteral'
Community:
type: object
required:
- id
- uri
- url
properties:
dspaceType:
type: string
readOnly: true
default: community
id:
type: string
example: 123456789/1
uri:
type: string
example: "http://localhost:4000/handle/123456789/1"
url:
type: string
example: "http://localhost:4000/communities/b278a9dd-9c63-4864-9c6e-0a6caa8ff459"
hasCollection:
type: array
items:
$ref: '#/components/schemas/Collection'
example: 123456789/2
hasSubCommunity:
type: array
items:
$ref: '#/components/schemas/Community'
isSubcommunityOfID:
type: array
items:
type: string
isPartOfRepositoryID:
items:
type: string
listOfStatements:
type: array
items:
$ref: '#/components/schemas/Statement'
listOfStatementLiterals:
type: array
items:
$ref: '#/components/schemas/StatementLiteral'
Repository:
type: object
required:
- id
- uri
properties:
dspaceType:
type: string
readOnly: true
default: repository
id:
type: string
example: 123456789/0
uri:
type: string
example: "http://localhost:4000/handle/123456789/0"
hasCommunity:
type: array
items:
$ref: '#/components/schemas/Community'
listOfStatements:
type: array
items:
$ref: '#/components/schemas/Statement'
listOfStatementLiterals:
type: array
items:
$ref: '#/components/schemas/StatementLiteral'
Item:
type: object
required:
- id
- uri
- url
- dspaceBitstreamURL
- dspaceIsPartOfCollection
properties:
dspaceType:
type: string
readOnly: true
default: item
id:
type: string
example: 123456789/4
dspaceBitstreamURL:
type: string
example: http://localhost:4000/bitstream/123456789/3/1/pdf1.pdf
dspaceIsPartOfCollectionID:
items:
type: string
uri:
type: string
example: http://localhost:4000/handle/123456789/3
url:
type: string
example: http://localhost:4000/items/948d534a-e1d9-41b2-bb23-1ae2fe9cff4f
listOfStatements:
type: array
items:
$ref: '#/components/schemas/Statement'
listOfStatementLiterals:
type: array
items:
$ref: '#/components/schemas/StatementLiteral'
Statement:
type: object
required:
- subjectUri
- predicateUri
- objectUri
properties:
dspaceType:
type: string
readOnly: true
default: statement
subjectUri:
type: string
example: http://localhost:4000/handle/123456789/3
predicateUri:
type: string
example: dcterms:isPartOf
objectUri:
type: string
example: http://localhost:4000/handle/123456789/3
StatementLiteral:
type: object
required:
- subjectUri
- predicateUri
- objectLiteral
- literalType
properties:
dspaceType:
type: string
readOnly: true
default: statementLiteral
subjectUri:
type: string
example: http://localhost:4000/handle/123456789/3
predicateUri:
type: string
example: dc:creator
objectLiteral:
type: string
example: "Michel Héon"
literalType:
type: string
example: "xsd:string"
Error:
type: object
required:
- code
- message
properties:
code:
type: integer
format: int32
message:
type: string |