The **_DataCite Ontology (DataCite)_** is an ontology written in OWL 2 DL to enable the metadata properties of the [DataCite Metadata Schema (version 4.7)](https://datacite-metadata-schema.readthedocs.io/en/4.7/) to be described in RDF.
Based on the [DataCite2RDF mapping document](https://doi.org/10.6084/m9.figshare.2075356.v2) realised to support DataCite metadata to be published in RDF, the DataCite Ontology has been enriched with terms from existing vocabularies that have been reused wherever possible, including:
_[DCTerms](http://purl.org/dc/terms) (Dublin Core Metadata Terms)_, _[FOAF](http://xmlns.com/foaf/spec/) (Friend of a Friend Vocabulary)_, _[SKOS](http://www.w3.org/2004/02/skos/core) (Simple Knowledge Organization System)_, _[CO](http://purl.org/co) (Collections Ontology)_, _[Literal Reification](http://www.essepuntato.it/2010/06/literalreification)_ ontology pattern, _[PRISM](http://prismstandard.org/namespaces/basic/2.0/) (Publishing Requirements for Industry Standard Metadata)_, and _[GeoSPARQL](http://www.opengeospatial.org/standards/geosparql)_.
Additionally, these have been supplemented by terms from _[FRBR](http://purl.org/vocab/frbr/core) (Functional Requirements for Bibliographic Records)_, and from the following _[SPAR](http://www.sparontologies.net) (Semantic Publishing and Referencing)_ Ontologies: _[CiTO](http://purl.org/spar/cito) (Citation Typing Ontology)_, _[FaBiO](http://purl.org/spar/fabio) (FRBR-aligned Bibliographic Ontology)_, _[FRAPO](http://purl.org/cerif/frapo/) (Funding, Research Administration and Projects Ontology)_, _[PRO](http://purl.org/spar/pro) (Publishing Roles Ontology)_, _[SCoRO](http://purl.org/spar/scoro) (Scholarly Contributions and Roles Ontology)_, and, of course, the [DataCite Ontology](http://purl.org/spar/datacite/) itself.

The main intent of the DataCite Ontology is to provide a flexible mechanism to define identifiers for bibliographic resources (e.g., papers and datasets) and related entities (e.g., authors). To this end, DataCite uses the object property `datacite:hasIdentifier`, which has as its object a member of the class `datacite:Identifier` or of one of its sub-classes (`datacite:ResourceIdentifier`, `datacite:AgentIdentifier` or `datacite:RightsIdentifier`).
In turn, `datacite:AgentIdentifier` is further sub-classed by three additional classes, i.e., `datacite:PersonalIdentifier`, `datacite:OrganizationIdentifier`, and `datacite:FunderIdentifier`.
The exact nature of the identifier is then defined using the second DataCite object property `datacite:usesIdentifierScheme`, which has as its object the class `datacite:IdentifierScheme` or one of its sub-classes: `datacite:ResourceIdentifierScheme`, `datacite:AgentIdentifierScheme` or `datacite:RightsIdentifierScheme`. `datacite:AgentIdentifierScheme` is further sub-classed by three additional classes, i.e., `datacite:PersonalIdentifierScheme`, `datacite:OrganizationIdentifierScheme`, and `datacite:FunderIdentifierScheme`.
This provides a robust method for defining identifiers, since each specific identifier is defined as an individual member of its appropriate identifier scheme class. Of course, existing identifier schemes have been already defined within the ontology. For instance:
* `datacite:doi` is an individual member of the class `datacite:ResourceIdentifierScheme` specifying a DataCite Digital Object Identifier (DOI);
* `datacite:orcid` is an individual member of the class `datacite:PersonalIdentifierScheme` specifying an Open Researcher and Contributor Identifier (ORCID);
* `datacite:fundref` is an individual member of the class `datacite:FunderIdentifierScheme` specifying a FundRef Funder Identifier;
* `datacite:spdx` is an individual member of the class `datacite:RightsIdentifierScheme` specifying a System Package Data Exchange identifier (SPDX).
As need arises, new identifiers can be added later as new members of each class, without having to modify the structure of the DataCite Ontology. In addition, some members, i.e., `datacite:local-resource-identifier-scheme`, `datacite:local-personal-identifier-scheme`, `datacite:local-organization-identifier-scheme` and `datacite:local-funder-identifier-scheme`, have been already added to permit the use of local identifiers.

The class `owl:Thing`, representing a resource, is linked to `foaf:Agent` through the object properties `dcterms:creator`, `dcterms:publisher`, and `dcterms:contributor` to establish roles related to the creation and publishing of the resource.
The `foaf:Agent` class acts as a broader category, with `foaf:Person` and `foaf:Organization` as its subclasses.
To associate textual metadata, the resource uses a suite of properties such as `dcterms:title`, `prism:volume`, `prism:edition`, and `fabio:hasPublicationYear`.
Additionally, agents' identity information is captured using `foaf:name`, and both `foaf:givenName` and `foaf:familyName` if the agent is a `foaf:Person`.

To establish identifiers for agents, their classes are connected to `datacite:OrganizationIdentifier` and `datacite:PersonalIdentifier` via the `datacite:hasIdentifier` property.
These identifiers express their specific values by linking to the `rdfs:Literal` datatype using `literal:hasLiteralValue`.
Additionally, they specify their classification systems by using `datacite:usesIdentifierScheme` to connect to `datacite:OrganizationIdentifierScheme` and `datacite:PersonalIdentifierScheme`.
These schemes may resolve to web addresses by linking to the `xsd:anyURI` datatype via the `fabio:hasURL` property.

The specific role of a contributor is expressed by using the `pro:RoleInTime` pattern offered by [PRO](http://purl.org/spar/pro), according to which a `foaf:Agent` holds some role in a given period of time, in relation to a certain resource.
Contributor types are defined by individual members of the class `pro:Role`, or of its sub-classes in [SCoRO](http://purl.org/spar/scoro).

Affiliation follows the same pattern: someone's affiliation is a relationship of membership or belonging that the person can have with respect to a particular organization (i.e., an individual of the class `foaf:Organization`).
Such an affiliation may be specified in the document with respect to which that agent is an author or contributor.
A particular individual of [SCoRO](http://purl.org/spar/scoro), i.e., `scoro:affiliate` (belonging to the class `scoro:OrganizationalRole`, a subclass of `pro:Role`) is used to express such an affiliation.

Funders are expressed in a similar way, using `scoro:funder` as named individual characterising the role covered by the agent.
Moreover, this pattern allows the specification of the grant or award number associated with the funding awarded by some funder agent.
More specifically, a `foaf:Agent` awards (`frapo:awards`) a grant (`frapo:Grant`) with a certain number associated to it (`frapo:hasGrantNumber`).

Subjects of a resource are represented as instances of `skos:Concept` associated to a resource via the property `dcterms:subject`.
If possible, one could specify a more specific property rather than the general `dcterms:subject`, such as `fabio:hasSubjectTerm` and `fabio:hasSubjectDiscipline`.
It is possible to use the property `skos:notation` to assign a classification code (a string of characters used to uniquely identify a concept within the scope of a given concept scheme), used in a related subject scheme, to a subject of the resource.
A subject can be associated to a scheme (`skos:ConceptScheme`) that defines it via the property `skos:inScheme`.
Both subjects' and subject schemes' labels are defined through the property `skos:prefLabel` and their URLs through the property `fabio:hasURL`.

In this pattern, the date must be expressed as a reified literal through the class `literal:Literal`, linked to the resource via the property `literal:hasLiteral`.
The date value is contained in the reified literal and is expressed through the data property `literal:hasLiteralValue`.
The type of the date is expressed via [OWL2 punning](http://www.w3.org/TR/2009/WD-owl2-new-features-20090611/#F12:_Punning), a mechanism according to which an object property can be used as the object of an OWL assertion by being considered simultaneously both as a normal property and also as a named individual of the class `owl:Thing`.
In this case, the property is linked to the reified literal via `dcterms:type`.
Additional information related to the date is expressed as a simple text string, linked to the reified literal representing the date via `dcterms:description`.

This pattern allows the association of a particular resource with a resource type.
While not mandatory, the use of [FaBiO](http://purl.org/spar/fabio) entities, in particular `fabio:Expression` and its sub-classes, is strongly recommended.
General resource type terms are defined by classes in the [Dublin Core Type Vocabulary](http://purl.org/dc/dcmitype), in [FaBiO](http://purl.org/spar/fabio) and in the [FAIR* Reviews Ontology]((http://purl.org/spar/fr)), with the exception of the more general `frbr:Endeavour` (mapped to "Other").
If there is no specific `fabio:Expression` subclass that matches the resource under consideration, use of the most abstract class, i.e., `fabio:Expression`, is suggested.
The value "Award" is modeled differently, using an instance of `frbr:Endeavour` and a `foaf:Agent` connected to it via the property `frapo:awards`.
The value "Instrument" is modeled differently, using an instance of `schema:Action` connected to a `frbr:Endeavour` via the property `schema:instrument`.

This pattern is used to associate a rights statement (i.e., an individual of the class `dcterms:RightsStatement`) to the resource under consideration.
The text of the statement can be specified by means of the property `literal:hasLiteralValue`.
The property `fabio:hasURL` is used to add the URL of the rights statement or license.
A rights statement can be identified by a `datacite:RightsIdentifier` belonging to a particular scheme (an individual belonging to `datacite:RightsIdentifierScheme`).

The class `datacite:DescriptionType`, and the object properties `datacite:hasDescription` and `datacite:hasDescriptionType`, have also been defined in order to link an entity to another item representing an entity description of a particular type.
This is defined using the property `datacite:hasDescriptionType`, which must have as its object one of the members of the class `datacite:DescriptionType`, i.e., `datacite:abstract`, `datacite:methods`, `datacite:other`, `datacite:series-information` and `datacite:table-of-content`.
In this way, it is possible to associate written documents (e.g. journal articles or data articles) as descriptions of datasets.

With the DataCite Ontology, it is possible to represent situations where a given relation between two entities needs to be qualified in some way, e.g. with a description that specifies the nature of said relation.
This is provided by the class `datacite:QualifiedRelation`, which represents a certain relationship existing between two entities.
The qualified relation is linked with one entity (more specifically, the subject of the relation) via the object property `datacite:hasRelationSubject`, and with the other (the object of the relation) via the object property `datacite:hasRelationObject`.
The type of relation itself is defined via the property `datacite:hasRelationCharacterization`, which links a qualified relation to its characterization made by using an object property such as `dcterms:relation`, `cito:cites`, or `frbr:partOf`.
This usage involves the [OWL2 punning](http://www.w3.org/TR/2009/WD-owl2-new-features-20090611/#F12:_Punning) mechanism.

It is also possible to provide a link between a resource, such as a dataset, and the document describing its metadata by means of [CiTO](http://purl.org/spar/cito), using the property `cito:citesAsMetadataDocument`, and [FaBiO](http://purl.org/spar/fabio), by means of the class `fabio:MetadataDocument`.
In addition to these entities, the DataCite Ontology provides appropriate classes (i.e., `datacite:MetadataScheme`) and properties (i.e., `datacite:hasMetadataScheme`) to specify the particular scheme followed for creating the resource metadata exemplified in the metadata document.

This pattern links the resource with a geographical feature, i.e., an individual of the class `geo:Feature`.
It is possible to specify a point (i.e., an individual of the class `sf:Point`) defining the location of the resource under consideration.
It is also possible to specify a polygon (i.e., an individual of the class `sf:Polygon`) defining the geographical box related to the resource under consideration.
The actual value of both can be defined by means of the property `geo:asWKT`, which allows the specification of the coordinates.
Moreover, a `sf:Polygon` can contain other instances of `geo:Feature`, which can be expressed via the property `geo:sfContains`.
The properties `wgs:lat` and `wgs:long` are used to express latitude and longitude of any geographical future in decimal degrees.
The property `frapo:hasLocation` provides a textual description for the location under consideration.
## Examples of use
In the following subsections, we introduce some examples to showcase how to use the DataCite Ontology.
The prefixes that are used in all the examples provided below are defined as follows:
@prefix : <http://www.sparontologies.net/example/> .
@prefix co: <http://purl.org/co/> .
@prefix datacite: <http://purl.org/spar/datacite/> .
@prefix dcterms: <http://purl.org/dc/terms/> .
@prefix fabio: <http://purl.org/spar/fabio/> .
@prefix foaf: <http://xmlns.com/foaf/0.1/> .
@prefix literal: <http://www.essepuntato.it/2010/06/literalreification/> .
@prefix orcid: <http://orcid.org/> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix skos: <http://www.w3.org/2004/02/skos/core#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
### Datasets' DOIs and authors' ORCIDs
DataCite allows one to associate identifiers to a bibliographic entity (e.g., a dataset, a person, an article) specifying their exact nature by means of the object property `datacite:usesIdentifierScheme`.
In addition, it is also possible, through the object property `datacite:hasDescription`, to link an entity to another item representing an entity description of a particular type.
This is defined using the property `datacite:hasDescriptionType`, which must have as its object one of the members of the class `datacite:DescriptionType`, i.e., `datacite:abstract`, `datacite:other`, `datacite:series-information`, `datacite:methods`, and `datacite:table-of-content`.
In this way, it is possible to associate written documents (e.g., journal articles) as descriptions of datasets.
<http://dx.doi.org/10.5061/dryad.15v26> a fabio:Dataset ;
datacite:hasIdentifier :dataset-doi ;
dcterms:creator
orcid:0000-0002-5159-9717 ,
orcid:0000-0002-7811-3617 ;
datacite:hasDescription
<http://dx.doi.org/10.1098/rsbl.2015.0486> .
<http://dx.doi.org/10.1098/rsbl.2015.0486>
a fabio:JournalArticle ;
datacite:hasIdentifier :paper-doi ;
dcterms:creator
orcid:0000-0002-5159-9717 ,
orcid:0000-0002-7811-3617 ;
datacite:hasDescriptionType datacite:other .
:paper-doi a datacite:PrimaryResourceIdentifier ;
literal:hasLiteralValue "10.1098/rsbl.2015.0486" ;
datacite:usesIdentifierScheme datacite:doi .
:dataset-doi a datacite:PrimaryResourceIdentifier ;
literal:hasLiteralValue "10.5061/dryad.mq8r2" ;
datacite:usesIdentifierScheme datacite:doi .
orcid:0000-0002-5159-9717 a foaf:Person ;
foaf:name "Nidhi Seethapathi" ;
datacite:hasIdentifier :seethapathi-orcid .
:seethapathi-orcid a datacite:PersonalIdentifier ;
literal:hasLiteralValue "0000-0002-5159-9717" ;
datacite:usesIdentifierScheme datacite:orcid .
orcid:0000-0002-7811-3617 a foaf:Person ;
foaf:name "Manoj Srinivasan" ;
datacite:hasIdentifier :srinivasan-orcid .
:srinivasan-orcid a datacite:PersonalIdentifier ;
literal:hasLiteralValue "0000-0002-7811-3617" ;
datacite:usesIdentifierScheme datacite:orcid .
## Competency Questions
The DataCite Ontology can be used for answering several questions related to the identification, attribution, and discoverability of research products.
In the following subsections, some of them are introduced together with their respective SPARQL queries.
The prefixes that are used in all the SPARQL queries provided below are defined as follows:
PREFIX datacite: <http://purl.org/spar/datacite/>
PREFIX dcterms: <http://purl.org/dc/terms/>
PREFIX fabio: <http://purl.org/spar/fabio/>
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
PREFIX literal: <http://www.essepuntato.it/2010/06/literalreification/>
### CQ1
Which article provides the description for a specific dataset identified by the DOI "10.5061/dryad.mq8r2"?
SELECT ?article ?article_doi
WHERE {
?dataset_id literal:hasLiteralValue "10.5061/dryad.mq8r2" .
?dataset datacite:hasIdentifier ?dataset_id ;
a fabio:Dataset ;
datacite:hasDescription ?article .
?article datacite:hasIdentifier ?paper_id .
?paper_id literal:hasLiteralValue ?article_doi .
}
### CQ2
Who are the creators associated with both the dataset and the article?
SELECT DISTINCT ?name ?orcid_uri
WHERE {
?dataset a fabio:Dataset ;
dcterms:creator ?orcid_uri .
?article a fabio:JournalArticle ;
dcterms:creator ?orcid_uri .
?orcid_uri foaf:name ?name .
}
### CQ3
What are the names and ORCID iDs of all researchers mentioned in the graph?
SELECT ?name ?orcid_value
WHERE {
?person a foaf:Person ;
foaf:name ?name ;
datacite:hasIdentifier ?id_node .
?id_node datacite:usesIdentifierScheme datacite:orcid ;
literal:hasLiteralValue ?orcid_value .
}
### CQ4
List all resources that have a description type categorized as "other".
SELECT ?resource
WHERE {
?resource datacite:hasDescriptionType datacite:other .
}
### CQ5
How many identifiers are registered for each identifier scheme?
SELECT ?scheme (COUNT(?id_node) AS ?count)
WHERE {
?id_node datacite:usesIdentifierScheme ?scheme .
}
GROUP BY ?scheme