I am having trouble with ntriples-parsed data not showing up in queries.
Below, I seem to have found a case where the same datatyped literal
makes two entries in the i2k table, which seems like it would be the
problem.
#!/usr/bin/python
import sys, tempfile, shutil, os, time
sys.path.append("bin")
import _boot
import unittest
from rdflib import URIRef, Variable, Literal, BNode, StringInputSource
from rdflib.Graph import Graph
tmpdir = tempfile.mkdtemp()
try:
g = Graph("Sleepycat")
g.open(tmpdir, create=True)
try:
g.parse(StringInputSource('''<http://example.com/t1>
<http://example.com/date>
"2007-02-03"^^<http://www.w3.org/2001/XMLSchema#date>.\n'''), format="nt")
# this should re-add the same statment
g.add((URIRef("http://example.com/t1"),
URIRef("http://example.com/date"),
Literal("2007-02-03",
datatype=URIRef("http://www.w3.org/2001/XMLSchema#date"))))
assert len(g) == 1, "sleepycat backend created %s triples
instead of 1" % len(g)
finally:
g.close()
"""
my db looked like this:
% db4.3_dump -p -h /tmp/tmp4Zf-T4 i2k
db_dump: DB_ENV->set_flags: DB_CDB_ALLDB: method not permitted after
handle's open method
VERSION=3
format=print
type=recno
db_pagesize=4096
HEADER=END
PU\0a(Vhttp://example.com/t1\0ap1\0atRp2\0a.
PU\0a(Vhttp://example.com/date\0ap1\0atRp2\0a.
PL\0a(V2007-02-03\0ap1\0aNS'http://www.w3.org/2001/XMLSchema#date'\0ap2\0atRp3\0a.
PG\0a(PS\0aPB\0a(VaemtAOFv0\0ap1\0atRp2\0atRp3\0a.
PL\0a(V2007-02-03\0ap1\0aNPU\0a(Vhttp://www.w3.org/2001/XMLSchema#date\0ap2\0atRp3\0atRp4\0a.
DATA=END
"""
finally:
print "\nHere's the i2k table:"
os.system("db4.3_dump -p -h %s i2k" % tmpdir)
print "\n"
shutil.rmtree(tmpdir)
_______________________________________________
Dev mailing list
[email protected]
http://rdflib.net/mailman/listinfo/dev