Some possible enhancements

I am working on a SPARQL engine written in Javascript.
In implementing this engine I added some of the features that the 
Mozilla RDF implementation makes particularly easy:

1.WHERE  RESOURCES(?R)   This binds ?R, in turn,  to all the resources 
in the current graph.
2.WHERE ARCSOUT(?S ?P)   This binds ?P, in turn,  to all predicates 
referenced by the specified subject  for some object.
3.WHERE ARCSIN(?O ?P)   This binds ?P, in turn,  to all predicates 
which  reference the specified object  for some subject.

These are all hard to achieve using the current SPARQL features.


4.WHERE IN(list of literals or resources ?V) This binds ?V, in turn,  to 
each literal or resourse in the list.

     SELECT ?S ?P ?V
    WHERE IN(1 2 <ns:someName> ?V) (?S ?P ?V)

IN may also be used as a value check when ?V is already bound. This is 
inspired by the very useful SQL IN clause.

5. I have not yet implemented this predicate yet but I have been 
considering :
     WHERE FIRST( patternElementList )
    This operates like a UNION but only succeeds for the first 
successful patternElement (if any). This would allow a default/fallback 
mechanism
    when the current graph does not contain some expected facts.

Peter Wilson

Received on Monday, 11 April 2005 16:27:39 UTC