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 non-EEA tenders for non-EEA winner

Rule Definition

If winner is from a non-EEA country, the number of received non-EEA tender is greater or equal than 1.


Additional Information

Rule elaboration

Consistency Business Rule with ID CON006 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#hasReceivedNonEEATender

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-hasReceivedNonEUTenders-if-Winner-not-from-EU

Implementation note

Implementation in PPDS SHACL shapes graph:

ppsh:SubmissionStatisticalInformation-hasReceivedNonEUTenders-if-Winner-not-from-EU a sh:SPARQLConstraint ;
    sh:message "CON006";
    sh:name "Received non-EU tenders for non-EU winner" ;
    sh:description "If the winner is not from a EU Member State, the amount of received non-EU tenders should be greater or equal to 1" ;
    sh:severity sh:Warning ;
    sh:prefixes epo:, cccev: ;
    sh:select """
        SELECT $this (epo:hasReceivedNonEUTenders AS ?path) (COALESCE(?receivedNonEUTenders, "null") AS ?value)
        WHERE {
            $this epo:summarisesInformationForLotAwardOutcome/epo:comprisesTenderAwardOutcome/
            epo:indicatesAwardOfLotToWinner/epo:playedBy/cccev:registeredAddress/epo:hasCountryCode ?countryCode .
            OPTIONAL {
                $this epo:hasReceivedNonEUTenders ?receivedNonEUTenders .
            }
            BIND(STRAFTER(STR(?countryCode), "country/") AS ?countryCodeValue)
            FILTER (?countryCodeValue NOT 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(?receivedNonEUTenders) || ?receivedNonEUTenders < 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

#73

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