W3C home > Mailing lists > Public > public-owl-dev@w3.org > July to September 2007

Re: Legal Persons

From: Dan Connolly <connolly@w3.org>
Date: Fri, 24 Aug 2007 14:32:35 -0500
To: John McClure <jmcclure@hypergrove.com>
Cc: Owl Dev <public-owl-dev@w3.org>
Message-Id: <1187983955.29837.1585.camel@pav>

On Fri, 2007-08-24 at 12:04 -0700, John McClure wrote:
> A Person in US legal contexts is either a Human or a Corporation;

Straightforward rendition in OWL, written in turtle syntax:

uslegal:Person owl:unionOf (uslegal:Human uslegal:Corporation).

>  every Human is
> a Person, and every Corporation is a Person.

Likewise:

uslegal:Human rdfs:subClassOf uslegal:Person.
uslegal:Corporation rdfs:subClassOf uslegal:Person.

Those are theorems that follow from the above, of course.


This assumes owl: is bound like this:

 @prefix owl: <http://www.w3.org/2002/07/owl#>.

and uslegal: is a fictitious example:

  @prefix uslegal: <http://example/uslegal/vocab#>.


> Is the following construct valid? Will or should reasoners be troubled by
> <rdf:Alt> within a <rdfs:range>, and can or should <rdf:Alt> be used within an
> <owl:Restriction>?

My advice on rdf:Alt is: don't.

In this case, use owl:unionOf .

My advice on RDF/XML is: use tools.

So take the above turtle syntax and stick it in a file, e.g.

http://pastebin.com/pastebin.php?dl=m4d3b5ace

then use a toolkit like redland (or Jena or swap/cwm or ... )
to convert to RDF/XML.

The triplr online service is particularly convenient:

http://triplr.org/rdf/http://pastebin.com/pastebin.php?dl=m4d3b5ace

and out comes...

<?xml version="1.0" encoding="utf-8"?>
<rdf:RDF xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:uslegal="http://example/uslegal/vocab#" xml:base="http://triplr.org/rdf/http://pastebin.com/pastebin.php?dl=m4d3b5ace">
  <rdf:Description rdf:about="http://example/uslegal/vocab#Person">
    <owl:unionOf>
      <rdf:Description>
        <rdf:first rdf:resource="http://example/uslegal/vocab#Human"/>
        <rdf:rest>
          <rdf:Description>
            <rdf:first rdf:resource="http://example/uslegal/vocab#Corporation"/>
            <rdf:rest rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#nil"/>
</rdf:Description>
        </rdf:rest>
      </rdf:Description>
    </owl:unionOf>
  </rdf:Description>
</rdf:RDF>

Now that rendition doesn't use parseType="Collection" short-hand, but...
well... trying to make RDF/XML look pretty is one of those battles
I choose not to engage in any more.


About the example you sent, some details...

> <owl:Class rdf:about="#LegalPerson">
>      <owl:ObjectProperty rdf:about='#Parent'>

property names conventionally start with lowercase, so #parent

>         <rdfs:range>
> 	  <rdf:Alt>
> 	       <li><owl:Class rdf:about="#Human"/></li>
> 	       <li><owl:Class rdf:about="#Corporation"/></li>
> 	  </rdf:Alt>
>         </rdfs:range>

rather:

        <rdfs:range rdf:parseType="Resource">
	  <owl:unionOf rdf:parseType="Collection">
	       <owl:Class rdf:about="#Human"/>
	       <owl:Class rdf:about="#Corporation"/>
	  </owl:unionOf>
        </rdfs:range>


The rest of it looks mostly OK at a glance, but I don't trust myself
to read RDF/XML. I use tools.

> I haven't found examples of this sort in the docs.

http://www.w3.org/TR/owl-ref/#unionOf-def

-- 
Dan Connolly, W3C http://www.w3.org/People/Connolly/
Received on Friday, 24 August 2007 19:32:52 UTC

This archive was generated by hypermail 2.3.1 : Wednesday, 10 December 2014 20:07:18 UTC