On 3/19/2012 6:04 PM, Frank Goenninger wrote:
Am 19.03.2012 um 15:47 schrieb Kenneth Tilton:
On 3/18/2012 5:53 PM, Frank Goenninger wrote:
Hi Kenny,
I just began using Triple Cells. We have planned a rather large
AllegroGraph-based implementation and as a fan of Cells I am porting Triple
Cells to AllegroGraph 4.5.
Great. I love the data model (and you know I love Cells). On my project we have a PostGres
table called "triple". Only problem is the object column because SQL does not like
untyped columns (so I create object columns for any type I need to store<g>).
Wow - I thought BLOBs would be the way to go. For PostgreSQL, it's this:
http://www.postgresql.org/docs/current/static/datatype-binary.html
Hey, good idea. Thanks.
[snip]
0> 3c-cell-pulse: sp = nil
0> 3c-cell-pulse: sp is NIL !
It would help if you could shed some light on this ...
Not sure I follow the output, but that could be because I have not looked at
triplecells in ages. I do not even have that source on this laptop!
Big Q: the above looks like it is from the Hello World example/test. Yes?
It is! I just instrumented it a bit with lots of calls to #'trc.
Is sp the current datapulse?
Yes, as in:
(defun 3c-cell-pulse (c)
(trc "3c-cell-pulse: c = " c)
(let ((sp (get-sp c !ccc:pulse)))
(trc "3c-cell-pulse: sp = " sp)
(if sp
(progn
(let ((object (object sp)))
(trc "3c-cell-pulse object" object)
object)) ;;<<<<----- This is the datapulse, I assume ...
(progn
(trc "3c-cell-pulse: sp is NIL !")
(break)))))
It is right at the first time #'3c-cell-pulse is called when it fails... I am still trying to wrap
my head around your use of subject, predicate, object in 3c ;-) It get's pretty
"anonymous" with all those "anon" blank nodes ...
Yeah, blank nodes are hard to look at.
In the above get-sp is supposed to return a triple, the object of which
is the datapulse. So the question is why get-sp returns nil?
You are right, btw, I am so busy I forgot to look at the code when I got
home. I just spent ten minutes just looking at the code and, wow, this
will take some refreshing and I'll have to run it and trace a bit to see
what is up. I'll see if I can get to it tonight.
Have you ever run it on any AG4.x? I do know there have been enough
changes that I am not surprised we have to get the hood up.
One thought: did you add the bit that complains about not getting a
pulse? Since this is early in the life of the cell I can imagine that
the intent was to treat a missing !pulse as "uninitialized". In which
case I think the error you got was in the caller where upi= tries to
compare UPIs and it gets upset over being passed nil. In which case it
would just mean they tightened up something and we need to do our own
more flexible upi-equal or something.
I will probably start by grabbing triple cells off github and start from
there just to reduce the variables.
cheers, ken
I notice your log does not include that, and I would think that would be interesting
(unless of course as it seems the whole history is one pulse<g>)
I /think/ it's one pulse (there's only one call to #'3c-pulse-advance)...
I can try looking at this tonight. Are you free to send me your triple cells
project so I have your diagnostics (and just to be sure we are debugging the
same thing)?
Sure - see attachment. I suggest you unzip it somewhere and wade through it ;-)
The main files are ccagcore/object-store.lisp and the triple-cells files, of
course.
Good to hear from you!
ken
Ha, seems as if you're kind of busy these days. Would love to meet with you
some time - do you plan to go to ILC this year ?
Cheers
Frank
_______________________________________________
cells-devel site list
cells-devel@common-lisp.net
http://common-lisp.net/mailman/listinfo/cells-devel