OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

icom message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]


Subject: Notes on ICOM metamodeling with relationship and association classes


Let¡¯s review the following meta modeling patterns during the TC Meeting if time permits. There was an open issue for the TC to research the precedence for the following two proposed mappings:

 

1.       Bond (n-ary relationships) and RDF reification, and

2.       UML Association and RDF Property

 

Several ICOM constructs, including Bond, BondEntityRelation, CategoryApplication, TagApplication, and Participant, are covered by the following discussions.

 

1.       W3C Working Group Note (see http://www.w3.org/TR/swbp-n-aryRelations/) describes the use of a class to represent n-ary relations, analogous to Bond in ICOM.

 

2.       There are activities in W3C to extend RDFS reification vocabulary (see http://esw.w3.org/PropertyReificationVocabulary), such that the assertion of reification class implies the property as described in the following N3 notation.

 

{

  ?p a :ReifiedProperty ;

         :reificationClass ?rc ;

         :subjectProperty ?sp ;

         :objectProperty ?op .

 

  ?r a ?rc ;

         ?sp ?s ;

         ?op ?o .

}

=>

{ ?s ?p ?o } .

 

 

3.       OWL 2 has a new feature for ¡°punning¡± as described in Section 2.4.1 Use Case #14 and Section 7.16 Use Case 15  in http://www.w3.org/TR/2009/REC-owl2-new-features-20091027/.  Below are excerpts from sections 2.4.1. ad 7.16.

2.4 Simple metamodeling capabilities

2.4.1 F12: Punning

OWL 2 DL ¡¦ allow different uses of the same term, e.g., Eagle, to be used for both a class, the class of all Eagles, and an individual, the individual representing the species Eagle belonging to the (meta)class of all plant and animal species. However, OWL 2 DL still imposes certain restrictions: it requires that a name cannot be used for both a class and a datatype and that a name can only be used for one kind of property¡¦

 

Use Case #14 could also be represented using an annotation deprecated property on the property :is_located_in, which might be more intuitive or better modeling.

 

UML Design

 

Declaration( Class( :Person ) ) Declaration( Class( :Company ) ) (UC#15) (1)

:Person and :Company are declared to be classes.

SubClassOf ( :PersonCompany :Association) (2)

:PersonCompany denotes a subclass of an :Association used to model an association between classes :Person and Company as a class.

ObjectPropertyDomain( :PersonCompany :Person )(3)

The domain of the property :PersonCompany is :Person.

ObjectPropertyRange( :PersonCompany :Company )(4)

The range of the property :PersonCompany is :Company.

The same term :PersonCompany denotes both a class (2) and an ObjectProperty(3, 4). This is possible in OWL 2 thanks to punning (Class ¡ê ObjectProperty).

7.16 Use Case #15 - UML Association Class [Designer]

Overview: The Unified Modeling Language (UML) includes a modeling element known as an Association Class which combines the features of a UML Class and a UML Association (UML's construct for defining class to class relationships Association). The Association Class, e.g., the association between classes Person and Company, allows a modeler to define a relation as an association and reify it simultaneously. This is convenient when one wants to model attributes of relations themselves. One way to support such case might be Class and ObjectProperty punning (Class ¡ê ObjectProperty).

Features: metamodeling

Example for: Simple metamodeling

¡¤         E.g.; an object property and a class: PersonCompany may be used both for an object property and a class.

Regards,

Eric



[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]