OP-TED / ePO

The eProcurement Ontology provides the formal, semantic foundation for the creation and reuse of linked open data in the domain of public procurement in the EU.
European Union Public License 1.2
58 stars 18 forks source link

Modification notice model in Standard forms #389

Closed costezki closed 1 year ago

costezki commented 1 year ago

To be discussed in the EPO WG meeting.

image

image

image

image

andreea-pasare commented 1 year ago

The epo:containsModificationsOn relation has been added on the epo:AgentInRole class since epo:Winner can be also modified in Modification Notice. image

giorgialodi commented 1 year ago

What does it mean that an AgentInRole containsModificationsOn an AgentInRole? Do you mean changedIn? Or do you mean that there is a general relation between AgentInRole instances?

costezki commented 1 year ago

It seems that we need to further discuss this matter. The solution of using RDF reification to express modifications might be a better alternative to the current proposed solution.

@giorgialodi it was meant to say that an instance of an object can be modified by another instance of an object of the same type (the latter contains only properties with the new values and is meant to override the forme one).

muricna commented 1 year ago

A modification notice concerns a modification to the contract ie the change of name of an economic operator I think therefore the modification needs to be made at Agent level. We need to look closely at the use cases

giorgialodi commented 1 year ago

But do you change the name of the agent playing the role of the economic operator? Do you change the role from economic operator to something else? BTW: I think @muricna that you are writing about a modification of the contract, not of the agent. In any case, AgentInRole containsModificationsOn AgentInRole sounds very weird to me: what does it mean contains? Probably the modification notice contains the indication that there is a modification of the contract.

giorgialodi commented 1 year ago

@costezki difficult to follow. Do you have an example of instances of AgentInRole class that are to be modified by other instances of the AgentInRole?

costezki commented 1 year ago

Yes, we have examples. This is best discussed in the EPO WG meeting. @giorgialodi, your input would be valuable and highly appreciated.

giorgialodi commented 1 year ago

@costezki I need to find the time among all my current activities. I will see if I can participate in the meeting next Tuesday!

muricna commented 1 year ago

But do you change the name of the agent playing the role of the economic operator? Do you change the role from economic operator to something else? BTW: I think @muricna that you are writing about a modification of the contract, not of the agent. In any case, AgentInRole containsModificationsOn AgentInRole sounds very weird to me: what does it mean contains? Probably the modification notice contains the indication that there is a modification of the contract.

@giorgialodi yes the modification of a contract could be that the name of the agent changes not the agent itself that is why I said we need to look at the use cases and we need to look at if the predicate is appropriate.

Have a nice weekend everyone.

costezki commented 1 year ago

After some more internal debates, we decided to relax the Domain and Range of the epo:containsModificationsOn to "Anything" like in the following diagram.

image

csnyulas commented 1 year ago

I wish I was involved in the latest discussions regarding this problem, as it was @andreea-pasare and myself who came up with the solution of adding the relationship epo:AgentInRole epo:containsModificationOn epo:AgentInRole, in order to be able to represent the the modifications on the winner of a contract that can be expressed in section VII.1.7 of standard form F20.

The first part of the solution described in this issue by @costezki, where we suggested to add epo:ProcurementElement epo:containsModificationOn epo:ProcurementElement, allows us to represent nicely modifications on Procedure, Lot and Contract, which are described in sections VII.1.1 through VII.1.6 image

However to represent the modifications to the winner of the contract, described in section VII.1.7 (see below), we needed to add the epo:containsModificationOn relation to the epo:Winner. We thought that it would be even better to add it to any epo:AgentInRole, not just the epo:Winner, in case some other forms (which we didn't map yet or might be created in the future) will allow the modification of information on some agents playing a different role. (Side note: Making it totally generic, as per the last suggestion, to be owl:Thing epo:containsModificationOn owl:Thing, opens up its interpretation way too much, in my opinion, and looses its intended meaning. Naturally, the epo:containsModificationOn property should be defined to represent some relationship between some EPO classes, not on any imaginable thing in the world.)

image

The key reasons for which we found that the best approach to represent the modifications that can happen on the "contractor/concessionaire" information is to add the epo:containsModificationOn property to the epo:Winner (or more generically its superclass epo:AgentInRole) is that according to the standard form F20 (and its associated XSD), any aspect of the contractor can change. Not merely its official name, (parts of) its address, or whether it is an SME or not, but theoretically a contractor can be replaced with a different contractor, or a group of contractors, and vice versa. Or the members that formed the group of contractors in the original notice can change (by adding removing contractors). So, the best way that we found to represent this, is to create a new epo:Winner instance, played by the agent described in section VII.1.7 ( which can be a single Organisation or a Group of Organisations), that has a relationship epo:containsModificationOn to the epo:Winner instance that was created from the sections V.2.2 and V.2.3.

giorgialodi commented 1 year ago

I think it is a long discussion here and probably also the role managed in this way opens up these issues. What is changed is not the agent it is the contract that indicates a different agent in the role of winner, as far as I have understood from @muricna. So probably managing roles in a different way with a time interval (if this data is available)l too allows you to better represent these situations. There is a new situation here, given by a modification of the contract, that says that Agent 1 with role winner is no longer valid and now it is Agent 2 in the role of winner. The winner role is always the same, the agent is always the agent, what changes is the situation connected with the new contract instance for which the role of winner is now played by Agent 2. I agree with @csnyulas that the property, whose name should be carefully analysed IMHO, from owl:Thing to owl:Thing is too vague and probably should be avoided to be better focused on the specific cases of the domain. Today I have an overlapping meeting but I can try to join you later on in usual ePO afternoon meeting.

costezki commented 1 year ago

After a discussion in the WG, it was concluded that the modifications are on the epo:Contract, not any other ProcurementObject. The Contract module of EPO is not yet completely modelled, and therefore modifications implementation should be addressed as part of the modelling Contract module.

andreea-pasare commented 1 year ago

In ePO v4.0.0-rc.1, the modification of a Contract is covered by a Contract Amendment, which is a type of Contract. image

The modifications of the Contract are represented in a Modification Notice as follows: image