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

Action Code for Catalogue and Catalogue Line #452

Closed idolum closed 11 months ago

idolum commented 1 year ago

We disussed this in the context of #317, but I could not find the action codes in the current draft.

User Story

A catalogue provider sends a catalogue the first time to a catalogue receiver. As it is the first version of the catalogue, the whole catalogue should be incorporated into the ordering system in the buying side. This is indicated by an action code "Add" on the catalogue level.

A week later, the catalogue provider sends a second version of the catalogue. The catalogue provider just wants to add one more line. To this end, the catalogue includes the additional line with the action code "Add" on the catalogue line level. This indicates that the catalogue already incorporated into the ordering system should extended with just this line. All other lines

A year later, the catalogue provider wants the catalogue to be deleted. To this end, the catalogue provider send a new catalogue with the action code "Delete". Then, the whole catalogue is deleted from the ordering system.

Examples

Proposal

Catalogue ---- 0..1 --> at-voc-new:action-code
|
|- Catalogue Line ---- 0..1 --> at-voc-new:action-code

Proposed action codes

Catalogue:

Legal codes on Catalogue header level:

Catalogue lines:

andreea-pasare commented 1 year ago

Currently, the eCatalogue module provides the following: image

epo-cat:hasActivityCode has the following definition: Code that defines how the line should be applied to an existing eCatalogue.

idolum commented 1 year ago

Additional explaination:

idolum commented 1 year ago

@andreea-pasare Hi Andreea, we discussed this in our WG5 meeting today. We came to the conclusion that on the one side the catalogue fragment reflects the details better, but on the other side (considering all our use cases) every catalogue would be then a catalogue fragment. So, from this perspective the catalogue class would be useless. Furthermore, the catalogue line needs an activity code as well, but would be part of a catalogue and catalogue fragment. We had to introduce a catalogue fragment line to be consistent making the ontology even more complex.

Thus, I would reduce the complexity and remove the catalogue fragment and add the activity code to the catalogue class. This would be in line with all other catalogue standards as they modelled it all this way.

In addition, I would add an additional activity code to the catalogue line.

andreea-pasare commented 1 year ago

@idolum, while investigating this issue I noticed that in ePO v3.1.0 we also had a CatalogueUpdateDocument that has been mistakenly removed in v4.0.0-rc.1. Please review the model below (from ePO v3.1.0) and let me know if this is still necessary or if it makes sense to merge it with the Catalogue concept? image

On reflection, we probably do not need CatalogueUpdateDocument anymore since we can get the source and target catalogue versions directly from the Documents.

idolum commented 11 months ago

@andreea-pasare Sorry for my late answer! I think as well, that the epo-catCatalogueFragment/CatalogueUpdateDocument is not needed anymore. For defining the TC440 transaction it would be easier if those concept would be merge into epo-cat:Catalogue.

I used epo:refersToPrevious already for the transaction definition. So, having the source and the target from the epo:Document works here.

The activity code would then be merge into the epo-cat:Catalogue and the epo-cat:CatalogueLine:

Catalogue ---- epo-cat:hasActivityCode -- 0..1 --> at-voc-new:action-code
|
|- Catalogue Line ---- epo-cat:hasActivityCode -- 0..1 --> at-voc-new:action-code
andreea-pasare commented 11 months ago

image

idolum commented 11 months ago

@andreea-pasare Great! Thank you!