Just use angle brackets around the prefixed function, i.e. FILTER(<bif:contains>(?something, "word"))
it should be processed correctly by Virtuoso. On 11/30/18 10:40 AM, Rob Vesse wrote: > Assuming you are accessing over HTTP you can create an instance of > QueryEngineHTTP directly passing in the query as a string and ARQ won't > attempt to parse the query e.g. > > QueryExecution qe = new QueryEngineHTTP("http://someserver/query", > yourQueryString); > > Rob > > On 29/11/2018, 17:52, "Dan Davis" <dansm...@gmail.com> wrote: > > I have a Query Execution Service that returns a QueryExecution that is > within another triple-store, and that other triple store supports some > functions my other graphs do not. Specifically, it is virtuoso, and > supports bif:lower and bif:contains. My intuition is that I need to > write > filter functions that allow ARQ to parse these, and then pass these down > to > the lower level. However, maybe there is an easier way. > > Can you guys please advice what is the easiest/best practice way to do > this? > > This is not a Virtuoso list, so I will spare you the EXPLAIN output that > convinces me that FILTER(CONTAINS(?something, "word")) never drives the > query, but FILTER(bif:contains(?something, "word")) will drive the query > if > there is full text indexing. > > Thanks, > > -Dan Davis > > > > > > > -- Lorenz Bühmann AKSW group, University of Leipzig Group: http://aksw.org - semantic web research center