schema:
    metadata:
        name: secondary-identities-demo
        version: "1.0.0"
    graph:
        vertex_config:
            vertices:
            -   name: instrument
                properties:
                -   {name: sid, type: STRING}
                -   {name: isin, type: STRING}
                -   {name: name, type: STRING}
                identity: [sid]
                secondary_identities:
                -   name: by_isin
                    fields: [isin]
            -   name: issuer
                properties:
                -   {name: iid, type: STRING}
                -   {name: lei, type: STRING}
                -   {name: name, type: STRING}
                identity: [iid]
                secondary_identities:
                -   name: by_lei
                    fields: [lei]
        edge_config:
            edges:
            -   source: instrument
                target: issuer
                relation: issuedBy
                properties:
                -   {name: share, type: FLOAT}
    db_profile: {}
ingestion_model:
    endpoints_on_ambiguous: all
    resources:
    -   name: instruments
        pipeline:
        -   vertex: instrument
    -   name: issuers
        pipeline:
        -   vertex: issuer
    # Runs after the two resources above: its lookups read what they wrote.
    -   name: links
        pipeline:
        -   vertex: instrument
            lookup_only: true
        -   vertex: issuer
            lookup_only: true
        -   from: instrument
            to: issuer
            relation: issuedBy
            source_match: by_isin
            target_match: by_lei
bindings:
    connectors:
    -   regex: "^instruments\\.csv$"
        sub_path: data
        resource_name: instruments
    -   regex: "^issuers\\.csv$"
        sub_path: data
        resource_name: issuers
    -   regex: "^links\\.csv$"
        sub_path: data
        resource_name: links
