Hi Alex,
Am 23.03.2010 12:25, schrieb Alexander Sidorov:
Hi Sebastian,
I think the first query doesn't work because you are trying to filter
first subquery variable in the scope of second subquery.
Could you please you elaborate this?
Is there an implicit scope not defined by brackets?
I would say the scope is ok.
the where part is like this:
{
{?subject a ?expanded0 } UNION
{?subject a ?expanded1 }
FILTER ( ?expanded0 IN ( <http://dbpedia.org/ontology/Airline>,
<http://dbpedia.org/ontology/Band>) ).
FILTER ( ?expanded1 IN ( <http://dbpedia.org/ontology/Album>,
<http://dbpedia.org/ontology/Book>) ).
}
The union (both subqueries) is closed before the Filters.
If I just change the filters the query works also:
FILTER ( ?expanded0 IN ( <http://dbpedia.org/ontology/Airline>) ).
FILTER ( ?expanded1 IN ( <http://dbpedia.org/ontology/Album>,
<http://dbpedia.org/ontology/Book>) ).
or:
FILTER ( ?expanded0 IN ( <http://dbpedia.org/ontology/Airline>,
<http://dbpedia.org/ontology/Band>) ).
FILTER ( ?expanded1 IN ( <http://dbpedia.org/ontology/Album>) ).
both work.
Regards,
Sebastian
Regards,
Alexander
2010/3/23 Sebastian Hellmann <[email protected]
<mailto:[email protected]>>
Hello,
the IN is very fast and I would recommend to anyone using it.
btw. will IN be a part of the next SPARQL recommendation?
I have just a short question (tested on dbpedia):
SELECT DISTINCT ?subject { {
?subject a ?expanded0 } UNION {
?subject a ?expanded1 }
FILTER ( ?expanded0 IN ( <http://dbpedia.org/ontology/Airline>,
<http://dbpedia.org/ontology/Band>) ).
FILTER ( ?expanded1 IN ( <http://dbpedia.org/ontology/Album>,
<http://dbpedia.org/ontology/Book>) ).
} LIMIT 50
The query above doesn't work, while this one works:
SELECT DISTINCT ?subject { {
?subject a ?expanded0 .
FILTER ( ?expanded0 IN ( <http://dbpedia.org/ontology/Airline>,
<http://dbpedia.org/ontology/Band>) ).
} UNION {
?subject a ?expanded1 .
FILTER ( ?expanded1 IN ( <http://dbpedia.org/ontology/Album>,
<http://dbpedia.org/ontology/Book>) ).
} } LIMIT 50
Is there a reason behind it or just a glitch?
Regards,
Sebastian
Am 23.03.2010 02:56, schrieb Alexander Sidorov:
Hi Ivan,
Thank you! I should guess by analogy with SQL...
Does IN operator work with subqueries? I have the following query:
SELECT DISTINCT ?s ?p ?o
FROM
<http://www.semanticweb.org/ontologies/2010/1/EventsContent.owl#>
WHERE
{
?s ?p ?o
FILTER
(
?s in
(
(
SELECT DISTINCT ?event
FROM
<http://www.semanticweb.org/ontologies/2010/1/EventsContent.owl#>
WHERE
{
?event ?property ?value .
?value bif:contains "virtuoso" OPTION (SCORE
?valueScore) .
}
GROUP BY ?event
ORDER BY DESC (sum(?valueScore))
)
)
)
}
but it returns only first event.
Regards,
Alexander
2010/3/23 Ivan Mikhailov <[email protected]
<mailto:[email protected]>>
Hello Alexander,
> Let's imagine we have a list of entities uris' as input and
we need to
retrieve all triples for each entity.
> Is there any way to execute it using one query?
We have an IN operator extension:
select ?p ?o
where
{
?s ?p ?o .
filter (?s in (<someGraph#entity1>, <someGraph#entity2>, ...
<someGraph#entityN> ) )
}
Best Regards,
Ivan Mikhailov
OpenLink Software
http://virtuoso.openlinksw.com
------------------------------------------------------------------------------
Download Intel® Parallel Studio Eval
Try the new software tools for yourself. Speed compiling, find bugs
proactively, and fine-tune applications for parallel performance.
See why Intel Parallel Studio got high marks during beta.
http://p.sf.net/sfu/intel-sw-dev
_______________________________________________
Virtuoso-users mailing list
[email protected]
<mailto:[email protected]>
https://lists.sourceforge.net/lists/listinfo/virtuoso-users
--
Dipl. Inf. Sebastian Hellmann
Department of Computer Science, University of Leipzig
Homepage:http://bis.informatik.uni-leipzig.de/SebastianHellmann
Research Group:http://aksw.org
--
Dipl. Inf. Sebastian Hellmann
Department of Computer Science, University of Leipzig
Homepage: http://bis.informatik.uni-leipzig.de/SebastianHellmann
Research Group: http://aksw.org