Sorry Sebastian. I was wrong about scopes. Generally looks like a bug.
2010/3/23 Sebastian Hellmann <[email protected]>
> 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/Airline>,
> <http://dbpedia.org/ontology/Band> <http://dbpedia.org/ontology/Band>) ).
> FILTER ( ?expanded1 IN (
> <http://dbpedia.org/ontology/Album><http://dbpedia.org/ontology/Album>,
> <http://dbpedia.org/ontology/Book> <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><http://dbpedia.org/ontology/Airline>)
> ).
> FILTER ( ?expanded1 IN (
> <http://dbpedia.org/ontology/Album><http://dbpedia.org/ontology/Album>,
> <http://dbpedia.org/ontology/Book> <http://dbpedia.org/ontology/Book>) ).
>
> or:
>
> FILTER ( ?expanded0 IN (
> <http://dbpedia.org/ontology/Airline><http://dbpedia.org/ontology/Airline>,
> <http://dbpedia.org/ontology/Band> <http://dbpedia.org/ontology/Band>) ).
> FILTER ( ?expanded1 IN (
> <http://dbpedia.org/ontology/Album><http://dbpedia.org/ontology/Album>)
> ).
>
> both work.
> Regards,
> Sebastian
>
>
>
> Regards,
> Alexander
>
> 2010/3/23 Sebastian Hellmann <[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/Airline>,
>> <http://dbpedia.org/ontology/Band> <http://dbpedia.org/ontology/Band>) ).
>>
>> FILTER ( ?expanded1 IN (
>> <http://dbpedia.org/ontology/Album><http://dbpedia.org/ontology/Album>,
>> <http://dbpedia.org/ontology/Book> <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/Airline>,
>> <http://dbpedia.org/ontology/Band> <http://dbpedia.org/ontology/Band>) ).
>>
>> } UNION {
>> ?subject a ?expanded1 .
>> FILTER ( ?expanded1 IN (
>> <http://dbpedia.org/ontology/Album><http://dbpedia.org/ontology/Album>,
>> <http://dbpedia.org/ontology/Book> <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]>
>>
>>> 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
>> [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
>
>