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

Lot - a class or a property? Why? #202

Closed JachymHercher closed 5 years ago

JachymHercher commented 5 years ago

In the ontology, lot is a class, not a property. Why?

Instead of having a class and linking (almost) everything to that class, (almost) everything could have a lot property. That would make it clear which lots criteria, estimated values, submission deadlines, etc. apply to.

I would assume either approach should be possible, I'm wondering which one is simpler and more readable.

ec-mcs commented 5 years ago

I would vote for an attribute as well as this would help us to keep a simpler structure in my view.

muricna commented 5 years ago

A property is the lowest granularity of a concept. Semantic linking cannot be done at property level it is done at class level. Predicates in the ontology are from class to class.

Lots have there own properties and are semantically linked to other classes. The advantages of having an ontology would be reduced if we did not create a lot class, as open data evolves this could become a limiting factor.

jpmckinney commented 5 years ago

I agree with @muricna.

I think implementation is getting mixed up with modelling in the earlier comments. When it comes to implementing the ontology in a real system, an attribute can be used on whatever concrete models are implemented in that system (in many systems, the only way to link classes is via foreign key attributes). The ontology is not a prescription that, if something is a class in the ontology, then it must be defined as a class in e.g. the object-oriented programming language used for implementation.

JachymHercher commented 5 years ago

@muricna I'm not sure I understand, sorry. For example, many classes have the property "description". "Description" is not the lowest granularity of, for example, "Options", no?

You are right that we lose the predicates. However, for lots, aren't all predicates just "applies to" (or something very similar)?

paulakeen commented 5 years ago

Having Lot as a class is both a business and a design decision:

  1. Business-wise: may relationships that point at or depend on the Lot (e.g. Submission Terms, amongst other) are used to point at the whole procedure in the cases where the Procedure is not divided into Lots (procedures without Lots have always 1 Lot, which "surrogates" the Procedure for those links that should go to the Lots);
  2. Design-wise: The arguments provided by @muricna and @jpmckinney are aligned with the principle established at the very beginning of the ePO developement which goes like this: "If a concept needs to be linked to other concepts and has its own attributes then it has to be designed as a class".

The Working Group endorses this opinion as per today, 9th July 2019. So we close this issue.