- From: Dave Reynolds <dave.e.reynolds@gmail.com>
- Date: Tue, 25 Sep 2012 09:36:57 +0100
- To: public-gld-wg@w3.org
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