@prefix dcterms: <http://purl.org/dc/terms/> .
@prefix edu: <https://knobit.org/def/> .
@prefix knobit: <https://knobit.org/id/knobit/> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix register: <https://knobit.org/id/register/> .
@prefix schema: <https://schema.org/> .
@prefix skos: <http://www.w3.org/2004/02/skos/core#> .

knobit:N-331 a edu:Knobit ;
    rdfs:label "Designs an idempotent load on a natural key"@en ;
    dcterms:identifier "N-331" ;
    dcterms:license <https://creativecommons.org/licenses/by/4.0/> ;
    dcterms:source "Graded on its own by dii-integration-patterns"@en ;
    owl:sameAs <https://bitbucket.org/reffa/ontology/id/knobit/data-integration/03-integration-patterns/N-331> ;
    skos:definition "Upsert or dedup on a natural or message key, so any retry or replay leaves one row per event"@en ;
    skos:prefLabel "Designs an idempotent load on a natural key"@en ;
    edu:actionVerb "Designs"@en ;
    edu:appliesKnowledge knobit:N-351 ;
    edu:assessmentCriterion "Duplicates on retry are impossible by design, not merely unlikely"@en ;
    edu:assessmentMethod "skill-tests task: Card transaction integration design (dii-integration-patterns)"@en ;
    edu:conformsToProfile <https://oppekava.edu.ee/a/Knobitite_kirjeldamise_ja_seostamise_reeglid#LCG-KNOBIT-0.1> ;
    edu:contextFunction <https://knobit.org/def/contextFunction/actionExecution> ;
    edu:creationMethod <https://knobit.org/def/creationMethod/aiGenerated> ;
    edu:expectedResult "Upsert or dedup on a natural or message key, so any retry or replay leaves one row per event"@en ;
    edu:graphRelevance <https://knobit.org/def/graphRelevance/learnerState>,
        <https://knobit.org/def/graphRelevance/taskSelection> ;
    edu:knobitType <https://knobit.org/def/knobitType/skill> ;
    edu:targetObject "load that duplicates on retry"@en ;
    schema:creativeWorkStatus "accepted" ;
    schema:isPartOf register:data-integration .

edu:Knobit rdfs:label "Knobit"@en,
        "Knobit"@et .

knobit:N-351 rdfs:label "Explains idempotency, error handling and replay"@en .

