Pomegranate Release 0.9 (December 30th 2008)
Git: http://github.com/pius/pomegranate
Author: Pius Uzamere, The Uyiosa Corporation
Copyright: Pius Uzamere © 2008 License: The Lesser GNU Public License
SYNOPSIS
Pomegranate is a Ruby library for inferencing over a corpus of triples with RDFS and OWL properties. Implements the RDF Schema Language (RDFs) properties as a set of production rules. The rules are executed by Ruleby, a forward-chaining Ruby inferencing engine that implements the Rete algorithm.
FEATURE LIST
- Pomegranate can inference over basic RDFS: When finished, this library will have a full test suite and can serve as a maintainable reference implementation of an RDFS inferencer in Ruby. In particular, the following statements are supported:
- rdfs:subClassOf
- rdfs:subPropertyOf
- rdfs:domain
- rdfs:range
- Pomegranate can inference over RDFS-Plus (RDFS plus a small subset of OWL): RDFS-Plus, as defined in "Semantic Web for the Working Ontologist" is RDFS plus a small subset of OWL, commonly used in the field. In particular, the following statements are supported:
- rdfs:subClassOf
- rdfs:subPropertyOf
- rdfs:domain
- rdfs:range
- owl:inverseOf
- owl:SymmetricProperty
- owl:TransitiveProperty
- owl:equivalentClass
- owl:equivalentProperty
- owl:sameAs
- owl:FunctionalProperty
- owl:InverseFunctionalProperty
USAGE
- Make Sure You've Got the Dependencies installed
Pomegranate depends on Ruleby (http://ruleby.org).
sudo gem install ruleby
- Clone the Repository and Install the Gem from Source
git clone git://github.com/pius/pomegranate.git cd pomegranate gem build pomegranate.gemspec sudo gem install pomegranate
- Require the gem in your code, play with it
For usage, the best thing is to click through the documentation. I tried to make it really thorough. If you need more guidance, check out the specs, which demonstrate precisely how to instantiate triples and run the inferencing engine.
- Contribute!
Fork my repository (http://github.com/pius/pomegranate), make some changes, and send along a pull request!
The best way to contribute is to add a unit test for a specific OWL property that does not parse and then add (and/or tweak) rules such that your new test case plus all the others pass.
COPYRIGHT
Pomegranate was created in 2008 by Pius Uzamere (pius -AT- alum -DOT- mit -DOT- edu) and is
licensed under the LGPL.