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

  1. 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
  1. 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

  1. Make Sure You've Got the Dependencies installed

Pomegranate depends on Ruleby (http://ruleby.org).

sudo gem install ruleby

  1. 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

  1. 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.

  1. 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.

Pomegranate was created in 2008 by Pius Uzamere (pius -AT- alum -DOT- mit -DOT- edu) and is
licensed under the LGPL.