sesuncedu / owl1-1

Automatically exported from code.google.com/p/owl1-1
0 stars 0 forks source link

Schema bug in DisjointUnion #25

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
The specification states that a DisjointUnion axiom defines a class as a 
union of other classes.
The XML schema, however, forces to give at least 2 classes to define.
As far as I see line 444 of the schema should read:

   <xsd:group ref="owl:Description"/>

Original issue reported on code.google.com by thorsten...@uni-ulm.de on 18 Apr 2007 at 12:40

GoogleCodeExporter commented 9 years ago

Original comment by bparsia on 18 Apr 2007 at 1:03

GoogleCodeExporter commented 9 years ago

Original comment by bparsia on 18 Apr 2007 at 1:10

GoogleCodeExporter commented 9 years ago
All class constructors that accept a set of classes must contain at least two 
classes, and the DisjointUnion follows that pattern.

Please note that it makes no sense to define a class A as a disjoint union of a 
class B: you can simply then define A as being equal to B.

Original comment by borismo...@gmail.com on 23 May 2007 at 5:57

GoogleCodeExporter commented 9 years ago
Hmm, I'm a little bit puzzled.
As far as I understand the structure of the DisjointUnion construct, the 
mentioned restriction is reflected as a
minOccurs="2" within the UnionOf element (line 448). Why do we have to express 
DisjointUnion(A C1 C2 C3) 
as

  <DisjointUnion>
    <OWLClass "A"/>
    <OWLClass "C1"/>
    <UnionOf>
      <OWLClass "C2"/>
      <OWLClass "C3"/>
    </UnionOf>
  </DisjointUnion>

Furthermore, with the current schema it is not possible to define a class as 
the disjoint union of two
other classes (i.e. DisjointUnion(A C1 C2)).

Is there something I miss?

Original comment by thorsten...@uni-ulm.de on 29 May 2007 at 10:00

GoogleCodeExporter commented 9 years ago
OK, now I understood what your original comment refers to.

The original idea was to rerpesent DisjointUnion(A C1 C2 C3) in XML as 

<DisjointUnion>
  <OWLClass "A"/>
  <UnionOf>
    <OWLClass "C1"/>
    <OWLClass "C2"/>
    <OWLClass "C3"/>
  </UnionOf>
</DisjointUnion>

Now I agree that the XML schema was confusing: it allowed one to put several 
descriptions before the <UnionOf> tag.

In fact, after looking at it, there probably is no reason to have the UnionOf 
tag at 
all. For example, in the textual syntax, there is no such tag. Hence, in the 
new 
schema version I've removed it. (The schema should be available online within 
24 
hours - there is a cron job that periodically updates the Web site with the 
contents 
of SVN.)

Now, the above example is serialized simply as

<DisjointUnion>
  <OWLClass "A"/>
  <OWLClass "C1"/>
  <OWLClass "C2"/>
  <OWLClass "C3"/>
</DisjointUnion>

Original comment by borismo...@gmail.com on 31 May 2007 at 9:49