Modeling Rights in OWL
Wesley Hohfeld’s (1879–1918) discovery of an interrelated set of ‘incidents’ has had a profound effect on law and the analysis of rights, and is widely accepted (albeit with dispute around the edges). The Hohfeldian Analytical System is a formal system that can be used to analyze and relate different kinds of rights, their content, their agents, and actions to one another. The ‘incidents’ include:
- powers
- privileges
- claims
- immunities
Recently, I have been working with Mathias Brochhausen to implement them in an ontology in OWL that can be leveraged for knowledge representation of rights and obligations in domains like law, insurance claims, medicine…
Describing the incidents and relating them is easy for most of the rules in the system. For instance, relations like ‘Every power is a secondary rule and an active right’ are easy to treat with rdfs:subClassOf relations.
Other axioms are more difficult. Take for instance:
- A has a claim that B φ if and only if B has a duty to A to φ.
There are any number of ways one might begin formulating this rule in a logical system. In OWL, however, one is limited by a) the (arguable) use of a three place predicate (i.e. X has claim/duty on Y to perform action Z) and b) a prohibition against repeating the appearance of a variable in a class axiom (for the same reason, one cannot axiomatize the class of all barbers who shave themselves). This leaves the task of enforcing some of these axioms outside of OWL in languages like SWRL, SHACL, and SPIN.
A developing draft of this work is now available on GitHub: https://github.com/neilotte/moralpsych