Home | DataRepository
In schema.org, we model a repository as both an schema:ResearchProject, a sub-class of an Organization, and a schema:Service. This double-typing gives us the most flexibility in describing the characteristics of the organization providing the service and the services offered by the organization.
{ "@context": { "@vocab": "https://schema.org/" }, "@type": ["Service", "ResearchProject"], "legalName": "Sample Data Repository Office", "name": "SDRO" }
The other fields you can use to describe the Organziation and the Service are:
- schema:legalName should be the official name of the repository,
- schema:name can be an acronym or the name typcially used for the repository,
- schema:url should be the url of your repository's homepage,
- schema:description should be text describing your repository,
- schema:sameAs can be used to link the repository to other URLs such as Re3Data, Twitter, LinkedIn, etc.,
- schema:category can be used to describe the discipline, domain, area of study that encompasses the repository's holdings.
{ "@context": { "@vocab": "https://schema.org/" }, "@type": ["Service", "ResearchProject"], "legalName": "Sample Data Repository Office", "name": "SDRO", "url": "https://www.sample-data-repository.org", "description": "The Sample Data Repository Service provides access to data from an imaginary domain accessible from this website.", "sameAs": [ "http://www.re3data.org/repository/r3d1000000xx", "https://twitter.com/SDRO", "https://www.linkedin.com/company/123456789/" ], "category": [ "Biological Oceanography", "Chemical Oceanography" ] }
(See advanced publishing techniques for how to describe categories/disciplines in more detail than just simple text.)
If you are using the "@id" attribute for your Repository, and the provider of the repository's services is the same Organziation, you can specify the schema:provider of the schema:Service in this way:
{ "@context": { "@vocab": "https://schema.org/" }, "@type": ["Service", "ResearchProject"], "@id": "https://www.sample-data-repository.org", "legalName": "Sample Data Repository Office", "name": "SDRO", "url": "https://www.sample-data-repository.org", "description": "The Sample Data Repository Service provides access to data from an imaginary domain accessible from this website.", "category": [ "Biological Oceanography", "Chemical Oceanography" ], "provider": { "@id": "https://www.sample-data-repository.org" } }
However, if your repository has a situation where multiple organizations act as the provider or you want to recognize a different organization as the provider of the repository's service, schema:provider can be used in this way:
{ "@context": { "@vocab": "https://schema.org/" }, "@type": ["Service", "ResearchProject"], "legalName": "Sample Data Repository Office", "name": "SDRO", "url": "https://www.sample-data-repository.org", "description": "The Sample Data Repository Service provides access to data from an imaginary domain accessible from this website.", "category": [ "Biological Oceanography", "Chemical Oceanography" ], "provider": [ { "@type": "ResearchProject", "name": "SDRO Technical Office", "description": "We provide all the infrastructure for the SDRO" ... }, { "@type": "ResearchProject", "name": "SDRO Science Support Office", "description": "We provide all the science support functionality for the SDRO" ... } ] }
Adding additional fields of schema:ResearchProject:
{ "@context": { "@vocab": "https://schema.org/" }, "@type": ["Service", "ResearchProject"], "legalName": "Sample Data Repository Office", "name": "SDRO", "url": "https://www.sample-data-repository.org", "description": "The Sample Data Repository Service provides access to data from an imaginary domain accessible from this website.", "category": [ "Biological Oceanography", "Chemical Oceanography" ], "provider": { "@id": "https://www.sample-data-repository.org" } "logo": { "@type": "ImageObject", "url": "https://www.sample-data-repository.org/images/logo.jpg" }, "contactPoint": { "@type": "ContactPoint", "name": "Support", "email": "info@bco-dmo.org", "url": "https://www.sample-data-repository.org/about-us", "contactType": "customer support" }, "foundingDate": "2006-09-01", "address": { "@type": "PostalAddress", "streetAddress": "123 Main St.", "addressLocality": "Anytown", "addressRegion": "ST", "postalCode": "12345", "addressCountry": "USA" } }
If this ResearchProject, or Organization, has a parent entity such as a college, university or research center, that information can be provided using the schema:parentOrganization property:
{ "@context": { "@vocab": "https://schema.org/" }, "@type": ["Service", "ResearchProject"], "legalName": "Sample Data Repository Office", "name": "SDRO", "url": "https://www.sample-data-repository.org", "description": "The Sample Data Repository Service provides access to data from an imaginary domain accessible from this website.", "category": [ "Biological Oceanography", "Chemical Oceanography" ], "provider": { "@id": "https://www.sample-data-repository.org" }, "parentOrganization": { "@type": "Organization", "@id": "http://www.someinstitute.edu", "legalName": "Some Institute", "name": "SI", "url": "http://www.someinstitute.edu", "address": { "@type": "PostalAddress", "streetAddress": "234 Main St.", "addressLocality": "Anytown", "addressRegion": "ST", "postalCode": "12345", "addressCountry": "USA" } } } }
Back to top
Some organizations may have a persistent identifier (DOI) assigned to their organization from authorities like the Registry of Research Data Repositories (re3data.org). The way to describe these organizational identifiers is to use the schema:identifier property in this way:
{ "@context": { "@vocab": "https://schema.org/" }, "@type": ["Service", "ResearchProject"], "legalName": "Sample Data Repository Office", "name": "SDRO", "url": "https://www.sample-data-repository.org", "description": "The Sample Data Repository Service provides access to data from an imaginary domain accessible from this website.", "category": [ "Biological Oceanography", "Chemical Oceanography" ], "provider": { "@id": "https://www.sample-data-repository.org" }, "identifier": { "@type": "PropertyValue", "name": "Re3data DOI: 10.17616/R37P4C", "propertyID": "https://registry.identifiers.org/registry/doi", "value": "doi:10.17616/R37P4C", "url": "https://doi.org/10.17616/R37P4C" } }
For more information on describing identifiers, see the Dataset - Identifier guide.
To describe the funding source of a repository, you use the schema:funder property of schema:Organization:
{ "@context": { "@vocab": "https://schema.org/" }, "@type": ["Service", "ResearchProject"], "legalName": "Sample Data Repository Office", "name": "SDRO", "url": "https://www.sample-data-repository.org", "description": "The Sample Data Repository Service provides access to data from an imaginary domain accessible from this website.", "category": [ "Biological Oceanography", "Chemical Oceanography" ], "provider": { "@id": "https://www.sample-data-repository.org" }, "parentOrganization": { "@type": "Organization", "@id": "http://www.someinstitute.edu", "legalName": "Some Institute", "name": "SI", "url": "http://www.someinstitute.edu", "address": { "@type": "PostalAddress", "streetAddress": "234 Main St.", "addressLocality": "Anytown", "addressRegion": "ST", "postalCode": "12345", "addressCountry": "USA" }, "funder": { "@type": "Organization", "@id": "https://doi.org/10.13039/100000141", "legalName": "Division of Ocean Sciences", "alternateName": "OCE", "url": "https://www.nsf.gov/div/index.jsp?div=OCE", "identifier": { "@type": "PropertyValue", "propertyID": "https://registry.identifiers.org/registry/doi", "value": "doi:10.13039/100000141", "url": "https://doi.org/10.13039/100000141" }, "parentOrganization": { "@type": "Organization", "@id": "http://doi.org/10.13039/100000085", "legalName": "Directorate for Geosciences", "alternateName": "NSF-GEO", "url": "http://www.nsf.gov", "identifier": { "@type": "PropertyValue", "propertyID": "https://registry.identifiers.org/registry/doi", "value": "doi:10.13039/100000085", "url": "https://doi.org/10.13039/100000085" }, "parentOrganization": { "@type": "Organization", "@id": "http://dx.doi.org/10.13039/100000001", "legalName": "National Science Foundation", "alternateName": "NSF", "url": "http://www.nsf.gov", "identifier": { "@type": "PropertyValue", "propertyID": "https://registry.identifiers.org/registry/doi", "value": "doi:10.13039/100000001", "url": "https://doi.org/10.13039/100000001" } } } } } }
Back to top
For repositories might offer services for accessing data as opposed to directly accessing data files. The schema:Service allows us to describe these services as well as repository searches, data submission services, and syndication services. In this first example, we describe a search service at the repository using schema:ServiceChannel.
{ "@context": { "@vocab": "https://schema.org/" }, "@type": ["Service", "ResearchProject"], "legalName": "Sample Data Repository Office", "name": "SDRO", "url": "https://www.sample-data-repository.org", ... "availableChannel": [ { "@type": "ServiceChannel", "serviceUrl": "https://www.sample-data-repository.org/search", "providesService": { "@type": "Service", "name": "SDRO Website Search", "description": "Search for webpages, datasets, authors, funding awards, instrumentation and measurements", "potentialAction": { "@type": "SearchAction", "target": "https://www.sample-data-repository.org/search?keywords={query_string}", "query-input": { "@type": "PropertyValueSpecification", "valueRequired": true, "valueName": "query_string" } } } } ] }
By specifying the schema:potentialAction, we create a machine-actionable way to execute searches.
Back to top
If your repository has a concept of a data collection, some grouping of a number of datasets, we can use the schema:DataCatalog to describe these collections using the schema:OfferCatalog. One exampel of a DataCatalog might be to group datasets by a categorization such as 'biological data' or 'chemical data'. Or a catalog could be grouped by instrument, parameter or whatever logical grouping a repository may have.
{ "@context": { "@vocab": "https://schema.org/" }, "@type": ["Service", "ResearchProject"], "legalName": "Sample Data Repository Office", "name": "SDRO", "url": "https://www.sample-data-repository.org", ... "hasOfferCatalog": { "@type": "OfferCatalog", "name": "Sample Data Repository Resource Catalog", "itemListElement": [ { "@type": "DataCatalog", "@id": "https://www.sample-data-repository.org/collection/biological-data", "name": "Biological Data", "audience": { "@type": "Audience", "audienceType": "public", "name": "General Public" } }, { "@type": "DataCatalog", "@id": "https://www.sample-data-repository.org/collection/geological-data", "name": "Geological Data", "audience": { "@type": "Audience", "audienceType": "public", "name": "General Public" } } ] } }
Back to top
The SWEET ontology defines a number of science disciplines and a repository could reference those, or another vocabuary's resources, by adding the vocabular to the @context
attribute of the JSON-LD markup.
{ "@context": { "@vocab": "https://schema.org/", "sweet-rel": "http://sweetontology.net/rela/", "sweet-kd": "http://sweetontology.net/humanKnowledgeDomain/" }, "@type": ["Service", "ResearchProject"], "legalName": "Sample Data Repository Office", "name": "SDRO", "url": "https://www.sample-data-repository.org", "description": "The Sample Data Repository Service provides access to data from an imaginary domain accessible from this website.", "sweet-rel:hasRealm": [ { "@id": "sweet-kd:Biogeochemistry" }, { "@id": "sweet-kd:Oceanography" } ] }
Back to top