def testAggregateRaw():
    memStore = plugin.get('IOMemory',Store)()
    graph1 = Graph(memStore)
    graph2 = Graph(memStore)
    graph3 = Graph(memStore)

    for n3Str,graph in [(testGraph1N3,graph1),
                        (testGraph2N3,graph2),
                        (testGraph3N3,graph3)]:
        graph.parse(StringIO(n3Str),format='n3')

    G = ReadOnlyGraphAggregate([graph1,graph2,graph3])

    #Test triples
    assert len(list(G.triples((None,RDF.type,None))))                  == 4
    assert len(list(G.triples((URIRef("http://test/bar"),None,None)))) == 2
    assert len(list(G.triples((None,URIRef("http://test/d"),None))))   == 3

    #Test __len__
    assert len(G) == 8

    #Test __contains__
    assert (URIRef("http://test/foo"),RDF.type,RDFS.Resource) in G

    barPredicates = [URIRef("http://test/d"),RDFS.isDefinedBy]
    assert len(list(G.triples_choices((URIRef("http://test/bar"),barPredicates,None)))) == 2
def testAggregateRaw():
    memStore = plugin.get('IOMemory', Store)()
    graph1 = Graph(memStore)
    graph2 = Graph(memStore)
    graph3 = Graph(memStore)

    for n3Str, graph in [(testGraph1N3, graph1), (testGraph2N3, graph2),
                         (testGraph3N3, graph3)]:
        graph.parse(StringIO(n3Str), format='n3')

    G = ReadOnlyGraphAggregate([graph1, graph2, graph3])

    #Test triples
    assert len(list(G.triples((None, RDF.type, None)))) == 4
    assert len(list(G.triples((URIRef("http://test/bar"), None, None)))) == 2
    assert len(list(G.triples((None, URIRef("http://test/d"), None)))) == 3

    #Test __len__
    assert len(G) == 8

    #Test __contains__
    assert (URIRef("http://test/foo"), RDF.type, RDFS.Resource) in G

    barPredicates = [URIRef("http://test/d"), RDFS.isDefinedBy]
    assert len(
        list(
            G.triples_choices(
                (URIRef("http://test/bar"), barPredicates, None)))) == 2
Beispiel #3
0
def testAggregateRaw():
    memStore = plugin.get('IOMemory', Store)()

    graph1 = Graph(memStore)  #Crea una instancia de un grafo
    graph2 = Graph(memStore)
    graph3 = Graph(memStore)

    for n3Str, graph in [(testGraph1N3, graph1), (testGraph2N3, graph2),
                         (testGraph3N3, graph3)]:
        graph.parse(StringIO(n3Str),
                    format='n3')  #Lee los grafos desde texto en formato N3

    for s, p, o in graph2:  #Analizando el contenido del grafo
        print 'tripleta:', s, p, o, '-'

    # Utility class for treating a set of graphs as a single graph
    # Only read operations are supported (hence the name).
    #Essentially a ConjunctiveGraph over an explicit subset of the entire store.
    G = ReadOnlyGraphAggregate([graph1, graph2, graph3])  #

    print '----------------------------------------'
    print G.triples((None, RDF.type, None))
    for g in G.triples((URIRef("http://test/bar"), None, None)):
        print g
    print '---------------------------------------'
    #Test triples
    assert len(list(G.triples((None, RDF.type, None)))) == 4
    assert len(list(G.triples((URIRef("http://test/bar"), None, None)))) == 2
    assert len(list(G.triples((None, URIRef("http://test/d"), None)))) == 3

    #Test __len__
    assert len(G) == 8
    print '----------Analizando G:------------------------------'
    for g in G:
        print g
    print '----------------------------------------'

    #Test __contains__
    assert (URIRef("http://test/foo"), RDF.type, RDFS.Resource) in G
    print '----------Comprobando contenido G:------------------------------'
    print(URIRef("http://test/foo"), RDF.type, RDFS.Resource) in G
    print '----------------------------------------'

    barPredicates = [URIRef("http://test/d"), RDFS.isDefinedBy]
    assert len(
        list(
            G.triples_choices(
                (URIRef("http://test/bar"), barPredicates, None)))) == 2