[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