A question about the filter function

Hi, All :
    Now, I have a question. Can you help me?

    In sparql 1.1 I find the definition of function str() is that:
       17.4.2.5 str     simple literal  STR (literal ltrl)
     simple literal  STR (IRI rsrc)
  
     But when I search the query  SELECT * WHERE {?s ?p ?o  filter(isBlank(?s)) filter(str(?s) = 'nodeID://b10001') } limit 10 ,
    I think if isBlank(?s) is true, then function str(?s) will not be executed. Because the domin of str do not contain Blank node.
    I think I will got the empty solution. But when I search this query on the endpoint of LOD Cloud Cache  on the web site http://lod.openlinksw.com/sparql/,
    I got the result like the following:
     s p onodeID://b10001 http://www.w3.org/1999/02/22-rdf-syntax-ns#type http://www.w3.org/2002/07/owl#ClassnodeID://b10001 http://www.w3.org/2002/07/owl#complementOf http://www.w3.org/2002/07/owl#Nothing

    I fell it is odd, and I want to know why it is so!
     Thank you very much.
    Your Best Xingwang
    Wish your reply.

Received on Saturday, 19 December 2015 16:54:31 UTC