Issue 12398: Definition of RDF Property and its use in the figures is inconsistent (odm-ftf) Source: Thematix Partners LLC (Mrs. Elisa F. Kendall, ekendall(at)thematix.com) Nature: Revision Severity: Significant Summary: From email dated 3/12/2008 from SRI, and as discussed (and documented in the minutes from the ODM FTF2 F2F DC meeting: Section 14.1.7, In Figure 4.3 the line is an "association". However, the specified base classes are "AssociationClass" and "Property". To duplicate this example in Enterprise Architect, it was necessary to define a profile in which the rdfProperty stereotype extend the "Association" metaclass. Resolution: This issue and ensuing discussions have led the FTF working group to recognize the need for an additional way to represent an RDF property in UML, that is, reified as a UML::Class, in addition to adding UML::Association to the set of base classes available for modeling RDF properties in the profile. Tool implementation of AssociationClass (tested in IBM Rational Software Architect, No Magic MagicDraw, and Sparx Enterprise Architect) is unsatisfactory from an RDF/OWL perspective, as one cannot draw free-standing RDF properties (as association classes with an "rdfProperty" stereotype applied) without dragging the default relationships to rdfs:Resource or owl:Thing onto a diagram). In many cases when defining RDF vocabularies, it is desirable to define a property on its own, without specifying any domain or range, but sometimes showing property inheritance. Downstream vocabularies may then further refine these definitions as appropriate. The proposed resolution is to § add UML::Association as a base class for all cases where RDF properties are used in the RDF and OWL profiles § add UML::Class as a base class for all cases where RDF properties are used in the RDF and OWL profiles § introduce two new stereotypes, "rdfsDomain" and "rdfsRange", to support domain and range property restrictions when UML classes are used to represent RDF properties, Revised Text: UML Profile for RDF Revised Text: 1. Section 14.1.7.1 RDFProperty, Description Currently,the second paragraph in the description section states: "Properties in RDF and OWL are defined globally, that is, they are available to all classes in all ontologies - not only to classes in the ontology they are defined in, but to classes in ontologies that are imported. For RDF properties that are defined without specifying a domain or range, the profile uses an anonymous class (analogous to owl:Thing in OWL ontologies) for the "missing" end class." Revise this section to read: Properties in RDF and OWL are defined globally, that is, they are available to all classes in all vocabularies and ontologies - not only to classes in the vocabulary or ontology they are defined in, but to classes in other vocabularies and ontologies, including those that are imported. For RDF properties that are defined without specifying a domain or range, the profile uses an anonymous class (a singleton class representing rdfs:Resource) for the "missing" end class, as needed. 2. Section 14.1.7.1 RDFProperty, Stereotype and Base Class Modify this section to be: "rdfProperty" with base class of UML::Class, UML::AssociationClass, UML::Property, and UML::Association 3. Section 14.1.7.1 RDFProperty, Graphical Notation (1) At the top of this section, insert the following: Properties without a specified domain or range may be represented using a stereotyped class, as shown in Figure 14.x . Figure 14.x Property hasColor - Class Notation Without Specified Domain or Range (2) Revise the text above Figure 14.4 from: Associations can be classes, as shown in Figure 14.4: to RDF properties may be represented as AssociationClasses, as shown in Figure 14.4: (3) Modify the caption under Figure 14.4, to add "Without Specified Domain," after hasColor. (4) Insert the following between the paragraph following Figure 14.4 and section B: with the caption: Figure 14.x Property hasColor Without Specified Domain, Class Notation Insert the following text below the caption for Figure 14.x: A stereotype indicating that the association between the hasColor property and Color class representing the RDF range restriction is introduced here, defined in paragraph 14.1.7.4. (5) Modify the text in C, below Figure 14.5 from: C. Properties with a defined range have the range class as their type in UML. Properties with no range have an anonymous class as their type in UML, as shown in Figure 14.5. to C. Properties with a defined range have the range class as their type in UML. Properties with no range may have an anonymous class as their type in UML, as shown in Figure 14.5. (8) Insert the text and figure below in E, below Figure 14.5, and renumber the paragraph currently defined as 'E' to 'F': E. Properties with a defined domain and range may also be specified using the class notation as shown in Figure 14.xx. Figure 14.x Property hasColor With Specified Domain and Range, Class Notation The "rdfsDomain" stereotype introduced above is defined in section 14.1.7.3, below. (6) Revise the text in E (renumbered 'F', as indicated above), below Figure 14.5, from: Two ways of representing RDF/S and OWL property subtyping (i.e., rdfs:subPropertyOf) use UML property/unidirectional association subsetting or association class subtyping. The UML semantics for both is that all links (instances, tuples) of the subtype properties or associations are links (instances, tuples) of all the supertypes properties or associations. to The notation for RDF/S and OWL property subtyping (i.e., rdfs:subPropertyOf) uses UML property/unidirectional association subsetting, association class subtyping, or generalization/specialization. (7) Insert the following text and figure below Figure 14.8: Figure 14.xxx provides another example of RDFS property subtyping, in this case using UML classes to represent the relevant RDF properties. Figure 14.xxx Property Subsetting - Class Notation 4. Revise section 14.1.7.2 RDFGlobalProperty, Description, from: An optional stereotype on a unidirectional association class or property with "rdfProperty" applied, indicating the association/property is defined globally, i.e., that class having the property, or on the non-navigable end of the association, is the class on which the property/association is introduced, i.e., the class does not inherit the property or association from a superclass. to An optional stereotype on a unidirectional association class, class, or property with "rdfProperty" applied, indicating the association/class property is defined globally, i.e., that the class having the property, or the non-navigable end of the association, is the class on which the class property/association is introduced, i.e., the property is not inherited from a superclass. 5. Revise section 14.1.7.2 RDFGlobalProperty, Stereotype and Base Class, to: "rdfGlobal" with base class of UML::Class, UML::AssociationClass, UML::Property, and UML::Association 6. Insert new section 14.1.7.3 RDFSDomain, as follows: Description rdfs:domain indicates that RDF resources denoted by the subjects of triples whose predicate is a given property P are instances of the class denoted by the domain. When a property has multiple domains, then the resources denoted by the subjects of triples whose predicate is P are instances of all of the classes stated by the rdfs:domain properties (In OWL, this is typically thought of as an anonymous class representing the intersection of all of the classes said to be in the domain of the property). Stereotype and Base Class "rdfsDomain" with base class of UML::Association Parent None. Properties None. Constraints [1] Applies only to associations between a class with an "rdfsClass" stereotype applied (or any of its children, e.g., "owlClass"), and a class with "rdfProperty" applied. [2] Associations with "rdfsDomain" applied are binary. [3] Associations with "rdfsDomain" applied have unidirectional navigation (from the class with the "rdfProperty" stereotype applied to the class with the "rdfsClass" stereotype applied) Graphical Notation Figure 14.x "rdfsDomain" Stereotype Notation - Class Notation for RDF Property 7. Insert new section 14.1.7.4 RDFSRange, as follows: Description rdfs:range indicates that the values of a given property P are instances of the class denoted by the range. When a property has multiple rdfs:range properties, then the resources denoted by the objects of triples whose predicate is P are instances of all of the classes stated by the rdfs:range properties (In OWL, this is typically thought of as an anonymous class representing the intersection of all of the range classes). Stereotype and Base Class "rdfsRange" with base class of UML::Association Parent None. Properties None. Constraints [1] Applies only to associations between a class with an "rdfsClass" stereotype applied (or any of its children, e.g., "owlClass"), and a class with "rdfProperty" applied. [2] Associations with "rdfsRange" applied are binary. [3] Associations with "rdfsRange" applied have unidirectional navigation (from the class with the "rdfProperty" stereotype applied to the class with the "rdfsClass" stereotype applied) Graphical Notation Figure 14.x "rdfsRange" Stereotype Notation - Class Notation for RDF Property UML Profile for OWL Revised Text: 1. In section 14.2.3.1, OWL Annotation Property, revise the Stereotype and Base Class to be: "owlAnnotation" with base class of UML::Class, UML::AssociationClass, UML::Property, and UML::Association Note that this correction supercedes the resolution defined for issue 12391. 2. In section 14.2.5.4, Cardinality Constraints, under Graphical Notation: Insert the following text and figure after Figure 14.16: When class notation for properties is desirable, cardinality constraints can be represented as shown in Figure 14.y. Figure 14.y owl:Cardinality - Restricted Multiplicity in Subtype 3. In section 14.2.5.5, owl:allValuesFrom Constraint: Insert the following after Figure 4.19: In addition to the "rdfsSubPropertyOf" stereotype, in order to facilitate disambiguation, vendors may optionally apply the "owlValue" stereotype (defined in paragraph 14.2.5.6, below), to the association redefining the property (i.e., the association representing the restriction), by setting the allValuesFrom property to the class filling the value restriction with a multiplicity of 1. In cases where UML classes are used to represent OWL properties, the option shown in Figure 14.z, may be used. Again, vendors may optionally apply the "owlValue" stereotype (defined in paragraph 14.2.5.6, below), to the association redefining the property (i.e., the association representing the restriction). Figure 14.z Property Redefinition for owl:allValuesFrom Using Classes 4. Section 14.2.5.6, owl:someValuesFrom and owl:hasValue Constraints (1) In the Properties section, add the following property: § allValuesFrom: Class [0..1] - identifies a class stereotyped by "owlClass" or "owlDataRange" (2) Add the following constraints to the Constraints section: [3] The value of the allValuesFrom property must be stereotyped "owlClass" or "owlDataRange". (3) Under the Graphical Notation, delete the text and Figure 14.20, replacing it with the following: The graphical notation for owl:someValuesFrom is the same as the notation given in section 14.2.5.5 for owl:allValuesFrom, with the distinction being the choice of property selected (someValuesFrom in this case). For owl:hasValue, one option using the class notation is shown in Figure 14.zz, below. Again in this case, use of the "owlValue" stereotype, and property hasValue whose value would be the instance specification that is a member of the singleton class, Red, is optional. Figure 14.zz Property Redefinition for owl:hasValue Using Classes 5. Section 14.2.6.1, owl:DatatypeProperty Modify the Stereotype and Base Class to be: "datatypeProperty" with base class of UML::Class, UML::AssociationClass, UML::Property, and UML::Association 6. Section 14.2.6.2, owl:ObjectProperty Modify the Stereotype and Base Class to be: "objectProperty" with base class of UML::Class, UML::AssociationClass, UML::Property, and UML::Association Note: this supercedes the resolution to issue 12396. 7. Section 14.2.6.3, owl:Property Modify the Stereotype and Base Class to be: "owlProperty" with base class of UML::Class, UML::AssociationClass, UML::Property, and UML::Association Note: this supercedes the resolution to issue 12396. Actions taken: April 17, 2008: received issue January 19, 2009: closed issue Discussion: End of Annotations:===== m: webmaster@omg.org Date: 17 Apr 2008 20:44:29 -0400 To: Subject: Issue/Bug Report -------------------------------------------------------------------------------- Name: Elisa Kendall Company: Sandpiper Software, Inc. mailFrom: ekendall@sandsoft.com Notification: No Specification: Definition of RDF Property and its use in the figures is inconsistent Section: 14.1.7.1 FormalNumber: ptc/07-09-09 Version: ODM 1.0 Beta 2 Specification RevisionDate: 11/2007 Page: 144-147 Nature: Revision Severity: Significant HTTP User Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322; .NET CLR 2.0.50727; InfoPath.1) Description From email dated 3/12/2008 from SRI, and as discussed (and documented in the minutes from the ODM FTF2 F2F DC meeting: Section 14.1.7, In Figure 4.3 the line is an "association". However, the specified base classes are "AssociationClass" and "Property". To duplicate this example in Enterprise Architect, it was necessary to define a profile in which the rdfProperty stereotype extend the "Association" metaclass.