- From: David Booth <david@dbooth.org>
- Date: Mon, 30 Oct 2023 14:21:10 -0400
- To: semantic-web@w3.org
Note that N3 provides a convenient syntax for reversing the direction of a predicate, so you don't have to define its inverse. From the N3 documentation: https://www.w3.org/TeamSubmission/n3/#shorthand [[ Paths These are just shorthand. x!p means [ is p of x ] in the above anonymous node notation. You can read it as "x's p". This is a little reminiscent of the "." in object oriented programming "object.slot" syntax. The reverse traversal, x^p means [ p x ] . For either forward or backward traversal, p is a property, and x can be a whole path with both ! and ^ in it. Example: :joe!fam:mother!loc:office!loc:zip Joe's mother's office's zipcode :joe!fam:mother^fam:mother Anyone whose mother is Joe's mother. ]] Thanks, David Booth On 10/30/23 12:52, Miguel wrote: > Hi Harshvardhan, > just to further elaborate, with that argument you could support the > explicit definition of the inverse of any object property (excluding > symmetric properties). > Some vocabularies do indeed adopt that convention. > > The problem with that is that at the syntactic level you have always two > ways (for each pair of related resources) to represent the same meaning. > Only if you explicitly state in OWL the relationship between the two > properties with the inverseOf expression *and* perform inference, then > the two versions are reconciled. > > Furthermore, the direction in which a property is defined does not (at > least in theory) imply a specific favoured direction for traversing it, > as shown in the SPARQL examples by Antoine Zimmermann. > > Best regards, > Miguel > > On Mon, Oct 30, 2023 at 5:47 PM Antoine Zimmermann > <antoine.zimmermann@emse.fr <mailto:antoine.zimmermann@emse.fr>> wrote: > > rdfs:superClassOf (respectively rdfs:superPropertyOf) does not exist in > any standard, nor any term equivalent to it. > > If it did, it would not add anything to reasoning or querying. If you > want to list all subclasses of a class <C>, you can write: > > SELECT ?subclass WHERE { > ?subclass rdfs:subClassOf <C> . > } > > and if you want the list of superclasses of a class <C>, you write: > > SELECT ?superclass WHERE { > <C> rdfs:subClassOf ?superclass . > } > > > What use cases would make it harder and more painful to write: > > :A rdfs:subClassOf :B > > than: > > :B rdfs:superClassOf :A > > ? > > > --AZ > > Le 28/10/2023 à 14:21, Harshvardhan J. Pandit a écrit : > > Hi. > > We have rdfs:subClassOf defined in a standardised specification > (RDFS). > > RDFS several times mentions 'superclass', but AFAIK there is no > property > > or relation to make this explicit, i.e. > > > > ```turtle > > :A rdfs:subClassOf :B . # exists > > :B rdfs:superClassOf :A . # does this exist anywhere? > > ``` > > > > I can intuit why subclass relations are the most common and > preferred > > methods of use - because anyone can extend the superclass from > anywhere. > > And that either assertion can be inferred from the other (sub to > super, > > vice-versa), but I also think having the superclass be 'aware' of > > subclasses is a good practice in maintaining ontologies e.g. to > get a > > list of all subclasses which would normally require a query each > time. > > > > (Likewise for rdfs:subPropertyOf and rdfs:superPropertyOf) > > > > Apologies in advance if this has already been answered somewhere (I > > would appreciate it if you point me to it). > > > > Regards, > > -- > Antoine Zimmermann > École des Mines de Saint-Étienne > 158 cours Fauriel > CS 62362 > 42023 Saint-Étienne Cedex 2 > France > Tél:+33(0)4 77 49 97 02 > http://www.emse.fr/~zimmermann/ <http://www.emse.fr/~zimmermann/> >
Received on Monday, 30 October 2023 18:21:16 UTC