I haven't looked into OWL 2(Primer). So here I am with OWL 1.
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:
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.
> From: Uli Sattler <
sattler@...>
> Subject: Re: How to connect one individual to multiple classes
> To: "Xu, Ningfeng" <
nfxu@...>
> 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@...>
> wrote:
> >
> >> From: Uli Sattler <
sattler@...>
> >> Subject: Re: How to connect one individual to
> multiple classes
> >> To: "Xu, Ningfeng" <
nfxu@...>
> >> 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
> >>>
> >>>
> >
> >
> >
> >
>
>