Hi Michel, I believe that the rdf:type rdfs:Datatype triple is not just a hack, but a very clean way of defining a datatype. I think the OWL 2 documents may be confusing and probably got it wrong to make the user-defined datatypes untyped resources. If you look at the RDF mapping, you'll find that
Declaration( Datatype( DT ) ) T(DT) rdf:type rdfs:Datatype . which makes clear that datatype declarations should be followed by a corresponding rdf:type triple. I would find it very unusual if OWL 2 did not even require the rdf:type, as this fits with the rest of the language. Once the rdf:type triple is there, TopBraid's usual inferencing mechanism will make sure that they get at least one named superclass (rdfs:Resource by default), and thus show up in the class tree. Regards, Holger On Nov 26, 2009, at 10:48 AM, Bohms, H.M. (Michel) wrote: > > > Hi Scott, Holger, > > I (now) understand why it is not show in the computed class tree. > However, my opinion is that there are things that would be nice to be visible > that are not subClassOf.(or as Holger proposed: instance of rdfs:Datatype). > > Till now there were not really interesting things like that but with OWL2 > proposing to model a user-defined enumeration type as: (owl2 primer, > syntax=rdf/xml, chapter 7 fragment): > > " > Moreover, a new datatype can be generated by just enumerating the data values > it contains. > > RDF/XML Syntax > > <rdf:Description rdf:about="toddlerAge"> > <owl:equivalentClass> > <rdfs:Datatype> > <owl:oneOf> > <rdf:Description> > <rdf:first rdf:datatype="&xsd;integer">1</rdf:first> > <rdf:rest> > <rdf:Description> > <rdf:first rdf:datatype="&xsd;integer">2</rdf:first> > <rdf:rest > rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#nil"/> > </rdf:Description> > </rdf:rest> > </rdf:Description> > </owl:oneOf> > </rdfs:Datatype> > </owl:equivalentClass> > </rdf:Description> > " > > We have something now that is very usefull to show that does not have a > subClassOf property > Of course we can do tricks (make it ALSO a subclass of xsd:string (then you > see it as subclass of xsd:string in the tree directly) or replace > rdf:Description by rdfs:Datatype (then you see it as instance of > rdfs:Datatype in the tree indirectly). > > But I just don't like to do tricks, just because TBC does not show it > without....or mabe you have the opinion that the OWL2 Primer is actually > wrong in this case? > > Cheers, Michel > > > -----Original Message----- > From: Scott Henninger [mailto:[email protected]] > Sent: donderdag 26 november 2009 17:53 > To: TopBraid Composer Users > Subject: [tbc-users] Re: ANN: TopBraid Suite 3.2.1 > > Michel; The GUI (Classes view) displays a tree computed from rdfs:subClassOf > properties. E.g. 'xsd:string rdfs:subClassOf rdfs:Resource'. The example > you give is valid RDF/XML and is fully accepted by Composer, but Holger's > point is that without a rdfs:subClassOf relationship, there is no way it can > be displayed in the Classes view. > > As further illustration, open the kennedys example, right-click on the > :parent property and choose 'Show in Associations View'. The result is a > tree hierarchy that is laid out precisely the same way the Classes view is, > but using the :parent property instead of rdfs:subClassOf. I.e. the Classes > view is an association view using rdfs:subClassOf and having that property is > essential to appearing in the view. > > -- Scott > > On Nov 26, 5:30 am, "Bohms, H.M. (Michel)" <[email protected]> > wrote: >> More info: >> >> If I do it exactly acc. to the primer that is: >> >> <rdf:Description >> rdf:about="http://www.bimtoolset.org/ontologies/vabi/datatypes.owl#Env >> ironmentType"> >> <rdfs:equivalentClass> >> <rdfs:Datatype> >> <owl:onDatatype >> rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> >> <owl:oneOf rdf:parseType="Resource"> >> <rdf:rest rdf:parseType="Resource"> >> <rdf:rest rdf:parseType="Resource"> >> <rdf:rest >> rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#nil"/> >> <rdf:first >> rdf:datatype="http://www.w3.org/2001/XMLSchema#string" >> >city</rdf:first> >> </rdf:rest> >> <rdf:first rdf:datatype="http://www.w3.org/2001/XMLSchema#string" >> >rough</rdf:first> >> </rdf:rest> >> <rdf:first rdf:datatype="http://www.w3.org/2001/XMLSchema#string" >> >open</rdf:first> >> </owl:oneOf> >> </rdfs:Datatype> >> </rdfs:equivalentClass> >> </rdf:Description> >> >> It completely seems to disappear from the GUI (also in preferences >> there is no way to show rdf:Description's) >> >> Michel >> >> -----Original Message----- >> From: Bohms, H.M. (Michel) [mailto:[email protected]] >> Sent: donderdag 26 november 2009 9:43 >> To: [email protected] >> Subject: RE: [tbc-users] Re: ANN: TopBraid Suite 3.2.1 >> >> Hi Holger, >> >> I think I have not been clear enough... :) >> >> I follow exactly the primer now for datatypes (and as it is now supported by >> your latest update). So I DO NOT use subClasOf anymore (so there is nothing >> to delete like this...). >> >> An example clarifies maybe: >> >> 1. I have defined >> >> <owl:DatatypeProperty >> rdf:about="http://www.bimtoolset.org/ontologies/vabi/environment.owl#e >> nvironment..."> >> <rdfs:domain >> rdf:resource="http://www.bimtoolset.org/ontologies/vabi/environment.ow >> l#Environment"/> >> <rdfs:range >> rdf:resource="http://www.bimtoolset.org/ontologies/vabi/datatypes.owl# >> EnvironmentType"/> >> </owl:DatatypeProperty> >> >> 2. Contrl-click on the range (being EnvironmentType, capital first letter) >> gives: >> >> <rdfs:DataType >> rdf:about="http://www.bimtoolset.org/ontologies/vabi/datatypes.owl#Env >> ironmentType"> >> <rdfs:equivalentClass> >> <rdfs:Datatype> >> <owl:onDatatype >> rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> >> <owl:oneOf rdf:parseType="Resource"> >> <rdf:rest rdf:parseType="Resource"> >> <rdf:rest rdf:parseType="Resource"> >> <rdf:rest >> rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#nil"/> >> <rdf:first >> rdf:datatype="http://www.w3.org/2001/XMLSchema#string" >> >city</rdf:first> >> </rdf:rest> >> <rdf:first rdf:datatype="http://www.w3.org/2001/XMLSchema#string" >> >rough</rdf:first> >> </rdf:rest> >> <rdf:first rdf:datatype="http://www.w3.org/2001/XMLSchema#string" >> >open</rdf:first> >> </owl:oneOf> >> </rdfs:Datatype> >> </rdfs:equivalentClass> >> </rdfs:DataType> >> >> As you can see I use equivalentClass now iso subClassOf. >> >> 3. Now the question is: where to see this EnvironmentType userdefined >> datatype in the class tree in the GUI? >> >> (I DO see the INNER rdfs:datatpe as instance of rdfs:datatype; but I'd like >> to see the outer EnvironmentType datatype somewhere....). >> >> Apologies upfront because it must be something small and stupid from my >> side...the strange thing however is that I also do not see the outer >> datatype as instance of rdfs:datatype. Nor do I see it appear as >> equivalentClass at the inner class.....hmmmmm.... >> >> Thx again, Michel >> >> TNO.NL >> >> Michel Böhms >> >> Consultant Building Innovation >> >> TNO Built Environment and Geosciences >> >> Van Mourik Broekmanweg 6 | PO Box 49 >> >> 2600 AA | Delft | The Netherlands >> >> Tel +31 15 2763107 >> >> E-mail [email protected] >> >> Webhttp://www.linkedin.com/in/michelbohms >> >> Skype name michelbohms >> >> Disclaimer >> >> -----Original Message----- >> From: Holger Knublauch [mailto:[email protected]] >> Sent: woensdag 25 november 2009 18:06 >> To: [email protected] >> Subject: Re: [tbc-users] Re: ANN: TopBraid Suite 3.2.1 >> >>> Otherwise they should show up on top level, under rdfs:Resource. >> >>>> this is what I want! But how can I make them show up? (they do not >>>> now...) >> >> Just remove the rdfs:subClassOf triple then. Or explicitly add my:Datatype >> rdfs:subClassOf rdfs:Resource. They are just classes after all, and behave >> like other classes in the tree... >> >> Holger >> >> -- >> >> You received this message because you are subscribed to the Google Groups >> "TopBraid Composer Users" group. >> To post to this group, send email to >> [email protected]. >> To unsubscribe from this group, send email to >> [email protected]. >> For more options, visit this group >> athttp://groups.google.com/group/topbraid-composer-users?hl=en. >> >> This e-mail and its contents are subject to the DISCLAIMER >> athttp://www.tno.nl/disclaimer/email.html >> >> -- >> >> You received this message because you are subscribed to the Google Groups >> "TopBraid Composer Users" group. >> To post to this group, send email to >> [email protected]. >> To unsubscribe from this group, send email to >> [email protected]. >> For more options, visit this group >> athttp://groups.google.com/group/topbraid-composer-users?hl=en. >> >> This e-mail and its contents are subject to the DISCLAIMER >> athttp://www.tno.nl/disclaimer/email.html > > -- > > You received this message because you are subscribed to the Google Groups > "TopBraid Composer Users" group. > To post to this group, send email to [email protected]. > To unsubscribe from this group, send email to > [email protected]. > For more options, visit this group at > http://groups.google.com/group/topbraid-composer-users?hl=en. > > > This e-mail and its contents are subject to the DISCLAIMER at > http://www.tno.nl/disclaimer/email.html > > -- > > You received this message because you are subscribed to the Google Groups > "TopBraid Composer Users" group. > To post to this group, send email to [email protected]. > To unsubscribe from this group, send email to > [email protected]. > For more options, visit this group at > http://groups.google.com/group/topbraid-composer-users?hl=en. > > -- You received this message because you are subscribed to the Google Groups "TopBraid Composer Users" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/topbraid-composer-users?hl=en.
