There is no reason to have just one option.

On Thu, Feb 5, 2009 at 3:59 PM, Rich Hickey <richhic...@gmail.com> wrote:

>
> Thanks for the pointer to Kodkod - it looks very interesting.
>
> I wonder if we aren't talking apples and oranges though. Datalog may
> be a basic reasoner, but it's a simple recursive query language for
> data. Can you even get all results out of a SAT solver or do they stop
> when satisfiable?
>
> It's for this query purpose that I envisioned primary use of Datalog,
> although I can certainly see the utility of more powerful reasoners
> too.
>
> Rich
>
> On Feb 5, 12:22 pm, John Fries <john.a.fr...@gmail.com> wrote:
> > Yes.  I can make a strong endorsement for Kodkod, a Java-based relational
> > model finder.http://alloy.mit.edu/kodkod/
> > I used it fairly extensively last year to solve scheduling problems, and
> > I've corresponded with its creator.
> >
> > One problem with Datalog-style reasoners is that, because they want to
> > guarantee a certain execution time, they give up much of the
> expressiveness
> > of relational logic.  Instead, Kodkod provides the correct interface to
> > relational logic, and relies on an underlying SAT solver (such as
> MiniSat)
> > to solve the problems in a reasonable amount of time.  This has proven to
> be
> > a good approach, because SAT solvers have been improving at a tremendous
> > rate over the last 10 years, and are now blazingly fast.
> >
> > Another advantage of Kodkod over, say, FaCT++ or Pellet (which also
> provide
> > open-world semantics) is that you are not tied into all the assumptions
> of
> > the semantic web (OWL, RDF, XML, etc), which can get pretty clunky when
> all
> > you want is an in-memory reasoner.  You only have to be reasonably
> > comfortable with relational logic (e.g. "for all x: Red x") to be able to
> > use Kodkod.
> >
> > The only deficiency I found in Kodkod was that, because the author wanted
> to
> > support an audience whose primary language was Java, the user must
> express
> > their queries using a Java class-based syntax.  But this seems like a
> > perfect use of Clojure, which could provide a much more natural query
> > syntax.
> >
> > On Thu, Feb 5, 2009 at 4:29 AM, Rich Hickey <richhic...@gmail.com>
> wrote:
> >
> > > On Feb 4, 5:22 pm, John Fries <john.a.fr...@gmail.com> wrote:
> > > > Guaranteed-termination is very desirable.  However, you can have
> > > guaranteed
> > > > termination with an open-world assumption just as well.  And I think
> an
> > > > open-world assumption does a better job of mimicking human reasoning.
> >
> > > Do you have a specific reasoner/algorithm in mind?
> >
> > > Rich
> >
>

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Clojure" group.
To post to this group, send email to clojure@googlegroups.com
To unsubscribe from this group, send email to 
clojure+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/clojure?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to