Re: How to connect one individual to multiple classes

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