Reasons for not using user define IRIs?

70 views
Skip to first unread message

Michael DeBellis

unread,
Jul 31, 2025, 2:47:57 PMJul 31
to ontolog-forum
I'm thinking of writing about this on my blog. I know a lot of very smart people who disagree with me on this, who think it is better to use codes or UUIDs for IRIs rather than user defined names such as :Person. Just to be clear, I'm talking only about TBox Entities. I agree and almost always use UUIDs for ABox. So I would appreciate it if those of you who think we shouldn't use user defined names for TBox entities can explain your reasoning and/or point me to articles, web sites, or papers with good arguments for your position.  Before I explain my reasoning I want to make sure I understand clearly what others think. Thanks.

Michael

David Eddy

unread,
Jul 31, 2025, 3:12:31 PMJul 31
to ontolo...@googlegroups.com
Michael -


On Jul 31, 2025, at 2:47 PM, Michael DeBellis <mdebe...@gmail.com> wrote:

>>>>

we shouldn't use user defined names for TBox entities

>>>>

I would argue that exceedingly few organizations have even a dim idea what their terminology is, much less the contextual uses of said undefined terminologies.


People frequently have a behavior of associating terms & associated meaings to what they already know… crossing invisible contextual domain boundaries is difficult.

Experience from this Monday as I was saying good bye to one of my mentees… I was attempting to use “international business machines (IBM)” as a context setting example.

At the age of 24, IBM simply isn’t part of his life experience.  He has no idea that his school issued Lenovo ThinkPad is an IBM device.

I refrained from asking him what he knows of DEC.


Sooooo… if you wish to confine your audience to the domain of people dealing with ontologies, TBox is fine… but likely of limited utility in the broader world.

- David

Barry Smith

unread,
Jul 31, 2025, 4:20:08 PMJul 31
to ontolo...@googlegroups.com
Best practice is to have an IRI with an alphanumeric code for a given term-and-definition/axiom(s) structure in the ontology, but then also a user defined name such as :Person. When, for example, the definition of the term changes, then you create another alphanumeric code, but you link it to the same user defined name


--
All contributions to this forum are covered by an open-source license.
For information about the wiki, the license, and how to subscribe or
unsubscribe to the forum, see http://ontologforum.org/info
---
You received this message because you are subscribed to the Google Groups "ontolog-forum" group.
To unsubscribe from this group and stop receiving emails from it, send an email to ontolog-foru...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/ontolog-forum/a9c4ed42-261d-4d61-95bb-a3c9518e0acbn%40googlegroups.com.

Asiyah Yu Lin

unread,
Jul 31, 2025, 4:39:52 PMJul 31
to ontolo...@googlegroups.com
Hi Barry,

Do you mean something like:
IRI alphabate coded: BBO_12asdkj
Defined name: rdfs:Label Person

When I generate another defi itinerary, I then have another IRI: BBO_23asdkj, with the same rdfs:Label Person. ?

This doesn't sound right to me. I think in general the IRI should be kept the same, Label and definition can be changed. 

Thanks,
Asiyah



From: ontolo...@googlegroups.com <ontolo...@googlegroups.com> on behalf of Barry Smith <ifo...@gmail.com>
Sent: Thursday, July 31, 2025 4:19:09 PM
To: ontolo...@googlegroups.com <ontolo...@googlegroups.com>
Subject: Re: [ontolog-forum] Reasons for not using user define IRIs?
 

Alex Shkotin

unread,
Aug 1, 2025, 7:04:44 AMAug 1
to ontolo...@googlegroups.com

Hi Michael


Of course, inserting a term into IRI is quite natural and some arguments against it are needed. At the same time, it is necessary to indicate where to put the term itself. It is clear that then the term will be in some label, or annotation.

I remember two arguments for a special code for a term in IRI:

- this is a code of concept, while its terms are different in different languages and in different communities.

- the concept code should be short so that it is convenient to write and read in formulas. This is what mathematicians always do: let's denote that being a circle with the letter "o".

Perhaps OBO Foundry has more arguments.


Alex



чт, 31 июл. 2025 г. в 21:48, Michael DeBellis <mdebe...@gmail.com>:
I'm thinking of writing about this on my blog. I know a lot of very smart people who disagree with me on this, who think it is better to use codes or UUIDs for IRIs rather than user defined names such as :Person. Just to be clear, I'm talking only about TBox Entities. I agree and almost always use UUIDs for ABox. So I would appreciate it if those of you who think we shouldn't use user defined names for TBox entities can explain your reasoning and/or point me to articles, web sites, or papers with good arguments for your position.  Before I explain my reasoning I want to make sure I understand clearly what others think. Thanks.

Michael

--

Michael DeBellis

unread,
Aug 4, 2025, 12:22:56 PMAug 4
to ontolo...@googlegroups.com
Sooooo… if you wish to confine your audience to the domain of people dealing with ontologies, TBox is fine… but likely of limited utility in the broader world.

