PREFIX datacite: <http://purl.org/spar/datacite/>
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>

datacite:FunderIdentifierScheme a rdfs:Class ;
  rdfs:label "funder identifier scheme"@en ;
  rdfs:comment "The identifier scheme used to identify a funding agency. Individual schemes are defines as members of this class. At present, the only individual of this class is datacite:fundref."@en ;
  rdfs:subClassOf datacite:AgentIdentifierScheme .

datacite:PrimaryResourceIdentifier a rdfs:Class ;
  rdfs:label "primary resource identifier"@en ;
  rdfs:comment "An identifier that is used as the primary identifier to uniquely identifies the primary resource that is the subject of the DataCite metadata record.  Within the DataCite metadata record, a Digital Object Identifier is the only permitted primary resource identifier scheme, specified by the individual datacite:doi, that is a member of the class datacite:ResourceIdentifierScheme."@en ;
  rdfs:subClassOf datacite:ResourceIdentifier .

datacite:usesIdentifierScheme a rdf:Property ;
  rdfs:label "uses identifier scheme"@en ;
  rdfs:comment "An object property permitting specification of the identifier scheme used to provide the identifier for an entity – either a funder, a person or a resource – defined as an individual of the class datacite:IdentifierScheme."@en ;
  rdfs:domain datacite:Identifier ;
  rdfs:range datacite:ResourceIdentifierScheme , datacite:FunderIdentifierScheme , datacite:PersonalIdentifierScheme , datacite:OrganizationIdentifier , datacite:AgentIdentifier , datacite:IdentifierScheme .

datacite:FunderIdentifier a rdfs:Class ;
  rdfs:label "funder identifier"@en ;
  rdfs:comment "An identifier that uniquely identities a funding agency, belonging to a particular scheme such as FundRef specified by an individual within the class datacite:FunderIdentifierScheme."@en ;
  rdfs:subClassOf datacite:AgentIdentifier .

datacite:PersonalIdentifier a rdfs:Class ;
  rdfs:label "personal identifier"@en ;
  rdfs:comment "An identifier that uniquely identities an individual person, belonging to a particular identifier scheme such as ORCID specified by an individual within the class datacite:PersonalIdentifierScheme."@en ;
  rdfs:subClassOf datacite:AgentIdentifier .

datacite:OrganizationIdentifier a rdfs:Class ;
  rdfs:label "organization identifier"@en ;
  rdfs:comment "An identifier that uniquely identities an individual organization, belonging to a particular identifier scheme such as ISNI specified by an individual within the class datacite:OrganizationIdentifierScheme."@en ;
  rdfs:subClassOf datacite:AgentIdentifier .

<http://www.essepuntato.it/2010/06/literalreification/Literal> a rdfs:Class .

datacite:ResourceIdentifier a rdfs:Class ;
  rdfs:label "resource identifier"@en ;
  rdfs:comment "An identifier that is used to uniquely identifies a resource."@en ;
  rdfs:subClassOf datacite:Identifier .

datacite:PersonalIdentifierScheme a rdfs:Class ;
  rdfs:label "personal identifier scheme"@en ;
  rdfs:comment "The identifier scheme used to identify a person.  Individual schemes are defines as members of this class."@en ;
  rdfs:subClassOf datacite:AgentIdentifierScheme .

datacite:AgentIdentifier a rdfs:Class ;
  rdfs:label "agent identifier"@en ;
  rdfs:comment "An identifier that uniquely identities an individual agent, belonging to a particular identifier scheme specified by an individual within the class datacite:AgentIdentifierScheme (or any of its subclasses)."@en ;
  rdfs:subClassOf datacite:Identifier .

datacite:ResourceIdentifierScheme a rdfs:Class ;
  rdfs:label "resource identifier scheme"@en ;
  rdfs:comment "The identifier scheme used to identify a resource.  Individual schemes are defines as members of this class.  For DataCite, the only permitted identifier scheme for the primary resource identifier is the Digital Object Identifier."@en ;
  rdfs:subClassOf datacite:IdentifierScheme .

