[an error occurred while processing this directive]
[an error occurred while processing this directive]
 Pychinko: Rete-based RDF friendly rule
engine
Also known as a CWM
clone
Developers:
Yarden Katz, Bijan Parsia and Kendall Clark
|
What is Pychinko?
Pychinko is a Python implementation of the classic Rete algorithm (see
Charles Forgy's 1982 paper for the original description.)
The Rete algorithm (and its since improved variants) has shown to be, in many
cases, the most efficient way to apply forward-chaining rules to a set of
facts--the basic functionality of an expert system. Pychinko employs an optimized
implemention of the algorithm to handle facts expressed as triples,
and process them using a set of N3 rules. We have tried to closely mimic the
features available in CWM,
as it is one of the most widely used rule engines in the RDF
community. Several benchmarks have shown our Rete-based
Pychinko to be upto 5x faster than the naive rule application
used in CWM (see presentation below for preliminary results.)
A typical use case for Pychinko might be applying the RDFS inference
rules, available
in N3, to a document. Similar rules are available for XSD and a
dialect of OWL.
News
- Developers of CWM at MIT have integrated the Pychinko engine into CWM. Pychinko supports a significant subset of the math, string and logic built-ins. It can be invoked on a rule set from CWM using the -rete command-line option.
- Pychinko was presented by Yarden Katz at the International Python Conference, March 24, 2005. The slides for the talk are available here: Pychinko: A Native Python Rule Engine
- Pychinko-0.1, our first release, is now available for download.
- Pychinko was presented in the recent FOAF Camp in Enschede, Holland.
The presentation slides are available here.
Releases
Latest release
The latest Pychinko code is available our SVN repository, at:
http://svn.mindswap.org/pychinko/
Older releases
The first release of Pychinko (0.1) is available for download:
pychinko-0.1.tar.gz
(Released Jan 17, 2005)
Installation instructions and other notes are available here.
The most up-to-date source is available in the MINDSWAP svn repository.
Projects using Pychinko
- FuXi:
"FuXi (pronounced foo-see) is a forward-chaining, rule-based system
that expands 4RDF to include reasoning capabilities via
interpretation of explicit implications writen in Notation 3 and
persisted in the Model under a named sub graph (scope). Fuxi uses
Pychinko to match and fire the specified rules. It also includes a
Versa function that allows Versa query expressions to be executed
within a model (scoped or not) extended to include statements
inferred by rules in a particular scope."
yarden at umd.edu
Last modified: Wed Oct 6 17:35:02 EST 2004
[an error occurred while processing this directive]