JAN 27th 2007

Appmosphere RDF ClassesARC is a lightweight, SPARQL-enabled RDF system for mainstream Web projects. It is written in PHP and has been optimized for shared (or performance- or privilege-limited) Web environments. ARC facilitates the integration of RDF and SPARQL into PHP/MySQL frameworks.

ARC is a very well documented project, which I think is important for its success. Their documentation is clear, concise, and provides plenty of inline sample code to examine as you read and learn.

ARC is distributed under the W3C® Software License so it's free. The community surrounding ARC is small, but said to be growing. On the community page a notice states that a mailing list will be available soon.

Current features and highlights:

Runs on almost any hosted Web server
All you need is PHP (4.3 or higher) and MySQL (4.0.18 or higher)
SPARQL support
Basic SELECT, CONSTRUCT, ASK, and DESCRIBE queries including nested OPTIONALs, simple UNIONs, and REGEX filters on variables.
Convenient API
Each method can be called via an easy-to-use programming interface. The API takes care of including and calling the required sub-components.
Various result formats
JSON (+JSONP/JSONI), XML, COUNT, RDF/XML, Turtle/N3.
Relatively fast
ARC works around the PHP performance bottleneck by pushing as much of the processing as possible to MySQL. Although ARC uses mainly object-oriented code, the processed data (result set rows, resource descriptions, triples, etc.) are kept close to native PHP objects (in other words: ARC uses low-memory arrays instead of custom object instances). The impact of using PHP is not too huge, ARC's scalability can be increased to a large extent by tuning MySQL and adjusting a number of configuration parameters (e.g. buffers for bulk loading) in ARC.
Easy to bundle with existing PHP/MySQL software
ARC does not rely on global variables, constants, or other practices which usually cause integration problems. The different (sub-)components are kept as small as possible, only immediately required code is loaded into memory. Database tables use a customizable prefix.

About the author

James Simmons

It's my goal to help bring about the Semantic Web. I also like to explore related topics like natural language processing, information retrieval, and web evolution. I'm the primary author of Semantic Focus and I'm currently working on several Semantic Web projects.

Trackback URL for this entry:

http://www.semanticfocus.com/blog/tr/id/730914/

Spam protection by Akismet

Comments for this entry:

No one has left a comment for this entry. Be the first!

Post a comment

  1. Spam protection by Akismet