You are preaching to the choir. I completely agree, I just assumed that anyone on this forum would know the difference so in that case it is the easiest way to be clear about what I mean. But in general, I avoid jargon as much as possible with most users. 

--
All contributions to this forum are covered by an open-source license.
For information about the wiki, the license, and how to subscribe or
unsubscribe to the forum, see http://ontologforum.org/info
---
You received this message because you are subscribed to a topic in the Google Groups "ontolog-forum" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/ontolog-forum/WIdGklzN82Q/unsubscribe.
To unsubscribe from this group and all its topics, send an email to ontolog-foru...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/ontolog-forum/44879F86-E96D-4CEB-93A8-DCEDDE4BC513%40davideddy.com.

Michael DeBellis

unread,
Aug 4, 2025, 12:40:06 PMAug 4
to ontolo...@googlegroups.com
Best practice is to have an IRI with an alphanumeric code for a given term-and-definition/axiom(s) structure in the ontology, but then also a user defined name such as :Person. When, for example, the definition of the term changes, then you create another alphanumeric code, but you link it to the same user defined name

Thanks Barry, but just saying "a best practice is" isn't an argument for why you do it. I would say a best practice for software development is to have self documenting code. Especially with modern IDEs that can do auto completion, it is much better to have classes, properties, methods, functions, with long names that make it very clear what they are doing so that you don't need to have as many comments in your code.  The reasons are that in my experience (and I think there is probably empirical evidence to support this) such code is far more maintainable because people often forget to write documentation, don't know how to write good documentation, and most importantly (I can't count the number of times I've experienced and also been guilty of this myself) people often update the code without updating the comments. 

That's an argument for intuitive IRIs: SPARQL queries like:
SELECT ?p ?r
WHERE {?p a codo:Patient;
codo:hasFamilyRelationship ?r.}

are much more understandable and maintainable than queries like:
SELECT ?p ?r
WHERE {?p a codo:OWLClass_f861e81c_661a_4243_a9be_cb9c780cb78a;
        codo:OWLProperty_c744v9fv_594j_3640_a9be_dge5305fe45v ?r } 

I want to make sure I understand the reasons that so many people think that user defined IRIs are a bad idea. I will go into more detail about my responses to the arguments that I've heard (e.g., IRIs aren't supposed to change, user defined names favor one (natural) language over others,...) but I want to make sure I'm understanding those arguments completely first. 

Michael

You received this message because you are subscribed to a topic in the Google Groups "ontolog-forum" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/ontolog-forum/WIdGklzN82Q/unsubscribe.
To unsubscribe from this group and all its topics, send an email to ontolog-foru...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/ontolog-forum/CAN_82STbeb-xKAy3wzHobeMyHW880Z9SPveEHrJVKtXrfbj0fA%40mail.gmail.com.

Michael DeBellis

unread,
Aug 4, 2025, 12:51:44 PMAug 4
to ontolo...@googlegroups.com
At the same time, it is necessary to indicate where to put the term itself. It is clear that then the term will be in some label, or annotation.

Thanks Alex.

You received this message because you are subscribed to a topic in the Google Groups "ontolog-forum" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/ontolog-forum/WIdGklzN82Q/unsubscribe.
To unsubscribe from this group and all its topics, send an email to ontolog-foru...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/ontolog-forum/CAFxxRORZp2Exb8MML_%3DVZPT2V%3DCywdY9%3DreHU43qTdXYJCXbLw%40mail.gmail.com.

Alex Shkotin

unread,
Aug 5, 2025, 4:59:09 AMAug 5
to ontolo...@googlegroups.com
While this topic reminds me of the oldies but goldies CODASYL approach with three layers: physical, conceptual, user view, of course using alpha-numeric id on conceptual level looks hard.
So I asked Claude and find its answer usefull https://claude.ai/share/4e077884-81dc-4866-81de-c0d6daedb5cc 

By the way, try to ask the protege-user group.

Enjoy

Alex

пн, 4 авг. 2025 г. в 19:51, Michael DeBellis <mdebe...@gmail.com>:

Michael DeBellis

unread,
Aug 5, 2025, 1:24:25 PMAug 5
to ontolo...@googlegroups.com
Thanks,  Alex, that is exactly what I was looking for! In general as I review these I think the arguments are mostly an example of what Dawkins calls The Tyranny of the Discontinuous Mind: https://richarddawkins.com/articles/article/the-tyranny-of-the-discontinuous-mind   In this case the assumption that if you use intuitive IRIs you can't use labels and vice versa. 

Here are my replies to the Arguments for Alphanumeric Codes (OBO Foundry Approach): https://claude.ai/share/4e077884-81dc-4866-81de-c0d6daedb5cc 

Stability and Evolution: Alphanumeric codes provide stable identifiers that don't need to change when the understanding of a concept evolves or when terminology needs refinement. If you initially call something "cell division" but later scientific understanding shows it should be "cytokinesis," the human-readable URI would need updating, potentially breaking existing references.

