Thank you again Brian.
>>Essentially you are doing two queries anyway, if this works.  Why does it
matter if you two queries or one?  Or is this an academic exercise?
No, I am just newbie lol..I learn how to do stuff for our team. I had a
speed performance issues, till I figured, that the order of statements in
query can have critical impact on speed.

Sincerely
Jan


2011/10/21 Brian McBride <[email protected]>

>
>
> On 20/10/2011 14:31, Ján Mojžiš wrote:
>
>> thanx very much Brian!
>> I figured it out.
>>
> Excellent.
>
>  If you could tell me whether it is possible to get COUNT also.
>>
> Yes - see 
> http://www.w3.org/TR/sparql11-**query/#aggregates<http://www.w3.org/TR/sparql11-query/#aggregates>
>
>
>   I mean, in
>> one query with SELECT something.
>> It doesnt need to be this query, just imaginary query, SELECT something,
>> and
>> get the count. I want to use it in conjunction with LIMIT. LIMIT to 10 for
>> instance and get the remaining COUNT (those that were not selected).
>>
> I don't know how to do that or if you can do that.  You may need two
> queries - one to get the first 10 results,
> and another  to count the total number of results if there are 10 or more.
>
> Hmm - maybe you could express it with two subselects:
>
> SELECT ?some ?all
> WHERE {
>    # count all the results
>    SELECT COUNT(?all) AS ?totalCount
>    WHERE {
>       # select the things you wish to count as ?all
>    }
>
>    # get the first 10
>    SELECT ?some {
>        WHERE {
>            # select the things you wish to count as ?some
>         } limit 10
> }
>
> Essentially you are doing two queries anyway, if this works.  Why does it
> matter if you two queries or one?  Or is this an academic exercise?
> Brian
>
>  Would like to help, I am thankful.
>> Jan
>>
>> 2011/10/20 Brian McBride<[email protected]>
>>
>>  So your query is:
>>>
>>> [[
>>>
>>>
>>> SELECT ?name ?title
>>>  {
>>>    ?s dc:title ?title.
>>>    ?o foaf:name ?name.
>>>    ?o foaf:name "Donald D. Chamberlin"
>>>  }
>>> LIMIT 5
>>>
>>> ]]
>>>
>>> That doesn't do what you think it does, because it does relate ?o to ?s.
>>> ?o
>>> can be anything with a foaf:name property of "Donald D. Chamberlin" and
>>> ?name will return all the values for the foaf:name property for that
>>> resource - there is only one - "Donald D. Chamberlin".
>>>
>>> What you need to do is get a query that will return the other authors of
>>> the publication, e.g.
>>>
>>> SELECT ?coauthorName ?title
>>> WHERE {
>>> ?author foaf:name "Donald D. Chamberlin" . # put first as its most
>>> restrictive
>>> ?publication<editor>  ?author . # now select all the publications with
>>> that
>>> author as editor
>>> # you didn't provide a namespace for the editor property
>>> ?title dc:title ?title # get the title of the publication
>>> ?publication<editor>  ?coauthor . # now find all the authors of that
>>> publication
>>> FILTER (?coauthor != ?author) # eliminate the original author specified
>>> ?coauthor foaf:name ?coauthorName # get the name of the coauthor
>>>
>>> # done
>>>
>>> }
>>>
>>> On 20/10/2011 11:41, Ján Mojžiš wrote:
>>>
>>>  Hi there,
>>>> I have a following-type records:
>>>>
>>>> <rdf:Description
>>>> rdf:about="http://www.w3.org/****TR/xquery<http://www.w3.org/**TR/xquery>
>>>> <http://www.w3.org/**TR/xquery <http://www.w3.org/TR/xquery>>
>>>> "><dc:identifier>www/**org/w3/**TR/xquery</dc:**
>>>> identifier><dc:date>2002-01-****03</dc:date><rdf:type
>>>> rdf:resource="http://sw.deri.****org/~aharth/2004/07/dblp/**
>>>> dblp.**owl#Www<http://sw.deri.**org/%7Eaharth/2004/07/dblp/**
>>>> dblp.owl#Www <http://sw.deri.org/%7Eaharth/2004/07/dblp/dblp.owl#Www>>
>>>> "/>
>>>> <editor><foaf:Person rdf:nodeID="DonaldDChamberlin"**
>>>> **><foaf:name>Donald
>>>> D.
>>>> Chamberlin</foaf:name></foaf:****Person></editor>
>>>> <editor><foaf:Person rdf:nodeID="DanielaFlorescu"><**
>>>> **foaf:name>Daniela
>>>> Florescu</foaf:name></foaf:****Person></editor>
>>>> <editor><foaf:Person rdf:nodeID="JonathanRobie"><****foaf:name>Jonathan
>>>> Robie</foaf:name></foaf:****Person></editor>
>>>> <editor><foaf:Person
>>>> rdf:nodeID="J&#xE9;r&#xF4;****meSim&#xE9;on"><foaf:name>J&#***
>>>> *xE9;r&#xF4;me
>>>> Sim&#xE9;on</foaf:name></foaf:****Person></editor>
>>>> <editor><foaf:Person rdf:nodeID="MugurStefanescu"><****foaf:name>Mugur
>>>> Stefanescu</foaf:name></foaf:****Person></editor>
>>>> <dc:title rdf:parseType="Literal">****XQuery: A Query Language for
>>>>
>>>> XML</dc:title>
>>>> <year>2001</year>
>>>>
>>>> They are books or publications, where each one can have multiple authors
>>>> (co-authors).
>>>>
>>>> First I search books based on foaf:person - one author. To get his
>>>> publications. My working query is:
>>>>
>>>> PREFIX foaf:<http://xmlns.com/foaf/0.****1/<http://xmlns.com/foaf/0.**1/>
>>>> <http://xmlns.com/foaf/0.**1/ <http://xmlns.com/foaf/0.1/>>>
>>>> PREFIX 
>>>> rdf:<http://www.w3.org/1999/****02/22-rdf-syntax-ns#<http://www.w3.org/1999/**02/22-rdf-syntax-ns#>
>>>> <http://**www.w3.org/1999/02/22-rdf-**syntax-ns#<http://www.w3.org/1999/02/22-rdf-syntax-ns#>
>>>> >>
>>>>     #type
>>>> PREFIX 
>>>> dc:<http://purl.org/dc/****elements/1.1/<http://purl.org/dc/**elements/1.1/>
>>>> <http://purl.org/**dc/elements/1.1/ <http://purl.org/dc/elements/1.1/>
>>>> >>
>>>>
>>>>      # identifier, date,
>>>> creator, title
>>>> SELECT ?name ?title
>>>>  {
>>>>     ?s dc:title ?title.
>>>>     ?o foaf:name ?name.
>>>>     ?o foaf:name "Donald D. Chamberlin"
>>>>  }
>>>> LIMIT 5
>>>>
>>>> It returns
>>>> ------------------------------****----------------------------**--**
>>>> ------------------------------****------------
>>>> | name                   |
>>>> title
>>>> ==============================****============================**==**
>>>> ==============================****============
>>>>
>>>> | "Donald D. Chamberlin" | "PRPL: A Database Workload Specification
>>>> Language, v1.3."^^rdf:XMLLiteral
>>>> | "Donald D. Chamberlin" | "Efficient View Maintenance at Data
>>>> Warehouses."^^rdf:XMLLiteral
>>>> | "Donald D. Chamberlin" | "Self-organizing
>>>> Map"^^rdf:XMLLiteral
>>>> | "Donald D. Chamberlin" | "Beowulf Project at
>>>> CESDIS"^^rdf:XMLLiteral
>>>> | "Donald D. Chamberlin" | "The MPEG Home
>>>> Page"^^rdf:XMLLiteral
>>>> ------------------------------****----------------------------**--**
>>>> ------------------------------****------------
>>>>
>>>>
>>>> But also I want co-authors of each found match! NOW how to get
>>>> co-authors?
>>>> I
>>>> have spent many hours trying to get co-authors in single query, with no
>>>> success.
>>>> Please be so kind to help.
>>>>
>>>> Many thanks
>>>> Jan
>>>>
>>>>
>>>>

Reply via email to