Re: The Robber and the Speeder: an exciting inference

Outstanding!!!  This is exactly the thing I was looking for - a simple
example with compelling inferences.  Thanks a lot Ian!  /Roger

Ian Davis wrote:
> 
> On Monday, 17 March 2003 at 17:00, Roger L. Costello wrote:
> > Does anyone have ideas on how to enhance my solution to use
> > more of OWL's capabilities, and use more inferencing?
> 
> Here's my take on it...it's not as exciting as C.H.I.P.S. though...
> 
> First of all a robbery takes place. The robber drops his gun while
> fleeing. A report is filed by the investigating officers:
> 
> <RobberyEvent>
>   <date>...</date>
>   <description>...</description>
>   <evidence>
>     <Gun>
>       <serial>ABCD</serial>
>     </Gun>
>   </evidence>
>   <robber>
>     <Person /> <!-- an unknown person -->
>   </robber>
> </RobberyEvent>
> 
> Subsequently a car is pulled over for speeding. The traffic officer
> files a report electronically while issuing a ticket:
> 
> <SpeedingOffence>
>   <date>...</date>
>   <description>...</description>
>   <speeder>
>     <Person>
>       <name>John Doe</name>
>       <driversLicenseNumber>ZXYZXY</driversLicenseNumber>
>     </Person>
>   </speeder>
> </SpeedingOffence>
> 
> At police HQ, the computer analyses each report as it is filed. The
> following OWL rule tells the computer that a driversLicenseNumber is
> unique to a Person:
> 
> <owl:InverseFunctionalProperty rdf:ID="driversLicenseNumber">
>   <rdfs:domain rdf:resource="Person" />
>   <rdfs:range  rdf:resource="&rdf;Literal" />
> </owl:FunctionalProperty>
> 
> The computer uses this information to look up any other records it has
> about that person and finds a gun license:
> 
> <GunLicense>
>   <registeredGun>
>     <Gun>
>       <serial>ABCD</serial>
>     </Gun>
>   </registeredGun>
>   <holder>
>     <Person>
>       <name>Fred Bloggs</name>
>       <driversLicenseNumber>ZXYZXY</driversLicenseNumber>
>     </Person>
>   </holder>
> </GunLicense>
> 
> The next OWL rule tells the computer that the registeredGun property
> uniquely identifies a GunLicense. i.e. each gun is associated with
> only a single GunLicense
> 
> <owl:InverseFunctionalProperty rdf:ID="registeredGun">
>   <rdfs:domain rdf:resource="GunLicense" />
>   <rdfs:range  rdf:resource="Gun" />
> </owl:FunctionalProperty>
> 
> The computer now knows that the person stopped for speeding owns a
> gun. The next rule tells the computer that each gun is uniquely
> identified by its serial.
> 
> <owl:InverseFunctionalProperty rdf:ID="serial">
>   <rdfs:domain rdf:resource="Gun" />
>   <rdfs:range  rdf:resource="&rdf;Literal" />
> </owl:FunctionalProperty>
> 
> The computer uses this to determine that the gun on the license is the
> same gun used in the robbery. This final rule, seals the speeder's
> fate. It tells the computer that each GunLicense applies to only one
> gun and one person, so there is no doubt that the speeder is the person
> who owns the gun:
> 
> <owl:Class rdf:ID="GunLicense">
>   <owl:intersectionOf rdf:parseType="Collection">
>     <owl:Restriction>
>       <owl:onProperty rdf:resource="#registeredGun"/>
>       <owl:cardinality>1</owl:cardinality>
>     </owl:Restriction>
>     <owl:Restriction>
>       <owl:onProperty rdf:resource="#holder"/>
>       <owl:cardinality>1</owl:cardinality>
>     </owl:Restriction>
>   </owl:intersectionOf>
> </Class>
> 
> The computer reports back to the traffic cop who duly arrests the
> speeder on suspicion of armed robbery.
> 
> - Ian <iand@internetalchemy.org>
> "The test of all knowledge is experiment."

Received on Monday, 24 March 2003 06:08:40 UTC