- From: Ian Horrocks <horrocks@cs.man.ac.uk>
- Date: Thu, 18 Jul 2002 15:55:26 +0100
- To: Dan Connolly <connolly@w3.org>
- Cc: Jeremy Carroll <jjc@hplb.hpl.hp.com>, webont <www-webont-wg@w3.org>
On July 17, Dan Connolly writes:
>
> re
> ACTION connolly point to use case for having datatypes
> and obejct property in integrated domain
>
> [[
> For example, U.S. states that have the same 2-letter
> postal code are the same state. So if I know
>
> :stateCode a ont:UnambiguousProperty.
>
> _:x :stateCode "KS".
> _:x :population "2688418".
>
> _:y :stateCode "KS".
> _:y :stateBird :WesternMeadowlark.
>
> then I should be able to conclude
>
> _:z :population "2688418".
> _:z :stateBird :WesternMeadowlark.
Of course it would be convenient to do this, but as you know there are
serious computational implications.
On the other hand, by using a slightly different representation you
may be able to get most of what you want without imposing this
computational penalty on the language. E.g.: everything would be fine
if "KS" were an individual instead of a data value. Alternatively, you
could add an axiom for each state such as:
sameClassAs(oneOf(Kansas), restriction(onProperty(stateCode),someValuesFrom("KS")))
Ian
>
>
> Full details, with namespaces spelled out and all that, in:
> http://www.w3.org/2002/03owlt/sameStateP.rdf
> http://www.w3.org/2002/03owlt/sameStateC.rdf
> ]]
> -- http://lists.w3.org/Archives/Public/www-webont-wg/2002Apr/0261.html
>
>
> It's very important to a number of applications I have
> built and seen that this entailment holds.
>
>
> Now on to the other case...
>
> On Tue, 2002-07-16 at 04:39, Jeremy Carroll wrote:
> >
> >
> > I was and remain underwhelmed by the discussion.
> >
> > Ian:
> > > Can I point out that I already did this once! See the thread beginning
> > > with:
> > >
> > > http://lists.w3.org/Archives/Public/www-webont-wg/2002Mar/0241.html
> > >
> > > and in particular:
> > >
> > > http://lists.w3.org/Archives/Public/www-webont-wg/2002Apr/0354.html
> > > http://lists.w3.org/Archives/Public/www-webont-wg/2002May/0044.html
>
> Yes, I'm familiar with that thread, but it doesn't show me something
> that somebody wants to do and is unable to do because of the
> interaction between datatypes and unambiguous properties.
>
> I suppose I should have been more clear in the teleconference;
> this is an "example illustratin computational difficulties in
> having both datatypes and objects in integrated domain" but
> what I'm after is: some plausible end-user requirement that
> conflicts with uniform treatment of datatypes.
>
> I tried to make this into a test case...
>
>
> > To recap ...
> >
> > Ian:
> > > > Unfortunately, the interaction of UnambiguousProperty and datatypes
> > > > makes this problematical. Imagine, for example, that a datatype
> > > > consisting of integers in the range 0-999
>
> Firstly, RDFCore's designs for datatypes don't accomodate facets;
> so I can have a datatype consisting of integers, but not
> integers in the range 0-99. I think this sort of design
> is incomplete, but I wasn't able to convince the WG...
>
> # user-defined datatype (facet) support needed?
> Dan Connolly (Tue, Apr 30 2002)
> http://lists.w3.org/Archives/Public/w3c-rdfcore-wg/2002Apr/0547.html
> continuing with...
>
> http://lists.w3.org/Archives/Public/w3c-rdfcore-wg/2002May/thread.html#5
>
> Do we have an issue around datatypes? yes...
> http://www.w3.org/2001/sw/WebOnt/webont-issues.html#I5.8-Datatypes
>
>
> Anyway... despite all that, I do expect we'll be able
> to express, in OWL, a class of integers between 0 and 999;
> something like:
>
> :OneTo99 ont:intersectionOf (
> [ is dtaux:valueSpace of dt:integer ]
> [ dt:maxExclusive "1000"]
> [ dt:minInclusive "0"]
> ).
>
> > > > is used as a unique-id/key
> > > > for instances of the class Person such that all persons have exactly
> > > > one unique-id, all unique-ids are integers in the range 0-999, and
> > > > unique-id is an UnambiguousProperty.
>
> OK, I can encode all that...
>
> :uniqueId a ont:UnambiguousProperty;
> s:domain :Person;
> s:range :OneTo999.
>
>
> > > > In order to function correctly,
> > > > a reasoner is now required to understand the properties of datatypes,
> > > > e.g., that the cardinality of this particular datatype is 1,000, and
> > > > that as a result no model can contain more than 1,000 instances of
> > > > Person (note that this would not be the case if unique-ids were reals
> > > > in the range 0-999).
>
> Well, I'd agree that those are consequences of the language semantics,
> but it's not clear, to me, how the intractibility will show up
> in practice.
>
> Ah... perhaps w.r.t. inconsistency detection...
> http://www.w3.org/TR/webont-req/#goal-inconsistency
>
> I've taken the liberty of making something up:
> suppose the range of uniqueID is 0-9.
>
> And suppose I say that my family has 11 people;
> I should be able to detect an inconsistency.
>
> to elaborate, suppose...
>
> :givenName a ont:UniqueProperty. # different name -> different person
>
> and I say my family has 11 people...
>
> :MyFamily ont:oneOf (
> [:givenName "Fred"],
> [:givenName "Wilma"],
> [:givenName "Bob"],
> [:givenName "Susie"],
> [:givenName "Jill"],
> [:givenName "Amy"],
> [:givenName "Jordan"],
> [:givenName "William"],
> [:givenName "Gertrude"],
> [:givenName "Janet"],
> [:givenName "Mark"],
> ).
>
> :MyFamily s:subClassOf :Person.
>
>
> Then I have contradicted myself.
>
> test case, with namespaces and all that...
>
> http://www.w3.org/2002/03owlt/peopleKeyP.rdf
> http://www.w3.org/2002/03owlt/peopleKeyC.rdf
>
> (using old ont: namespace; perhaps out of date
> w.r.t. other namespace changes as well...)
>
>
> Hmm... I certainly don't have an implementation that
> passes that test, and yet our requirements suggest
> strongly that it should be supported.
>
> Hmm... thinking out loud about implementation/specificatoin
> strategy... in the case of integral datatypes
> bounded above and below, we know they're finite,
> and we can figure out their size. And we
> know that
> X size XS
> Y size YS
> X subClassOf Y
> => XS <= YS.
>
> ... upper bounds on size of oneOf classes are easy,
> but lower bounds involve N^2 differentFrom proofs.
> The NoRepeatsList thing would make life much easier
> (and support R12. Local unique names assumptions).
>
> Hmm... I'll have to think about it some more.
>
> Meanwhile, I'd like to think the above two
> test cases (sameSate, peopleKey) are clear enough
> that folks in the WG can say "as a user,
> yes, I expect/want/need that conclusion to
> follow" or not, or "as an implementor, I
> expect to be able to provide that conclusion
> before the sun burns out."
>
>
> Jeremy:
> > For me the dog is reasoning about the things people really want to say,
>
> me too; meanwhile...
>
> > and the
> > tail is the logical and computational properties analysis that Ian and Peter are
> > so good at. I would be quite happy to permit unambiguous datatype properties and
> > indicate that implementations are not expected to resolve the cardinality
> > issues.
>
> How do you feel about the peopleKey test above?
> OK if implementations don't pass it?
> Doesn't that seem to contradict our
> "3.4 Inconsistency detection" goal?
> and/or "R16. Cardinality constraints"?
>
>
> --
> Dan Connolly, W3C http://www.w3.org/People/Connolly/
>
>
Received on Thursday, 18 July 2002 10:58:35 UTC