The unstated assumption is that Alphanumeric Codes are "more  stable identifiers that don't need to change when the understanding of a concept evolves or when terminology needs refinement". How are alphanumeric codes any more stable than user defined IRIs? What I've heard people argue is that with an alphanumeric code you can just change the label and not change the IRI. However, I would argue that a change where all you want is to rename some entity and nothing else are fairly rare. In those rare cases you could just as easily change the label and leave the IRI as it was and add a comment that in this example the IRI doesn't map to the label. I've done that several times. I would much rather have 90% of my labels and IRIs have names that can be directly mapped to their prefLabel and 10% don't and even for that 10% where there is a mismatch, the IRI still gives you some idea what it is. 

The example given: "you initially call something "cell division" but later scientific understanding shows it should be "cytokinesis," is not a strong argument because schema evolution is seldom this simple. However, even this example isn't compelling because I would think that you still want to keep "cell division" as an altLabel in this case, i.e., you can't just change the label, even in many of the (already rare) paradigmatic examples.  If you are still doing design and the ontology hasn't been rolled out, it is easy to change the IRI. But if you did do a roll out and you don't want to change the IRI, you can simply change the label and add a comment explaining that for this class the IRI doesn't map to the prefLabel. 

More importantly, most of the time you aren't just changing the name but you are doing more complex things like inserting a new class in between two existing classes. Here's a real example: for an ontology I built recently I used the Agent pattern. Agent is a superclass of Organization and Person. However, I realized I needed an intermediate class between Agent and Organization called Group (a Group is any collection of individuals with one or more identifying trait but no formal structure, e.g. all Males in the US is a Group, Climate_Social_Science_Network is an organization). So I added a new class and changed the definitions so that Group is a sublcass of Agent and Organization is a subclass of Group. But that wasn't everything. Definitions (domain and range) of various properties needed to change as well. E.g., has_member's domain was changed from Organization to Group. In my experience most schema evolution is like this, you typically change more than just the name of something, you also restructure the ontology and need to change domain, range, and other axiom definitions so you will be making changes at the level of IRIs anyway. If  you roll out a new version of your Cell ontology that still has Cell_Division as the IRI but uses a different prefLabel but you also don't change things like the domain and range of properties, then your code will break anyway. In this example, if I assert a Group: Physic_Teacher_At_MIT  has_member Alan_Adams and don't update the domain of has_member then the reasoner will incorrectly infer that Physic_Teacher_At_MIT is an Organization rather than a Group. 

Language Independence: Numeric codes avoid issues with natural language variations, translations, and cultural differences in terminology. This is crucial for international collaboration and multilingual applications.

How do codes "avoid issues with natural language"? You still have to define language tags and you still need to define which language tag to use for different users. Users won't see the IRI anyway. Choosing one language as the language that a team standardizes on for names in no way ties you to only using that language for your labels. Developers have been doing this since the beginning of the digital computer. Following this logic, if you want your Python system to support multiple languages then you would choose names like:

  variable_123 = conn.createURI("http://www.w3.org/2002/07/owl#NamedIndividual")

Rather than:

owl_named_individual = conn.createURI("http://www.w3.org/2002/07/owl#NamedIndividual")

Uniqueness Guarantees: The OBO Foundry uses unique IDSPACE codes that identify each project, ensuring no conflicts between ontologies . Combined with systematic numbering, this prevents identifier collisions.

I would argue this is actually a reason you SHOULD use user defined names. E.g., if I'm creating a class in Protege and I'm using user defined names, then I will know when I'm creating a class that already has a given IRI. Again, this happened to me recently. I realized that I was trying to define a class with IRI "Communication" but I already had a property with that IRI. I needed IRIs such as Communication_Event and Greenwashing_Communication_Event.  If I were using OBO I might not find the problem until much later downstream and of course the later you find a problem (developer time vs. compile time vs. run time) the more expensive it is too fix. The fact that I can have two different IRIs with the same label is actually an argument to NOT use codes. Also, there already is a mechanism in OWL (and every modern programming language) for resolving name conflicts: namespaces.  

Technical Robustness: Alphanumeric codes avoid issues with special characters, spaces, encoding problems, and URL-unsafe characters that can occur with natural language terms.

Another strawman. I use User Defined names but I am always very rigorous in only using the basic alphabet and no spaces, colons, slashes, etc. Even though the IRI spec supports most special characters, I've found using such characters causes no end of headaches, especially when moving the same file across different tools such as Protege, Stardog, and AllegroGraph. Again, the 90/10 rule: would rather have 90% of my IRIs that can automatically synch with the prefLabel and 10% that don't rather than 100% that don't. 

 Separation of Concerns: The identifier serves purely as a stable reference, while human-readable labels are handled through annotation properties (like rdfs:label). This allows multiple labels, synonyms, and translations without affecting the core identifier.

