retina: Integrated RDF Surfaces inspired by Pat Hayes, Patrick Hochstenbach and EYE #1762
Replies: 4 comments 7 replies
-
For the moment phy is on hold due to performance issues with https://github.com/josd/phy/tree/master/rdfsurfaces/lubm and https://github.com/josd/phy/tree/master/rdfsurfaces/edt
Running it with Trealla gives
|
Beta Was this translation helpful? Give feedback.
-
I wonder if meta-predicates that instantiate goal arguments in clause heads should inline those arguments. phy follows a pattern whereby it binds a structure to a predicate argument variable and then calls the variable. As such, it doesn't benefit from Scryer's call inlining at all, and so goal expansion is invoked millions of times, many times for the same goals (not an exaggeration, I did some profiling of phy earlier today). However, if those predicates were declared as meta-predicates with appropriate goal arguments, and we were to inline their expansions, it would benefit. ISO Prolog semantics would be completely preserved, of course. The only developer burden would be extra meta-predicate declarations. Thoughts? |
Beta Was this translation helpful? Give feedback.
-
Not sure if I understand it, but we need a solution that works in general, that is with any kind of RDF Surfaces just-in-time data. Can those meta-predicates be derived in general? |
Beta Was this translation helpful? Give feedback.
-
It should be noted that, in most Prolog systems (and also in Logtalk), term- and goal-expansion are only performed at compile-time (SICStus Prolog is a known exception). For the rare cases where runtime expansion is required, there's always |
Beta Was this translation helpful? Give feedback.
-
In phy we implement RDF Surfaces inspired by Pat Hayes, Patrick Hochstenbach and EYE using Scryer.
It is still premature but the examples already run fine :-)
Thanks a lot for Scryer!
Beta Was this translation helpful? Give feedback.
All reactions