{
    "db":{
        "host": "bolt://localhost:7687",
        "user": "neo4j",
        "password": "password"
        },
    "data_path": "data/minitopo/",
    "dataset": [
        "MATCH (s:AS)-[:COUNTRY {reference_name:'nro.delegated_stats'}]-(t:Country)",
        "WHERE EXISTS{ (s)-[:PEERS_WITH]-(:AS) }",
        "RETURN DISTINCT toString(elementId(s)) as source, toString(elementId(t)) AS target, 'COUNTRY' as type,",
        "s.asn as source_name, t.country_code as target_name",
        "UNION",
        "MATCH (s:AS)-[r:PEERS_WITH {reference_org: 'BGPKIT'}]->(t:AS)",
        "RETURN DISTINCT toString(elementId(s)) as source, toString(elementId(t)) AS target, type(r) as type,",
        "s.asn as source_name, t.asn as target_name",
        "UNION",
        "MATCH (t:AS)-[r:PEERS_WITH {reference_org: 'BGPKIT'}]->(s:AS)",
        "RETURN DISTINCT toString(elementId(s)) as source, toString(elementId(t)) AS target, type(r) as type,",
        "s.asn as source_name, t.asn as target_name",
        "UNION",
        "MATCH (s:AS)-[r:MEMBER_OF {reference_org: 'PeeringDB'}]->(t:IXP)",
        "RETURN DISTINCT toString(elementId(s)) as source, toString(elementId(t)) AS target, type(r) as type,",
        "s.asn as source_name, t.name as target_name",
        "UNION",
        "MATCH (s:IXP)-[r:COUNTRY {reference_org: 'PeeringDB'}]->(t:Country)",
        "RETURN DISTINCT toString(elementId(s)) as source, toString(elementId(t)) AS target, type(r) as type,",
        "s.name as source_name, t.country_code as target_name",
        "UNION",
        "MATCH (s:AS)-[r:LOCATED_IN {reference_org: 'PeeringDB'}]->(t:Facility)",
        "RETURN DISTINCT toString(elementId(s)) as source, toString(elementId(t)) AS target, type(r) as type,",
        "s.asn as source_name, t.name as target_name",
        "UNION",
        "MATCH (s:Facility)-[r:COUNTRY {reference_org: 'PeeringDB'}]->(t:Country)",
        "RETURN DISTINCT toString(elementId(s)) as source, toString(elementId(t)) AS target, type(r) as type,",
        "s.name as source_name, t.country_code as target_name",
        "UNION",
        "MATCH (s:AS)",
        "RETURN DISTINCT toString(elementId(s)) as source, 'nodetype_AS' AS target, 'INSTANCE_OF' as type,",
        "s.asn as source_name, 'AS' as target_name",
        "UNION",
        "MATCH (s:IXP)",
        "RETURN DISTINCT toString(elementId(s)) as source, 'nodetype_IXP' AS target, 'INSTANCE_OF' as type,",
        "s.name as source_name, 'IXP' as target_name",
        "UNION",
        "MATCH (s:Facility)",
        "RETURN DISTINCT toString(elementId(s)) as source, 'nodetype_Facility' AS target, 'INSTANCE_OF' as type,",
        "s.name as source_name, 'Facility' as target_name",
        "UNION",
        "MATCH (s:Country)",
        "RETURN DISTINCT toString(elementId(s)) as source, 'nodetype_Country' AS target, 'INSTANCE_OF' as type,",
        "s.country_code as source_name, 'Country' as target_name"
        ],
    "pykeen":{
        "model": "RotatE",
        "model_args": {
            "embedding_dim": 200
        },
        "optimizer": "Adagrad",
        "stopper": "nop",
        "random_seed": 1234,
        "create_inverse_triples": false,
        "training": {
            "num_epochs": 500,
            "checkpoint_frequency": 30
        },
        "device": "cuda:1"
    }
}

