xsi:anyURI.
There are +ve and -ve sides to adding a new XML element.
At the moment, all of the node types share the same XML structure.
If we don't define a new XML element for the link target, we can acheive the same
behaviour by defining a specific link target property.
On the other hand, in theory all LinkNodes should have a target (even if it is null),
and explicitly defining this as an xsi:anyURI element may be useful.
Open to discussion on this one.
DataNode.
The service stores the data as a zip file, but has the capability of looking inside the
it and representing the contents as a tree of nodes.
There may be other use cases dealing with how we represent database tables.
I haven't fully explored these yet, but I would rather not exclude them at this stage.
.... more to think about here ....
The more that I look at this, case for an explicit ContainerNode is less clear than it is for LinkNode.
In many cases, (zip files and database tables in particular) the distinction between DataNode and ContainerNode
is more than a little fuzzy.
vos://null idenifier does not scale to handle a system with a hierarchical directory structure.
At the moment, there is no facility request an autogenerated name in a specific directory.
In addition, it is not clear to end users what 'null' means.
I would suggest we replace this with a reserved node name .auto, which can be used in any directory.
So
vos://service/frog/toad/.auto
would mean create an auto generated name in
vos://service/frog/toad/
If a client sent the following to CreateNode or one of the data import methods :
<node uri="vos://service/frog/toad/.auto">
....
</node>
The service would generate a new name for the node and respond with something like this :
<node uri="vos://service/frog/toad/5178-AF20">
....
</node>
accepts and provides elements from DataNodeType to NodeType.
There are several reasons for this, but primarily because I would want to be able to provide different views of
other types of nodes.
I don't want to re-open the discussion about views and formats, that will have to wait until later.
At this stage, all I would like to do is allow a service to provide accepts and provides lists for any type of
node, not just DataNode.
accepts and provides lists for a ContainerNode is to provide
support for transferring the entire contents of a directory in a single transaction.
The best way to do this would be to offer zip or gzip views of a ContainerNode.
Moving the files one at a time is fragile if the data transfer fails part way through the process
the system could end up with some files transferred and some not.
Moving the entire set as a single zip or gzip file either transfers everything, or none, making the
transfer more reliable.
As far as the user is concerned, the individual files and tree structure appears to move from one
service to another, with the sending and receiving services packing and unpacking the
individual files in the background.
This would also be useful for creating a backup of a section of a VOSpace tree as a zip file with
the node metadata supplied in an additional metadata file.
Much like a Java jar file extends zip, but adds Java specific metadata in the META-INF directory.
provides list of views.
These 'semantic' views would apply to all types of node, including LinkNode and ContainerNode.
accepts and provides elements from DataNodeType up to NodeType.
-- DaveMorris - 18 Apr 2007![]() |
Click here for the AstroGrid Service Web |
This is the AstroGrid Development Wiki |
|