Skip to content

Commit

Permalink
Update EF CN sample pkg w/ latest mappings
Browse files Browse the repository at this point in the history
Snapshot of the latest mappings and resources of the minimal package in
development under eforms-mapping-artefacts.
  • Loading branch information
schivmeister committed Apr 19, 2024
1 parent 3cba1a6 commit 8ca9606
Show file tree
Hide file tree
Showing 51 changed files with 111,971 additions and 637 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,73 @@
#--- MG-AcquiringCentralPurchasingBody ---
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
@prefix rr: <http://www.w3.org/ns/r2rml#> .
@prefix rml: <http://semweb.mmlab.be/ns/rml#> .
@prefix ql: <http://semweb.mmlab.be/ns/ql#> .
@prefix locn: <http://www.w3.org/ns/locn#> .
@prefix dct: <http://purl.org/dc/terms/> .
@prefix tedm: <http://data.europa.eu/a4g/mapping/sf-rml/> .
@prefix epd: <http://data.europa.eu/a4g/resource/> .
@prefix epo: <http://data.europa.eu/a4g/ontology#> .
@prefix epo-not: <http://data.europa.eu/a4g/ontology#>.
@prefix cv: <http://data.europa.eu/m8g/> .
@prefix cccev: <http://data.europa.eu/m8g/> .
@prefix org: <http://www.w3.org/ns/org#> .
@prefix cpov: <http://data.europa.eu/m8g/> .
@prefix foaf: <http://xmlns.com/foaf/0.1/> .
@prefix time: <http://www.w3.org/2006/time#>.
@prefix adms: <http://www.w3.org/ns/adms#> .
@prefix skos: <http://www.w3.org/2004/02/skos/core#> .
@prefix fnml: <http://semweb.mmlab.be/ns/fnml#> .
@prefix fno: <https://w3id.org/function/ontology#> .
@prefix idlab-fn: <http://example.com/idlab/function/> .

tedm:MG-AcquiringCentralPurchasingBody_ND-Organization a rr:TriplesMap ;
rdfs:label "MG-AcquiringCentralPurchasingBody" ;
rml:logicalSource
[
rml:source "data/source.xml" ;
rml:iterator "/*/ext:UBLExtensions/ext:UBLExtension/ext:ExtensionContent/efext:EformsExtension/efac:Organizations/efac:Organization" ;
rml:referenceFormulation ql:XPath
] ;
rr:subjectMap
[
rdfs:label "ND-Organization" ;
rml:reference "if(exists(efbc:AcquiringCPBIndicator)) then 'http://data.europa.eu/a4g/resource/id_' || replace(replace(/*/cbc:ID[@schemeName='notice-id'], ' ', '-' ), '/' , '-') || '_AcquiringCentralPurchasingBody_' || unparsed-text('https://digest-api.ted-data.eu/api/v1/hashing/fn/uuid/' || encode-for-uri(path()) || '?response_type=raw') else null";
rr:class epo:AcquiringCentralPurchasingBody
] ;
rr:predicateObjectMap
[
rr:predicate epo:playedBy ;
rr:objectMap
[
rdfs:label "Acquiring CPB Buyer Indicator" ;
rr:parentTriplesMap tedm:MG-Organization-playedBy-AcquiringCentralPurchasingBody_ND-Organization ;
rr:joinCondition [
rr:child "path(.)" ;
rr:parent "path(../.)" ;
] ;
] ;
] ;
.

