Beispiel #1
0
    def from_graph(graph, node, node_map):
        # type: (Graph, Node) -> iter
        if node in node_map:
            return node_map[node]

        try:
            e_node = list(graph.objects(node, MAP.mapsResourcesFrom)).pop()
        except IndexError:
            pass

        endpoint = Endpoint.from_graph(graph, e_node, node_map=node_map)

        am = AccessMapping(endpoint)

        try:
            for m in graph.objects(node, MAP.hasMapping):
                am.mappings.add(Mapping.from_graph(graph, m, node_map=node_map))
                am.__find_vars()
        except IndexError:
            pass

        try:
            am.order = list(graph.objects(node, MAP.order)).pop().toPython()
        except IndexError:
            pass

        node_map[node] = am
        return am
Beispiel #2
0
    def from_graph(graph, node, node_map, **kwargs):
        # type: (Graph, Node, dict, dict) -> AccessMapping
        if node in node_map:
            return node_map[node]

        try:
            e_node = list(graph.objects(node, MAP.mapsResourcesFrom)).pop()
        except IndexError:
            endpoint = None
        else:
            endpoint = Endpoint.from_graph(graph, e_node, node_map=node_map)

        am = AccessMapping(endpoint)

        try:
            for m in graph.objects(node, MAP.hasMapping):
                am.mappings.add(
                    Mapping.from_graph(graph, m, node_map=node_map, **kwargs))
                am.__find_vars()
        except IndexError:
            pass

        try:
            am.order = list(graph.objects(node, MAP.order)).pop().toPython()
        except IndexError:
            pass

        try:
            am.id = list(graph.objects(node, CORE.identifier)).pop()
        except IndexError:
            pass

        node_map[node] = am
        return am
Beispiel #3
0
 def from_graph(graph, node, node_map):
     # type: (Graph, Node) -> iter
     endpoint = Endpoint.from_graph(graph, node, node_map=node_map)
     rsource = RDFSource(endpoint)
     return rsource