Example #1
0
def translate(server, mapper, area, time):
    """ Translate
    """
    # retrieve table list
    tables = server.list_tables(DATABASE)
    logger.info("Retrieved {} tables".format(len(tables)))

    # initiate reference managers
    references = ReferenceManager()
    visited = ReferenceManager()

    # load disk references if provided
    #scope = _retrieve_external_references(area)
    #logger.info("Found {} root references".format(len(scope)))

    # select relevant subset based on scope
    _retrieve_root_references(references, server, PRIMARY_TABLE, area)
    logger.info("Found {} matching root objects".format(
        len(set(references.references(table=PRIMARY_TABLE)))))

    # start with PRIMARY_TABLE
    g = translate_generic(server, mapper, references, visited, time)

    # secondary tables
    for table in SECONDARY_TABLES:
        _retrieve_secondary_references(g, references, server, table, visited)
        references.difference_update(
            visited)  # remove those we already visited
        g += translate_generic(server, mapper, references, visited, time)

    # add meta data
    add_metadata(g, "rws.{}".format(DATABASE), time, DATABASE)

    return g
Example #2
0
def translate(gdb, mapper, area, time):
    """ Translate
    """
    # determine database
    database = mapper.database_name()

    g = translate_gdb(gdb, mapper, area, time)

    # add meta data
    add_metadata(g, "rws.{}".format(database), time, database)

    return g
Example #3
0
def enrich(schema, database, graph, time):
    """ Add OTL enrichments
    """
    # init graph instance
    g = Graph(identifier=gen_hash("OTL", time))

    # enrich
    _enrich(g, database, schema, graph)

    # add meta-data
    add_metadata(g, DEFAULT_SCHEMA_PREFIX, time, "OTL")

    return g
Example #4
0
def link(schema, source_database, target_database, source_graph, target_graph,
         time):
    """ Add interlinks
    """
    # init graph instance
    g = Graph(identifier=gen_hash("xref", time))

    # add links
    _interlink(g, schema, source_database, target_database, source_graph,
               target_graph)

    # add meta-data
    add_metadata(g, DEFAULT_SCHEMA_PREFIX, time, "XREF")

    return g
Example #5
0
def link(schema, source_database, target_database, source_graph, target_graph,
         include_backlinks, time):
    """ Add interlinks
    """
    # init graph instance
    g = Graph(identifier=gen_hash("xref.schema", time))

    # add links
    _interlink(g, schema, source_database, target_database, source_graph,
               target_graph)

    if include_backlinks:
        _interlink(g, schema, target_database, source_database, target_graph,
                   source_graph)

    # add meta-data
    add_metadata(g, DEFAULT_SCHEMA_PREFIX, time, "EXTRA", is_ontology=True)

    return g
Example #6
0
def translate(database, mapper, time):
    """ Translate
    """

    global DEFAULT_NAMESPACE
    DEFAULT_NAMESPACE += "{}/".format(database)
    global DEFAULT_PREFIX
    DEFAULT_PREFIX += ".{}".format(database)

    # init graph instance
    g = Graph(identifier=gen_hash(DEFAULT_PREFIX, time))
    # update namespaces
    _update_namespaces(g.namespace_manager)

    for table in mapper.classes():
        logger.info("Processing table {}".format(table))
        _table_to_class(g, table, mapper)

    # add meta-data
    add_metadata(g, DEFAULT_PREFIX, time, database, is_ontology=True)

    return g