Does anybody has integrated RDFAlchemy into a Pylons/SQLAlchemyproject? Could give any example
>> Watch out for the notes at the bottom of that wiki page [1].
>
> Some of the language here is confusing (at least to me); for example:
>
> "Mysql should be modified to use the sqlalchemy connection pooling."
>
> "Should be modified" by whom? If by the user/third-party dev, then
> how?
>
Whomever has the time. I will not get to it until I have a project
that calls for an rdflib/mysql combo. rdflib and pylons are both
projects in motion so I don't want to produce code that no one uses
and is soon obsoleted.
As for how, I guess if I could answer in great detail I could just do
it. The basic drill is to figure out how to use a connection pool and
which one to use.
you can look at pylons [1] and search for "Multiple engines"
I know how to get the db connections my mysql but i'm not sure about
how to handle a "scoped session" and how happy rdflib would be about
poking a db connection into the guts of the graph.__store._db
Hell, even if I get that to work, it's just one framework and one
backend. There is hope, I see that rdflib 3.0a has pkg_resources type
plugins for the stores[2]. plugins are good.
now my brain hurts and I'm going for a bike ride :-).
> Second:
>
> "rdflib is out of the picture as a backend. http performance penalties
> can be significant!"
>
> Does this warning only apply to Pylons? What if I'm using web.py,
> which I'll deploy with mod_wsgi?
That warning applies the rdfalchemy SesameGraph calls not to pylons or
mod_wsgi. SesameGraph currently uses the http sesame protocol so that
a program that expects to update all prices for stocks in the S&P 500
will end up making 500 seperate http requests with all of the
connection overhead on each one. Much slower that a dbapi where you
connect once and then perform 500 seperate calls to the protocol.
--
Phil
[1]http://wiki.pylonshq.com/display/pylonsdocs/Using+SQLAlchemy+with+Pylons
[2]http://code.google.com/p/rdflib/source/browse/tags/3.0.0a/rdflib/setup.py?r=1438