# this is an example of an MG with iterator that is not on the node but a level down
tedm:MG-Organization-playedBy-AcquiringCentralPurchasingBody_ND-Organization a rr:TriplesMap ;
rdfs:label "MG-Organization-playedBy-AcquiringCentralPurchasingBody" ;
rdfs:comment "Represents the AcquiringCentralPurchasingBody Organization" ;
rml:logicalSource
[
rml:source "data/source.xml" ;
rml:iterator "/*/ext:UBLExtensions/ext:UBLExtension/ext:ExtensionContent/efext:EformsExtension/efac:Organizations/efac:Organization/efac:Company" ;
rml:referenceFormulation ql:XPath
] ;
rr:subjectMap
[
rdfs:label "ND-Organization" ;
rdfs:comment "Primary type declaration for MG-Organization-playedBy-AcquiringCentralPurchasingBody under ND-Organization" ;
rr:template "http://data.europa.eu/a4g/resource/id_{replace(replace(/*/cbc:ID[@schemeName='notice-id'], ' ', '-' ), '/' , '-')}_Organization_{cac:PartyIdentification/cbc:ID}" ;
rr:class org:Organization
] ;
.
Original file line number Diff line number Diff line change
@@ -0,0 +1,73 @@
#--- MG-AwardingCentralPurchasingBody ---
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
@prefix rr: <http://www.w3.org/ns/r2rml#> .
@prefix rml: <http://semweb.mmlab.be/ns/rml#> .
@prefix ql: <http://semweb.mmlab.be/ns/ql#> .
@prefix locn: <http://www.w3.org/ns/locn#> .
@prefix dct: <http://purl.org/dc/terms/> .
@prefix tedm: <http://data.europa.eu/a4g/mapping/sf-rml/> .
@prefix epd: <http://data.europa.eu/a4g/resource/> .
@prefix epo: <http://data.europa.eu/a4g/ontology#> .
@prefix epo-not: <http://data.europa.eu/a4g/ontology#>.
@prefix cv: <http://data.europa.eu/m8g/> .
@prefix cccev: <http://data.europa.eu/m8g/> .
@prefix org: <http://www.w3.org/ns/org#> .
@prefix cpov: <http://data.europa.eu/m8g/> .
@prefix foaf: <http://xmlns.com/foaf/0.1/> .
@prefix time: <http://www.w3.org/2006/time#>.
@prefix adms: <http://www.w3.org/ns/adms#> .
@prefix skos: <http://www.w3.org/2004/02/skos/core#> .
@prefix fnml: <http://semweb.mmlab.be/ns/fnml#> .
@prefix fno: <https://w3id.org/function/ontology#> .
@prefix idlab-fn: <http://example.com/idlab/function/> .

tedm:MG-AwardingCentralPurchasingBody_ND-Organization a rr:TriplesMap ;
rdfs:label "MG-AwardingCentralPurchasingBody" ;
rml:logicalSource
[
rml:source "data/source.xml" ;
rml:iterator "/*/ext:UBLExtensions/ext:UBLExtension/ext:ExtensionContent/efext:EformsExtension/efac:Organizations/efac:Organization" ;
rml:referenceFormulation ql:XPath
] ;
rr:subjectMap
[
rdfs:label "ND-Organization" ;
rml:reference "if(exists(efbc:AwardingCPBIndicator)) then 'http://data.europa.eu/a4g/resource/id_' || replace(replace(/*/cbc:ID[@schemeName='notice-id'], ' ', '-' ), '/' , '-') || '_AwardingCentralPurchasingBody_' || unparsed-text('https://digest-api.ted-data.eu/api/v1/hashing/fn/uuid/' || encode-for-uri(path()) || '?response_type=raw') else null";
rr:class epo:AwardingCentralPurchasingBody
] ;
rr:predicateObjectMap
[
rr:predicate epo:playedBy ;
rr:objectMap
[
rdfs:label "Awarding CPB Buyer Indicator" ;
rr:parentTriplesMap tedm:MG-Organization-playedBy-AwardingCentralPurchasingBody_ND-Organization ;
rr:joinCondition [
rr:child "path(.)" ;
rr:parent "path(../.)" ;
] ;
] ;
] ;
.

