@prefix dcterms: <http://purl.org/dc/terms/> .
@prefix edu: <https://knobit.org/def/> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix schema: <https://schema.org/> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .

<https://knobit.org/id/task/dii-integration-patterns/C1> a edu:Question ;
    rdfs:label "C1 (2 points)"@en ;
    dcterms:license <https://creativecommons.org/licenses/by/4.0/> ;
    owl:sameAs <https://bitbucket.org/reffa/ontology/id/task/dii-integration-patterns/C1> ;
    schema:hasPart <https://knobit.org/id/register/data-integration#DI-301>,
        <https://knobit.org/id/register/data-integration#DI-302> ;
    schema:identifier "C1" ;
    schema:position 1 ;
    schema:text "Idempotency, 1 each. (a) F-01, the authorisation stream consumer, INSERTs every message with no key and commits offsets after the insert; Kafka delivers at least once, so a consumer restart re-inserts: duplicates on retry. (b) The design makes duplicates impossible: upsert (or unique constraint plus ignore) on auth_id, so any redelivery or replay leaves one row per authorisation - not 'monitor for duplicates' or 'rarely happens'."@en .

edu:Question rdfs:label "Question"@en,
        "Küsimus"@et .

<https://knobit.org/id/register/data-integration#DI-301> rdfs:label "dii-integration-patterns C1: the authorisation stream inserts with no idempotency key"@en .

<https://knobit.org/id/register/data-integration#DI-302> rdfs:label "dii-integration-patterns C1: an idempotent design on the authorisation id"@en .

