Great. Thanks, Patrick! --Jamey
On 1/6/11 7:22 PM, "Patrick van Kleef" <[email protected]> wrote: >HI Jamey, > > >> Does Virtuoso provide some supported way to write one's own custom >> SPARQL extension functions >>(http://www.w3.org/TR/rdf-sparql-query/#extensionFunctions >> )? > > >Yes, there are actually two options: > >Firstly, you can create a stored procedure in Virtuoso PL and call it >using the sql: prefix: > > SELECT * where { ?s ?p `sql:testfunc(?o)` } > >See: http://docs.openlinksw.com/virtuoso/rdfsparql.html#rdfsqlfromsparql > >Secondly you can make a build in function which is basically a C >function that can be called from both SQL and SPARQL as in the >following examples, using the bif: prefix: > >In this example we use the CONTAINS function to do a freetext search >on all ?o that contain words starting with Timo. > > SELECT * FROM <http://www.w3.org/people#> WHERE { ?s ?p ?o . ?o >bif:contains '"Timo*"'} > >See: >http://docs.openlinksw.com/virtuoso/sparqlextensions.html#rdfsparqlruleful >ltext > >You can basically use relevant functions from the Virtuoso Functions >Guide inside your SPARQL query. > >See: http://docs.openlinksw.com/virtuoso/functions.html > > > >Best regards, > >Patrick
