Re: Case for Reinstatement of Qualified Cardinality Restrictions

I have serious concerns about reopening this issue. The chief reason it
was omitted is that hardly any DAML users understood it and few (if any)
attempted to use it. I'd like to see compelling evidence that things
would be different if we added the feature back to OWL. I do not find
Rector's comments compelling because

1) It would be more compelling if the need for a particular DL feature
came from somebody who wasn't in the DL community. It's not suprising he
finds it important b/c he's been using it in his DL work. I find that
some of Deborah's comments present a counter-point Rector's. She said
the medical community that uses Protege has never requested this sort of
feature. Furthermore, although she is experienced with DLs, believes
QCR's can be confusing to novices.

2) Guus went through the use cases and found that only a and b were
compelling use cases for reintroducing the feature. However, I think
just because someone can come up with a use case for a semantic feature,
does not mean we should add it. We chose to provide a language with
restricted expressivity, otherwise we would have ended up with FOL or
something more. I could come up with a very compelling use case for
adding Horn logic rules (e.g., to say that the member of an organization
is also a member of any super-organizations of the organization), yet
that's no reason for us to open an issue on whether or not to add rules
to the language.

3) I think the factor that makes QCRs most confusing in OWL is the
difficulty in expressing them cleanly in triples. Currently, the
Restriction class is a place to hang each restriction that is applicable
to a property. Currently, each of these is a binary predicate so the
following is perfectly fine.

<owl:Restriction>
  <owl:onProperty rdf:resource="&eg;hasDigit"/>
  <owl:cardinality rdf:datatype="&xsd;int">5</owl:cardinality>
  <owl:allValuesFrom rdf:resource="&eg;Digit" />
  <owl:someValuesFrom rdf:resource="&eg;Finger" />
</owl:Restriction>

However QCRs require N-ary predicates. I think the confusing part of
them in DAML is we tried to cheat the way we did this by simply creating
the Q predicates, where the two Q predicates in a restriction were
implicitly "tied together." That is, in OWL it would look something
like:

<owl:Restriction>
  <owl:onProperty rdf:resource="&eg;hasDigit"/>
  <owl:cardinalityQ rdf:datatype="&xsd;int">4</owl:cardinality>
  <owl:valuesFrom ref:resource="&eg;Finger">
</owl:Restriction>

Note, although this looks similar to the above, implicity the
cardinalityQ and the valueFrom property go together, unlike the
allValuesFrom and someValuesFrom above. Furthermore, what if I want to
add a second qualified cardinality restriction? Can I do this?

<owl:Restriction>
  <owl:onProperty rdf:resource="&eg;hasDigit"/>
  <owl:cardinalityQ rdf:datatype="&xsd;int">4</owl:cardinality>
  <owl:valuesFrom ref:resource="&eg;Finger">
  <owl:cardinalityQ rdf:datatype="&xsd;int">1</owl:cardinality>
  <owl:valuesFrom ref:resource="&eg;Thumb">
</owl:Restriction>

No. Because the triples don't specify which valuesFrom goes with which
cardinality. So, unlike other restrictions, you'd have to create a new
Restriction class for each qualified cardinality restriction on the same
property. That is,

<owl:Restriction>
  <owl:onProperty rdf:resource="&eg;hasDigit"/>
  <owl:cardinalityQ rdf:datatype="&xsd;int">4</owl:cardinality>
  <owl:valuesFrom ref:resource="&eg;Finger">
</owl:Restriction>

<owl:Restriction>
  <owl:onProperty rdf:resource="&eg;hasDigit"/>
  <owl:cardinalityQ rdf:datatype="&xsd;int">1</owl:cardinality>
  <owl:valuesFrom ref:resource="&eg;Thumb">
</owl:Restriction>

This is not very symmetric and could be the source of a lot of
confusion. Jeremy had suggested renaming the Restriction in this case to
QualifiedRestriction which helps clear up things a little bit. We could
at least make sure that regular cardinality and allValuesFrom are not
mixed in with this new kind of restriction, but the feature still looks
a lot like the plain Restriction and the lack of symmetry in semantics
will be confusing.

I think the only way we could add this to OWL and not confuse the heck
out of people is to use the following syntax, in which each kind of
restriction is defined by a single property hanging off of the
Restriction object.

<owl:Restriction>
  <owl:onProperty rdf:resource="&eg;hasDigit"/>
  <owl:cardinality rdf:datatype="&xsd;int">5</owl:cardinality>
  <owl:hasQualifiedCardinality>
     <owl:QualifiedCardinality>
        <owl:cardinality rdf:datatype="&xsd;int">4</owl:cardinality>
        <owl:valuesFrom ref:resource="&eg;Finger">
     </owl:QualifiedCardinality>
  </owl:hasQualifiedCardinality>
  <owl:hasQualifiedCardinality>
     <owl:QualifiedCardinality>
        <owl:cardinality rdf:datatype="&xsd;int">1</owl:cardinality>
        <owl:valuesFrom ref:resource="&eg;Thumb">
     </owl:QualifiedCardinality>
  </owl:hasQualifiedCardinality>
</owl:Restriction>

Actually, now that I look at it, that's not too bad. We could even
choose to use allValuesFrom instead of valueFrom and only add a single
property and a class to OWL. If we went with something like this, I
withdraw point 3, but I think points 1 and 2 still hold.

Jeff

Jim Hendler wrote:
> 
> At 6:20 PM -0400 4/16/03, Jonathan Borden wrote:
> >As I recall the discussion at the Amsterdam F2F -- I had wondered if such
> >features would be needed by biomedical ontologies and thought that I was
> >told that this wasn't the case.
> >
> >The use cases he cites are compelling (at least to me), and if indeed
> >qualified cardinalities *are* needed to support these then I strongly
> >support reopening the issue.
> >
> >Jonathan
> >
> 
> I am worried that the feature most complained about in Daml+oil and
> also the ones most misused were these.  Let me make a suggestion --
> if we were to decide to include these, we would need to write the
> one-paragraph, easy to understand explanation that would go in the
> Overview -- anyone want to take a stab at a suggested one?
>   -JH
> p.s. Any change that would require us to change every document and
> that is exposed by test cases makes me nervous at this late date --
> I'd want to see pretty strong support for the change...
> 
> >
> >>
> >>  The following long message (from [1]) comes from Alan Rector to our
> >>  comments list, addressing the issue of the qualified constraints -
> >>  basically, he's asking us to reopen issue 3.2 Qualified Cardinality
> >>  constraints.  Guus and I would like to hear the WG's feelings on
> >>  this.  Since there's no specific document addressed (although it
> >>  would require changes in every document), Guus and I will handle this
> >>  email and its response.
> >>    -JH
> >>  [1]
> >>
> >http://lists.w3.org/Archives/Public/public-webont-comments/2003Apr/0040.html
> >>
> 
> --
> Professor James Hendler                           hendler@cs.umd.edu
> Director, Semantic Web and Agent Technologies     301-405-2696
> Maryland Information and Network Dynamics Lab.    301-405-6707 (Fax)
> Univ of Maryland, College Park, MD 20742          240-731-3822 (Cell)
> http://www.cs.umd.edu/users/hendler

Received on Tuesday, 22 April 2003 11:16:27 UTC