Another strawman. It assumes (and I see this all the time, including alas Protege) that the choice is between user define IRIs and using labels. There is no reason you can't use both, which is what I and most of the developers I know do.  I use user defined IRIs for developers and labels for pretty names that are relevant to end users. What I do when I'm not constrained by some standard, is to use English IRIs with underscores for blanks and with only basic alphabetic characters and numbers. That way, I can use a very simple SPARQL transformation to auto-generate most of the initial labels.  

This is anecdotal of course, but in the last few years I've worked with ontologies that use user defined names and codes (which is one reason I wanted to revisit this) and I find codes add extra work for the developer, are harder to debug, and I've never seen any example of schema evolution where I think "this would be easier with codes as IRIs" or any other use case where using codes would have simplified things. 

Also, my final argument, is that the onus of proof here should be on those who argue for codes. Clearly there is a cost to using codes or UUIDS. From my initial past, clearly having to write SPARQL like:

SELECT ?p ?r
WHERE {?p a codo:Patient;
codo:hasFamilyRelationship ?r.}

is better than:

SELECT ?p ?r
WHERE {?p a codo:OWLClass_f861e81c_661a_4243_a9be_cb9c780cb78a;
        codo:OWLProperty_c744v9fv_594j_3640_a9be_dge5305fe45v ?r } 

And in my work over the last few years, I've never seen any use cases where codes made thing easier. Also, this isn't the only cost to using codes. Codes mean your team has to depend on some central authority to give you a range of codes that haven't been used yet. Codes (this for me is one of the clearest and most costly) make it a lot harder to debug your software.  

Michael

Chuck Woolery

unread,
Aug 5, 2025, 3:49:06 PMAug 5
to ontolo...@googlegroups.com, ch...@igc.org

This may open a can of worms no one wants and I’ll understand if it is ignored.  There is a reason I stay on this list serve...  I believe that well defined words are vital to having things working well consistently – and globally for our species to survive and thrive.

I’ve been getting these emails for about a year. I wish my mind was smart enough to grasp all the discussions on it.  

But I stand by the possibility that humankind is capable of engineering a world that works for everyone while sustaining the naturel world that all life - on this troubled planet  -depends on.

 

Having worked on global issues for nearly 5 decades...I’ve concluded that humankind has the capacity to accomplish this...but our minds have the capacity to believe ANYTHING.

And each day the news gets more disturbing...for a variety of reasons...but primarily because of our cognitive disconnect from each other and nature.

 

As a biologist I believe our mind evolved over the last 300,000 years to solve problems...a fundamental survival tool inherent within our DNA...for individuals, their family and their tribe could best survive and thrive  (until a cosmic event wipes us out or we fail to adapt to reality)

History suggests that over the last 6,000 (?) years our minds started created concepts (political, religious, economics...) that enabled our tribes to bond and grow very large.  Unfortunately, these created concepts in our mind have now combined with our extraordinary tool making capacity – and now we can wipe ourselves out.

 

WE humans now are deeply divided.  The left consists of three basic progressive movements.  One advocating for “Peace”.  Another for a healthy and ‘Sustainable Environment’.  And a third for economic and social Justice.   Within each of these are 10s of thousand or organization each working on well over 100 different issue, that in reality, are all connected and interdependent, with all life systems being vulnerable – and in need of a global effort.  But they are all competing against each other for money, members, media, and the attention of policy makers.  Meanwhile, conservatives usually unite on their issues and succeed in elections and making changes...not always in humanities greatest interest.    


At the end of WWII the world agreed upon the Universal Declaration of Human Rights...hoping to prevent another World War, use of WMD, and genocide.   But the UN was never given the power to do this.  And the world was locked into a global governance system that ensures the protection of national sovereignty above the protection of human rights and nature.  This will not end well.  And over the last 20 years democracies have been failing (I assert because with elections they too often struggle to quickly  adapt to what most people want/need).   

 

Tracking  all national security issues, it appears the Peace movement has failed. And cannot succeed...largely because ‘Peace’ is an ambiguous word.   Peace through Strength! (LOL) Peace through disarmament! (WTF) or nonviolence (OMG). Now almost anything can be weaponized. Fact:  monkeys are always going to fight.  It is only humans that intentionally mass murder within its own species. And we are getting very efficient at it....   The progressive peace movement’s newest strategy/tactic is to “redefine” the word Peace... Making distinguishing between ‘Negative Peace’ and ‘Positive Peace’.  One prominent organization and collage campus center is about to launch a new peace education effort with this goal.  From my perspective - given the rise in hostilities globally, weapon evolution, truth decay, and the momentum of superpower competition...this redefinition  plan is going to fail – and soon.   Time is running out given the evolution of AI.  Given whichever nation gets it first will likely dominate the world, other nations are likely to preempt competitor nations, sparking a war, that seems inevitable anyway. 

 