datacite:Identifier a rdfs:Class ;
  rdfs:label "identifier"@en ;
  rdfs:comment "An identifier that uniquely identities an entity – such as a funding agency, a person and a resource – belonging to a particular scheme such as those specified by individuals of the class datacite:IdentifierScheme."@en ;
  rdfs:subClassOf <http://www.essepuntato.it/2010/06/literalreification/Literal> .

datacite:AgentIdentifierScheme a rdfs:Class ;
  rdfs:label "agent identifier scheme"@en ;
  rdfs:comment "The identifier scheme used to identify an agent. Individual schemes are defines as members of its sub-classes."@en ;
  rdfs:subClassOf datacite:IdentifierScheme .

<http://www.w3.org/2004/02/skos/core#Concept> a rdfs:Class .

<http://purl.org/co/List> a rdfs:Class .

datacite:AlternateResourceIdentifier a rdfs:Class ;
  rdfs:label "alternate resource identifier"@en ;
  rdfs:comment "An identifier other than a DOI that is used as an alternative identifier to uniquely identifies the primary resource that is the subject of the DataCite metadata record, belonging to a particular scheme such as ISBN specified by an individual that is a member of the class datacite:ResourceIdentifierScheme. "@en ;
  rdfs:subClassOf datacite:ResourceIdentifier .

<https://w3id.org/linkml/Any> a rdfs:Class ;
  rdfs:comment "An unconstrained type or object"@en .

datacite:IdentifierScheme a rdfs:Class ;
  rdfs:label "identifier scheme"@en ;
  rdfs:comment "The identifier scheme used to identify an entity such as a funding agency, a person or a resource. Individual schemes are defines as members of this class."@en .

datacite:OrganizationIdentifierScheme a rdfs:Class ;
  rdfs:label "organization identifier scheme"@en ;
  rdfs:comment "The identifier scheme used to identify an organization. Individual schemes are defines as members of this class."@en ;
  rdfs:subClassOf datacite:AgentIdentifierScheme .

<http://purl.org/dc/terms/type> a rdf:Property ;
  rdfs:range <https://w3id.org/linkml/Any> .

datacite:hasCreatorList a rdf:Property ;
  rdfs:label "has creator list"@en ;
  rdfs:comment "This property allows one to specify the list of the creators of a certain resource."@en ;
  rdfs:range <http://purl.org/co/List> .

datacite:hasDescription a rdf:Property ;
  rdfs:label "has description"@en ;
  rdfs:comment "An object property permitting specification of an entity used to describe a resource."@en ;
  rdfs:range <https://w3id.org/linkml/Any> .

datacite:hasDescriptionType a rdf:Property ;
  rdfs:label "has description type"@en ;
  rdfs:comment "An object property permitting specification of the type of description used to describe a resource, defined as an individual of the class datacite:DescriptionType from the DataCite controlled list of Abstract, SeriesInformation, TableOfContent and Other."@en ;
  rdfs:range datacite:DescriptionType ;
  rdfs:subPropertyOf <http://purl.org/dc/terms/type> .

datacite:hasGeneralResourceType a rdf:Property ;
  rdfs:label "has general resource type"@en ;
  rdfs:comment """An object property permitting specification of the general type of a resource, defined from the DataCite controlled list, namely: 

* dcmitype:MovingImage;
* dcmitype:Collection;
* dcmitype:Dataset;
* dcmitype:Event;
* dcmitype:dcmitype:StillImage;
* dcmitype:InteractiveResource;
* fabio:Model;
* dcmitype:PhysicalObject;
* dcmitype:Service;
* dcmitype:Software;
* dcmitype:Sound;
* dcmitype:Text;
* fabio:Workflow;
* frbr:Endeavour.

All the prefixes used here refer to external ontologies, i.e., DC Metadata Terms (dcmitype: http://purl.org/dc/dcmitype/), FaBiO (fabio: http://purl.org/spar/fabio/), and FRBR (frbr: http://purl.org/vocab/frbr/core#)."""@en ;
  rdfs:range <http://www.w3.org/2004/02/skos/core#Concept> ;
  rdfs:subPropertyOf <http://purl.org/dc/terms/type> .

