Hello Rob,

thank you for explaining the details.

Will obviously need to think of some other approach then…

Regards,

Bardo


On 18.05.17 15.44 Uhr, Rob Vesse wrote:
A variable in SPARQL is only ever bound to a single value. So the set of 
results as a whole will be the totality of the collection but an individual row 
in those results is a single item of that collection.

  So essentially your construct clause create a new collection for each element 
of the list which is clearly not what you want.

  In the context of a construct query you can only reconstruct a collection if 
you are able to structure your where clause such that you selected the entire 
collection as a single row and then provided a construct template  to export 
it. Your use case may be better served with a describe query e.g.

DESCRIBE <http://resources.semaworx.eu/activity/user/BNNuserPAR>

Rob

On 18/05/2017 14:15, "Bardo Nelgen" <[email protected]> 
wrote:

Hi Lorenz, thanks for the clarification – but isn’t the Collection as a whole meant
     to be the query result, rather than its various elements !??
Best, Bardo On 18.05.17 13.45 Uhr, Lorenz Buehmann wrote:
     > Because in SPARQL there is always only a single resource bound to a
     > variable, in your case ?member and not the whole list
     >
     >
     > On 18.05.2017 12:18, Bardo Nelgen wrote:
     >> Hi all,
     >>
     >> why does the CONSTRUCT SPARQL of
     >>
     >>> PREFIX rdf:<http://www.w3.org/1999/02/22-rdf-syntax-ns#>
     >>> PREFIX xsd:<http://www.w3.org/2001/XMLSchema#>
     >>> PREFIX as:<https://www.w3.org/ns/activitystreams#>
     >>> PREFIX list: <http://jena.hpl.hp.com/ARQ/list#>
     >>>
     >>> CONSTRUCT {<http://resources.semaworx.eu/activity/user/BNNuserPAR>
     >>>   as:items    ( ?members )    .}
     >>>
     >>> WHERE{<http://resources.semaworx.eu/activity/user/BNNuserPAR>
     >>>   as:items [ list:member ?members ]    .}
     >> produce
     >>
     >>>    <rdf:Description
     >>> rdf:about="http://resources.semaworx.eu/activity/user/BNNuserPAR";>
     >>>      <as:items rdf:parseType="Collection">
     >>>        <rdf:Description
     >>> 
rdf:about="http://resources.semaworx.eu/activity/user/BNNuserPAR/SHA512UIDdateUID004"/>
     >>>      </as:items>
     >>>      <as:items rdf:parseType="Collection">
     >>>        <rdf:Description
     >>> 
rdf:about="http://resources.semaworx.eu/activity/user/BNNuserPAR/SHA512UIDdateUID003"/>
     >>>      </as:items>
     >>>      <as:items rdf:parseType="Collection">
     >>>        <rdf:Description
     >>> 
rdf:about="http://resources.semaworx.eu/activity/user/BNNuserPAR/SHA512UIDdateUID002"/>
     >>>      </as:items>
     >>>      <as:items rdf:parseType="Collection">
     >>>        <rdf:Description
     >>> 
rdf:about="http://resources.semaworx.eu/activity/user/BNNuserPAR/SHA512UIDdateUID001"/>
     >>>      </as:items>
     >>>    </rdf:Description>
     >> rather than
     >>
     >>>    <rdf:Description
     >>> rdf:about="http://resources.semaworx.eu/activity/user/BNNuserPAR";>
     >>>      <as:items rdf:parseType="Collection">
     >>>        <rdf:Description
     >>> 
rdf:about="http://resources.semaworx.eu/activity/user/BNNuserPAR/SHA512UIDdateUID004"/>
     >>>        <rdf:Description
     >>> 
rdf:about="http://resources.semaworx.eu/activity/user/BNNuserPAR/SHA512UIDdateUID003"/>
     >>>        <rdf:Description
     >>> 
rdf:about="http://resources.semaworx.eu/activity/user/BNNuserPAR/SHA512UIDdateUID002"/>
     >>>        <rdf:Description
     >>> 
rdf:about="http://resources.semaworx.eu/activity/user/BNNuserPAR/SHA512UIDdateUID001"/>
     >>>      </as:items>
     >>>    </rdf:Description>
     >> ??
     >>
     >> It’s obviously not the same and caused by the iteration over the query
     >> results.
     >>
     >> But how could I prevent it from happening without having to create a
     >> separate query for the construction ?
     >>
     >> As always, input and references are highly appreciated.
     >>
     >> Regards,
     >>
     >> Bardo
     >>
     >>
     >





Reply via email to