Code development platform for open source projects from the European Union institutions 🔵 EU Login authentication by SMS has been phased out. To see alternatives please check here

Skip to content

Received EEA tenders in case of EEA winner

Rule Definition

For every awarded lot where the winner is from an EEA country, the number of received EEA tenders is greater or equal than 1.


Additional Information

Rule elaboration

Consistency Business Rule with ID CON005 as defined in deliverable D06.06 – Data Quality Action Plan.

Ontology property involved:

http://data.europa.eu/a4g/ontology#hasCountryCode

http://data.europa.eu/a4g/ontology#hasEEAReceivedTenders

Rule source

https://code.europa.eu/eproc/ppds/documentation/-/blob/main/documents/d0606_data_quality_action_plan.md#23-consistency-business-rules

Rule implementation

ppsh:SubmissionStatisticalInformation-hasEEAReceivedTenders-if-Winner-from-EEA

Implementation note

Implementation in PPDS SHACL shapes graph:

ppsh:SubmissionStatisticalInformation-hasEEAReceivedTenders-if-Winner-from-EEA a sh:SPARQLConstraint ;
    sh:message "CON005";
    sh:name "Received EU tenders for EU winner" ;
    sh:description "If the winner is from a EU Member State, the amount of received EU tenders should be greater or equal to 1" ;
    sh:severity sh:Warning ;
    sh:prefixes epo:, cccev: ;
    sh:select """
        SELECT $this (epo:hasEEAReceivedTenders AS ?path) (COALESCE(?receivedEEATenders, "null") AS ?value)
        WHERE {
            $this epo:summarisesInformationForLotAwardOutcome/epo:comprisesTenderAwardOutcome/
                epo:indicatesAwardOfLotToWinner/epo:playedBy/cccev:registeredAddress/epo:hasCountryCode ?countryCode .
            OPTIONAL {
                $this epo:hasEEAReceivedTenders ?receivedEEATenders .
            }
            BIND(STRAFTER(STR(?countryCode), "country/") AS ?countryCodeValue)
            FILTER (?countryCodeValue IN ("AUT", "BEL", "BGR", "CYP", "CZE", "DEU", "DNK", "EST", "ESP", "FIN", "FRA",
            "GRC", "HRV", "HUN", "IRL", "ITA", "LTU", "LUX", "LVA", "MLT", "NLD", "POL", "PRT", "ROU", "SWE",
            "SVN", "SVK"))
            FILTER (!BOUND(?receivedEEATenders) || ?receivedEEATenders < 1)
        }
    """ .

https://sdlc.webcloud.ec.europa.eu/ppds/docker/ppds-shacl-shapes/-/blob/featured/revision_0.3.3/ppds-shapes.ttl?ref_type=heads

Related rules

#74

Related generic rule

#11

History note

(If applicable, add here a note about a previous state of the rule, before the Rulebook)

Edited by Alba Colomer