W3C home > Mailing lists > Public > www-rdf-logic@w3.org > November 2000

Re: unambiguousProperty

From: Dan Connolly <connolly@w3.org>
Date: Thu, 30 Nov 2000 10:05:02 -0600
Message-ID: <3A267AAE.AADC139E@w3.org>
To: "McBride, Brian" <bwm@hplb.hpl.hp.com>
CC: www-rdf-logic@w3.org
"McBride, Brian" wrote:
> Is there a way in DAML to express the fact that a set of
> properties identify a resource, e.g.  that the combination
> of number, street name, address line 2, address line 3, city
> state and country uniquely identify an address.  A concept of
> a compound property might do it, but I couldn't find anything
> like that.

Hmm... lemme try...

It's straightforward to do with a horn-clause style rule:

 (forall (?a1 ?a2
          ?n ?sn ?al2 ?al3 ?ci ?st ?co)
     (and (rdf:type ?a1 brian:Address)
          (rdf:type ?a2 brian:Address)

          (brian:number ?a1 ?n) (brian:number ?a2 ?n)
          (brian:streetName ?a1 ?sn) (brian:streetName ?a2 ?sn)
          (brian:addressLine2 ?a1 ?al2) (brian:addressLine2 ?a2 ?al2)
          (brian:addressLine3 ?a1 ?al3) (brian:addressLine3 ?a2 ?al3)
          (brian:city ?a1 ?ci) (brian:city ?a2 ?ci)
          (brian:state ?a1 ?st) (brian:state ?a2 ?st)
          (brian:country ?a1 ?ci) (brian:country ?a2 ?ci)
      (daml:equivalentTo ?a1 ?a2)

But this is probably worth an idiomatic form...

  <daml:UnambiguousProperty id="addressStruct">
    <daml-bis:structPropertyOver parseType="daml:collection">
      <daml:Property resource="...number"/>
      <daml:Property resource="...streetName"/>

where the semantics of structPropertyOver entail the
rule above.

an aside... I'm starting to think we should have
domain-specific forms of the algebraic properties
(transitive, unique, unambiguous, ...).
So in stead of (or perhaps: in addition to)
  <daml:UnambiguousProperty ID="addressStruct"/>
we'd use
  <rdf:Property ID="addressStruct">
    <daml-bis:unambiguousOver resource="...Address"/>

Dan Connolly, W3C http://www.w3.org/People/Connolly/
Received on Thursday, 30 November 2000 11:06:39 UTC

This archive was generated by hypermail 2.3.1 : Wednesday, 2 March 2016 11:10:33 UTC