I believe humankinds only workable way forward (if not already too late) is achieving the UN 17 Sustainable Development Goals....the only globally approved benchmarks that reflect the basic intentions of the 1948 Universal Declaration of Human Rights.  And if the three progressive movement unite...on achieving this holistic and comprehensive set of goals by 2030...it may be possible to address most of the root causes of conflicts and other larger preventable loss of human life and needless suffering related to poverty and environmental problems.  

 

I’m aware that a suggested shift in framing the progressive Peace movement to a global health movement is unlikely to succeed.  But I’m still attempting to convince some peace movement leaders I have connections with -that the ‘Peace through Strength’ movement they are up against has more money, media, reactionary logic, and political will, than their fragmented peacenik advocates.  And given the holistic and comprehensive systemic approach needed to address the root causes of conflicts, diseases, and environmental decline, I’m advocating they reframe their efforts using the word “Health” as a more effective marketing tool.  Health has little ambiguity.  It applies to almost everything (mind, body, spirit, family, community, culture, environment, politics, economic system...).  

Even military leaders prioritize keeping their soldiers healthy above all else.   Then uses four approaches to address any threat.

  1. Early detection,
  2. Rapid Response.
  3. R&D
  4. Prevention (which too often turns into preemption).  But prevention is the foundation of any legitimate health measure (except when US citizens and liberal policy makers prioritize access to  ‘medicine’ as ‘a right to Health Care’)

 

Any words of wisdom?  Or deep concerns regarding this “Health” tilt at the Peace movement windmill?

 

Cw

 

Chuck Woolery, Former Chair
United Nations Association, Council of Organizations
315 Dean Dr., Rockville, MD 20851
Cell:240-997-2209   ch...@igc.org

 

Blogs:  435 Campaign:  www.435globaljustice.blogspot.com  (May 2017  through today)

Dothefreakinmath http://dothefreakinmath.blogspot.com  (June 2006 to Nov 2016)

The Trilemma  http://trilemma.blogspot.com/  (Oct 2011 to Nov 2013)

 

“Today the most important thing, in my view, is to study the reasons why humankind does nothing to avert the threats about which it knows so much, and why it allows itself to be carried onward by some kind of perpetual motion.  It cannot suffice to invent new machines, new regulations, new institutions.  It is necessary to change and improve our understanding of the true purpose of what we are and what we do in the world.  Only such an understanding will allow us to develop new models of behavior, new scales of values and goals, and thereby invest the global regulations, treaties, and institutions with a new spirit and meaning.”  President Vaclav Havel, Czech Republic.

 

Here’s a video of optimism if you dare watch it  https://www.rethinkx.com/videos

 

"A human being is part of the whole, called by us 'Universe'; a part limited in time and space. He experiences himself, his thoughts and feelings, as something separated from the rest - a kind of optical delusion of his consciousness. This delusion is a kind of prison for us, restricting us to our personal desires and affection for a few persons nearest us. Our task must be to free ourselves from this prison by widening our circle of compassion to embrace all living creatures and the whole nature in its beauty. Nobody is able to achieve this completely, but striving for such achievement is, in itself, a part of the liberation, and a foundation for inner security."   -Albert Einstein.  As quoted in Quantum Reality, Beyond the New Physics, p. 250.

 

“The sad truth...is that most evil is done by people who never made up their minds to be or do either evil or good.” Hannah Arendt quoted in The Bulwork.

 

What are you doing to ensure the funding and achievement of the 17 Sustainable Development Goals by or before the year 2030?   Connect the dots!  See the web of life!  Achieve ‘justice for all’.  Or, prepare for the catastrophic consequences.  cw

 

 

 

 

 

 

 

From: ontolo...@googlegroups.com <ontolo...@googlegroups.com> On Behalf Of Michael DeBellis
Sent: Tuesday, August 5, 2025 1:24 PM
To: ontolo...@googlegroups.com
Subject: Re: [ontolog-forum] Reasons for not using user define IRIs?

 

Thanks,  Alex, that is exactly what I was looking for! In general as I review these I think the arguments are mostly an example of what Dawkins calls The Tyranny of the Discontinuous Mind: https://richarddawkins.com/articles/article/the-tyranny-of-the-discontinuous-mind   In this case the assumption that if you use intuitive IRIs you can't use labels and vice versa. 

Alex Shkotin

unread,
Aug 6, 2025, 6:23:31 AMAug 6
to ontolo...@googlegroups.com

Michael, 


Think of putting your points on https://ontologforum.com as one of the important topics.


The decision on encoding classes, properties, etc., and where to put the term itself in the form in which it exists in the dictionary are among the most important technological ones.

They are made by the development team together with the customer. And you have outlined your counterarguments. But imagine that the customer says: I will need to place the ontology in OBO Foundry.

What rule does the ontologist adhere to when formalizing (encoding) terms is, of course, very important.