# this is an example of an MG with iterator that is not on the node but a level down
tedm:MG-Organization-playedBy-AwardingCentralPurchasingBody_ND-Organization a rr:TriplesMap ;
rdfs:label "MG-Organization-playedBy-AwardingCentralPurchasingBody" ;
rdfs:comment "Represents the AwardingCentralPurchasingBody Organization" ;
rml:logicalSource
[
rml:source "data/source.xml" ;
rml:iterator "/*/ext:UBLExtensions/ext:UBLExtension/ext:ExtensionContent/efext:EformsExtension/efac:Organizations/efac:Organization/efac:Company" ;
rml:referenceFormulation ql:XPath
] ;
rr:subjectMap
[
rdfs:label "ND-Organization" ;
rdfs:comment "Primary type declaration for MG-Organization-playedBy-AwardingCentralPurchasingBody under ND-Organization" ;
rr:template "http://data.europa.eu/a4g/resource/id_{replace(replace(/*/cbc:ID[@schemeName='notice-id'], ' ', '-' ), '/' , '-')}_Organization_{cac:PartyIdentification/cbc:ID}" ;
rr:class org:Organization
] ;
.
155 changes: 155 additions & 0 deletions mappings/package_eforms_16_1.5/transformation/mappings/Buyer.ttl
Original file line number Diff line number Diff line change
@@ -0,0 +1,155 @@
#--- MG-Buyer ---
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
@prefix rr: <http://www.w3.org/ns/r2rml#> .
@prefix rml: <http://semweb.mmlab.be/ns/rml#> .
@prefix ql: <http://semweb.mmlab.be/ns/ql#> .
@prefix locn: <http://www.w3.org/ns/locn#> .
@prefix dct: <http://purl.org/dc/terms/> .
@prefix tedm: <http://data.europa.eu/a4g/mapping/sf-rml/> .
@prefix epd: <http://data.europa.eu/a4g/resource/> .
@prefix epo: <http://data.europa.eu/a4g/ontology#> .
@prefix epo-not: <http://data.europa.eu/a4g/ontology#>.
@prefix cv: <http://data.europa.eu/m8g/> .
@prefix cccev: <http://data.europa.eu/m8g/> .
@prefix org: <http://www.w3.org/ns/org#> .
@prefix cpov: <http://data.europa.eu/m8g/> .
@prefix foaf: <http://xmlns.com/foaf/0.1/> .
@prefix time: <http://www.w3.org/2006/time#>.
@prefix adms: <http://www.w3.org/ns/adms#> .
@prefix skos: <http://www.w3.org/2004/02/skos/core#> .
@prefix fnml: <http://semweb.mmlab.be/ns/fnml#> .
@prefix fno: <https://w3id.org/function/ontology#> .
@prefix idlab-fn: <http://example.com/idlab/function/> .

# this is an example of a role being declared on a node
tedm:MG-Buyer_ND-ContractingParty a rr:TriplesMap ;
rdfs:label "MG-Buyer" ;
rml:logicalSource
[
rml:source "data/source.xml" ;
rml:iterator "/*/cac:ContractingParty";
rml:referenceFormulation ql:XPath
] ;
rr:subjectMap
[
rdfs:label "ND-ContractingParty" ;
rdfs:comment "Primary type declaration for MG-Buyer under ND-ContractingParty" ;
rr:template "http://data.europa.eu/a4g/resource/id_{replace(replace(/*/cbc:ID[@schemeName='notice-id'], ' ', '-' ), '/' , '-')}_Buyer_{unparsed-text('https://digest-api.ted-data.eu/api/v1/hashing/fn/uuid/' || encode-for-uri(path()) || '?response_type=raw')}" ;
rr:class epo:Buyer
] ;
# this is an example of an association to an independent resource (role to organization)
# TODO should this be another TMap, since it is under ND-ServiceProvider node instead of ND-ContractingParty?
rr:predicateObjectMap
[
# TODO min SDK 1.10
rdfs:label "OPT-300-Procedure-Buyer" ;
rdfs:comment "Buyer Technical Identifier Reference" ;
rr:predicate epo:playedBy ;
rr:objectMap
[
tedm:minSDKVersion "1.3" ;
tedm:maxSDKVersion "1.9.1" ;
rr:parentTriplesMap tedm:MG-Organization-playedBy-Buyer_ND-ServiceProvider ;
] ;
] ;
rr:predicateObjectMap
[
# this is an example of a conditioned attribute where neither type, legalType or ePO type are the same
rdfs:label "BT-740-Procedure-Buyer (cont-ent)" ;
rdfs:comment "Is BuyerContractingEntity of MG-Buyer under ND-ContractingParty, TRUE case" ;
rr:predicate epo:isContractingEntity ;
rr:objectMap
[
rml:reference "if(cac:ContractingPartyType/cbc:PartyTypeCode[@listName='buyer-contracting-type']/text()='cont-ent') then 'true' else null" ;
rr:datatype xsd:boolean ;
] ;
] ;
rr:predicateObjectMap
[
rdfs:label "BT-740-Procedure-Buyer (not-cont-ent)" ;
rdfs:comment "Is BuyerContractingEntity of MG-Buyer under ND-ContractingParty, FALSE case" ;
rr:predicate epo:isContractingEntity ;
rr:objectMap
[
rml:reference "if(cac:ContractingPartyType/cbc:PartyTypeCode[@listName='buyer-contracting-type']/text()='not-cont-ent') then 'false' else null" ;
rr:datatype xsd:boolean ;
] ;
] ;
rr:predicateObjectMap
[
rdfs:label "BT-508-Procedure-Buyer" ;
rdfs:comment "Buyer Profile URL of of MG-Buyer under ND-ContractingParty" ;
rr:predicate epo:hasBuyerProfile ;
rr:objectMap
[
rml:reference "cbc:BuyerProfileURI";
rr:datatype xsd:anyURI
] ;
] ;
.

