virtuoso-opensource icon indicating copy to clipboard operation
virtuoso-opensource copied to clipboard

Property path not matched in a named subgraph

Open IS4Code opened this issue 3 years ago • 3 comments

This query returns "true":

PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX owl: <http://www.w3.org/2002/07/owl#>

ASK
WHERE {
  GRAPH ?g {
    <http://xmlns.com/foaf/0.1/mbox> a owl:InverseFunctionalProperty .
  }
}

So does this one:

PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX owl: <http://www.w3.org/2002/07/owl#>

ASK
WHERE {
  <http://xmlns.com/foaf/0.1/mbox> (rdfs:subPropertyOf|owl:equivalentProperty|^owl:equivalentProperty)*/a owl:InverseFunctionalProperty .
}

But this returns "false":

PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX owl: <http://www.w3.org/2002/07/owl#>

ASK
WHERE {
  GRAPH ?g {
    <http://xmlns.com/foaf/0.1/mbox> (rdfs:subPropertyOf|owl:equivalentProperty|^owl:equivalentProperty)*/a owl:InverseFunctionalProperty .
  }
}

Virtuoso version 07.20.3231 on Linux (x86_64-pc-linux-gnu), Single Server Edition

IS4Code avatar Mar 18 '21 15:03 IS4Code

Would you please also provide the git_head ID and build date for your Virtuoso binary? You can get these (among other potentially relevant details) from virtuoso -? on the command-line, or from this query against the /sparql endpoint --

SELECT
  ( bif:sys_stat('st_dbms_name')          AS ?name )
  ( bif:sys_stat('st_dbms_ver')           AS ?version )
  ( bif:sys_stat('st_build_date')         AS ?build_date )
  ( bif:sys_stat('git_head')              AS ?git_head )   
  ( bif:sys_stat('st_build_thread_model') AS ?thread )
  ( bif:sys_stat('st_build_opsys_id')     AS ?opsys )
WHERE
  {  ?s  ?p  ?o  }
LIMIT 1

It's important to note that all three produce true when run against current v8 builds, such as the DBpedia instance (08.03.3319 (44f10bfece) as of Dec 29 2020).

TallTed avatar Mar 18 '21 15:03 TallTed

Sure:

@prefix res: <http://www.w3.org/2005/sparql-results#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
_:_ a res:ResultSet .
_:_ res:resultVariable "name" , "version" , "build_date" , "git_head" , "thread" , "opsys" .
_:_ res:solution [
      res:binding [ res:variable "name" ; res:value "OpenLink Virtuoso   Server" ] ;
      res:binding [ res:variable "version" ; res:value "07.20.3231" ] ;
      res:binding [ res:variable "build_date" ; res:value "Jan 28 2021" ] ;
      res:binding [ res:variable "git_head" ; res:value "691ba2e15" ] ;
      res:binding [ res:variable "thread" ; res:value "-pthreads" ] ;
      res:binding [ res:variable "opsys" ; res:value "Linux" ] ] .

IS4Code avatar Mar 18 '21 16:03 IS4Code

I have encountered what I think is the same issue, using the dockerized openlink/virtuoso-opensource-7:7.2.6-r10-g5a27710. Some property paths work in conjunction with GRAPH, but it seems especially the * constructor is problematic. I can provide an example if it helps, but it looks you've already got one above. Following.

delenius avatar Apr 28 '22 17:04 delenius