Re: [bdbxml] xmldb like collections?

George Feinberg <[email protected]>
Newsgroups gmane.comp.db.dbxml.general
Message-ID <[email protected]>
>> There is no "query all known/open containers" concept.  That would  
>> have
>> to be built into the implementation of the XML:DB API.
>> You could either rewrite the query to include hard-coded paths, or
>> write it to use a variable for the collection/container name, and
>> put a loop into the query.
>>
>
> Either way it sounds like a fairly complex customization. Currently  
> we are evaluating xmldb's for their capability before selecting  
> one, this is something I would add to my list of trade offs from  
> the other xmldb's we've been looking at.
>
> Currently, express this trade off list as
>
> 1.) useful standard API's.
>
> eXist and Xindice:
> xmldb, webdav, xml-rpc, REST
>
> bdbxml:
> xml-rpc, bdbxml api
>
> 2.) database performance:
>
> eXist and Xindice:
> poor scalability in terms of document size.
>
> bdbxml:
> better scalability in terms of document size.
>
> 3.) Contextual XQuerying and Collection Hierarchy.
>
> eXist:
> good capability within db for collection context based XQuerying.
>
> Xindice:
> good capability in contextual querying across collections and  
> multiple databases.
>
> bdbxml:
> no concept of Collection Hierarchy


This is a purposeful decision.  Because BDB XML is intended to be  
tightly
coupled with an application (it is not a server), the notion of  
namespace
is left flexible, so that the application can choose one that best fits
its needs.  The implementation of XQuery required that *some* minimal
namespace support exist, in order to implement fn:collection() and  
fn:doc()
in the specification.  That is all that's provided.  In addition, BDB  
XML allows
the application to entirely take over that namespace, via the  
XmlResolver
interface.

The XML:DB API, as near as I can tell, does not specify the
scope of a query, other than collection.

>
>
>> You mentioned in an earlier message this:
>>
>>> This is much different than in xmldb, the concept of collection  
>>> is  within the database instance itself, there is 1 to many   
>>> relationship between the db instance and its collections in xmldb.
>>>
>>> The challenge I see in equating containers to collections is  
>>> that  in xmldb an index spans all collections in a db. In bdbxml,  
>>> it  doesn't seem you could have an index that spans containers.
>>>
>
> I would add to this that Xindice and eXist handle the  
> implementation of xmldb slightly differently. Currently eXist works  
> solely on "1 - many" relationship between a Database and its  
> Collections, while Xindice actually supports a "Many - Many"  
> relationship where the API can access multiple db instances on  
> different url paths while working with many collections in each db.

Such variation is why the XML:DB API does not actually specify  
behavior to that
detail.

>
>> Can you please provide an API reference for Indexes and their  
>> scope,  as well as query scope in the
>> XML:DB interface?
>>
>
> In eXist here is a javadoc reference to the xmldb API Database and  
> Collections API.
>
> http://exist.sourceforge.net/api/org/xmldb/api/base/Database.html
> http://exist.sourceforge.net/api/org/xmldb/api/base/Collection.html

Here is the public xmldb API:
     http://xmldb-org.sourceforge.net/xapi/xapi-draft.html
I can't find anything indicating cross-collection querying
as a feature.

>
> Note: eXist is currently considering working on an new version of  
> the xmldb API to accomplish some improvements. Now appears to be  
> the time to coordinate with other groups/companies to adapt this  
> API to Real World cases.

If that were done, it'd be good to get some collaborative effort going.

Regards,

George



------------------------------------------
To remove yourself from this list, send an
email to [email protected]
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.