- 1 Abstact
- 2 Format
- 3 Content
- 4 Distributions and Datasets
- 5 Discovery
This is a draft
This document defines an organisational profile document, which can be used to discover datasets about aspects of the organisation, and standards-conformant APIs which can be used to interact with some aspect of the organisation.
The profile document is a dataset about the organisation.
|Name||Organization||Contact||Alexander Dutton||University of Oxfordemail@example.com||Christopher Gutteridge||University of Southamptonfirstname.lastname@example.org|
Namespaces used in this document
Wherever possible, we seek to use pre-existing vocabularies and terms. Here are the namespaces we re-use:
|Name||Prefix||Namespace||Documentation||Organization ontology||org||http://www.w3.org/ns/org#||http://www.epimorphics.com/public/vocabulary/org.html||vCard||v||http://www.w3.org/2006/vcard/ns#||http://www.w3.org/TR/vcard-rdf/||SKOS (Simple Knowledge Organization System)||skos||http://www.w3.org/2004/02/skos/core#||http://www.w3.org/2004/02/skos/||FOAF (Friend of a Friend)||foaf||http://xmlns.com/foaf/0.1/||http://xmlns.com/foaf/spec/||DCMI Type (Dublin Core Metadata Initiative Type)||dcmit||http://purl.org/dc/dcmitype/||http://dublincore.org/documents/2002/07/13/dcmi-type-vocabulary/||DCat (Data Catalogue)||dcat||http://www.w3.org/ns/dcat#|
The profile document should be available as either RDF/XML (application/rdf+xml) or Turtle (text/turtle). One may implement content negotiation, but it isn't required.
The document should be of type oo:OrganizationProfileDocument, and contain a foaf:primaryTopic property pointing at the organization. We recommend that you use a class from the Organization ontology, such as org:FormalOrganization
<?xml version="1.0" encoding="utf-8"?> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:foaf="http://xmlns.com/foaf/0.1/" xmlns:org="http://www.w3.org/ns/org#" xmlns:oo="http://purl.org/openorg/"> <oo:OrganizationProfileDocument rdf:about=""> <foaf:primaryTopic> <org:FormalOrganization rdf:about="http://id.example.org/"> <!-- organization metadata --> <!-- profile documents and datasets --> </org:FormalOrganization> </foaf:primaryTopic> </oo:OrganizationProfileDocument> </rdf:RDF>
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> . @prefix foaf: <http://xmlns.com/foaf/0.1/> . @prefix org: <http://www.w3.org/ns/org#> . @prefix oo: <http://purl.org/openorg/> . <> a oo:OrganizationProfileDocument ; foaf:primaryTopic <http://id.example.org/> . <http://id.example.org/> a org:FormalOrganization . # organization metadata # profile documents
We recommend that you include the following metadata about your organization:
|Purpose||Predicates||Description||Examples||Requirement||Preferred name||skos:prefLabel||Use skos:prefLabel for the primary (e.g. legally-recognised) name. You may provide names in more than one language if necessary, but there should be at most one in any language.||
<skos:prefLabel xml:lang="en">Cardiff University</skos:prefLabel> <skos:prefLabel xml:lang="cy">Prifysgol Caerdydd</skos:prefLabel>
|MUST||Alternative names||skos:altLabel||Use skos:altLabel for trading names and abbreviations. You may include as many alternative names as you wish.||
|MAY||Hidden names||skos:hiddenLabel||Use skos:hiddenLabel for names your organization is known by, but which aren't official. Examples include colloquial names, and common misspellings. These names may be used to help find your organization in searches. You may include as many hidden names as you wish.||
|MAY||Sort name||ov:sortLabel||A string by which your organization should be sorted. There should be at most one, and your preferred label will be used if one isn't provided.||
<ov:sortLabel>Oxford, University of</ov:sortLabel>
<ov:sortLabel>Saint Andrews, University of</ov:sortLabel>
|MAY||Telephone number (voice)||v:tel||The main contact number for your organization.||
<v:tel> <v:Voice rdf:about="tel:+44-1234-123456"> <rdfs:label>01234 123456</rdfs:label> <rdf:value>+44-1234-123456</rdf:value> </v:Voice> </v:tel>
|SHOULD||Telephone number (facsimile)||v:tel||The main fax number for your organization.||
<v:tel> <v:Fax rdf:about="tel:+44-1234-123456"> <rdfs:label>01234 123456</rdfs:label> <rdf:value>+44-1234-123456</rdf:value> </v:Fax> </v:tel>
|SHOULD||Logo||foaf:logo||The logo of your organization. We recommend this is a "web" site image, rather than a high resolution. Suggested maximum dimensions: 250px wide, 150px high.||
<foaf:logo rdf:resource='http://www.example.com/logo.png' />
Distributions and Datasets
One of the goals of the organisational profile document is to allow systems to discover data about your organisation. Some information may be available as a single document (such as an RSS feed), other types of information may be available in alternate ways (eg. many repositories support OAI-PMH to retrieve their catalogue without the need to keep downloading a huge docmuent every time.
Generally you only need to describe the Distribution, which is either a direct download, a feed (RSS etc.) or a WebService (an endpoint or API of some kind). It may be useful to describe the dataset if you want to link together several distributions of the same dataset.
note for data consumers
What to Include
Large organisations may have thousands of datasets. The profile document is only concerned with datasets which it is predictable for many organisations to have in common. For more specialist datasets, create a dataset catalogue and make that discoverable via the profile document.
Only datasets relating to the publishing organisation itself should be included in the profile.
A distribution is identified by the URL it is available from. It is quite reasonable to have several forms of distribution relating to a single dataset.
The point of describing the distribution is to let an application decide if it might be useful. For this purposes it needs to know:
- what organisation, or part thereof, it describes
- what it describes about that organisation (news, places, events, members, jobs etc.)
It is also very useful to know:
- what pattern or standards it conforms to.
- what license it is provided under
- when it was last updated
Distributions come in serveral flavours.
- Download -- which is where the whole thing is available from a single URL
- Feed -- a summary of the dataset, usually RSS or Atom
- WebService -- a web based API to access the data, such as SOAP, OAI-PMH, SPARQL etc.
Note for consumers: If a distribution has an associated dataset described, then the license and themes of the dataset are inherited by all its distributions.
format: application/rss+xml. format: atom
A dataset should be identified by a URI. This identifies and abstract contcept, so should not be the URL of a website. If in doubt use a fragment identifier on the profile iteself. eg.
<dcmit:Dataset rdf:about="#jobs"> </dcmit:Dataset>
Discovering with well-known URI (preferred method)
The RFC 5758 defines a mechanism for reserving 'well-known' URIs on any Web server.
We intend to register the well-known URI /.well-known/openorg for the purpose of discovering the organisational profile document.
This may either serve the document directly or provide an HTTP redirect to the document URL.
Here is the proposed assignment template:
URI suffix: openorg Change controller: University of Southampton; mailing list Specification document(s): This document Related information: None
Discovery with Linked Data
An Organisational Profile Document is the ideal thing to return when resolving the URI of your organiation.
Disovery via Homepage
You may also make your document discoverable via a link element in the head of the homepage of your organisation.
<link rel='openorgProfile' href='...url...' />