And as a first approximation, everyone will probably agree that a speaking identifier is the best solution. And I, like you, am for underscoring a space  instead of a CamelCase. You now there is a special space " " - non-breaking space, for aesthetes🙂


In one project, we had a bilingual dictionary of geological terms and boldly made multilingual synonyms.


regarding Sparql: there you can probably search by labels, which, as relationalists would say, will require one more join for each label.


It is interesting that OBO allows using ontologies with a different type of term encoding in their ontology, for example from GENO

association has object <http://purl.org/oban/association_has_object>

association has predicate <http://purl.org/oban/association_has_predicate>

association has subject <http://purl.org/oban/association_has_subject>

association <http://purl.org/oban/association>


In general, this is one of the topics of formalization: how to encode terms and where to place their NL form.


The coding of OBO is more or less usual for standards like this [1] according to Claude.


Alex


[1]

Database (Data Base)

ISO/IEC 2382-17 Definition: 17.01.01 database: A collection of data organized according to a conceptual structure describing the characteristics of these data and the relationships among their corresponding entities, supporting one or more application areas.

Notes:

  • The conceptual structure is called a data model

  • The database is independent of the way the data are physically stored

  • Alternative spellings include "data base" (two words)

Knowledge Base

ISO/IEC 2382-28 Definition: 28.01.09 knowledge base: A collection of knowledge, expressed using some knowledge representation, about a particular domain.

Notes:

  • Forms part of an expert system or knowledge-based system

  • Contains facts, rules, heuristics, and other forms of knowledge

  • May include both factual knowledge and procedural knowledge

  • Distinguished from a conventional database by containing knowledge rather than just data


вт, 5 авг. 2025 г. в 20:24, Michael DeBellis <mdebe...@gmail.com>:

Alex Shkotin

unread,
Aug 6, 2025, 7:47:59 AMAug 6
to ontolo...@googlegroups.com
Just an addition in terms of formalization. Ideally, users don't need to write in Sparql. It writes: "For each patient, provide a list of all persons related to him." And in the case of CNL, we hope to get a parser in Sparql.

ср, 6 авг. 2025 г. в 13:23, Alex Shkotin <alex.s...@gmail.com>:

Michael DeBellis

unread,
Aug 6, 2025, 11:39:30 AMAug 6
to ontolo...@googlegroups.com

Think of putting your points on https://ontologforum.com as one of the important topics.

Perhaps I will and thanks for suggesting it. But my intention was never to tell the OBO community how to do things. I have a great deal of respect for OBO and BFO and there may be issues I'm still not understanding. What I was most concerned with was to see any issues related to industry ontologies that I was missing. BTW, I think that's another important point: I recognize that the requirements for curated ontologies that are part of libraries like OBO are different from those that a team trying to build the first ontologies in an organization are going to have. While, personally I would always use user defined names, I can see that it makes more sense to use them for a huge distributed team like the OBO community. People working in OBO already have the infrastructure and processes (to generate unique codes) in place. 
 
They are made by the development team together with the customer. And you have outlined your counterarguments. But imagine that the customer says: I will need to place the ontology in OBO Foundry.

Alex, I think in my original post I said something like "except for some specific use cases". If I didn't it was because I was trying to keep the length of my original post down. The reason I wanted to revisit this is the issue comes up a lot with clients who are new to the technology. In those cases I always say... in fact I just opened a client presentation so I could paste the exact text:

There are three exceptions where auto-generated opaque IRIs are justified:
1. Individuals. Typically, we don’t manually define individuals, we generate them from data such as exports from relational databases. Also, we typically don’t reference specific individuals in SHACL, SPARQL, or code in languages like Python and Java that access our models. Thus, when defining individuals, it is almost universal across both industry and academia to use auto-generated IRIs, typically UUIDs. Note that for the People ontology I didn’t do this but that is because that ontology doesn’t have much data and even the data was defined manually because it is meant for training not actual use.
2. Standards. There are large organizations that support curated ontologies and that have adopted codes or other opaque formats for IRIs. Two examples are Wikidata and the OBO Foundry. In such environments it is often mandatory to use a certain type of IRI. Even when it isn’t mandatory, conforming to standards is still one of the most important success factors for a project and thus generated IRIs are encouraged in these environments.
3. Security. For some types of systems having opaque IRIs can add another layer of security. 

The term "generated IRIs" is one I use because saying "codes and UUIDs" gets annoying after a while. The People ontology is something I put together for clients because you can show a lot of the power of OWL with family and social relations that aren't as easy to show with Pizza. Elsewhere I go even a bit further than this and say something like "if you already have a team that uses generated IRIs, is comfortable with it and wants to stick with it then do so."  I don't think it is such a huge issue that it is worth disrupting a team or doing something that will risk your ontology being turned away by groups like OBO. I sometimes use standards from OBO and BFO myself. 

regarding Sparql: there you can probably search by labels, which, as relationalists would say, will require one more join for each label.

