- From: Vassilis Christophides <christop@ics.forth.gr>
- Date: Fri, 26 Oct 2001 14:26:41 +0300 (EEST)
- To: www-rdf-interest@w3.org, www-rdf-comments@w3.org
- CC: "Karsten Tolle" <tolle@dbis.informatik.uni-frankfurt.de>
Hi, as written in the mail of Brian McBride form the 18 Oct (http://lists.w3.org/Archives/Public/www-rdf-interest/2001Oct/0065.html) the RDFCore WG has decided to allow cycles of subClassOf and subPropertyOf relationships. We tried to clear out what this exactly means for RDF. Classes: If we have a cycle in the schema definition for a set of classes, e.g. C1 < C2 < C3 < C1. In the RDF Schema Spec. we can find in 2.1 'The Type System' that elements of subclasses are also elements of the corresponding superclass. This means when we view the set of elements for C1-C3 they are all equal and all elements have the corresponding type declarations. Let us further assume that there is a Property P1 defined for the class C1. This is done in RDF by declaring the domain (and/or range) definition of P1 to be C1. The constraints domain/range are defined in the RDF Schema Spec. 3.1 and it is forced that the value of a property is a member of the defined domain (and/or range) class. As we have seen above the members of the class C1 are extended by the members of C2 and C3. So, as a consequence of the cycle all properties defined for the single classes C1, C2 and C3 are now valid for all of them. So, what does it mean semantically? A cycle for classes ends up in a single class containing all members of the corresponding classes and having all the corresponding properties. (A merge of the classes with keeping the names.) Do we really need a cycle to provide different names for the same class? One aim of RDF is always to give the user of RDF as much freedom as possible. But if these cycle declarations are spread over different namespaces (schemas) it will easily will get quite messy. ... and the question always arises if the additional namespace I need to load to validate my previous file is really trustful. Properties: Also for properties a cycle would mean that we have different names for properties expressing the same. But for properties cycles even make less sense. So fare the RDF WG does not even states how to handle different domain/range definitions for properties and their subproperties. When we allow cycles it should at least be constraint that the properties have equal domain/range definitions. Example: C1 --p1--> C2 C3 --p2--> C4 in the case p1 < p2 < p1 C3 --p1--> C2 would be valid There might be cases this would be ok. But there is a high risk that it ends up in a semantic mess. Best regards Vassilis Christophides Karsten Tolle
Received on Friday, 26 October 2001 07:29:48 UTC