Hi,

I'm trying to evaluate whether Redland (with the BDB backend) would be a good choice for one of our products. While I was testing some more realistic queries, I started getting some odd crashes at a much lower number of triples than we'd like to be able to support.

I have Redland/Redland Language Bindings 1.0.13.1, Raptor 2.0.0 and Rasqal 0.9.22 built on 32-bit Linux. If I run the following script with Python 2.6:

import RDF
storage = RDF.HashStorage("thing", options="hash-type='memory'")
model = RDF.Model(storage)
lubmNS = RDF.NS("http://www.lehigh.edu/~zhp2/2004/0401/univ-bench.owl#";)
univNS = RDF.NS("http://www.universityName.edu/";)
for x in xrange(0, 8000):
    prof = univNS["Professor%s" % x]
    ta = univNS["TeachingAssistant%s" % x]
    paper = univNS["Paper%s" % x]

    profType = lubmNS.Professor
    taType = lubmNS.TeachingAssistant
    paperType = lubmNS.Paper

    worksFor = lubmNS.WorksFor
    writtenBy = lubmNS.WrittenBy
rdfType = RDF.Node(RDF.Uri("http://www.w3.org/1999/02/22-rdf-syntax-ns#type";))

    model.append(RDF.Statement(ta, worksFor, prof))
    model.append(RDF.Statement(paper, writtenBy, prof))
    model.append(RDF.Statement(prof, rdfType, profType))
    model.append(RDF.Statement(ta, rdfType, taType))
    model.append(RDF.Statement(paper, rdfType, paperType))

print "Initialized Model"

query = """
SELECT DISTINCT ?target ?type WHERE {
    { ?target a ?type ; ?reln ?obj .
      FILTER ( regex(str(?obj), "Professor", "i") )
    }
FILTER ( ?type != <http://www.lehigh.edu/~zhp2/2004/0401/univ-bench.owl#TeachingAssistant> )
}"""

print "Querying..."
results = model.execute(RDF.SPARQLQuery(query))
print "Results: %s" % results

I get the following output:
$ python quick_test.py
Initialized Model
Querying...
librdf error - digest SHA1 already registered
librdf error - hash memory already registered
librdf error - model storage already registered
librdf error - storage hashes already registered
librdf error - storage trees already registered
librdf error - storage memory already registered
librdf error - storage file already registered
librdf error - storage uri already registered
librdf error - query language sparql11 already registered
librdf error - query language sparql11-query already registered
librdf error - query language sparql11-update already registered
librdf error - query language sparql already registered
Traceback (most recent call last):
  File "quick_test.py", line 38, in <module>
    results = model.execute(RDF.SPARQLQuery(query))
  File "/usr/lib/python2.6/dist-packages/RDF.py", line 1156, in execute
    results = Redland.librdf_model_query_execute(self._model,query._query)
RDF.RedlandError: 'digest MD5 already registered'

I've tried this with the hashed memory storage as above and with the BDB storage, with the same results. If anyone on this list has some idea of what's happening here, I would be very happy for the insight.

Thanks,
Sally

_______________________________________________
redland-dev mailing list
[email protected]
http://lists.librdf.org/mailman/listinfo/redland-dev

Reply via email to