[protege-user] Modelling Composite Classes
Ann Clark via protege-user <[email protected]>
| Newsgroups | gmane.comp.misc.ontology.protege.owl |
|---|---|
| Message-ID | <SY4PR01MB58201C026921F1F0712488FBE9B72@SY4PR01MB5820.ausprd01.prod.outlook.com> |
Thank you both for the excellent responses. Please define more precisely what you mean by composite classes. A: Composite classes here are 2 or more raster layers being used by data scientists to create new object predictions. So the concept of composite is Artificial Intelligence related. I believe a simple whole/part relationship is sufficient to model the object aspects of these classes in the ontology. (the ontology does not know the objects are raster layers for AI, it knows them as tree and building as objects in the world). Re Michael’s question on not using individuals: I don’t have the exact reasoning on hand, but I subscribe to the ontology engineering methods detailed by McGuinness and Kendall in their 2019 work. Ann Clark AI Ontologist Level 4, Tower One, International Towers, Barangaroo NSW 2000 [signature_1733091065] From: protege-user <[email protected]> on behalf of [email protected] <[email protected]> Date: Thursday, April 10, 2025 at 5:04 AM To: [email protected] <[email protected]> Subject: protege-user Digest, Vol 135, Issue 2 [EXTERNAL EMAIL] DO NOT CLICK links or attachments unless you recognize the sender and know the content is safe Send protege-user mailing list submissions to [email protected] To subscribe or unsubscribe via the World Wide Web, visit https://mailman.stanford.edu/mailman/listinfo/protege-user<https://mailman.stanford.edu/mailman/listinfo/protege-user> or, via email, send a message with subject or body 'help' to [email protected] You can reach the person managing the list at [email protected] When replying, please edit your Subject line so it is more specific than "Re: Contents of protege-user digest..." Today's Topics: 1. Modelling Composite Classes (Ann Clark) 2. Re: In search of: successful integration of Protege/WebProt?g? with a triple store (Daniel Schober) 3. Re: Modelling Composite Classes (Michael DeBellis) 4. Re: Modelling Composite Classes (Samson Tu) ---------------------------------------------------------------------- Message: 1 Date: Wed, 9 Apr 2025 07:12:23 +0000 From: Ann Clark <[email protected]> To: "[email protected]" <[email protected]> Subject: [protege-user] Modelling Composite Classes Message-ID: <SY4PR01MB58204A83105429294BB8DE96E9B42@SY4PR01MB5820.ausprd01.prod.outlook.com> Content-Type: text/plain; charset="windows-1252" Hello, Data scientists on my team create composite classes based on ontology classes, in downstream systems. I am looking for the best way to model representations of these externally defined classes using protege to provide a reference mapping between composite classes and another ontology. For context, composite classes are not currently in the ontology. The ontology does not use individuals. Example A: Tree Overhang is a composite of Tree AND Building. Example B: Composite Class X includes classes C, D, E, F, G, and H. (A slightly more special subclass relationship?). Are the OWL2 Boolean connectives owl:unionOf or owl: intersectionOf only used for individuals? Any and all feedback is appreciated. Get Outlook for Android<https://aka.ms/AAb9ysg<https://aka.ms/AAb9ysg>> -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://mailman.stanford.edu/pipermail/protege-user/attachments/20250409/45596d03/attachment-0001.htm<http://mailman.stanford.edu/pipermail/protege-user/attachments/20250409/45596d03/attachment-0001.htm>> ------------------------------ Message: 2 Date: Wed, 9 Apr 2025 07:12:21 +0000 From: "Daniel Schober" <[email protected]> To: "[email protected]" <[email protected]> Cc: "Dickerson, Leia J" <[email protected]> Subject: Re: [protege-user] In search of: successful integration of Protege/WebProt?g? with a triple store Message-ID: <[email protected]> Content-Type: text/plain; charset="iso-8859-1" Dear Leia. There is an interesting plugin for the Geoinformationsystem QGis (To create digital interactive Maps). It is called SPARQL Unicorn and it looks like it uses the Protege API. It accesses LOD endpoints from WikiData, DBPedia, OSM etc and can integrate Information-subsets from these resources into digital maps of a city , construction site, environment or archeological site. This project is underfunded and the usual hurdles make it a bit fragile, i.e. lack of big data suitability, the fast-paced changes in the data environment, short-lived endpoint acessability and a rather steep learning curve for creating SPARQL queries. Find the plugin, docs and papers at https://github.com/sparqlunicorn/sparqlunicornGoesGIS<https://github.com/sparqlunicorn/sparqlunicornGoesGIS> I would actually be very interested in a practical use case from the environmental protection/nature conservation domain. If there are people out there who have experience please contact me. Mit freundlichen Gr??en und Gl?ck auf ! May the Force be with you, im Auftrag Dr. Daniel Schober Leiter FB ?kologie & Umwelt https://ihu-gmbh.com/tl/index.php/oekologie-und-umwelt.html<https://ihu-gmbh.com/tl/index.php/oekologie-und-umwelt.html> IHU GmbH Am Sportplatz 1 D-99734 Nordhausen Telefon: +49 (36 31) 89 06-35 Fax: +49 (36 31) 89 06-29 eMail: [email protected] IHU GmbH ? Beratung ? Planung ? Gutachten ? Projektsteuerung ? Projektmanagement ? Wissenschaftliche Begleitung ? Forschung IHU Gesellschaft f?r Ingenieur-, Hydro- und Umweltgeologie mbH ? Nordhausen ? Halle ? Dresden ? Bad Salzungen ? Ronneburg ? Berlin Firmensitz: Am Sportplatz 1 ? D-99734 Nordhausen am Harz ? Telefon +49 3631 8906-0 ? Telefax: +49 3631 8609-29 ? E-Mail: [email protected] ? Gesch?ftsf?hrer: Dr. Andreas Schroeter ? Amtsgericht Jena HRB 400012 ? U. St.-Nr. 157/111/00536 ? UID-Nr.: DE 150377158 ? Bankverbindungen: Commerzbank Nordhausen - IBAN DE92 8208 0000 0881 027800 BIC DRESDEFF827; Kreissparkasse Nordhausen - IBAN DE30 820540520032012433 - BIC HELADEF1NOR ? www.ihu-gmbh.com<http://www.ihu-gmbh.com> Haftungsausschluss/Disclaimer Diese EMail enth?lt vertrauliche und/oder rechtlich gesch?tzte Informationen. Wenn Sie nicht der richtige Adressat sind oder diese EMail irrt?mlich erhalten haben, informieren Sie bitte sofort den Absender und vernichten Sie diese Mail. Das unerlaubte Lesen, Speichern, Kopieren sowie die unbefugte Weitergabe dieser Mail ist nicht gestattet. ?ber das Internet versendete EMails k?nnen unter fremden Namen erstellt oder manipuliert werden. Deshalb ist diese als EMail verschickte Nachricht keine rechtsverbindliche Willenserkl?rung. Wir verwenden aktuelle Virenschutzprogramme. F?r Sch?den, die dem Empf?nger gleichwohl durch von uns oder unter unserem Namen zugesandte mit Viren befallene EMails entstehen, schlie?en wir jede Haftung aus. This e-mail may contain confidential and/or privileged information. If you are not the intended recipient or have received this e-mail in error please notify the sender immediately and destroy this e-mail. Any unauthorised copying, disclosure or distribution of material in this e-mail is strictly forbidden. E-Mail sent via internet could have been created on behalf of another person or be manipulated. Therefore this message is no legally binding declaration of intention. We use updated antivirus protection software. We do not accept any responsibility for damages caused anyhow by viruses transmitted via e-mail. Original Message processed by david? [protege-user] In search of: successful integration of Protege/WebProt?g? with a triple store 7. April 2025, 18:32 Uhr Von Dickerson, Leia J via protege-user An [email protected] Cc Dickerson, Leia J Hello all? I?ve seen mixed information on the listserv archives. I am wondering if anyone here has done their own implementation of Prot?g? or WebProt?g? with a triple store, and any lessons learned you are able to share. Many thanks. Leia Leia Dickerson | she/her/hers | pronounced lee-uh Taxonomy + Research Lead | Center for Library Science Applied Research + Methods | US Government Accountability Office [email protected] | https://www.gao.gov<https://www.gao.gov> _______________________________________________ protege-user mailing list [email protected] https://mailman.stanford.edu/mailman/listinfo/protege-user<https://mailman.stanford.edu/mailman/listinfo/protege-user> To: [email protected] Cc: [email protected] -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://mailman.stanford.edu/pipermail/protege-user/attachments/20250409/0723352b/attachment-0001.htm<http://mailman.stanford.edu/pipermail/protege-user/attachments/20250409/0723352b/attachment-0001.htm>> -------------- next part -------------- A non-text attachment was scrubbed... Name: IHU 35 Jahre_JPEG.jpg Type: image/jpeg Size: 230224 bytes Desc: not available URL: <http://mailman.stanford.edu/pipermail/protege-user/attachments/20250409/0723352b/attachment-0001.jpg<http://mailman.stanford.edu/pipermail/protege-user/attachments/20250409/0723352b/attachment-0001.jpg>> ------------------------------ Message: 3 Date: Wed, 9 Apr 2025 09:51:55 -0700 From: Michael DeBellis <[email protected]> To: User support for WebProtege and Protege Desktop <[email protected]> Subject: Re: [protege-user] Modelling Composite Classes Message-ID: <CALGFikdcNzQtVXW0+0Y-2WWgcY3_5TDiFpi90uEEJUPF8fcsFw@mail.gmail.com> Content-Type: text/plain; charset="utf-8" > > The ontology does not use individuals. Just curious: why? I actually see this more often than I would think but IMO it is never a good idea. For one thing, there are a lot of reasoning errors that you will only find when you create individuals, I actually encountered one last night, I'm building an ontology based on some of the patterns in Martin Fowler's book Analysis Patterns, it is actually quite surprising how well those map to OWL even though they were intended for OOP. Fowler's patterns are mostly about data and constraints and if anything the patterns often are better implemented in OWL rather than the graphic language he uses because constraints he defines only in text can be modeled as axioms on classes in OWL... sorry, tangent. Are the OWL2 Boolean connectives owl:unionOf or owl: intersectionOf only > used for individuals? They are used to model classes and the domain and range of properties so they describe classes but (this is actually an example of what I was saying) you often can't tell if they are all consistent until you get to individuals. So if you define the domain of a property (or a class) as "Person or Organization" that creates an anonymous class (for the domain, for the class the axiom just defines that class) that is the union of Person and Organization. Similarly you could define the class Man as: "MalePerson and Adult" which would mean it is the Intersection of those two classes. You can see some examples in the example ontology I'm attaching. I've been working on some training materials for a client (with the agreement that most of what I build will be open source). I'm attaching an ontology I created to demonstrate some common ontology patterns. It might be generally useful to show things like how to define containment with places and how to define family relations with OWL axioms (and two SWRL rules for aunts and uncles). BTW, because it uses SWRL best to use Pellet, although I think if you use a different reasoner you just won't see the proper assertions for aunts and uncles. I hadn't gotten around to modeling components yet so I did something really quick and dirty. Created a class called ComputerBOM (BOM is of course Bill of Materials, what manufacturing people call these component and sub-component descriptions) where ComputerBOM has_Part Motherboard and has_Part Monitor,... and Motherboard has_Part CPU and has_Part RAM, etc. I also created a property called has_All_Parts which is a super property of has_Part and takes the transitive closure of all the parts. And I used a plugin called Individual Hierarchy to show the simple example. Hope this is useful for what you're doing. See pictures below. One other suggestion: I'm not a fan of most Upper Models. Most of them use philosophic concepts that I think are interesting (and mostly wrong) but mostly irrelevant to good software design. However, there is an exception. I like the Gist upper model from Semantic Arts. It is my idea of what a good upper model should be: simple, not too big, doesn't force a lot of design decisions on you but models some common business and engineering concepts in a standard way. https://www.semanticarts.com/gist-a-minimalist-upper-ontology-v1/<https://www.semanticarts.com/gist-a-minimalist-upper-ontology-v1> One final idea: it can be useful to work with ChatGPT on things like this. Describe your problem and ask it to generate Turtle code for a simple model. Keep in mind it will very often get the first version wrong in some ways but I've still found it useful for some more complex domains to give me an initial start... but again don't take what it gives you as always correct, it's often not. In fact I would say the norm is I never get what I want the first time. One last thing if you do try ChatGPT: the more you constrain the problem the better chance you have to get something useful. So if you describe say 10 classes each with several sub classes and 20 properties I can almost guarantee you won't get anything useful from ChatGPT. But if you constrain it to small problems like how to model components and sub components it can be quite useful Let me know if you have questions. Cheers, Michael https://www.michaeldebellis.com/blog<https://www.michaeldebellis.com/blog> [image: Computer BOM Class.png] [image: ComputerBOM.png] [image: Computer1.png] On Wed, Apr 9, 2025 at 12:12?AM Ann Clark via protege-user < [email protected]> wrote: > Hello, > > Data scientists on my team create composite classes based on ontology > classes, in downstream systems. I am looking for the best way to model > representations of these externally defined classes using protege to > provide a reference mapping between composite classes and another ontology. > > For context, composite classes are not currently in the ontology. The > ontology does not use individuals. > > Example A: Tree Overhang is a composite of Tree AND Building. > > Example B: Composite Class X includes classes C, D, E, F, G, and H. (A > slightly more special subclass relationship?). > > > Are the OWL2 Boolean connectives owl:unionOf or owl: intersectionOf only > used for individuals? > > > Any and all feedback is appreciated. > > > Get Outlook for Android <https://aka.ms/AAb9ysg<https://aka.ms/AAb9ysg>> > _______________________________________________ > protege-user mailing list > [email protected] > https://mailman.stanford.edu/mailman/listinfo/protege-user<https://mailman.stanford.edu/mailman/listinfo/protege-user> > -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://mailman.stanford.edu/pipermail/protege-user/attachments/20250409/60e14d7a/attachment-0001.htm<http://mailman.stanford.edu/pipermail/protege-user/attachments/20250409/60e14d7a/attachment-0001.htm>> -------------- next part -------------- A non-text attachment was scrubbed... Name: Computer BOM Class.png Type: image/png Size: 43215 bytes Desc: not available URL: <http://mailman.stanford.edu/pipermail/protege-user/attachments/20250409/60e14d7a/attachment-0003.png<http://mailman.stanford.edu/pipermail/protege-user/attachments/20250409/60e14d7a/attachment-0003.png>> -------------- next part -------------- A non-text attachment was scrubbed... Name: ComputerBOM.png Type: image/png Size: 24453 bytes Desc: not available URL: <http://mailman.stanford.edu/pipermail/protege-user/attachments/20250409/60e14d7a/attachment-0004.png<http://mailman.stanford.edu/pipermail/protege-user/attachments/20250409/60e14d7a/attachment-0004.png>> -------------- next part -------------- A non-text attachment was scrubbed... Name: Computer1.png Type: image/png Size: 20860 bytes Desc: not available URL: <http://mailman.stanford.edu/pipermail/protege-user/attachments/20250409/60e14d7a/attachment-0005.png<http://mailman.stanford.edu/pipermail/protege-user/attachments/20250409/60e14d7a/attachment-0005.png>> -------------- next part -------------- A non-text attachment was scrubbed... Name: People Example with BOM.ttl Type: application/octet-stream Size: 70663 bytes Desc: not available URL: <http://mailman.stanford.edu/pipermail/protege-user/attachments/20250409/60e14d7a/attachment-0001.ttl<http://mailman.stanford.edu/pipermail/protege-user/attachments/20250409/60e14d7a/attachment-0001.ttl>> ------------------------------ Message: 4 Date: Wed, 9 Apr 2025 17:22:11 +0000 From: Samson Tu <[email protected]> To: User support for WebProtege and Protege Desktop <[email protected]> Cc: Samson Tu <[email protected]>, Ann Clark <[email protected]> Subject: Re: [protege-user] Modelling Composite Classes Message-ID: <[email protected]> Content-Type: text/plain; charset="utf-8" Hi, Please define more precisely what you mean by ?composite classes.? Any OWL class expression is a composite in the sense that a class is defined as a composition of other classes. If you mean by ?composite? some kind of part-of relationship, there is a whole literature on different flavors of composite or part-of relationships [1-3]. For OWL modeling of basic part-of relationship, you can take a look at the W3C best practice document Simple part-whole relations in OWL Ontologies<https://www.w3.org/2001/sw/BestPractices/OEP/SimplePartWhole/<https://www.w3.org/2001/sw/BestPractices/OEP/SimplePartWhole>>. Are the OWL2 Boolean connectives owl:unionOf or owl: intersectionOf only used for individuals? The owl:unionOf or owl: intersectionOf connectives combine sets of individuals. In OWL, a class is a set of individuals. So, no, the connectives are used for sets of individuals (classes), not particular individuals. With best regards, Samson [1] Odell, J.J. Six different kinds of composition. Journal of Object Oriented Programming, 5 (8). 10-15. [2] Winston, M., Chaffin, R. and Hermann, D. A taxonomy of part-whole relations. Cognitive Science, 11. 417-444 [3] Artale, A., Franconi, E. and Pazzi, L. Part-whole relations in object-centered systems: An overview. Data and Knowledge Engineering, 20. 347-383 On Apr 9, 2025, at 12:12?AM, Ann Clark via protege-user <[email protected]> wrote: Hello, Data scientists on my team create composite classes based on ontology classes, in downstream systems. I am looking for the best way to model representations of these externally defined classes using protege to provide a reference mapping between composite classes and another ontology. For context, composite classes are not currently in the ontology. The ontology does not use individuals. Example A: Tree Overhang is a composite of Tree AND Building. Example B: Composite Class X includes classes C, D, E, F, G, and H. (A slightly more special subclass relationship?). Are the OWL2 Boolean connectives owl:unionOf or owl: intersectionOf only used for individuals? Any and all feedback is appreciated. Get Outlook for Android<https://aka.ms/AAb9ysg<https://aka.ms/AAb9ysg>> _______________________________________________ protege-user mailing list [email protected] https://mailman.stanford.edu/mailman/listinfo/protege-user<https://mailman.stanford.edu/mailman/listinfo/protege-user> -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://mailman.stanford.edu/pipermail/protege-user/attachments/20250409/03a35b7f/attachment-0001.htm<http://mailman.stanford.edu/pipermail/protege-user/attachments/20250409/03a35b7f/attachment-0001.htm>> ------------------------------ Subject: Digest Footer _______________________________________________ protege-user mailing list [email protected] https://mailman.stanford.edu/mailman/listinfo/protege-user<https://mailman.stanford.edu/mailman/listinfo/protege-user> ------------------------------ End of protege-user Digest, Vol 135, Issue 2 ******************************************** _______________________________________________ protege-user mailing list [email protected] https://mailman.stanford.edu/mailman/listinfo/protege-user
image001.png
(image/png, 12.4 KB) - not displayed