|
1 |
| -from rdflib import Graph, BNode, Literal, URIRef, RDFS, RDF, plugin |
| 1 | +from rdflib import Graph, BNode, Literal, URIRef, RDFS, RDF, plugin, Namespace |
2 | 2 | from rdflib.store import Store
|
3 | 3 | import os
|
4 | 4 |
|
|
7 | 7 |
|
8 | 8 |
|
9 | 9 | def investigate_len_issue():
|
| 10 | + import shutil, commands |
10 | 11 | store = plugin.get('SQLAlchemy', Store)(
|
11 | 12 | identifier=URIRef("rdflib_test"),
|
12 | 13 | configuration=Literal("sqlite:///%(here)s/development.sqlite" % {
|
13 | 14 | "here": os.getcwd()}))
|
14 |
| - g = Graph(store) |
15 |
| - print(len(g)) |
| 15 | + g0 = Graph('Sleepycat') |
| 16 | + g0.open('/tmp/foo', create=True) |
| 17 | + print("Len g0 on opening: %s\n" % len(g0)) |
| 18 | + g1 = Graph(store) |
| 19 | + print("Len g1 on opening: %s\n" % len(g1)) |
16 | 20 | statementId = BNode()
|
17 |
| - g.add((statementId, RDF.type, RDF.Statement)) |
18 |
| - g.add((statementId, RDF.subject, |
| 21 | + print("Adding %s\n\t%s\n\t%s\n" % (statementId, RDF.type, RDF.Statement)) |
| 22 | + g0.add((statementId, RDF.type, RDF.Statement)) |
| 23 | + g1.add((statementId, RDF.type, RDF.Statement)) |
| 24 | + print("Adding %s\n\t%s\n\t%s\n" % (statementId, RDF.subject, |
19 | 25 | URIRef(u'http://rdflib.net/store/ConjunctiveGraph')))
|
20 |
| - g.add((statementId, RDF.predicate, RDFS.label)) |
21 |
| - g.add((statementId, RDF.object, Literal("Conjunctive Graph"))) |
22 |
| - print(len(g)) |
23 |
| - for s, p, o in g: |
24 |
| - print(type(s)) |
25 |
| - |
26 |
| - for s, p, o in g.triples((None, RDF.object, None)): |
27 |
| - print(o) |
28 |
| - |
29 |
| - g.remove((statementId, RDF.type, RDF.Statement)) |
30 |
| - print(len(g)) |
| 26 | + g0.add((statementId, RDF.subject, |
| 27 | + URIRef(u'http://rdflib.net/store/ConjunctiveGraph'))) |
| 28 | + g1.add((statementId, RDF.subject, |
| 29 | + URIRef(u'http://rdflib.net/store/ConjunctiveGraph'))) |
| 30 | + print("Adding %s\n\t%s\n\t%s\n" % (statementId, RDF.predicate, RDFS.label)) |
| 31 | + g0.add((statementId, RDF.predicate, RDFS.label)) |
| 32 | + g1.add((statementId, RDF.predicate, RDFS.label)) |
| 33 | + print("Adding %s\n\t%s\n\t%s\n" % ( |
| 34 | + statementId, RDF.object, Literal("Conjunctive Graph"))) |
| 35 | + g0.add((statementId, RDF.object, Literal("Conjunctive Graph"))) |
| 36 | + print("Len g0 after adding 4 triples %s\n" % len(g0)) |
| 37 | + g1.add((statementId, RDF.object, Literal("Conjunctive Graph"))) |
| 38 | + print("Len g1 after adding 4 triples %s\n" % len(g1)) |
| 39 | + print(g0.serialize(format="nt") + "\n") |
| 40 | + for s, p, o in g0: |
| 41 | + print("s = %s\n\tp = %s\n\to = %s\n" % ( |
| 42 | + repr(s), repr(p), repr(o))) |
| 43 | + print(g1.serialize(format="nt") + "\n") |
| 44 | + for s, p, o in g1: |
| 45 | + print("s = %s\n\tp = %s\n\to = %s\n" % ( |
| 46 | + repr(s), repr(p), repr(o))) |
| 47 | + commands.getoutput('cp development.sqlite devcopy.sqlite') |
| 48 | + print("Removing %s\n\t%s\n\t%s\n" % (statementId, RDF.type, RDF.Statement)) |
| 49 | + g0.remove((statementId, RDF.type, RDF.Statement)) |
| 50 | + print("Len g0 after removal %s\n" % len(g0)) |
| 51 | + g1.remove((statementId, RDF.type, RDF.Statement)) |
| 52 | + print("Len g1 after removal %s\n" % len(g1)) |
| 53 | + print(g0.serialize(format="nt") + "\n") |
| 54 | + print(g1.serialize(format="nt") + "\n") |
| 55 | + g0.close() |
| 56 | + shutil.rmtree('/tmp/foo') |
| 57 | + g1.close() |
31 | 58 | os.unlink("%(here)s/development.sqlite" % {"here": os.getcwd()})
|
32 | 59 |
|
33 | 60 | if __name__ == '__main__':
|
|
0 commit comments