@prefix dpv: <https://w3id.org/dpv#> .
@prefix ex: <https://example.com/mappings/p-plan/> .
@prefix map: <https://ontology.inferal.com/mappings/p-plan-data-usage-processing-lineage/> .
@prefix p-plan: <http://purl.org/net/p-plan#> .
@prefix prov: <http://www.w3.org/ns/prov#> .

ex:source-plan a p-plan:Plan .

ex:source-step
    a p-plan:Step ;
    p-plan:isStepOfPlan ex:source-plan ;
    p-plan:hasInputVar ex:source-input-variable, ex:configuration-variable ;
    p-plan:hasOutputVar ex:source-output-variable .

ex:source-input-variable a p-plan:Variable, map:DataVariable .
ex:configuration-variable a p-plan:Variable, map:AuxiliaryVariable .
ex:source-output-variable a p-plan:Variable, map:DataVariable .

ex:source-activity
    a p-plan:Activity ;
    p-plan:correspondsToStep ex:source-step ;
    prov:used ex:source-entity, ex:configuration-entity ;
    prov:generated ex:result-entity .

ex:source-entity
    a p-plan:Entity, map:FixedDataEntity ;
    p-plan:correspondsToVariable ex:source-input-variable .

ex:configuration-entity
    a p-plan:Entity ;
    p-plan:correspondsToVariable ex:configuration-variable .

ex:result-entity
    a p-plan:Entity, map:FixedDataEntity ;
    p-plan:correspondsToVariable ex:source-output-variable .

ex:projection-execution a prov:Activity .

ex:configuration
    a map:ProjectionConfiguration ;
    map:mapsStep ex:source-step ;
    map:processingCategory dpv:Transform ;
    map:projectionActivity ex:projection-execution .
