Line 32: | Line 32: | ||
[[Image:N_aria_provider_service.JPG]] | [[Image:N_aria_provider_service.JPG]] | ||
− | |Consequences=The main advantage of this pattern is that allows asking for those services that are provided by a service provider and vice-versa without a complex query ( | + | |Consequences=The main advantage of this pattern is that allows asking for those services that are provided by a service provider and vice-versa without a complex query (this complex query would involve the class created to support the n-ary relation between service providers and services). |
}} | }} | ||
{{Logical OP Reference Template | {{Logical OP Reference Template |
Diagram
Name | Summarization of an inverse n-ary relation |
---|---|
Also known as | |
Author(s) | MariaPoveda, MariCarmenSuarezFigueroa |
SubmittedBy | MariaPoveda, MariCarmenSuarezFigueroa |
Motivation | An n-ary relationship should be used to address any of the following situations:
(a) a binary relationship that really needs a further argument. For example, to represent the distance between two places. (b) two binary relationships that always go together and should be represented as one n-ary relation. For example, to represent the value of an observation (e.g. temperature in a patient) and its trend. (c) a relationship that is really amongst several things. For example, to represent the spatial location of a person in a given point of time. On the one hand, the motivation of this pattern is to express the inverse relationship of an n-ary relation where there are distinguished participants. This means that the relationship exists mainly between two entities and the rest of entities involved in the relationship can be considered as additional arguments. This situation can also mean that there is a single individual standing out as the subject or the "owner" of the relation. On the other hand, the motivation is to provide a shorcut for queries that involve the distinguished participants in the n-ary relationship. This pattern is inspired on the third consideration shown in http://www.w3.org/TR/swbp-n-aryRelations/#choosingPattern1or2. The difference in our case is that there are at least two distinguished participants in the relationship. Therefore, this pattern could be considered as an extension of the third consideration shown in http://www.w3.org/TR/swbp-n-aryRelations./#choosingPattern1or2 applied to the use case of n-ary relationships described in http://www.w3.org/TR/swbp-n-aryRelations/#useCase1. |
---|---|
Aim | The aim of this pattern is to allow asking for n-ary relationships and their inverse relations between two distinguished participants without a complex query (Such a comples query would involve the class created to support the n-ary relation between the origin and destination classes of the n-ary relationship). |
Solution description | The class "NAryRelationClass" is the class created to support the n-ary relationship (like in http://www.w3.org/TR/swbp-n-aryRelations/#useCase1) and its further relations or attributes. The relationship "mainRelationship" and its inverse relation have been created to short-circuited the relation between the distinguished participants in the n-ary relationship. |
Elements | Class, Relationship, Attribute and inverseOf |
Implementation | |
Reusable component | |
Component type |
Problem example | We might want to represent that a service provider provides a service at a place in a given period of time with a particular price. The model should also represent that a service is offered by a provider.
We have also observed that the queries executed by our applications often ask for the relationship between providers and their services and rarely ask for the relationships about the services and where they are provided.
|
---|---|
Pattern solution example | |
Consequences | The main advantage of this pattern is that allows asking for those services that are provided by a service provider and vice-versa without a complex query (this complex query would involve the class created to support the n-ary relation between service providers and services). |
No scenario is added to this Content OP.
This revision (revision ID 10178) takes in account the reviews: none
Other info at evaluation tab
![]() |
Submission to event |
---|