ex:PDH a dpv:Process ;
    # while purpose can be part of the legitimate interest instance,
    # we recommend declaring it separately within a process to enable
    # consistency and to enable indicating details about the purpose
    # independently from the legal basis
    dpv:hasPurpose dpv:FraudPreventionAndDetection ;
    # bad practice - always specify whose legitimate interest
    dpv:hasLegalBasis dpv:LegitimateInterest ;
    # better - is clear and unambiguous 
    dpv:hasDataController ex:AcmeInc ;
    dpv:hasLegalBasis dpv:LegitimateInterestOfController ;
    # again bad practice if there are multiple controllers involved
    dpv:hasDataController ex:AcmeInc, ex:BetaInc ;
    dpv:hasLegalBasis dpv:LegitimateInterestOfController ; # which controller?
    # better - explicitly state which entity
    dpv:hasLegalBasis [
        a dpv:LegitimateInterestOfController ;
        dpv:hasDataController ex:AcmeInc ;
        # also good practice to provide more details 
        dpv:hasJustification [
            a dpv:Justification ;
            dct:description "detect fraud as part of operations"@en ;
        ] ;
    ] .

# if legitimate interest is to be defined outside of a process,
# additional relevant information can be added to it
# though we *strongly* recommend always using a process and declaring
# purpose, legal basis, etc. separately and explicitly
# The below shows three different ways to indicate the same information
# - so the adopter can choose the best 'fit' for their internal representation
ex:FraudManagement a dpv:Purpose, dpv:LegitimateInterest ;
    skos:broader dpv:FraudPreventionAndDetection ;
    skos:broader dpv:LegitimateInterestOfController ;
    dpv:hasDataController ex:AcmeInc ;
    dpv:hasJustification [
        a dpv:Justification ;
        dct:description "detect fraud as part of operations"@en ;
    ] .
ex:FraudManagement a dpv:LegitimateInterestOfController ;
    dpv:hasPurpose dpv:FraudPreventionAndDetection ;
    dpv:hasDataController ex:AcmeInc ;
    dpv:hasJustification [
        a dpv:Justification ;
        dct:description "detect fraud as part of operations"@en ;
    ] .
ex:FraudManagement a dpv:Purpose ;
    skos:broader dpv:FraudPreventionAndDetection;
    dpv:hasLegalBasis [
        a dpv:LegitimateInterestOfController ;
        dpv:hasDataController ex:AcmeInc ;
        dpv:hasJustification [
            a dpv:Justification ;
            dct:description "detect fraud as part of operations"@en ;
        ] ;
    ] .
# and then this can be used in a process as a purpose and a legal basis
ex:PDH2 a dpv:Process ;
    dpv:hasPurpose ex:FraudManagement ;
    dpv:hasLegalBasis ex:FraudManagement .
