Profile

From OpenOrg
Revision as of 10:17, 25 January 2013 by AlexDutton (talk | contribs) (Discovering with well-known URI (preferred method))
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Abstact

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.

Authors

Name Organization Contact
Alexander Dutton University of Oxford alexander.dutton@it.ox.ac.uk
Christopher Gutteridge University of Southampton cjg@ecs.soton.ac.uk

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#

Format

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.

Content

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

RDF/XML

<?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>

Turtle

 @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

Organization metadata

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>Cardiff University</skos:prefLabel>
<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.
<skos:altLabel>UWE</skos:altLabel>
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.
<skos:hiddenLabel>Leeds Met</skos:hiddenLabel>
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' />
SHOULD

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.


Distribution

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.

Download

Feed

format: application/rss+xml. format: atom

WebService

OAI-PMH SPARQL

Dataset

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>

Discovery

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...' />