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

Buyer NUTS code in case of multiple buyers

Rule Definition

In each procedure where the buyer NUTS code is not provided or it is not valid, it is inferred from the NUTS code of the first buyer informed in the procedure.


Additional Information

Rule elaboration

For the simplification of the Buyer NUTS code, the following steps must be performed:

  • A Notice can be related to one or several epo:Buyers, so for simplification purposes, only the first one is selected.
  • Use a SPARQL query to retrieve the epo:Buyer Organization NUTS related properties: Path for NUTS of the Organization : (epo:Notice) -> [announcesRole = epo:Buyer] -> epo:playedBy (org:Organization) -> epo:registeredAddress (locn:Address) -> epo:hasNutsCode.
  • A construct query is used to add the triple that links the epo:Notice with this Buyer Organization NUTS simplification.

Rule source

(Provide URL to legal source, if applicable)

Rule implementation

(Provide only URIs of formal encodings of the rules for execution. These are typically URIs of SHACL rules or RML maps. Each URI should be provided on a new line with no additional information)

Implementation note

Implementation in PPDS SHACL shapes graph:

ppsh:fromBuyerNutsCode
  a sh:NodeShape ;
	sh:targetClass epo:Procedure ;
    sh:rule [
        a sh:SPARQLRule ;
        sh:prefixes epo: , epo-ppds-ap: ;
        sh:construct """"""
        PREFIX epo: <http://data.europa.eu/a4g/ontology#>
        PREFIX epo-ppds-ap: <http://data.europa.eu/gx2/epo-ppds-ap#>
		PREFIX org: <http://www.w3.org/ns/org#>
		CONSTRUCT {
                    $this epo-ppds-ap:fromBuyerNutsCode ?nutsCode .
            }
        WHERE {
			$this epo-ppds-ap:fromBuyer ?buyer
			?buyer a epo:Buyer .
			?buyer epo:playedBy ?org .
			?org a org:Organization .
			?org epo:registeredAddress/epo:hasNutsCode ?buyerNutsCode .
        }
        """""" ;
  ] ."

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

#21

#126

Related generic rule

(If the rule is a specialisation of a generic rule registered in this Rulebook, include here URL of that generic rule)

History note

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

Edited by Aitana Curieses