datacite:hasIdentifier a rdf:Property ;
  rdfs:label "has identifier"@en ;
  rdfs:comment "An object property specifying a datacite:Identifier that provides a unique identifier for the entity (either a funder, a person or a resource)."@en ;
  rdfs:range datacite:Identifier .

datacite:usesMetadataScheme a rdf:Property ;
  rdfs:label "uses metadata scheme"@en ;
  rdfs:comment "The link between a metadata document and the scheme followed for creating metadata."@en ;
  rdfs:range datacite:MetadataScheme .

<http://purl.org/spar/fabio/hasURL> a rdf:Property ;
  rdfs:range <https://w3id.org/linkml/Any> .

datacite:DescriptionType a rdfs:Class ;
  rdfs:label "description type"@en ;
  rdfs:comment """This class permits classification of the type of description given to a resource described by the DataCite Metadata schema.  Individual members of the class conform to the five values allowed in the DataCite controlled list, namely: 

* abstract;
* methods;
* series-information;
* table-of-content;
* other."""@en ;
  rdfs:subClassOf <http://www.w3.org/2004/02/skos/core#Concept> .

datacite:abstract a datacite:DescriptionType ;
  rdfs:label "abstract"@en ;
  rdfs:comment "A brief summary of a textual work, appearing at the beginning of the work and designed to act as the point-of-entry that will help the reader quickly to obtain an overview of the work's contents."@en ;
  rdfs:seeAlso <http://purl.org/spar/fabio/Abstract> .

datacite:methods a datacite:DescriptionType ;
  rdfs:label "methods"@en ;
  rdfs:comment "A description in a research paper documenting the specialized methods used in the work described."@en ;
  rdfs:seeAlso <http://purl.org/spar/deo/Methods> .

datacite:table-of-content a datacite:DescriptionType ;
  rdfs:label "table of content"@en ;
  rdfs:comment "A table of content giving information about the content of a resource, appearing before the body text.  Where the resource is a journal or magazine issue, the table of content lists the constituent items contained in that issue, typically by title, authors and first page number."@en ;
  rdfs:seeAlso <http://purl.org/spar/doco/TableOfContents> .

datacite:series-information a datacite:DescriptionType ;
  rdfs:label "series information"@en ;
  rdfs:comment "Used to charactierize a description of a resource that is part of a series."@en ;
  rdfs:seeAlso <http://purl.org/spar/fabio/Periodical> , <http://purl.org/spar/fabio/BookSeries> .

datacite:other a datacite:DescriptionType ;
  rdfs:label "other"@en ;
  rdfs:comment "A catch-all description type required by the DataCite Metadata Schema to characterize description types that are not abstracts, series information or tables of content."@en .

datacite:MetadataScheme a rdfs:Class ;
  rdfs:label "metadata scheme"@en ;
  rdfs:comment """The class that describe metadata schemes used for creating a metadata document referring to a certain resource. 

Neither a class for metadata documents nor a property linking a resource to its metadata document are not explicitly defined in this ontology. However, we recommend to use the class fabio:MetadataDocument (from http://purl.org/spar/fabio) and cito:citesAsMetadataDocument (from http://purl.org/spar/cito) for providing such descriptions. An example of use of such entities is shown as follows:

    :my-resource
        cito:citesAsMetadataDocument :my-resource-metadata .
    :my-resource-metadata a fabio:MetadataDocument ;
        datacite:usesMetadataScheme datacite:spar .

In addition, if needed, it is possible to use the dataproperty fabio:hasURL (not included in this ontology as well) for defining the actual URL of a certain metadata scheme."""@en ;
  rdfs:seeAlso <http://purl.org/spar/fabio/MetadataDocument> , <http://purl.org/spar/cito/citesAsMetadataDocument> .

datacite:spar a datacite:MetadataScheme ;
  rdfs:label "SPAR Ontologies"@en ;
  rdfs:comment "The Semantic Publishing and Referencing Ontologies, a.k.a. SPAR Ontologies, form a suite of orthogonal and complementary OWL 2 DL ontology modules for the creation of comprehensive machine-readable RDF metadata for every aspect of semantic publishing and referencing: document description, bibliographic resource identifiers, types of citations and related contexts, bibliographic references, document parts and status, agents' roles and contributions, bibliometric data and workflow processes."@en .
