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&#174; 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

Reply via email to