[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
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.