- From: Xu, Ningfeng <nfxu@yahoo.com>
- Date: Fri, 15 May 2009 02:56:42 -0700 (PDT)
- To: Uli Sattler <sattler@cs.man.ac.uk>
- Cc: public-owl-dev@w3.org
Ok, I will read the OWL 2 Primer, will see what I can get. Currently I am using Protege 3(thus OWL 1). Thanks a lot. Ningfeng --- On Fri, 5/15/09, Uli Sattler <sattler@cs.man.ac.uk> wrote: > From: Uli Sattler <sattler@cs.man.ac.uk> > Subject: Re: How to connect one individual to multiple classes > To: nfxu@yahoo.com > Date: Friday, May 15, 2009, 5:45 PM > > On 14 May 2009, at 21:12, nfxu@yahoo.com > wrote: > > > > > I haven't looked into OWL 2(Primer). So here I am with > OWL 1. > > > > ...don't bother whether it's "2" or "1" just read through > the primer: > it should clarify a lot of things. Also, what editor do you > use? I'd > recommend Protege 4. > > Cheers, Uli > > > Regarding "ClassAssertion((Business and (hasSite some > Resort) and > > (hasSite some Waterpark)) yourBusiness)", how can I > declare an > > individual business(waterParkResort)? I am trying to > do this: > > > > <owl:Class > rdf:about="#Business"> > > <rdfs:subClassOf> > > > <owl:Restriction> > > > <owl:someValuesFrom > rdf:resource="#Site"/> > > > <owl:onProperty> > > > <owl:ObjectProperty > rdf:ID="hasSite"/> > > > </owl:onProperty> > > > </owl:Restriction> > > </rdfs:subClassOf> > > ... > > </owl:Class> > > > > <Business > rdf:ID="waterParkResort"> > > ...hasSite Waterpark... > > ==> how to declare this? > > ...hasSite Resort... > > ==> how to declare this? > > </Business> > > > > I couldn't find appropriate OWL contructs to declare > that > > waterParkResort has both Resort and Waterpark when > declaring > > waterParkResort as an instance of class Business. I > think this is my > > problem. > > > > Thanks for your help. > > > > Ningfeng > > > > > > --- On Thu, 5/14/09, Uli Sattler <sattler@cs.man.ac.uk> > wrote: > > > >> From: Uli Sattler <sattler@cs.man.ac.uk> > >> Subject: Re: How to connect one individual to > multiple classes > >> To: "Xu, Ningfeng" <nfxu@yahoo.com> > >> Date: Thursday, May 14, 2009, 3:00 AM > >> > >> On 13 May 2009, at 19:33, Xu, Ningfeng wrote: > >> > >>> > >>> Uli, thanks for your reply. > >>> > >>> Originally, carrying the Object Oriented > Analysis > >> spirit, and being new to semantic world, I started > with: > >>> > >>> 1 Let the business > >> > >> so, this is 'yourBusiness', I guess. > >> > >>> be instance of an owl:Class Business; > >>> 2 The categories > >> > >> like restaurant, waterpark? Do they have a common > >> superclass, say, "Attraction"? > >> > >>> are classes, so it is easy to make a hierarchy > and all > >> siblings disjointed with each other; > >> > >> ok > >> > >>> > >>> 3 Class Business has one object property, > hasSite, > >> which has the category as the value. > >> > >> hm, how does this look like in OWL? > >> > >> SubClassOf(Business (hasSite some Attraction)) > >> > >> or > >> > >> SubClassOf(Business (hasSite only Attraction)) > >> > >> > >>> In case of multiple categories, one business > instance > >> has multiple hasSite properties. > >>> > >> > >> fine - as long as you don't declare hasSite to be > >> functional and as long as you don't use atmost > cardinality > >> restriction on hasSite, this is possible. > >> > >>> While, obviously, this ontology is OWL Full, > since > >> hasSite has owl:Class as its value. > >>> > >> > >> now you lost me...you can say that > >> > >> ClassAssertion((Business and (hasSite some > Restaurant) and > >> (hasSite some Waterpark) yourBusiness) > >> > >> without leaving OWL DL... > >> > >> > >> > >>> I haven't tried to convert categories from > owl:Class > >> to instance so hasSite is good for OWL DL. But how > much can > >> reasoner get out from property value? For > example: > >>> > >>> business1 hasSite Orchard > >>> business2 hasSite AgriculturalField > >>> > >>> If we want to list all businesses which is > under > >> AgriculturalField, can business1 and business2 > both be > >> returned? I don't know... > >>> > >> > >> yes, it would, if you would rephrase it in the > above style > >> using 'some'... > >> > >> Did you have a look at the OWL primer (http://www.w3.org/2007/OWL/wiki/Primer)? > >> Cheers, Uli > >>> > >>> Ningfeng > >>> > >>> > >>> --- On Wed, 5/13/09, Uli Sattler <sattler@cs.man.ac.uk> > >> wrote: > >>> > >>>> From: Uli Sattler <sattler@cs.man.ac.uk> > >>>> Subject: Re: How to connect one individual > to > >> multiple classes > >>>> To: "Xu, Ningfeng" <nfxu@yahoo.com> > >>>> Date: Wednesday, May 13, 2009, 11:01 PM > >>>> Hi Xu, I can't see where the problem > >>>> is: you can say that an individual is a > member of > >> more than > >>>> one class... > >>>> > >>>> Conceptually, you might want to *relate* > them: > >> instead of > >>>> saying "this business *is a* restaurant > and a > >> water park, > >>>> you might want to say that, among the > >> things/services it > >>>> *offers*, there is a restaurant and a > water park. > >>>> > >>>> > >>>> Cheers, Uli > >>>> > >>>> On 13 May 2009, at 13:09, Xu, Ningfeng > wrote: > >>>> > >>>>> Hi, > >>>>> > >>>>> Recently I am trying to build an OWL > model > >> for > >>>> touring/entertainment related businesses. > I have > >> categorized > >>>> these businesses into one category > hierarchy like > >> the > >>>> following: > >>>>> > >>>>> Site(Root) > >>>>> +---WaterPark > >>>>> +---Resort > >>>>> ....... > >>>>> +---AgriculturalField > >>>>> +---Orchard > >>>>> +---CollectionExhibition > >>>>> > +---ExhibitionHall > >>>>> +---Memorial > >>>>> +---Museum > >>>>> +---SportsField > >>>>> +---Playground > >>>>> +---Stadium > >>>>> ....... > >>>>> > >>>>> The goal is, given any category in > the > >> hierarchy, we > >>>> can return all related businesses back. > For > >> example, given > >>>> "Museum" as the category, we are supposed > to > >> return all > >>>> museums; given "CollectionExhibition", > all > >> museums, > >>>> memorials and exbitionHalls are returned. > >>>>> > >>>>> One thing is one business might have > more than > >> one > >>>> services to offer. Here is an example: a > resort > >> has hotels, > >>>> bars and some other regular facilities, it > also > >> has one > >>>> indoor water park because of its hot > spring water > >> resource.. > >>>> So this resort should be categorized into > 2 > >> different > >>>> categories: "Resort" and "WaterPark". > Given either > >> "Resort" > >>>> or "WaterPark" is chosen as the category, > this > >> resort should > >>>> be returned as a match. > >>>>> > >>>>> The another one is that one business > may fall > >> into > >>>> non-leaf categories, like > "AgriculturalField" > >> instead of > >>>> "Orchard". > >>>>> > >>>>> Technically I would prefer: > >>>>> > >>>>> 1 Businesses are individuals of an > owl:Class. > >>>> Categories could be antything, if it > supports > >> reasoning. > >>>> This is different from the Protege Pizza > sample, > >> while pizza > >>>> are classes. > >>>>> > >>>>> 2 When adding new businesses, we only > need to > >> add new > >>>> business individual(maybe we need to add > more > >> categories), > >>>> and connect the new individuals to the > >> categories. > >>>>> > >>>>> I have been trying different ways, but > still > >> no > >>>> success. > >>>>> > >>>>> Any help would be highly appreciated. > >>>>> > >>>>> Ningfeng > >>>>> > >>>>> > >>> > >>> > >>> > >>> > >> > >> > > > > > > > > > > > >
Received on Friday, 15 May 2009 09:57:22 UTC