- From: Dan Connolly <connolly@w3.org>
- Date: Tue, 12 Apr 2005 15:30:17 -0500
- To: Peter Wilson <pwilson@gorge.net>, public-rdf-dawg-comments@w3.org
> I am working on a SPARQL engine written in Javascript. Sounds interesting. We would appreciate a pointer to any code, documentation, etc. There's a growing list... you're welcome to edit it... http://esw.w3.org/topic/SparqlImplementations > 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. Hmm... really? the first one is tricky, yes, but 2 and 3 seem pretty straightforward: WHERE { :someSpecificSubject ?P _:anything } WHERE { _:anything ?P :someSpecificObject } Do you have any particular motivation for the first one? I ran into a need for it the other day, but only in the case of a contrived academic example. If there's a real use case, perhaps we'll look into it more. > 4.WHERE IN(list of literals or resources ?V) This binds ?V, in turn, to > each literal or resourse in the list. I think this can be done ala... WHERE { ... FILTER ?V = "abc" || ?V = "def" || ?V = "xyz" } > 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. I don't think I understand that one. Care to elaborate? > 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. Hmm... I'm not sure what you mean by that either. Can you give a more complete example? -- Dan Connolly, W3C http://www.w3.org/People/Connolly/ D3C2 887B 0F92 6005 C541 0875 0F91 96DE 6E52 C29E
Received on Tuesday, 12 April 2005 20:30:18 UTC