On Mon, Oct 27, 2008 at 1:02 AM, heiho1 <[EMAIL PROTECTED]> wrote: > > Hello all, > > I've recently made the jump to running Django on Jython with an eye > towards some mobile app projects which I've been discussing with > various parties. One of the key features which I am looking into is > the feasibility of supporting a pure RDF backend extension of Django's > standard Model/Admin functionality. The idea here would be to > integrate a solid RDF database as an alternate datastore for Django > while still maintaining the automagic generation of admin interfaces. > I have no real complaints at this moment about how Django handles > object to relational mapping but I do believe that there are many > situations where an RDF database simplifies domain object > implementation and there are certainly semantic processing > capabilities available via OWL and similar ontological processing APIs > that I believe would make a natural extension to, for example, > Django's built-in RSS feed capabilities. > > I'm currently taking a look at various RDF packages and Django > integrations to evaluate this concept. I've looked at the following > packages: > > RDFLib: http://rdflib.net/ > Django-RDF: http://code.google.com/p/django-rdf/ > Drake: https://jazz.net/open-services/samples/getting-started.jsp#detailed > > all of these follow the standard approach of implementing the RDF > specification as a relational schema. This allows a straightforward > integration with the existing RDBMS backends but it does not leverage > the simplicity of pure RDF storage options like N-triples. > > My current thinking is to provide a binding layer between the Neo4J > database [http://neo4j.org/] and Django with both running on jython. > > Has anyone on this list looked into RDF databases as backends in > Django? > > From a preliminary review, it's looking like I would need to extend > the models.Model and django.contrib.admin.Admin and then hook that > code into the handlers. The signal API seems to be decoupled enough > that it should not pose any problems implementing lifecycle events. > > Does anyone have any advice for me before I head off into the suburban > parks of Django for an initial implementation? Any caveats I should > consider which might make a pure RDF backend unfeasible?
I used OpenLink Virtuoso Triple Store (via their HTTP SPARQL binding) with the python RDFLib library as a glue layer. For templating, I devised a simple yet powerful Selector language, not as powerful as Fresnel selectors though; in the background, the selectors were "compiled" into more efficient SPARQL queries. This was implemented as a filter and templatetags. I preferred to write the ontology in something like Turtle format. I did not integrate this with the admin or with the existing ORM. However, I was able to get a good faceted browser going using mootools in the frontend and a custom metadata layer. This allowed me to plugin in any ontology (with little modification) and browse the triple store with the faceted browser. Creating triples was also done as a framework with some mootools code in the frontend, and in the backend, a generic view. Regards Rajeev J Sebastian --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Django developers" group. To post to this group, send email to django-developers@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/django-developers?hl=en -~----------~----~----~----~------~----~------~--~---