tedm:MG-Organization-playedBy-Buyer_ND-ServiceProvider a rr:TriplesMap ;
rdfs:label "MG-Organization-playedBy-Buyer" ;
rdfs:comment "Represents the Buyer Organization" ;
rml:logicalSource
[
rml:source "data/source.xml" ;
rml:iterator "/*/cac:ContractingParty/cac:Party";
rml:referenceFormulation ql:XPath
] ;
rr:subjectMap
[
rdfs:label "ND-ServiceProvider" ;
rdfs:comment "Primary type declaration for MG-Organization-playedBy-Buyer under ND-ServiceProvider" ;
rr:template "http://data.europa.eu/a4g/resource/id_{replace(replace(/*/cbc:ID[@schemeName='notice-id'], ' ', '-' ), '/' , '-')}_Organization_{cac:PartyIdentification/cbc:ID}" ;
rr:class org:Organization
] ;
rr:predicateObjectMap
[
rdfs:label "BT-11-Procedure-Buyer" ;
rdfs:comment "Buyer Legal Type" ;
rr:predicate epo:hasBuyerLegalType ;
rr:objectMap
[
rdfs:label "at-voc:buyer-legal-type" ;
rr:parentTriplesMap tedm:buyerLegalType ;
rr:joinCondition [
rr:child "../cac:ContractingPartyType/cbc:PartyTypeCode[@listName='buyer-legal-type']" ;
rr:parent "code" ;
] ;
] ;
] ;
rr:predicateObjectMap
[
rdfs:label "BT-10-Procedure-Buyer" ;
rdfs:comment "Activity Authority" ;
rr:predicate epo:hasMainActivity ;
rr:objectMap
[
rdfs:label "at-voc:main-activity" ;
rr:parentTriplesMap tedm:main-activity ;
rr:joinCondition [
rr:child "../cac:ContractingActivity/cbc:ActivityTypeCode[@listName='authority-activity']" ;
rr:parent "code" ;
] ;
] ;
] ;
rr:predicateObjectMap
[
rdfs:label "BT-610-Procedure-Buyer" ;
rdfs:comment "ActivityEntity" ;
rr:predicate epo:hasMainActivity ;
rr:objectMap
[
rdfs:label "at-voc:main-activity" ;
rr:parentTriplesMap tedm:main-activity ;
rr:joinCondition [
rr:child "../cac:ContractingActivity/cbc:ActivityTypeCode[@listName='authority-activity']" ;
rr:parent "code" ;
] ;
] ;
] ;
.
Loading

0 comments on commit 8ca9606

Please sign in to comment.