[elephant-devel] Major elephant upgrade
lists at infoway.net
lists at infoway.net
Tue Mar 11 18:41:29 UTC 2008
Hi Ian,
Thanks. I just downloaded the latest darcs and will look at it. I've
been evaluating different querying to propose a syntax.
BTW, in the darcs I downloaded 10 minutes ago, I ran the tests and got:
Did 421 checks.
Pass: 420 (99%)
Skip: 0 ( 0%)
Fail: 1 ( 0%)
Failure Details:
--------------------------------
THREADED-IDX-ACCESS []:
Unexpected Error: #<SB-THREAD:JOIN-THREAD-ERROR {12B38DB1}>
Joining thread failed: thread #<THREAD {12B1FEA9}> has not returned
normally...
During the tests, I got a lot of errors on the threads about Null
controller.
Thanks,
Daniel
On Mar 11, 2008, at 12:05 PM, Ian Eslick wrote:
> Daniel,
>
> I just promoted a simple sketch of a query interpreter and syntax on
> the unstable branch that handles queries like:
>
> (query-select #'(lambda (person school) (format t "Person named: ~A
> at ~A~%" (name person) (name school)))
> '(select ((?p person) (?s school))
> (where (and (> (age ?p) 10) (< (age ?p) 25))
> (= ?s (school ?p))
> (string> (name ?s) "Foo")))))
>
> This calls the provided function for all pairs of people and schools
> for ages between 10 and 25 where the school name is alphabetically
> greater than "Foo"
>
> If you load and evaluate src/elephant/query-example.lisp you can
> play with this little hack.
>
> There are absolutely no performance considerations. It essentially
> does the search through lisp objects that Robert alluded to. It
> maps all instances of person and uses constraints like (= ?s
> (school ?p)) to create the connection between objects via slot
> values. You have to make sure that it can figure out what ?s is
> before you can use ?s in another expression, so it's pretty
> restrictive.
>
> Anyway, hopefully this will give you some ideas on how to get started!
>
> Ian
>
>
> On Mar 6, 2008, at 8:23 AM, lists at infoway.net wrote:
>
>>
>> On Mar 4, 2008, at 10:38 PM, Ian Eslick wrote:
>>
>>> = A little query interpreter (Waldo?, Daniel?)
>>> Read sets of oids from indices, implement an efficient in-memory
>>> sort&merge over oids, and deserialize after the query. I've
>>> specified a bunch of this so could provide a set of pointers to
>>> start. Looking at some other object query languages and proposing
>>> a syntax would be a good place to start
>>
>> Will definitely like to pick up on this again. Been doing some more
>> reading and think should have some time to invest on this.
>>
>> - Daniel
>> _______________________________________________
>> elephant-devel site list
>> elephant-devel at common-lisp.net
>> http://common-lisp.net/mailman/listinfo/elephant-devel
>
> _______________________________________________
> elephant-devel site list
> elephant-devel at common-lisp.net
> http://common-lisp.net/mailman/listinfo/elephant-devel
More information about the elephant-devel
mailing list