I'm aware of that and again I almost included that point and an example. In fact, I have a post on my blog that goes into this: https://www.michaeldebellis.com/post/uuids-w-prefixes 
My counter argument is:
1) It is not a lot of work for a few entities but it isn't completely trivial and it adds one additional thing you always need to do for (as far as I can tell) no value. When I'm working I debug things all the time by just writing a SPARQL query off the top of my head. I can never do that without user defined IRIs. 
2) The biggest issue for me is debugging. I like using IDEs and I like using debuggers. That is another reason I'm for very long explanatory (self documenting) code. Not only does the IDE do completion for you but when you debug it is much easier to understand what is going on when you see an IRI like "https://www.michaeldebellis.com/climate_obstruction/Field_Frame" in the Trace from your code then if you see   "https://www.michaeldebellis.com/climate_obstruction/OWLClass_f861e81c_661a_4243_a9be_cb9c780cb78a"

The coding of OBO is more or less usual for standards like this [1] according to Claude.

It used to be quite common for people to have "go tos" in their code. That doesn't mean it was ever a good idea. 

Cheers,
Michael


Michael DeBellis

unread,
Aug 6, 2025, 11:47:10 AMAug 6
to ontolo...@googlegroups.com
Just an addition in terms of formalization. Ideally, users don't need to write in Sparql. It writes: "For each patient, provide a list of all persons related to him." And in the case of CNL, we hope to get a parser in Sparql.

I would actually say it more strongly: if the only way to access your ontology is via SPARQL then unless you have very technical users who already know SPARQL, your work isn't finished.  Everything I'm talking about is from the developer's perspective. For users what matters are the labels. 

Michael

Alex Shkotin

unread,
Aug 6, 2025, 12:21:34 PMAug 6
to ontolo...@googlegroups.com
Michael, I have sent you an email to mdebe...@gmail.com. please check SPAM.

Alex

ср, 6 авг. 2025 г. в 18:47, Michael DeBellis <mdebe...@gmail.com>:

deddy

unread,
Aug 6, 2025, 12:36:15 PMAug 6
to ontolo...@googlegroups.com
Michael -

>
> For users what matters are the labels.
>

Correct...

1/ - forcing people to use SPARQL is obviously a 99.9999% dead end.

VERY few consumers will tolerate command line syntax


2/ - however one presents the UI / UX to the person at the keyboard, if they ask for Zip_Code, the tooling better have a mechanism to "ask:" "Do you want to know about PostalCode, Post-Code, ... etc. too?"


3/ - assuming a "meaningful word" in a label means the same to the creator & the searcher/reader obviously will not work.

- David

Alex Shkotin

unread,
Aug 6, 2025, 12:45:04 PMAug 6
to ontolo...@googlegroups.com
David

3/ - assuming a "meaningful word" in a label means the same to the creator & the searcher/reader obviously will not work.

This is why OBO requires definition for every term.

Alex

alex.shkotin

unread,
Aug 6, 2025, 12:48:51 PMAug 6
to ontolog-forum
It was a pretty good discussion. Om.

Alex

среда, 6 августа 2025 г. в 18:47:10 UTC+3, Michael DeBellis:

deddy

unread,
Aug 6, 2025, 12:57:42 PMAug 6
to ontolo...@googlegroups.com
Alex -

>
> This is why OBO requires definition for every term.
>

I read "requires definition" to mean "A" definition... a SINGLE definition.

Please provide a sample list of words — half a dozen will be fine — with a single definition. Not that I'm going to look — that's your charge — but my working assumption is there are very close to ZERO words with just a single meaning.


I am using "definition" & "meaning" to be interchangeable synonyms... as ambiguously verified in OAD.

______________________
David Eddy


> -------Original Message-------
> From: Alex Shkotin <alex.s...@gmail.com>
> To: ontolo...@googlegroups.com <ontolo...@googlegroups.com>
> Subject: Re: [ontolog-forum] Reasons for not using user define IRIs?
> --
> All contributions to this forum are covered by an open-source
> license.
> For information about the wiki, the license, and how to subscribe or
> unsubscribe to the forum, see http://ontologforum.org/info
> ---
> You received this message because you are subscribed to the Google
> Groups "ontolog-forum" group.
> To unsubscribe from this group and stop receiving emails from it,
> send an email to ontolog-foru...@googlegroups.com.
> To view this discussion visit
> https://groups.google.com/d/msgid/ontolog-forum/CAFxxROQZHgsordMjUyQS_vBA3L8f5%2BYrzHnr2TdkqptUX-OA1w%40mail.gmail.com.
>

Michael DeBellis

unread,
Aug 6, 2025, 2:45:18 PMAug 6
to ontolo...@googlegroups.com
I Please provide a sample list of words — half a dozen will be fine — with a single definition.  Not that I'm going to look — that's your charge — but my working assumption is there are very close to ZERO words with just a single meaning...  am using "definition" & "meaning" to be interchangeable synonyms... as ambiguously verified in OAD.

