First ReSpec'd version
authorDaniel Vila <dvila@delicias.dia.fi.upm.es>
Fri, 03 Feb 2012 19:46:20 +0100
changeset 64 e652cadb212e
parent 63 a4450f08709a
child 65 9836d60a0f57
First ReSpec'd version
org/img/diagram.png
org/index.html
org/respec-config.js
org/respec-ref.js
Binary file org/img/diagram.png has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/org/index.html	Fri Feb 03 19:46:20 2012 +0100
@@ -0,0 +1,696 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML+RDFa 1.1//EN"
+                      "http://www.w3.org/MarkUp/DTD/xhtml-rdfa-2.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+	<title>An organization ontology</title>
+	<meta name="description" content="Best Practices for Publishing Linked Data" />
+	<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+	<script type="text/javascript"src="http://dev.w3.org/2009/dap/ReSpec.js/js/respec.js" class="remove"></script>
+	<script src="respec-ref.js"></script>
+	<script src="respec-config.js"></script>
+	<link rel="stylesheet" type="text/css" href="local-style.css" />
+</head>
+<body>
+
+
+<section id="abstract">
+
+<p> This document describes a core ontology for organizational structures, aimed
+at supporting linked-data publishing of organizational information across
+a number of domains. It is designed to allow domain-specific extensions to add classification
+of organzations and roles, as well as extensions to support neighbouring information
+such as organizational activities.
+</p>
+</section>
+
+<section id="sotd">
+
+</section>
+
+<section class="introductory">
+<h2>Scope</h2>
+
+<p>
+This document is aimed at assisting government IT managers, procurement officers, Web developers, vendors, and researchers who are interested in publishing open government data using W3C standards.  The benefits of using international standards for data exchange is to significantly increase interoperability of data.
+</p>
+<p>
+Readers of this document are expected to be familiar with delivery of content via the Web, and to have a general familiarity with the technologies involved, but are not required to have a background in semantic technologies or previous experience with Linked Data. Data stewards, curators, database administrators and other personnel involved in Open Government initiatives are encouraged to read this Linked Open Data Best Practices document. 
+</section>
+
+<!--    INTRODUCTION    -->
+<section>
+<h2>Introduction</h2>
+
+<p>This ontology was original motivated by a need to publish information
+relating to government organizational structure as part of the <em>data.gov.uk</em> initiative.
+We felt that the best approach was to develop a small, generic, reusable core
+ontology for organizational information and then let developers extend
+and specialize it to particular domains. </p> 
+
+<p>The ontology gives minimal basic terms to support representation of:</p>
+<ul>
+  <li>organizational structure</li>
+    <ul>
+      <li>notion of an organization</li>
+      <li>decomposition into sub-organizations and units</li>
+      <li>purpose of an organization</li>
+    </ul>
+  <li>reporting structure</li>
+    <ul>
+      <li>people reporting structure within an organization</li>
+      <li>roles, relationship between person and organization</li>
+    </ul>
+  <li>location information</li>
+    <ul>
+     <li>sites or buildings, locations within sites</li>
+    </ul>
+  <li>organizational history (merger, renaming, repurposing)</li>
+</ul>
+
+<p>This coverage corresponds to the type of information typically
+   found in organizational charts. As such it does not offer a
+   complete representation for all the nuances of organizational
+   control structures and flows of accountability and empowerment.
+   Developers are encouraged to create extension vocabularies for such
+   purposes, building upon this generic foundation.</p>
+
+<p>The ontology does not provide category structures for organization
+type, organization purpose or roles. Different domains will have different
+requirements for classification of such concepts. Instead the ontology 
+provides just the core base concepts needed to allow extensions to add specific
+sub-class structures or classification schemes as required. 
+</p>
+
+<section>
+<h3>Overview of ontology</h3>
+
+<img src="img/diagram.png" alt="Diagram dipicting core classes and relationships">
+
+</section>
+
+<section>
+<h3>Namespace</h3>
+
+  <p>The namespace for the ontology is: 
+  	<a href="http://www.w3.org/ns/org#">http://www.w3.org/ns/org#</a>
+  </p>
+</section>
+
+<section>
+<h3>Design notes</h3>
+
+  <p>For background to the approach taken in developing the ontology see: 
+    <a href="http://www.epimorphics.com/web/category/category/developers/organization-ontology">blog notes</a></p>
+
+</section>
+
+
+<section>
+<h3>Notes on style</h3>
+
+<p><em>Use of inverses:</em> authorities differ on whether providing pairs of inverse relationships between
+concepts is good practice compared to declaring each relationship in just one direction. In this design we
+provide inverses for most relations (omitting attribute-like relations). This makes it easier to query
+the data in linked-data settings where a (non-symmetric) closed bounded description is often the
+default description of each resource. This does incur a cost in terms of storage or use of run-time inference.
+Particular applications of the ontology may adopt a profile in which only certain directions are asserted in the
+  data and leave it up to clients to apply any inverseOf reasoning they require.</p>
+
+<p><em>Naming:</em> some designers prefer to name properties by nouns which describe the object
+of the property, others prefer to treat property names as names of the link and use a pattern 
+to indicate the direction of the link. Here we adopt the latter approach for those properties
+which are relational and especially when the direction is ambiguous.
+We use the URI pattern <code>org:hasFoo/org:fooOf</code> for this but simplify the labels to "foo" 
+and "foo of" to improve readability in linked data viewers.</p>
+</section>
+
+</section>
+<!--    Organizational structure   -->
+<section>
+<h2>Organizational structure</h2>
+
+<dl>
+<dt><em>Class:</em> <code>org:Organization</code> (subClassOf  <code>foaf:Agent</code>)</dt>
+<dd>Represents a collection of people organized together into a 
+community or other social, commercial or political structure. The group 
+has some common purpose or reason for existence which goes beyond the 
+set of people belonging to it and can act as an Agent. Organizations are
+ often decomposable into hierarchical structures.  It is recommended 
+that SKOS lexical labels should be used to label the Organization. In 
+particular <code>skos:prefLabel</code> for the primary (e.g. legally recognized name), <code>skos:altLabel</code> for alternative names (trading names, colloquial names) and <code>skos:notation</code> to denote codes from a code list. Alternative names: <em>Collective</em> <em>Body</em> <em>Org</em> <em>Group</em></dd>
+</dl>
+
+<p> </p>
+
+
+<dl>
+<dt><em>Class:</em> <code>org:FormalOrganization</code> (subClassOf  <code>org:Organization</code>, <code>foaf:Organization</code>; superClassOf <code>gr:BusinessEntity</code>)</dt>
+<dd>An Organization which is recognized in the world at large, in 
+particular in legal jurisdictions, with associated rights and 
+responsibilities. Examples include a Corporation, Charity, Government or
+ Church. Note that this is a super class of <code>gr:BusinessEntity</code> and it is recommended to use the GoodRelations vocabulary to denote Business classifications such as DUNS or NAICS.</dd>
+</dl>
+
+<p> </p>
+
+<dl>
+<dt><em>Class:</em> <code>org:OrganizationalUnit</code> (subClassOf  <code>org:Organization</code>)</dt>
+<dd>An Organization such University Support Unit which is part of some 
+larger FormalOrganization and only has full recognition within the 
+context of that FormalOrganization, it is not a Legal Entity in its own 
+right. Units can be large and complex containing other Units and even 
+FormalOrganizations. Alternative names: <em>OU</em> <em>Unit</em> <em>Department</em></dd>
+</dl>
+
+<p> </p>
+
+<dl>
+<dt><em>Property:</em> <code>org:subOrganizationOf</code>  (<code>org:Organization</code> -&gt; <code>org:Organization</code>)</dt>
+<dd>Represents hierarchical containment of Organizations or 
+Organizational Units; indicates an organization which is a sub-part or 
+child of this organization.  Inverse of <code>org:hasSubOrganization</code>. Alternative names: subOrgOf</dd>
+</dl>
+
+<p> </p>
+
+<dl>
+  <dt><em>Property:</em> <code>org:transitiveSubOrganizationOf</code>  (<code>org:Organization</code> -&gt; <code>org:Organization</code>, Transitive super property of <code>org:subOrganizationOf</code>)</dt>
+<dd>The transitive closure of subOrganizationOf, giving a representation
+ of all organizations that contain this one. Note that technically this 
+is a super property of the transitive closure so it could contain 
+additional assertions but such usage is discouraged.</dd>
+</dl>
+
+<p> </p>
+
+<dl>
+<dt><em>Property:</em> <code>org:hasSubOrganization</code>  (<code>org:Organization</code> -&gt; <code>org:Organization</code>)</dt>
+<dd>Represents hierarchical containment of Organizations or 
+OrganizationalUnits; indicates an Organization which contains this 
+Organization. Inverse of <code>org:subOrganizationOf</code>. Alternative names: hasSubOrg</dd>
+</dl>
+
+<p> </p>
+
+<dl>
+<dt><em>Property:</em> <code>org:purpose</code>  (<code>org:Organization</code> -&gt; *)</dt>
+<dd>Indicates the purpose of this Organization. There can be many 
+purposes at different levels of abstraction but the nature of an 
+organization is to have a reason for existence and this property is a 
+means to document that reason. An Organization may have multiple 
+purposes. It is recommended that the purpose be denoted by a controlled 
+term or code list, ideally a <code>skos:Concept</code>. However, the 
+range is left open to allow for other types of descriptive schemes. It 
+is expected that specializations or application profiles of this 
+vocabulary will constrain the range of the purpose. Alternative names: <em>remit</em> <em>responsibility</em> (esp. if applied to OrganizationalUnits such as Government Departments).</dd>
+</dl>
+
+<p> </p>
+
+<dl>
+  <dt><em>Property:</em> <code>org:hasUnit</code>  (<code>org:Organization</code> -&gt; <code>org:OrganizationalUnit</code>, subPropertyOf <code>hasSubOrganization</code>)</dt>
+<dd>Indicates a unit which is part of this Organization, e.g. a Department within a larger FormalOrganization. Inverse of <code>org:unitOf</code>.</dd>
+</dl>
+
+<p> </p>
+
+<dl>
+  <dt><em>Property:</em> <code>org:unitOf</code>  (<code>org:OrganizationalUnit</code> -&gt; <code>org:Organization</code>, subPropertyOf <code>subOrganizationOf</code>)</dt>
+<dd>Indicates an Organization of which this Unit is a part, e.g. a 
+Department within a larger FormalOrganization. This is the inverse of <code>org:hasUnit</code>.</dd>
+</dl>
+
+<p> </p>
+
+<dl>
+<dt><em>Property:</em> <code>org:classification</code>  (<code>org:Organization</code> -&gt; <code>skos:Concept</code>)</dt>
+<dd>Indicates a classification for this Organization within some 
+classification scheme. Extension vocabularies may wish to specialize 
+this property to have a range corresponding to a specific <code>skos:ConceptScheme</code>.
+ This property is under discussion and may be revised or removed - in 
+many cases organizations are best categorized by defining a sub-class 
+hierarchy in an extension vocabulary.</dd>
+</dl>
+
+<p> </p>
+
+<dl>
+<dt><em>Property:</em> <code>org:identifier</code>  (<code>org:Organization</code> -&gt;, subPropertyOf <code>skos:notation</code>)</dt>
+<dd>Gives an identifier, such as a company registration number, that can
+ be used to used to uniquely identify the organization. Many different 
+national and international identier schemes are available. The org 
+ontology is neutral to which schemes are used. The particular identifier
+ scheme should be indicated by the datatype of the identifier value.  
+Using datatypes to distinguish the notation scheme used is consistent 
+with recommended best practice for <code>skos:notation</code> of which this property is a specialization.</dd>
+</dl>
+
+<p> </p>
+
+<dl>
+<dt><em>Property:</em> <code>org:linkedTo</code>  (<code>org:Organization</code> -&gt; <code>org:Organization</code>)</dt>
+<dd>Indicates an arbitrary relationship between two organizations. 
+Specializations of this can be used to, for example, denote funding or 
+supply chain relationships.</dd>
+</dl>
+
+<section>
+<h3>Formal organizations</h3>
+<p>Note that the subclass hierarchy
+   below <code>org:Organization</code> is not a full covering. There
+   can be <code>org:Organization</code>s which are in
+   neither <code>org:FormalOrganization</code>
+   nor <code>org:OrganizationalUnit</code>.  The distinction between
+   an externally recognized organization and one which only has
+   meaning in the context of a larger organization is a common one
+   which we support to simplify the mapping to existing practice. Note
+   that the containment hierarchy is completely open
+   - <code>org:FormalOrganization</code>s are free to contain
+   other <code>org:FormalOrganization</code>s (e.g. subsidiaries of
+   large corporations). We invite feedback from users of the ontology as to
+   whether this distinction useful in practice.</p>
+</section>
+
+<section>
+<h3>Organizational hierarchy</h3>
+
+<p>In many organizations there is a hierarchy of unit structures. For example we might see a containment hierarchy like:</p>
+
+<pre class="code">Corporation
+  BusinessUnit
+    Division
+      Function
+</pre>
+
+<p>The intention is that this would be added in custom extensions since they are specific to the 
+organization at hand. This can easily be done by subclassing <code>org:OrganizationalUnit</code>, 
+specializing <code>org:hasSubOrganization</code> and/or using <code>owl:allValuesFrom</code> restrictions on the new subclasses.</p>
+</section>
+
+<section>
+<h3>Organizational classification</h3>
+
+<p>In a number of circumstances we wish to classify organizations. There are many approaches that could be 
+taken for this. It can be based on the legal structure under which the organization operates.
+For example in UK legislation there are defined notions of Partnership, Limited Company (public, private) etc
+that can be used as a basis for classification.
+Alternatively organizations can be classified by the service they provide (e.g. Educational, Manufacturing, LegalService etc).</p>
+
+<p>The core organization ontology is neutral with respect to such choices.
+It is anticipated that applications to particular domains will introduce
+subclasses of <code>org:Organization</code> to reflect the domain requirements. </p>
+
+<p>Note that the core supports labelling an organization according to some 
+external classification scheme through use of the <code>org:classification</code> property. 
+This is appropriate for cases where the labelling is not intrinsic to the organization
+ and doesn't affect other aspects of the modelling. 
+ This is not always appropriate. 
+ For example, only Charities have CharityNumbers so it would be better to represent a 
+ Charity as a subClassOf FormalOrganization rather than via a taxonomic labelling.</p>
+</section>	
+</section>
+
+
+<!--    Reporting relationships and roles   -->
+<section>
+<h3>Reporting relationships and roles</h3>
+<dl>
+<dt><em>Property:</em> <code>org:memberOf</code> (<code>foaf:Agent</code> -&gt; <code>org:Organization</code>)</dt>
+<dd>Indicates that a person is a member of the Organization with no 
+indication of the nature of that membership or the role played. Note 
+that the choice of property name is not meant to limit the property to 
+only formal membership arrangements, it is also indended to cover 
+related concepts such as affilliation or other involvement in the 
+organization. Extensions can specialize this relationship to indicate 
+particular roles within the organization or more nuanced relationships 
+to the organization. Has an optional inverse, `org:hasmember`.</dd>
+</dl>
+
+<p> </p>
+
+<dl>
+  <dt><em>Property:</em> <code>org:hasMember</code> (<code>org:Organization</code> -&gt; <code>foaf:Agent</code>, equivalent property to <code>foaf:member</code>)</dt>
+<dd>Indicates a person who is a member of the subject Organization. 
+Inverse of `org:memberOf`, see that property for further clarification. 
+Provided for compatibility with `foaf:member`.</dd>
+</dl>
+
+<p> </p>
+
+<dl>
+<dt><em>Property:</em> <code>org:reportsTo</code> (<code>foaf:Agent</code> -&gt; <code>foaf:Agent</code>)</dt>
+<dd>Indicates a reporting relationship as might be depicted on an 
+organizational chart. The precise semantics of the reporting 
+relationship will vary by organization but is intended to encompass both
+ direct supervisory relationships (e.g. carrying objective and salary 
+setting authority) and more general reporting or accountability 
+relationships (e.g. so called <em>dotted line</em> reporting).</dd>
+</dl>
+
+<p> </p>
+
+<dl>
+<dt><em>Class:</em> <code>org:Role</code> subClassOf <code>skos:Concept</code></dt>
+<dd>Denotes a role that a Person or other Agent can take in an 
+organization. Instances of this class describe the abstract role; to 
+denote a specific instance of a person playing that role in a specific 
+organization use an instance of <code>org:Membership</code>. It is 
+common for roles to be arranged in some taxonomic structure and we use 
+SKOS to represent that. The normal SKOS lexical properties should be 
+used when labelling the Role. Additional descriptive properties for the 
+Role, such as a Salary band, may be added by extension vocabularies.</dd>
+</dl>
+
+<p> </p>
+
+<dl>
+<dt><em>Class:</em> <code>org:Membership</code></dt>
+<dd>Indicates the nature of an Agent's membership of an organization. 
+Represents an n-ary relation between an Agent, an Organzation and a 
+Role. It is possible to directly indicate membership, independent of the
+ specific Role, through use of the <code>org:memberOf</code> property.</dd>
+</dl>
+
+<p> </p>
+
+<dl>
+<dt><em>Property:</em> <code>org:member</code> (<code>org:Membership</code> -&gt; <code>foaf:Agent</code>)</dt>
+<dd>Indicates the Person (or other Agent including Organization) involved in the Membership relationship. Inverse of <code>org:hasMembership</code></dd>
+</dl>
+
+<p> </p>
+
+<dl>
+<dt><em>Property:</em> <code>org:organization</code> (<code>org:Membership</code> -&gt; <code>org:Organization</code>)</dt>
+<dd>Indicates Organization in which the Agent is a member.</dd>
+</dl>
+
+<p> </p>
+
+<dl>
+<dt><em>Property:</em> <code>org:role</code> (<code>org:Membership</code> -&gt; <code>org:Role</code>)</dt>
+<dd>Indicates the Role that the Agent plays in a Membership relationship with an Organization.</dd>
+</dl>
+
+<p> </p>
+
+<dl>
+<dt><em>Property:</em> <code>org:hasMembership</code> (<code>foaf:Agent</code> -&gt; <code>org:Membership</code>)</dt>
+<dd>Indicates a membership relationship that the Agent plays. Inverse of <code>org:member</code>.</dd>
+</dl>
+
+<p> </p>
+
+<dl>
+<dt><em>Property:</em> <code>org:memberDuring</code> (<code>org:Membership</code> -&gt; <code>owlTime:Interval</code>)</dt>
+<dd>Optional property to indicate the interval for which the membership is/was valid.</dd>
+</dl>
+
+<p> </p>
+
+<dl>
+<dt><em>Property:</em> <code>org:roleProperty</code> (<code>org:Role</code> -&gt; <code>rdf:Property</code>)</dt>
+<dd>This is a metalevel property which is used to annotate an <code>org:Role</code> instance with a sub-property of <code>org:memberOf</code>
+ that can be used to directly indicate the role for easy of query. The 
+intended semantics is a Membership relation involving the Role implies 
+the existence of a direct property relationship through an inference 
+rule of the form:  <code>{ [] org:member ?p; org:organization ?o; org:role [org:roleProperty ?r] } -&gt; {?p ?r ?o}</code>.</dd>
+</dl>
+
+<p> </p>
+
+<dl>
+<dt><em>Property:</em> <code>org:headOf</code> (<code>foaf:Agent</code> -&gt; <code>org:Organization</code>) subPropertyOf <code>org:memberOf</code></dt>
+<dd>Indicates that a person (or other agent) is the leader or formal 
+head of the Organization. This will normally mean that they are the root
+ of the <code>org:reportsTo</code> (acyclic) graph, though an organization may have more than one head.</dd>
+</dl>
+
+<p> </p>
+
+<dl>
+<dt><em>Property:</em> <code>org:remuneration</code> (<code>org:Membership</code> -&gt;)</dt>
+<dd>Indicates a salary or other reward associated with the role. 
+Typically this will be denoted using an existing representation scheme 
+such as <code>gr:PriceSpecification</code> but the range is left open to allow applications to specialize it (e.g. to remunerationInGBP).</dd>
+</dl>
+
+<section>
+<h3>Discussion</h3>
+
+<p>In some applications then it is sufficient to represent the role of an individual
+within an Organization by specializations of <code>org:memberOf</code>, as in the 
+builtin example <code>org:headOf</code>.</p>
+
+<p>However, in general it is advantageous to have an explicit representation of the organizational role (e.g. 
+to enable advertising of a post or for publication of salary ranges associated with the role), this is supported
+by the <code>org:Role</code> class. The situation of an Agent fulfilling that role within an organization
+is then expressed through instances of the <code>org:Membership</code> n-ary relation. This also
+makes it possible to annotate the relationship with qualifying information such as duration, salary,
+reference to the employment contract and so forth.</p>
+
+<p>For example:</p>
+
+<pre class="code">&lt;http://www.epimorphics.com/public/org#epimorphics&gt; a org:FormalOrganization;
+    skos:prefLabel "Epimorphics Ltd" .
+
+eg:ctoRole a org:Role;
+    rdfs:label "CTO" .
+        
+[] a org:Membership;
+    org:member &lt;http://www.amberdown.net/rdf/foaf.rdf#der&gt; ;
+    org:organization &lt;http://www.epimorphics.com/public/org#epimorphics&gt; ;
+    org:role eg:ctoRole;
+    org:memberDuring [a owlTime:Interval; owlTime:hasBeginning [
+                      owlTime:inXSDDateTime "2009-11-01T09:00:00Z"^^xsd:dateTime]] .
+</pre>
+
+<p>Since this representation can be a little less convenient to query and
+explore via linked-data browsing tools the core allows both explicit roles and
+simple direct relations to be used simultaneously. The relationship between
+the Role resource and the corresponding property can be indicated through 
+the <code>org:roleProperty</code> annotation. Thus we might extend the above example with:</p>
+
+<pre class="code">eg:ctoRole a org:Role;
+    org:roleProperty eg:ctoOf .
+    
+eg:ctoOf a owl:ObjectProperty, rdf:Property ;
+    rdfs:label "CTO" ;
+    rdfs:subPropertyOf org:memberOf .
+        
+&lt;http://www.amberdown.net/rdf/foaf.rdf#der&gt; 
+  eg:ctoOf &lt;http://www.epimorphics.com/public/org#epimorphics&gt; . 
+</pre>
+
+<p>In practice we antipate tool chains generating the <code>org:Membership</code> instances
+and a simple closure rule being used to add any corresponding short-cut specializations of <code>org:memberOf</code>.</p>
+</section>
+
+</section>
+
+
+<!--    LOCATION   -->
+<section>
+<h2>Location</h2>
+
+
+<dl>
+<dt><em>Class:</em> <code>org:Site</code></dt>
+<dd>An office or other premise at which the organization is located. 
+Many organizations are spread across multiple sites and many sites will 
+host multiple locations. In most cases a Site will be a physical 
+location. However, we don't exclude the possibility of non-physical 
+sites such as a virtual office with an associated post box and phone 
+reception service. Extensions may provide subclasses to denote 
+particular types of site.</dd>
+</dl>
+
+<p> </p>
+
+<dl>
+<dt><em>Property:</em> <code>org:siteAddress</code>  (<code>org:Site</code> -&gt; <code>vcard:VCard</code>)</dt>
+<dd>Indicates a VCard (using the http://www.w3.org/TR/vcard-rdf/ 
+vocabulary) for the site. This can include email, telephone, and 
+geo-location details as well as an address.</dd>
+</dl>
+
+<p> </p>
+
+<dl>
+<dt><em>Property:</em> <code>org:hasSite</code>  (<code>org:Organization</code> -&gt; <code>org:Site</code>)</dt>
+<dd>Indicates a site at which the Organization has some presence even if
+ only indirect (e.g. virtual office or a professional service which is 
+acting as the registered address for a company). Inverse of <code>org:siteOf</code>.</dd>
+</dl>
+
+<p> </p>
+
+<dl>
+<dt><em>Property:</em> <code>org:siteOf</code>  (<code>org:Site</code> -&gt; <code>org:Organization</code>)</dt>
+<dd>Indicates an Organization which has some presence at the given site. This is the inverse of <code>org:hasSite</code>.</dd>
+</dl>
+
+<p> </p>
+
+<dl>
+<dt><em>Property:</em> <code>org:hasPrimarySite</code>  (<code>org:Organization</code> -&gt; <code>org:Site</code>) subPropertyOf <code>org:hasSite</code></dt>
+<dd>Indicates a primary site for the Organization, this is the default 
+means by which an Organization can be contacted and is not necessarily 
+the formal headquarters.</dd>
+</dl>
+
+<p> </p>
+
+<dl>
+<dt><em>Property:</em> <code>org:hasRegisteredSite</code>  (<code>org:FormalOrganization</code> -&gt; <code>org:Site</code>) subPropertyOf <code>org:hasPrimarySite</code></dt>
+<dd>Indicates the legally registered site for the organization, in many 
+legal jurisdictions there is a requirement that FormalOrganizations such
+ as Companies or Charities have such a primary designed site.</dd>
+</dl>
+
+<p> </p>
+
+<dl>
+<dt><em>Property:</em> <code>org:basedAt</code>  (<code>foaf:Person</code> -&gt; <code>org:Site</code>)</dt>
+<dd>Indicates the site at which a person is based. We do not restrict the possibility that a person is based at multiple sites.</dd>
+</dl>
+
+<p> </p>
+
+<dl>
+<dt><em>Property:</em> <code>org:location</code>  (<code>foaf:Person</code> -&gt; xsd:string)</dt>
+<dd>Gives a location description for a person within the organization, for example a <em>Mail Stop</em> for internal posting purposes.</dd>
+</dl>
+
+</section>
+</section>
+
+
+<!--   Projects and other activities   -->
+<section>
+<h3>Projects and other activities</h3>
+
+<dl>
+<dt><em>Class:</em> <code>org:OrganizationalCollaboration</code> (subClassOf  <code>org:Organization</code>)</dt>
+<dd>A collaboration between two or more Organizations such as a project.
+ It meets the criteria for being an Organization in that it has an 
+identity and defining purpose independent of its particular members but 
+is neither a formally recognized legal entity nor a sub-unit within some
+ larger organization. Might typically have a shorter lifetime than the 
+Organizations within it, but not necessarily. All members are <code>org:Organization</code>s rather than individuals and those Organizations can play particular roles within the venture. Alternative names: <em>Project</em> <em>Venture</em>  <em>Endeavour</em> <em>Consortium</em></dd>
+</dl>
+
+<h2 id="historical">6. Historical information</h2>
+
+<p>Any aspect of organizational structure is subject to change over time. 
+For the most part this should be handled by an external mechanism such as named graphs. 
+When Organizations change substantially (not simply a change of personnel or internal structure, 
+for example a merger to create a new organization) then the new Organization 
+will typically be denoted by a new URI and we need some vocabulary to describe that change over time
+and the relationship between the original and resulting resouces. 
+The Event mechanism here gives a generic hook for this, building upon the 
+<a href="http://open-biomed.sourceforge.net/opmv/ns">OPMV Provenance Vocabulary</a>.</p>
+
+<dl>
+<dt><em>Class:</em> <code>org:ChangeEvent</code> (subClassOf <code>opmv:Process)</code></dt>
+<dd>Represents an event which resulted in a major change to an 
+organization such as a merger or complete restructuring. It is intended 
+for situations where the resulting organization is sufficient distinct 
+from the original organizations that it has a distinct identity and 
+distinct URI. Extension vocabularies should define sub-classes of this 
+to denote particular categories of event. The instant or interval at 
+which the event occurred should be given by `opmv:wasGeneratedAt`, a 
+description should be given by `dct:description`.</dd>
+</dl>
+
+<p> </p>
+
+<dl>
+<dt><em>Property:</em> <code>org:originalOrganization</code> (<code>org:ChangeEvent</code> -&gt; <code>org:Organization</code>) subPropertyOf opmv:used</dt>
+<dd>Indicates one or more organizations that existed before the change 
+event. Depending on the event they may or may not have continued to 
+exist after the event. Inverse of `org:changedBy`. Note that in 
+specializing the OPMV vocabulary we are treating an `org:Organization` 
+as an `opmv:Artifact`, which is consistent with the OPM model.</dd>
+</dl>
+
+<p> </p>
+
+<dl>
+<dt><em>Property:</em> <code>org:changedBy</code> (<code>org:Organization</code> -&gt; <code>org:ChangeEvent</code>)</dt>
+<dd>Indicates a change event which resulted in a change to this 
+organization. Depending on the event the organization may or may not 
+have continued to exist after the event. Inverse of 
+`org:originalOrganzation`.</dd>
+</dl>
+
+<p> </p>
+
+<dl>
+<dt><em>Property:</em> <code>org:resultedFrom</code> (<code>org:Organization</code> -&gt; <code>org:ChangeEvent</code>) subPropertyOf opmv:wasGeneratedBy</dt>
+<dd>Indicates an event which resulted in (led to, generated) this 
+organization. Inverse of `org:resultingOrganization`. Note that in 
+specializing the OPMV vocabulary we are treating an `org:Organization` 
+as an `opmv:Artifact`, which is consistent with the OPM model.</dd>
+</dl>
+
+<dl>
+<dt><em>Property:</em> <code>org:resultingOrganization</code> (<code>org:ChangeEvent</code> -&gt; <code>org:Organization</code>)</dt>
+<dd>Indicates an organization which was created or changed as a result of the event. Inverse of `org:resultedFrom`.</dd>
+</dl>
+</section>
+
+
+<!--    ACK   -->
+<section class="appendix">
+
+<!--    Change history   -->
+
+<h2>Change history</h2>
+<p>Changes since previous version 0.3 <a href="http://www.epimorphics.com/public/vocabulary/org-20100609.html">2010-06-09</a>:</p>
+<ul>
+  <li>Added <code>org:identifier</code> to support generic use of organization identifier schemes, including local and national schemes.</li>
+</ul>
+
+<p>Changes since previous version 0.2 <a href="http://www.epimorphics.com/public/vocabulary/org-20100607.html">2010-06-07</a>:</p>
+<ul>
+  <li>Added <code>org:changedBy</code> and <code>org:resultingOrganization</code> as inverses to
+      the OMPV compatible properties and added a note on use of inverses.</li>
+</ul>
+
+<p>Changes since previous version 0.1 <a href="http://www.epimorphics.com/public/vocabulary/org-20100528.html">2010-05-28</a>:</p>
+<ul>
+  <li>Rephrased the introduction to clarify scoping of the ontology.</li>
+  <li>Made <code>org:Organization</code> equivalent to <code>foaf:Organization</code> following clarifying discussions with Dan Brickley.</li>
+  <li>Added <code>org:hasMember</code> as an inverse of <code>org:memberOf</code> in order to be able to declare the equivalent to <code>foaf:member</code>, thanks to Dan Brickley for the suggestion.</li>
+  <li>Made <code>org:unitOf/hasUnit</code> sub properties of <code>org:subOrganizationOf/hasSubOrganization</code>, thanks to Dave Challis for prompting this clarification.
+  </li><li>Added <code>org:transitiveSubOrganizationOf</code>, thanks to Damian Steer for the suggestion.</li>
+  <li>Fixed range statements for <code>org:role</code> and <code>org:organization</code> to correspond to the documentation and intent, thanks to Bernard Vatant for spotting that problem.</li>
+  <li>Modified description of <code>org:memberOf</code> to clarify that the notion of membership is very broad and not meant to be limited to formal notions of membership.</li>
+  <li>Clarified the description of <code>org:FormalOrganization</code>.
+  </li><li>Fixed bug in restriction definition for <code>org:OrganizationalCollaboration</code>, thanks to Start Williams for point out the problem.</li>
+  <li>Reversed <code>org:resultingOrganization</code> to <code>org:resultedFrom</code> for compatibility with OPMV, thanks to Jeni Tennison for pointing out the problem.</li>
+  <li>Changed labels for has* properties to read as nouns, leaving URIs unchanged.</li>
+  <li>Added <code>rdfs:isDefinedBy</code> declarations, thanks to Kingsley Idehen for pointing out the lack of those.</li>
+  <li>Clarified license terms, thanks to Dan Brickley for pointing out the lack.</li>
+</ul>
+
+</section>
+<section class="appendix">
+<h2>Acknowledgments</h2>
+<p>
+The editors are very thankful for comments and suggestions ...
+</p>
+<p>This ontology was originally developed as part of the UK Linked Data Kernel project
+under the leadership and guidance of John Sheridan (The National Archives).
+Jeni Tennison provided immensely useful feedback and suggestions on the first draft,
+which greatly improved its design. The work also took inspiration from a
+number of other ontologies, particularly the thoughtfully designed
+<a href="http://www.london-gazette.co.uk/ontology/organisation.owl">Gazette Organization ontology</a>
+and <a href="http://proton.semanticweb.org/">Proton-top</a>.
+</p>
+
+</section>
+</body>
+</html>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/org/respec-config.js	Fri Feb 03 19:46:20 2012 +0100
@@ -0,0 +1,96 @@
+var respecConfig = {
+    // specification status (e.g. WD, LCWD, NOTE, etc.). If in doubt use ED.
+    specStatus:           "ED",
+    publishDate:          "2012-02-03",
+    //copyrightStart:       "2010",
+
+    // the specification's short name, as in http://www.w3.org/TR/short-name/
+    shortName:            "gld-org",
+    //subtitle:             "",
+    // if you wish the publication date to be other than today, set this
+    // publishDate:  "2009-08-06",
+
+    // if there is a previously published draft, uncomment this and set its YYYY-MM-DD date
+    // and its maturity status
+    //previousPublishDate:  "2011-06-26",
+    //previousMaturity:     "ED",
+    //previousDiffURI:      "http://dvcs.w3.org/hg/gld/bp/",
+    diffTool:             "http://www.aptest.com/standards/htmldiff/htmldiff.pl",
+
+    // if there a publicly available Editor's Draft, this is the link
+    edDraftURI:           "http://dvcs.w3.org/hg/gld/org/",
+
+    // if this is a LCWD, uncomment and set the end of its review period
+    // lcEnd: "2009-08-05",
+
+    // if you want to have extra CSS, append them to this list
+    // it is recommended that the respec.css stylesheet be kept
+    extraCSS:             [
+        "http://dev.w3.org/2009/dap/ReSpec.js/css/respec.css"
+    ],
+
+    // editors, add as many as you like
+    // only "name" is required
+    editors:  [
+        { name: "Dave Reynolds", company: "Epimorphics Ltd.", companyURL: "http://www.epimorphics.com/" }
+    ],
+
+    // authors, add as many as you like. 
+    // This is optional, uncomment if you have authors as well as editors.
+    // only "name" is required. Same format as editors.
+
+    //authors:  [],
+
+    // name of the WG
+    wg:           "Government Linked Data Working Group",
+
+    // URI of the public WG page
+    wgURI:        "http://www.w3.org/2011/gld/",
+
+    // name of the public mailing to which comments are due
+    wgPublicList: "public-gld-wg",
+
+    // URI of the patent status for this WG, for Rec-track documents
+    // !!!! IMPORTANT !!!!
+    // This is important for Rec-track documents, do not copy a patent URI from a random
+    // document unless you know what you're doing. If in doubt ask your friendly neighbourhood
+    // Team Contact.
+    wgPatentURI:  "",
+    maxTocLevel: 3,
+    preProcess: [ preProc ]
+    //alternateFormats: [ {uri: "diff-20110507.html", label: "diff to previous version"} ],
+};
+
+function updateExample(doc, content) {
+  // perform transformations to make it render and prettier
+  content = content.replace(/<!--/, '');
+  content = content.replace(/-->/, '');
+  content = doc._esc(content);
+  content = content.replace(/\*\*\*\*([^*]*)\*\*\*\*/g, '<span class="diff">$1</span>') ;
+  return content ;
+}
+
+function updateDTD(doc, content) {
+  // perform transformations to
+  // make it render and prettier
+  content = '<pre class="dtd">' + doc._esc(content) + '</pre>';
+  content = content.replace(/!ENTITY % ([^ \t\r\n]*)/g, '!ENTITY <span class="entity">% $1</span>');
+  content = content.replace(/!ELEMENT ([^ \t$]*)/mg, '!ELEMENT <span class="element">$1</span>');
+  return content;
+}
+
+function updateSchema(doc, content) {
+  // perform transformations to
+  // make it render and prettier
+  content = '<pre class="dtd">' + doc._esc(content) + '</pre>';
+  content = content.replace(/&lt;xs:element\s+name=&quot;([^&]*)&quot;/g, '&lt;xs:element name="<span class="element" id="schema_element_$1">$1</span>"') ;
+  return content;
+}
+
+function updateTTL(doc, content) {
+  // perform transformations to
+  // make it render and prettier
+  content = '<pre class="sh_sourceCode">' + doc._esc(content) + '</pre>';
+  content = content.replace(/@prefix/g, '<span class="sh_keyword">@prefix</span>');
+  return content;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/org/respec-ref.js	Fri Feb 03 19:46:20 2012 +0100
@@ -0,0 +1,127 @@
+var preProc = {
+      apply:  function(c) {
+                // extend the bibliography entries
+                berjon.biblio["MICRODATA"] = "<cite><a href=\"http://www.w3.org/TR/microdata/\">Microdata</a></cite> Ian Hickson; et al. 04 March 2010. W3C Working Draft. URL: http://www.w3.org/TR/microdata/ ";
+                berjon.biblio["XHTML-RDFA"] = "<cite><a href=\"http://www.w3.org/TR/xhtml-rdfa/\">XHTML+RDFa</a></cite> Manu Sporny; et al. 31 March 2011. W3C Working Draft. URL: http://www.w3.org/TR/xhtml-rdfa/ ";
+                berjon.biblio["HTML-RDFA"] = "<cite><a href=\"http://dev.w3.org/html5/rdfa/\">HTML+RDFa</a></cite> Manu Sporny; et al. 24 May 2011. W3C Working Draft. URL: http://dev.w3.org/html5/rdfa/ ";
+                berjon.biblio["HOWTO-LODP"] = "<cite><a href=\"http://linkeddata.org/docs/how-to-publish\">How to Publish Linked Data on the Web</a></cite>, C. Bizer, R. Cyganiak, and Tom Heath, Community Tutorial 17 July 2008. URL: http://linkeddata.org/docs/how-to-publish";
+                berjon.biblio["COOL-SWURIS"] = "<cite><a href=\"http://www.w3.org/TR/cooluris/\">Cool URIs for the Semantic Web</a></cite>, L. Sauermann and R. Cyganiak, W3C Interest Group Note 03 December 2008. URL: http://www.w3.org/TR/cooluris/";
+                berjon.biblio["VOID-GUIDE"] = "<cite><a href=\"http://www.w3.org/TR/void/\">Describing Linked Datasets with the VoID Vocabulary</a></cite>, K. Alexander, R. Cyganiak, M. Hausenblas, and J. Zhao, W3C Interest Group Note 03 March 2011. URL: http://www.w3.org/TR/void/";
+                berjon.biblio["RDFA-CORE-PROFILE"] = "<cite><a href=\"http://www.w3.org/profile/rdfa-1.1\">RDFa Core Default Profile</a></cite>, I. Herman, W3C RDF Web Applications Working Group 02 June 2011. URL: http://www.w3.org/profile/rdfa-1.1";
+                berjon.biblio["XHTML-RDFA-PROFILE"] = "<cite><a href=\"http://www.w3.org/profile/html-rdfa-1.1\">HTML+RDFa Core Default Profile</a></cite>, I. Herman, W3C RDF Web Applications Working Group 24 May 2011. URL: http://www.w3.org/profile/html-rdfa-1.1";
+                berjon.biblio["RFC2616"] = "<cite><a href=\"http://www.w3.org/Protocols/rfc2616/rfc2616.html\">Hypertext Transfer Protocol -- HTTP/1.1</a></cite>, R. Fielding; et al. June 1999. Internet RFC 2616. URL: http://www.w3.org/Protocols/rfc2616/rfc2616.html."
+
+                // process the document before anything else is done
+                var refs = document.querySelectorAll('adef') ;
+                for (var i = 0; i < refs.length; i++) {
+                    var item = refs[i];
+                    var p = item.parentNode ;
+                    var con = item.innerHTML ;
+                    var sp = document.createElement( 'dfn' ) ;
+                    var tit = item.getAttribute('title') ;
+                    if (!tit) {
+                        tit = con;
+                    }
+                    sp.className = 'adef' ;
+                    sp.title=tit ;
+                    sp.innerHTML = con ;
+                    p.replaceChild(sp, item) ;
+                }
+                refs = document.querySelectorAll('aref') ;
+                for (var i = 0; i < refs.length; i++) {
+                    var item = refs[i];
+                    var p = item.parentNode ;
+                    var con = item.innerHTML ;
+                    var sp = document.createElement( 'a' ) ;
+                    sp.className = 'aref' ;
+                    sp.setAttribute('title', con);
+                    sp.innerHTML = '@'+con ;
+                    p.replaceChild(sp, item) ;
+                }
+                // local datatype references
+                refs = document.querySelectorAll('ldtref') ;
+                for (var i = 0; i < refs.length; i++) {
+                    var item = refs[i];
+                    if (!item) continue ;
+                    var p = item.parentNode ;
+                    var con = item.innerHTML ;
+                    var ref = item.getAttribute('title') ;
+                    if (!ref) {
+                        ref = item.textContent ;
+                    }
+                    if (ref) {
+                        ref = ref.replace(/\n/g, '_') ;
+                        ref = ref.replace(/\s+/g, '_') ;
+                    }
+                    var sp = document.createElement( 'a' ) ;
+                    sp.className = 'datatype';
+                    sp.title = ref ;
+                    sp.innerHTML = con ;
+                    p.replaceChild(sp, item) ;
+                }
+                // external datatype references
+                refs = document.querySelectorAll('dtref') ;
+                for (var i = 0; i < refs.length; i++) {
+                    var item = refs[i];
+                    if (!item) continue ;
+                    var p = item.parentNode ;
+                    var con = item.innerHTML ;
+                    var ref = item.getAttribute('title') ;
+                    if (!ref) {
+                        ref = item.textContent ;
+                    }
+                    if (ref) {
+                        ref = ref.replace(/\n/g, '_') ;
+                        ref = ref.replace(/\s+/g, '_') ;
+                    }
+                    var sp = document.createElement( 'a' ) ;
+                    sp.className = 'externalDFN';
+                    sp.title = ref ;
+                    sp.innerHTML = con ;
+                    p.replaceChild(sp, item) ;
+                }
+                // now do terms
+                refs = document.querySelectorAll('tdef') ;
+                for (var i = 0; i < refs.length; i++) {
+                    var item = refs[i];
+                    if (!item) continue ;
+                    var p = item.parentNode ;
+                    var con = item.innerHTML ;
+                    var ref = item.getAttribute('title') ;
+                    if (!ref) {
+                        ref = item.textContent ;
+                    }
+                    if (ref) {
+                        ref = ref.replace(/\n/g, '_') ;
+                        ref = ref.replace(/\s+/g, '_') ;
+                    }
+                    var sp = document.createElement( 'dfn' ) ;
+                    sp.title = ref ;
+                    sp.innerHTML = con ;
+                    p.replaceChild(sp, item) ;
+                }
+                // now term references
+                refs = document.querySelectorAll('tref') ;
+                for (var i = 0; i < refs.length; i++) {
+                    var item = refs[i];
+                    if (!item) continue ;
+                    var p = item.parentNode ;
+                    var con = item.innerHTML ;
+                    var ref = item.getAttribute('title') ;
+                    if (!ref) {
+                        ref = item.textContent ;
+                    }
+                    if (ref) {
+                        ref = ref.replace(/\n/g, '_') ;
+                        ref = ref.replace(/\s+/g, '_') ;
+                    }
+
+                    var sp = document.createElement( 'a' ) ;
+                    var id = item.textContent ;
+                    sp.className = 'tref' ;
+                    sp.title = ref ;
+                    sp.innerHTML = con ;
+                    p.replaceChild(sp, item) ;
+                }
+            }
+    } ;
\ No newline at end of file