I'm fairly new to Linked-Data and `SPARQL` but I understand the concept and some of the querying as I do have knowledge of SQL. Using some example data from rdfdata.org I managed to setup a GraphDB instance with an [Elvis impersonator repo](http://www.snee.com/rdf/elvisimp.rdf). 

Using some basic queries like 
`SELECT * WHERE {?s ?p ?o}` and filtering on object values I was able to get some basic data visible in tables. I have experience using regular expressions so I decided to use this with SPARQL to count the occurrence of `Elvis` within the object. However, whatever I do I am not able to get this above one. 

This is a problem as I have triples that contain a form of `elvis` more than once:

```
 s: http://www.gigmasters.com/elvis/bobjames/
 p: ep:influences
 o: Elvis Elvis Elvis! I also do a Neil Diamond tribute as well, and have 
     been a DJ, MC, and musician for many years.

```

As you can see there are three occurrences of `Elvis` which are only counted as 1.

Here is the SPARQL query used to select the triple and to count the occurrences:

```
SELECT ?s ?p ?o (count(regex( ?o ,"[Ee]lvis")) as ?count)
WHERE {
    ?s ?p ?o.
    filter(regex( ?o ,"([Ee]lvis.){3}")) //only return the triple above
}
GROUP BY ?s ?p ?o

```

How is it possible that these occurrences are not counted? I tried using `str(?o)` but as the object is a string literal to begin with that *should* not matter. 

**Expected result:**

le table with 4 columns: `| ?s | ?p | ?o | count |`,
where count should be `"3"^^xsd:integer`