Here are examples showcasing Virtuoso's support for this functionality:
SELECT * WHERE { ?x ?t ?o . FILTER isNumeric(?o) } LIMIT 10
SELECT ?o, STRDT("123", xsd:integer) WHERE { ?x ?t ?o . } LIMIT 10
SELECT ?o, STRLANG("chat", "en") WHERE { ?x ?t ?o . } LIMIT 10
SELECT ?o, STRLEN(?t) WHERE { ?x ?t ?o . } LIMIT 10
SELECT DISTINCT ?name1 WHERE { ?x <http://xmlns.com/foaf/0.1/name> ?name1 . ?x <http://xmlns.com/foaf/0.1/mbox> ?mbox1 . ?y <http://xmlns.com/foaf/0.1/name> ?name2 . ?y <http://xmlns.com/foaf/0.1/mbox> ?mbox2 . FILTER (?mbox1 = ?mbox2 && ?name1 != ?name2) . FILTER( bif:length(str(?name1)) > 2 && SUBSTR(?name1, 1) LIKE "%Kingsley%" ) } LIMIT 10
SELECT UCASE(?name1 ) WHERE { ?x <http://xmlns.com/foaf/0.1/name> ?name1 . } LIMIT 10
SELECT LCASE(?name1 ) WHERE { ?x <http://xmlns.com/foaf/0.1/name> ?name1 . } LIMIT 10
SELECT ?name1 WHERE { ?x <http://xmlns.com/foaf/0.1/name> ?name1 . FILTER ( strStarts(?name1, "Kingsley") ). } LIMIT 10
PREFIX foaf: <http://xmlns.com/foaf/0.1/> SELECT distinct ?name1 WHERE { ?x foaf:name ?name1 . ?x foaf:mbox ?mbox1 . FILTER ( strEnds(?name1, "hen") ). } LIMIT 10
SELECT encode_for_uri(?name1) as ?name WHERE { ?x <http://xmlns.com/foaf/0.1/name> ?name1 . FILTER ( bif:contains(?name1, "France") ). } LIMIT 10
SELECT * WHERE { ?s ?p ?o . FILTER (if (isliteral(?o), contains(str(?o), "Virtuoso"), false)) } LIMIT 10
SELECT concat (?name1 ,?name2 ) WHERE { ?x <http://xmlns.com/foaf/0.1/name> ?name1 . ?x <http://xmlns.com/foaf/0.1/mbox> ?mbox1 . ?y <http://xmlns.com/foaf/0.1/name> ?name2 . ?y <http://xmlns.com/foaf/0.1/mbox> ?mbox2 . FILTER (?mbox1 = ?mbox2 && ?name1 != ?name2) . FILTER ( contains(?name1, "Dan") ). } LIMIT 10
SELECT ?title WHERE { ?x <http://purl.org/dc/elements/1.1/title> ?title . FILTER langMatches( lang(?title), "EN" ) } LIMIT 10
SELECT ?name WHERE { ?x <http://xmlns.com/foaf/0.1/name> ?name . FILTER regex(?name, "^ali", "i") . } LIMIT 10
SELECT round(?o) WHERE { ?s a ?c . ?s geo:geometry ?geo . ?s ?p ?o . FILTER ( bif:isnumeric(?o) ) } LIMIT 10
SELECT abs (?o) ?geo WHERE { ?s a ?c . ?s geo:geometry ?geo . ?s ?p ?o . FILTER (bif:isnumeric(?o) ) } LIMIT 10
SELECT ceil (?o) WHERE { ?s a ?c . ?s geo:geometry ?geo . ?s ?p ?o . FILTER (bif:isnumeric(?o) ) } LIMIT 10
SELECT floor(?o) WHERE { ?s a ?c . ?s geo:geometry ?geo . ?s ?p ?o . FILTER (bif:isnumeric(?o) ) } LIMIT 10
SELECT floor(?o) rand () WHERE { ?s a ?c . ?s geo:geometry ?geo . ?s ?p ?o . FILTER (bif:isnumeric(?o) ) } LIMIT 10
SELECT now() WHERE { ?s ?p ?o } LIMIT 1
SELECT year("2011-01-10T14:45:13.815-05:00"^^xsd:dateTime) WHERE { ?s ?p ?o } LIMIT 1
SELECT month ("2011-01-10T14:45:13.815-05:00"^^xsd:dateTime) WHERE { ?s ?p ?o } LIMIT 1
SELECT day("2011-01-10T14:45:13.815-05:00"^^xsd:dateTime) WHERE { ?s ?p ?o } LIMIT 1
SELECT hours("2011-01-10T14:45:13.815-05:00"^^xsd:dateTime) WHERE { ?s ?p ?o } LIMIT 1
SELECT minutes("2011-01-10T14:45:13.815-05:00"^^xsd:dateTime) WHERE { ?s ?p ?o } LIMIT 1
SELECT seconds ("2011-01-10T14:45:13.815-05:00"^^xsd:dateTime) WHERE { ?s ?p ?o } LIMIT 1
SELECT TIMEZONE ("2011-01-10T14:45:13.815-05:00"^^xsd:dateTime) WHERE { ?s ?p ?o } LIMIT 1
SELECT tz("2011-01-10T14:45:13.815-05:00"^^xsd:dateTime) WHERE { ?s ?p ?o } LIMIT 1
SELECT MD5 ('test') WHERE { ?s ?p ?o } LIMIT 1
SELECT SHA1 ('test') WHERE { ?s ?p ?o } LIMIT 1
SELECT SHA256 ('test') WHERE { ?s ?p ?o } LIMIT 1
SELECT SHA384('test') WHERE { ?s ?p ?o } LIMIT 1
SELECT SHA512('test') WHERE { ?s ?p ?o } LIMIT 1