Difference between revisions of "Organisational Structure"

From OpenOrg
Jump to: navigation, search
Line 3: Line 3:
== Namespaces ==
== Namespaces ==
[http://prefix.cc/org,rdfs,aiiso,xtypes org aiiso rdfs xtypes]
[http://prefix.cc/org,rdfs,aiiso,xtypes org aiiso rdfs xtypes]  
== Types ==
== Types ==

Latest revision as of 20:31, 13 February 2018

Organisational structure should primarily be modelled using the org ontology, with types from the AIISO as appropriate.


org aiiso rdfs xtypes


Your main organisation should be of type org:FormalOrganization, other parts should be either org:FormalOrganization or org:OrganizationalUnit.


It is recommended that you put no structural information in the URI. Example of a bad chocie:


Good examples:




or (if using just Flat RDF Documents)


It is better to assign a team a unique ID and use that. This will avoid pain and confusion when the organisation restructures, which always eventually happen.

Sub-units and organisations

Organisation should have a org:hasSubOrganization relationship with units and sub-organisations.

Sub-units may be included to any degree of detail, but it is strongly recommended that the minimum should be that all units referenced in other parts of the open linked data for the organisation should be listed in the organogram document

Generally sub parts will have type org:OrganizationalUnit. However they may be org:FormalOrganization instead, if that sub-organisation is recognised as a (legal?) organisation in its own right.


<syntaxhighlight lang="xml"> <rdf:RDF …>

 ... license etc ...
 <rdf:Description rdf:about="....main org URI...">
   <rdf:type rdf:resource="http://www.w3.org/ns/org#FormalOrganization"/>
   <rdfs:label>Example Org</rdfs:label>
   <org:hasSubOrganization rdf:resource='..../orgpart-001'>
   <org:hasSubOrganization rdf:resource='..../orgpart-002'>
   <org:hasSubOrganization rdf:resource='..../orgpart-003'>
 <rdf:Description rdf:about="..../orgpart-001">
   <rdf:type rdf:resource="http://www.w3.org/ns/org#OrganizationalUnit"/>
   <rdfs:label>Sales Division</rdfs:label>

</rdf:RDF> </syntaxhighlight>

Sub-Organisations who manage their own org data

Collegiate institutions, or other organisations which are part of the main organisations may devolve URI definition and org description to their respective sub parts.

In this case a source of additional information about the college may be indicated using an rdfs:seeAlso to link the URI of the sub-org to the location of the RDF describing it. To indicate that this resource contains RDF data, indicate that is is of type xtypes:Document-RDFSerialisation.

<syntaxhighlight lang="xml">

 <rdf:Description rdf:about="..../school-023">
   <rdf:type rdf:resource="http://www.w3.org/ns/org#OrganizationalUnit" />
   <rdfs:label>School which does their own darn RDF</rdfs:label>
   <rdfs:seeAlso rdf:resource="http://data.ecs.example.edu/orgchart.rdf" />
 <rdf:Description rdf:about="http://data.ecs.example.edu/orgchart.rdf">
   <rdf:type rdf:resource="http://purl.org/xtypes/Document-RDFSerialisation" />



The top level of a university should be type aiiso:Institution in addition to org:FormalOrganization.

For other parts of a university structure add the following types, as appropriate:

aiiso:Center, aiiso:College, aiiso:Department, aiiso:Divison, aiiso:Faculty, aiiso:Institute, aiiso:ResearchGroup, aiiso:School.

For more details see http://vocab.org/aiiso/schema but the rule of thumb is that if it's called a faculty by your university then it's type aiiso:Faculty.

If your institution is collegiate, then each college should be of both type org:FormalOrganization and aiiso:College.


<syntaxhighlight lang="xml"> <rdf:RDF …>

 ... license etc ...
 <rdf:Description rdf:about="....main org URI...">
   <rdf:type rdf:resource="http://www.w3.org/ns/org#FormalOrganization" />
   <rdf:type rdf:resource="http://purl.org/vocab/aiiso/schema#Institution" />
   <rdfs:label>Example University</rdfs:label>
   <foaf:homepage rdf:resource="http://www.example.ac.uk/"/>
   <org:hasSubOrganization rdf:resource='..../dept-001'>
   <org:hasSubOrganization rdf:resource='..../unit-001'>
 <rdf:Description rdf:about="..../dept-001">
   <rdf:type rdf:resource="http://purl.org/vocab/aiiso/schema#Department" />
   <rdfs:label>Physics Department</rdfs:label>
   <foaf:homepage rdf:resource="http://www.physics.example.ac.uk/"/>
 <rdf:Description rdf:about="..../unit-001">
   <rdf:type rdf:resource="http://www.w3.org/ns/org#OrganizationalUnit" />
   <rdfs:label>Waste Services</rdfs:label>

</rdf:RDF> </syntaxhighlight>

nb. It may be that not all Organizational Units of an academic institution require an aiiso: type.


From the above schema other predicates and classes from FOAF, AIISO and ORG should be possible to infer. Keeping the above list to a minimum makes basic consumption easier. There's nothing to stop you adding additional predicates and classes but they should be in addition, not as alternatives.