Thank you for the thoughtful responses. I have read up on punning and from 
what I understand it is acceptable to pun Class and NamedIndividual IRIs OR 
Property and NamedIndividual IRIs, but punning a Class AND Property under 
the same IRI creates a logical flaw, especially when the definition becomes 
self-referencing like below. Is this understanding correct?

<https://rdafr.fr/Elements#P100001r>
  a owl:Class ;
  a owl:NamedIndividual ;
  a owl:ObjectProperty ;
  a sh:NodeShape ;
  rdfs:comment "La classe ‘est en relation avec’ permet d’ajouter des 
assertions sur toutes les propriétés qui expriment une relation entre des 
instances de deux classes de l’ontologie (et qui, de fait, correspondent 
aux relations entre instances d’entités du code RDA-FR)."@fr ;
  rdfs:comment "Super propriété de toutes les propriétés qui expriment une 
relation entre deux instances des classes. La valeur de cette propriété est 
une instance de la classe identifiée par la même URI . Cette instance porte 
toutes les métadonnées de cette relation."@fr ;
  rdfs:domain <https://rdafr.fr/Elements#C100013> ;
  rdfs:label "est en relation avec"@fr ;
  rdfs:range <https://rdafr.fr/Elements#P100001r> ;
  rdfs:subClassOf <https://rdafr.fr/Elements#C100013> ;
  owl:versionInfo "0.2.0"@fr ;
  sh:closed false ;
  sh:description "La classe ‘est en relation avec’ permet d’ajouter des 
assertions sur toutes les propriétés qui expriment une relation entre des 
instances de deux classes de l’ontologie (et qui, de fait, correspondent 
aux relations entre instances d’entités du code RDA-FR)."@fr ;
  sh:ignoredProperties [] ;
  sh:nodeKind sh:IRI ;


On Tuesday, November 18, 2025 at 8:21:45 PM UTC-5 Michael DeBellis wrote:

> I am trying to import an ontology which uses the same URI for properties 
>> and reified classes. Will this structure cause an import error in EDG?
>
>
> I took a quick look and as I suspected I think they are punning classes 
> and properties in order to use the SKOS broader/narrower object properties. 
> Punning: https://www.w3.org/TR/owl2-new-features/#F12:_Punning  is a 
> basic attempt (emphasis on attempt) to provide meta-modeling in OWL. In a 
> lot of OOP languages you can create properties on classes as well as 
> instances. This can be useful for using and enhancing a metamodel. You 
> can't do this in OWL because that would take you into second order logic 
> and OWL doesn't even support all of First Order Logic (FOL). Of course no 
> language with an automated reasoner can support all of FOL due to the 
> Halting problem, Turing and Church proved that any language with the power 
> of FOL can't support a reasoner that is guaranteed to terminate. That's why 
> the knowledge representation guys created Description Logic. It's a very 
> powerful subset of FOL but still decidable. 
>
> When you pun you create an RDF node that is both a class (or property) and 
> an instance. Then you can define object or data property values on the 
> instance and you are also asserting them on the class or property. So if 
> you want to model in SKOS that Animal is broader than Mammal you have to 
> pun both classes because broader/narrower are object properties. 
> Personally, I think it was a mistake because puns are a pain and can cause 
> issues when you go from one tool to another. Simply using annotation 
> properties is better but SKOS is so popular that if you want to use it on 
> classes or properties you need to pun them. Of course the fact that the 
> same RDF node is an instance of both a class and NamedIndividual is 
> irrelevant to the OWL reasoner because it works with logic not graphs. To 
> the reasoner the puns for Animal and Mammal are just another individual and 
> have no relation to the classes Animal and Mammal. There is no standard for 
> what to make puns an instance of. I usually make them instances of 
> skos:Concept because the only time I use puns is with SKOS and skos:Concept 
> is a decent definition for what classes and properties are. 
>
> Although, I still think it is an error if they really "use the same URI 
> for properties and reified classes". You have have the same IRI (i.e. a 
> pun) for a class and an instance or a property and an instance but you 
> can't use the same IRI for a class and property because the reasoner will 
> see those and it makes no sense to say something is a class (a set) and a 
> relationship (a property). A relation in logic is a set of sets so not a 
> class which is a set of individuals. 
>
> I talk more about the basics of SKOS here: 
> https://www.michaeldebellis.com/post/skosintro
> And how to use puns here: 
> https://www.michaeldebellis.com/post/puns_in_owl_the_whys_and_hows
>
> Michael 
>
> On Tue, Nov 18, 2025 at 1:27 PM 'Michael Phillips' via TopBraid Suite 
> Users <[email protected]> wrote:
>
>> I am trying to import an ontology which uses the same URI for properties 
>> and reified classes. Will this structure cause an import error in EDG?
>>
>> I am asking because I am trying to import an ontology and getting an 
>> error from EDG. The import job then hangs up and I am forced to manually 
>> abort. 
>>
>> This is not my ontology. The designers explain this reasoning here: 
>> https://rdafr.fr/ and here is a link to the spec: 
>> https://rdafr.fr/ontologie/
>>
>> As example see 
>> https://rdafr.fr/ontologie/#https://rdafr.fr/Elements#P100001r which is 
>> both a property and a reified class sharing the same URI like so:
>>
>> <owl:ObjectProperty rdf:about="https://rdafr.fr/Elements#P100001r";>
>>         <rdfs:domain rdf:resource="https://rdafr.fr/Elements#C100013"/>
>>         <rdfs:range rdf:resource="https://rdafr.fr/Elements#P100001r"/>
>>     </owl:ObjectProperty>
>>
>> I am trying to wrap my head around how this works since it makes the 
>> property self-referencing but first I want to understand if this structure 
>> will cause an import error in EDG.
>>
>> Any insights from the community would be most appreciated.
>>
>> Thank you,
>> Michael
>>
>>  
>>
>> -- 
>> The topics of this mailing list include TopBraid EDG and related 
>> technologies such as SHACL.
>> To post to this group, send email to [email protected]
>> --- 
>> You received this message because you are subscribed to the Google Groups 
>> "TopBraid Suite Users" group.
>> To unsubscribe from this group and stop receiving emails from it, send an 
>> email to [email protected].
>> To view this discussion visit 
>> https://groups.google.com/d/msgid/topbraid-users/ef1b388b-edb7-440d-8bbf-5e06b1646227n%40googlegroups.com
>>  
>> <https://groups.google.com/d/msgid/topbraid-users/ef1b388b-edb7-440d-8bbf-5e06b1646227n%40googlegroups.com?utm_medium=email&utm_source=footer>
>> .
>>
>

-- 
The topics of this mailing list include TopBraid EDG and related technologies 
such as SHACL.
To post to this group, send email to [email protected]
--- 
You received this message because you are subscribed to the Google Groups 
"TopBraid Suite Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion visit 
https://groups.google.com/d/msgid/topbraid-users/2a9973a7-a431-4fb2-bd9c-3193a17b0dedn%40googlegroups.com.

Reply via email to