Addressing Org ISSUE-35

Apart from some clean ups on the ontology file I believe the only 
comments to address on the Org ontology before Last Call are those 
raised by Bart in May. We never seem to have added those to the tracker 
so, as you will have seen, I added it myself thus creating ISSUE-35.

As mentioned last week, Bart and I have been discussing this. We have a 
revision proposal for Org, attached below. This covers most of Bart's 
issues.[1]

This might be a topic to include on Thursday's call.

Questions for the group (either via email or on the call) are:

(1) Are there any objections to this revision?

(2) Do we feel this needs a new Working Draft?

Given that this is a non-trivial addition we might feel it needs another 
WD cycle before taking to Last Call. Or we might feel that, were I to 
produce a revised document that the WG itself is happy with, then we 
could just vote on that as a Last Call candidate.

Sandro, do you have a steer on that?

Dave

[1] It does not cover representing the size of organizations but for 
Bart's use case that is non-trivial because it is time dependent in a 
complex way. A full solution to that would be something like a "staffing 
levels" ontology which would need a rich representation for time of day 
("week day evenings, except on Thursday's and bank holidays"). That is 
beyond the scope of Org and GLD.

=========================

# Revision proposal for Organization ontology

Dave Reynolds, Bart van Leeuwen

## Motivation

Feedback on practical use of the Org ontology within public sector
bodies indicates a need to be able to represent organizational
structure independently of the people who hold positions in that
structure.

Specific examples are:

o Representing posts within UK Government, as part of publishing
   "organograms". Here some Posts can be filled by committees or other
   organizations, not just by individuals.

o Alignment of command and control structures for cross-border
   incident management.

o Representing groups of staff with particular responsibilities. For
   example the "evacuation staff" of a hotel where the number of
   members of that group, rather then necessarily a list of them is
   needed.

In principle the org:Membership n-ary relation could be used without
specifying the org:member in the relationship. However, that modelling
is obscure, not explicitly sanctioned by the specification and fails
to cover the case where the post is itself some organization.

## Proposed revisions

1. To add an explicit representation for organizational posts, based on
the modelling developed by Jeni Tennison on behalf of data.gov.uk.
See:   http://reference.data.gov.uk/def/central-government/

  foaf:Agent --org:holds ->  org:Post  --org:postIn -> org:Organization
             <-org:heldBy--            <-org:hasPost--

2. To make org:Post a subclass of org:Organization to support
situations such as the UK Government or the "evacuation staff" use
case where multiple people may hold the same post.

3. To extend org:reportsTo to hold between org:Posts as well as
between foaf:Agents.

4. To extend org:role to be applicable to org:Post. This allows
cross-organizational mapping of posts (as needed in the cross-border
incident management usecase) through mapping of the associated roles.

For details of this see the last section.

## Impact of the change

The notion of a Post seems reasonably intuitive and this modelling is
simple and addresses all the main use cases raised. It is additive and 
does not invalidate any existing usage.

The challenging issue is that this new mechanism partially overlaps
with existing mechanisms (org:Membership, direct org:reportsTo). This
gives different ways to say (nearly) the same thing, which could lead
to confusion and potential lack of interoperability.

One option would be to deprecate org:Membership and only have
org:Posts. However, on review that does not work since we still need
the option to represent time-limited membership relationships.

So our proposed resolution of this challenge is to add a section to
the specification which explicitly describes the partial overlap and
explains the situations in which each representation is needed.
In particular, it would recommend that particular applications of Org
may wish to define a profile or subset of the Org ontology to ensure
interoperability.

## Proposed additions in Turtle format

org:Post a owl:Class, rdfs:Class;
     rdfs:label "Post"@en;
     rdfs:comment """
       A Post represents some position within an organization that
       exists independently of the person or persons filling it. Posts
       may be used to represent situations where a person is a member
       of an organization ex officio (for example the Secretary of
       State for Scotland is part of UK Cabinet by virtue of being
       Secretary of State for Scotland, not as an individual person). A
       post can be held by multiple people and hence can be treated as
       a organization in its own right.
     """@en;
     rdfs:subClasOf org:Organization;
     rdfs:isDefinedBy <http://www.w3.org/ns/org> ;
     .

org:holds a owl:ObjectProperty, rdf:Property;
     rdfs:label "holds"@en;
     rdfs:comment """Indicates a Post held by some Agent."""@en;
     rdfs:domain foaf:Agent;
     rdfs:range  org:Post;
     rdfs:subPropertyOf org:memberOf;
     rdfs:isDefinedBy <http://www.w3.org/ns/org> ;
     .

org:heldBy a owl:ObjectProperty, rdf:Property;
     rdfs:label "held by"@en;
     rdfs:comment """Indicates an Agent which holds a Post."""@en;
     rdfs:domain  org:Post;
     rdfs:range foaf:Agent;
     rdfs:subPropertyOf org:hasMember;
     rdfs:isDefinedBy <http://www.w3.org/ns/org> ;
     .

org:holds owl:inverseOf org:heldBy .

org:postIn a owl:ObjectProperty, rdf:Property;
     rdfs:label "post in"@en;
     rdfs:comment """Indicates the Organization in which the Post 
exists."""@en;
     rdfs:domain org:Post;
     rdfs:range  org:Organization;
     rdfs:isDefinedBy <http://www.w3.org/ns/org> ;
     .

org:hasPost a owl:ObjectProperty, rdf:Property;
     rdfs:label "post"@en;
     rdfs:comment """Indicates a Post which exists within the 
Organization."""@en;
     rdfs:domain  org:Organization;
     rdfs:range   org:Post;
     rdfs:isDefinedBy <http://www.w3.org/ns/org> ;
     .

org:postIn owl:inverseOf org:hasPost .

org:role a owl:ObjectProperty, rdf:Property;
     rdfs:label "role"@en;
     rdfs:domain [a owl:Class; owl:unionOf (org:Membership org:Post)];
     rdfs:range  org:Role;
     rdfs:comment """Indicates the Role that the Agent plays in a 
Membership relationship with an Organization."""@en;
     rdfs:isDefinedBy <http://www.w3.org/ns/org> ;
     .

org:reportsTo a owl:ObjectProperty, rdf:Property;
     rdfs:label "reports to"@en;
     rdfs:domain [a owl:Class; owl:unionOf (foaf:Agent org:Post)];
     rdfs:range  [a owl:Class; owl:unionOf (foaf:Agent org:Post)];
     rdfs:comment """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 _dotted line_ 
reporting)."""@en;
     rdfs:isDefinedBy <http://www.w3.org/ns/org> ;
     .

# Implied entailments

The relationship between org:Post and org:Membership can be more
defined in terms of entailment rules:

{
?agent org:holds  ?post .
?post  org:postIn ?org .
} => {
?agent  org:memberOf ?org .
}

{
?agent org:holds  ?post .
?post  org:postIn ?org .
?post  org:role   ?role .
} => {
[] a org:Membership;
   org:member       ?agent ;
   org:organization ?org;
   org:role         ?role .
}

Received on Tuesday, 25 September 2012 08:39:47 UTC