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" <[email protected]> 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