[Nepomuk] Some issues on current master

Marco Martin notmart at gmail.com
Thu May 31 09:49:56 UTC 2012


On Thursday 31 May 2012, Sebastian Trüg wrote:
> > to have some properties already in the result to minimize round-trips,
> > the generated query becomes as the one i put before,
> > 
> >  select distinct ?r ?reqProp1 where { { OPTIONAL { ?r
> >  <http://www.semanticdesktop.org/ontologies/2007/01/19/nie#url> ?reqProp1
> >  . FILTER(bif:exists((select (1) where { ?r a [
> >  <http://www.semanticdesktop.org/ontologies/2007/08/15/nao#userVisible>
> >  "true"^^<http://www.w3.org/2001/XMLSchema#boolean> ] . }))) . } }
> > 
> > with one filter clause inside each OPTIONAL block, and this seems to kill
> > virtuoso (6.1.5 on this machine now)
> 
> I think this is caused by the missing real pattern. Your query does not
> contain any actual pattern. It looks as if you want to get all resources.

yeah, there was a problem in the client code too.
now with a query (fetch 30 resources with mimetype pdf) i do get correct 
results:

select distinct ?r ?reqProp1 ?reqProp2 ?reqProp3 ?reqProp4 ?reqProp5 ?reqProp6 
where { { ?r 
<http://www.semanticdesktop.org/ontologies/2007/01/19/nie#mimeType> 
"application/pdf"^^<http://www.w3.org/2001/XMLSchema#string> . OPTIONAL { ?r 
<http://www.semanticdesktop.org/ontologies/2007/01/19/nie#url> ?reqProp1 . } 
OPTIONAL { ?r 
<http://www.semanticdesktop.org/ontologies/2007/08/15/nao#hasSymbol> ?reqProp2 
. } OPTIONAL { ?r 
<http://www.semanticdesktop.org/ontologies/2007/01/19/nie#mimeType> ?reqProp3 
. } OPTIONAL { ?r 
<http://www.semanticdesktop.org/ontologies/2007/08/15/nao#description> 
?reqProp4 . } OPTIONAL { ?r 
<http://freedesktop.org/standards/xesam/1.0/core#description> ?reqProp5 . } 
OPTIONAL { ?r <http://www.w3.org/2000/01/rdf-schema#comment> ?reqProp6 . } 
FILTER(bif:exists((select (1) where { ?r a [ 
<http://www.semanticdesktop.org/ontologies/2007/08/15/nao#userVisible> 
"true"^^<http://www.w3.org/2001/XMLSchema#boolean> ] . }))) . } . } LIMIT 30


now i get two different problems:
if i call queryclient->query(query)
where query is a query generated with the c++ api, the client will never emit 
newEntries
while if i execute the equivalent in sparql directly client-
>sparqlQuery(query.toSparqlQuery()) i do get the newentries signal.

however the results won't have anything as requestProperties()  (i guess comes 
from the fact that i did a plain sparql query)

-- 
Marco Martin


More information about the Nepomuk mailing list