VOSpace questions

Brian Major major.brian at gmail.com
Thu May 14 21:21:58 CEST 2020


Hi Grégory,

It is exciting to hear about a new VOSpace implementation in the works.
I've added my thoughts to your questions below.

Cheers,
Brian

On Wed, May 6, 2020 at 6:30 AM Grégory Mantelet <
gregory.mantelet at astro.unistra.fr> wrote:

> * 1. About getNode and its parameter `detail=min`:*
>
>     The VOSpace document says:
>
> - min: the returned record for the node contains minimum detail
>           with all optional parts removed – the node type should be re-
>           turned
>
>     If I try to sum up: the "optional parts" are everything except
> <vos:nodes> in case of a ContainerNode. So, it means that apart from the
> node type (attribute xsi:type) a non-ContainerNode will be empty.
>
>     Is it correct?
>
>     If yes, there is a mistake in the example given in 6.3.1: the XML
> elements <vos:properties>, <vos:accepts>, <vos:provides> and
> <vos:capabilities> should not be returned. According to the XML schema they
> are optional.
>     Or are they optional only if empty?
>     Or because "SHALL" is used instead of "MAY" (in 3.1, page 13) it make
> them mandatory if not empty?
>

Yes, you are correct and the example is wrong.  I've created an issue for
it:

https://github.com/ivoa-std/VOSpace/issues

(This is the first issue for this standard.  If this is not the correct
procedure, TCG, please let us know.  If this is correct then the list of
items at
https://wiki.ivoa.net/twiki/bin/view/IVOA/VOSpaceHome#VOSpace_2_2_or_3_0 should
be added as issues at some point.)


> --------------
>
> *2. About getNode and its parameters `uri` and `offset`:*
>
>     The VOSpace document says:
>
> If a “uri” and “offset” are specified in the request then the returned list
> will consist of the subset of children which begins at the node matching
> the specified value of the “uri” parameter and with cardinality matching
> the
> specified value of the “offset” parameter drawn from an ordered sequence
> of all children. The ordering is determined by the server but results must
> always be drawn from the same ordered sequence.
>
>     When it is said "which begins at the node matching the specified value
> of the “uri” parameter",
>     does "begin" mean "the string begins" or "the returned sublist must
> starts with"?
>
>     For instance, in the given example:
>
>         http://server.example.com/vospace/nodes/mydir?detail=min&
> *uri=vos://example.com <http://example.com>!vospace/mydir/file3401 *
>     * Should the `uri` filter be interpreted as all files whose name
> begins with "file3401" in the directory "vos://example.com!vospace/mydir"?
>
>
> *(e.g. "file3401a", "file3401b", ...)         ** If yes, the example in
> 6.3.1. should be fixed.
>
>     * Or should it be the sublist of all children starting from the child
> "file3401"?
>       *(e.g. if the complete ordered list is [file3399, file3400,
> file3401, file3402, file3403], the returned list would be [file3401,
> file3402, file3403])*
>

It should be the sublist of all children (your second example.).  The uri
and offset parameters are giving clients a method to 'page' through a
potentially long list of child nodes.

It doesn't specify if detail=min applies to the child nodes, but I think
the example is correct in this case in that only the type is shown for the
DataNodes.  The same should be true for child ContainerNodes because a
getNode should only go 1 level deep.



>
>
> --------------
>
> *3. About getNode*
>
>     Using the same example as in the document, if I run the following
> request:
>
>         curl -v "http://server.example.com/vospace/nodes"
> <http://server.example.com/vospace/nodes>
>
>     Should it give me the list of all child nodes at the root of the
> VOSpace (as if the root is itself a ContainerNode)?
>
>     Sorry for the possibly stupid question, but it is just to be sure.
>

Yes, that's correct.  It's like / in a file system.


> --------------
>
> *4. About Properties, Capabilities and Views*
>
>      Properties, Capabilities and Views may have the following attributes:
>
>         - DisplayName
>         - Description
>         - UCD *(only for Properties)*
>         - Unit
> *(only for Properties) *        - MimeType
> *(only for Views) *
>     But none of these elements appear in the XML schema (and they appear
> in no example). The XML schema does not give enough flexibility to insert
> additional information like these.
>
>     So, we wonder how to represent them in the XML and where? How can they
> be discovered?
>     Have we missed something?
>

Right, there is clearly an inconsistency there.  We at the CADC have
implemented these endpoints according to the XSD, but they are not
particularly useful to us in our interaction with our VOSpace instances.

Hope this helps.  Cheers,

Brian
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.ivoa.net/pipermail/grid/attachments/20200514/5591e2bf/attachment.html>


More information about the grid mailing list