I think you are confusing a model and natural language. In a model we use words from natural language but we give them precise meanings because we want to do things that require us to go beyond the inherent context dependence of natural language. We oversimplify a domain because that is the best way to solve problems in that domain. A simple example is in natural language most people would say that "speed" and "velocity" are synonyms. In Physics they aren't. Speed is a scalar and Velocity is a vector. 

The same is true for most ontologies. They are models designed to solve problems in a doman. By definition a model is a subset of reality. You focus on some issues and ignore others because otherwise the problem is intractable. So just as "velocity" and "speed" have very specific definitions that don't include all their possible natural language definitions so do the concepts in most ontologies. "Bank" can describe a river bank or a financial institution but in a financial services ontology you only use one definition and in a hydrology ontology you use the other and the fact that in natural language they have different context dependent meanings can usually be safely ignored.  Of course, if you are creating an ontology with the goal of understanding natural language, like an ontology version of WordNet, that's a different story but that's seldom if ever the case, at least in my experience, with ontologies developed for industry use. 

Michael

You received this message because you are subscribed to a topic in the Google Groups "ontolog-forum" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/ontolog-forum/WIdGklzN82Q/unsubscribe.
To unsubscribe from this group and all its topics, send an email to ontolog-foru...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/ontolog-forum/20250806165738.34485.qmail%40server267.com.

Ravi Sharma

unread,
Aug 6, 2025, 3:58:48 PMAug 6
to ontolo...@googlegroups.com
The discussion is relevant and I would like to learn what likely impact of changes in AI will have on coding details that we are describing here?
Regards

Thanks.
Ravi
(Dr. Ravi Sharma, Ph.D. USA)
NASA Apollo Achievement Award
Former Scientific Secretary iSRO HQ
Ontolog Board of Trustees
Particle and Space Physics
Senior Enterprise Architect
SAE Fuel Cell Standards Member



Alex Shkotin

unread,
Aug 7, 2025, 3:50:00 AMAug 7
to ontolo...@googlegroups.com

David,


Let me bring my point by citation from https://obofoundry.org/principles/fp-000-summary.html.

"P6) Textual Definitions - The ontology has textual definitions for the majority of its classes and for top level terms in particular."

"P19) Term Stability - The definition of a term MUST always denote the same thing(s)–known as “referent(s)”–in reality. If a proposed change to the definition would substantially change its referents, then a new term with new IRI and definition MUST instead be created."


I keep it simple: every term must have a definition.


As an example of OBOf practice have a look at geno_purl.EC.CALLsorted(-:PUBLIC:-) Which is the extraction from GENO

Let me cite:


term

obo:IAO_0000115 (definition)

obo:IAO_0000119 (definition source)

sequence feature or set

A sequence feature or a set of such features.

<no>

genomic feature

A sequence feature (continuous extent of biological sequence) that is of genomic origin (i.e. carries sequence from the genome of a cell or organism)

!Author's own TERM! which is clearly stated in the editor note see. Ontobee

allele

One of a set of sequence features known to exist at a particular genomic location.

!Author's own definition! which is clearly stated in the editor note see. Ontobee

reference allele

An allele whose sequence matches what is consdiered to be the reference sequence at that location in the genome.

<no>

variant allele

An allele that varies in it sequence from what is considered the reference or canonical sequence at that location.

<no>

variant single locus complement

A single locus complement in which at least one member allele is considered variant, and/or the total number of features in the complement deviates from the normal poloidy of the reference genome (e.g. trisomy 13).

<no>

variant genome

A genome that varies at one or more loci from the sequence of some reference genome.

<no>

gene part

A genomic feature that is part of a gene, and delineated by some functional or structural function or role it serves (e.g.a promoter element, coding region, etc).

<no>

genomic genotype

A genotype that describes the total variation in heritable genomic sequence of a cell or organism, typically in terms of alterations from some reference or background genotype.

<no>

allelic genotype

A genotype that specifies the 'allelic state' at a particular location in the genome - i.e. the set of alleles present at this locus across all homologous chromosomes.

<no>


By the way another extremely important requirement:

Every definition must have reference to the source.

With the additional point: an invention of definitions is strictly forbidden.


Alex



ср, 6 авг. 2025 г. в 19:57, deddy <de...@davideddy.com>:

Alex Shkotin

unread,
Aug 7, 2025, 4:03:53 AMAug 7
to ontolo...@googlegroups.com

David,


Sorry I did not answer your question. Different terms with the same definition (aka meaning) called synonyms.

Just for fun https://claude.ai/share/d38d4eb7-832b-49fd-83b2-b93c72fdbcab


Alex



ср, 6 авг. 2025 г. в 19:57, deddy <de...@davideddy.com>:
Reply all
Reply to author
Forward
0 new messages