Dear Irene,

Thank you very much for your response....
We will investigate all pros and cons of the diff. alternatives...

at first sight consistent use of 3. would be very elegant
solution...(keeping also the content/individuals very clean)

best regards,Michel


2012/10/13 Irene Polikoff <[email protected]>

>  Michel,****
>
> ** **
>
> I think you have 3 options:****
>
> ** **
>
> **1.       **Create classes like Non17inchWheel****
>
> ** **
>
> Then you can say****
>
> ** **
>
> 17inchWheelVehicle hasPart max 0 Non17inchWheel****
>
> ** **
>
> Your class hierarchy will grow considerably more complex than it is now
> since for each type of part you have you will have to create a “non” class
> and arrange everything appropriately in the class tree. If you have let’s
> say 3 different wheel types - 17inch, 18inch and 19inch, you need create
> three “non” classes and define the subclass relationships so that any
> member of 17inchWheel, is also a member of :Non18inchWheel and
> :Non19inchWheel. I don’t really see this approach as a viable solution.***
> *
>
> ** **
>
> **2.       **Create specific properties as subs of hasPart such as
> hasWheel****
>
> ** **
>
> Then you can say****
>
> ** **
>
> 17inchWheelVehicle hasWheel: allValuesFrom 17inchWheel****
>
> ** **
>
> You will probably need to have much more properties. How many depends on
> your needs. I would create them for each part where you need this pattern.
> That is if you only have one type of an engine and you only need to say
> that a vehicle must have one engine, you don’t need to create hasEngine
> property, but if you have multiple types of engines, you would need the
> property.****
>
> ** **
>
> **3.       **Use SPIN constraints****
>
> ** **
>
> Then you can keep your current model as is and add the following
> spin:constraint to  17inchWheelVehicle****
>
> ** **
>
> ASK WHERE {?this hasPart ?wheel.****
>
> ?wheel a ?wheelClass.****
>
> ?wheelClass rdfs:subClass* :Wheel.****
>
> NOT EXISTS {?wheelClass rdfs:subClassOf* :17inchWheel}****
>
> ** **
>
> This constraint identifies a violation if any 17inchWheelVehicle has a
> part that is a wheel but not a 17inch wheel. It will work even if you have
> subclasses of 17inch wheel such as Premium17inchWheel or whatever.****
>
> ** **
>
> ** **
>
> Regards,****
>
> ** **
>
> Irene Polikoff****
>
> *From:* [email protected] [mailto:
> [email protected]] *On Behalf Of *Bohms, H.M. (Michel)
> *Sent:* Thursday, October 11, 2012 3:44 AM
> *To:* [email protected]
> *Cc:* Bonsma, P. (Peter)
> *Subject:* [topbraid-users] Modelling decomposition issue****
>
> ** **
>
> ** **
>
> Dear All,****
>
> ** **
>
> We ran here in a modeling issue for which we would highly appreciate your
> advice.****
>
> ** **
>
> Suppose I have the following ontology:****
>
> **·         **Vehicle class****
>
> **·         **Body class****
>
> **·         **Wheel class with subclass 17inchWheel****
>
> **·         **hasPart object property****
>
> ** **
>
> Vehicle hasPart Wheel, 2 or more  > QCR-mincard****
>
> Vehicle hasPart exactly one Body > QCR-card****
>
> ** **
>
> My preference is not to introduce subproperties of hasPart (we prefer one
> consistent approach that is, now at least, quite class-based).****
>
> ** **
>
> Now suppose we want to model a subclass of Vehicle, a 17inchWheelVehicle
> (a “vehicle having only 17inch wheels”) and want to say that all wheels
> should be of type 17inchWheel.****
>
> ** **
>
> The first idea was to add an allValuesFrom for hasPart but this is
> limiting this hasPart too much (also the subtype has a body etc.).****
>
> Next we could add also a mincard-QCR on the subtype now qualified for
> 17inchWheel but this is not covering the semantics: then there can be 2
> 17inchwheels and 2 non-17inchwheels…which you want to exclude****
>
> ** **
>
> So what we really need is a kind of “qualified allValuesFrom” here….:****
>
> ** **
>
> 17inchWheelVehicle hasPart Wheel: allValuesFrom 17inchWheel****
>
> ** **
>
> Which is of course not available.****
>
> ** **
>
> Comments/advice very welcome,****
>
> ** **
>
> In case we have to start introducing subproperties of hasPart here, I
> would also like to know what are good strategies ( a subprop. For each
> potential part?, only under certain conditions etc.?),****
>
> ** **
>
> Thanks a lot, Michel****
>
> ** **
>
> ** **
>
>  ****
>
> Dr. ir. H.M. (Michel) Böhms
> Sr. Research Scientist
> Technical Sciences****
>
> T +31 (0)88 866 31 07
> M +31 (0)63 038 12 20
> E [email protected]****
>
> Location <http://www.tno.nl/locaties/dtm>
> Disclaimer <http://www.tno.nl/emaildisclaimer>
>  ****
>
> [image: Description:
> C:\Users\bohmshm\AppData\Roaming\Microsoft\Signatures\TNO
> (EN)_files\logo_signature.gif] <http://www.tno.nl/>****
>
> ** **
>
> ** **
>
> --
> -- You received this message because you are subscribed to the Google
> Group "TopBraid Suite Users", the topics of which include Enterprise
> Vocabulary Network (EVN), TopBraid Composer, TopBraid Live,
> TopBraid Ensemble, SPARQLMotion, SPARQL Web Pages and SPIN.
> 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-users?hl=en
>
>  ****
>
> --
> -- You received this message because you are subscribed to the Google
> Group "TopBraid Suite Users", the topics of which include Enterprise
> Vocabulary Network (EVN), TopBraid Composer, TopBraid Live,
> TopBraid Ensemble, SPARQLMotion, SPARQL Web Pages and SPIN.
> 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-users?hl=en
>
>
>

-- 
-- You received this message because you are subscribed to the Google
Group "TopBraid Suite Users", the topics of which include Enterprise Vocabulary 
Network (EVN), TopBraid Composer, TopBraid Live,
TopBraid Ensemble, SPARQLMotion, SPARQL Web Pages and SPIN.
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-users?hl=en


<<image001.gif>>

Reply via email to