php

SONIA - Simple Ontology aNd Inference Abstraction - an abstraction layer for rdf stores

SONIA, when designed a year ago, was meant to be a set of three apis to simplify building PHP apps against various RDF stores. The concept has been proven to work - but a lot of work remains. Here's a rough UML sketch of that work from one year ago.

minor quercus bugs

using json_encode in the quercus PHP environment caused some crashes recently - which I've filed a bug for and created a workaround.

I've also created this bug http://bugs.caucho.com/view.php?id=2014 on array_multisort. I need it fixed :(

JFYI, the quercus library is licensed under the GPL, and can run in java servers other than Caucho's Resin. It is a fairly complete implementation of PHP 5.

Caucho Resin PHP bridge showing renewed promise for Speed Improvements

Looks like I'll be using a hybrid approach of the HTTP client, and a custom class running on JAVA to do the aggregation emulation.

Here's a recap of the consequences.
The first points of failure are (since the HTTP client for Sesame works great):

* SPARQL/Sesame not having Aggregate functions
* Sesame not having ORDER BY

This produces large amounts of results and/or queries, which then need to be parsed by JSON, leading to the second point of failure

* Zend JSON and native php 5.2 JSON are not fast enough (perhaps they should not be expected to be for 6000 results)

Caucho Resin native PHP Java bridge to midigate speed issues in RDF stores with lack of aggregation function support

I'm going to take an application specific approach to solving the problems I'm facing with speed. By application specific, I mean that I will depend on another piece of software in the dependency chain - that being Caucho's Resin fast Java serverlet container. Why? To avoid sending lots of data and doing lots of queries over HTTP.

Using Sesame opens up new possibilities for Semantic Search

Development is coming along, and there are a number of possibilities that Sesame opens up.

When you can run complex queries on Drupal data, maybe that will convince some skeptics of the value. Take for example:
http://www.openrdf.org/contrib.jsp
like
http://www.ontotext.com/bor/ (rules engine) and http://www.ontotext.com/owlim/ (OWL store and engine)

HTTP client for Sesame nearing completion

The client is nearing completion. I'm working on create, update, and Delete. I'll post a version of the file on this site when done
Thanks for the help from Sesame's project leader in the following forum thread.

http://www.openrdf.org/forum/mvnforum/viewthread?thread=1417

Yars and Sesame instead of ARC?

Sesame 2.0 is 2-10 times as fast for the queries I perform than ARC. However, Sesame 2.0 SPARQL doesn't have some features I need, like ORDER BY and full support for OPTIONAL. If these come through soon, I'm going to still need to build a bridge between Drupal/PHP and Sesame. I'll either need:

  • Resin, and run PHP inside Java for Sesame
  • PHP REST against YARS which uses N3 and no SPARQL
  • Redland, with maybe the new lib-b
  • PHP REST against Sesame, and just deal with current SPARQL limitations
Syndicate content