[x3d-public] Open Asset Import Library download | SourceForge.net

doug sanden highaspirations at hotmail.com
Wed May 27 09:29:05 PDT 2015


OK thanks again John, I got all that, I'll save it for when I do a project, thanks very much.
-Doug
> John Carlson, on web3d public
>> John, 
>> I'm not a database guru, but I've always wondered:
>> Q1. how is x3d -or xml, or any branchy tree data- stored in a database?
>> -- a) an entire scene as a blob?
> Generally in Oracle it's stored as an xml type so you can do XPath in sql.  I don't know implementation details.  I suspect serialized DOM to blob however.
>> -- b) each node type in a separate table, with columns representing fields (about 256 node types->256+ tables?)
> Try to come up with a SQL query to output XML and you will see why other means are chosen.
>> -- c) few more general tables like nodes, scalar fields, MF fields, parentNode+field/child, parentMFField+index/child
> We did something like this with HDF5.  Essentially you create tables around the document and then use ETL to populate the tables.
>> - is there a way to generate a table layout automatically using XSLT for x3d?
> I'm not sure why you would want to when you can use NoSQL.  No tables necessary.
>> Q2. how is the parser/loader generator related to ETL? (I see ETL often, I think it means extract, transform, load)
> ETL breaks up documents into relational form.
> Generally branchy trees are stored in the database as JSON these days I'd say.  But I only have experience with CouchDB and MongoDB.
> And it should be fairly simple to come up with an array table, an object table and an attribute table.  Querying is going to be a bear unless views are used though.
> Realize that arrays are objects too (with integer attribute names).  That reduces it to object and attribute tables.  
> And probably anything can be stored with (objectId, attributeName, attributeValue) tuples.  I might add revision to that.
> Oracle has a way of querying hierarchical tables...CONNECT something.
> It looks like the SQL equivalent to Oracle's CONNECT BY is WITH.
> the other thing you do with HDF5 is extract images to a file system, then store the filename in the database.
> Last version of HDF5 I used only did single threaded access to the file in Java.  That was one main reason why we did ETL.
> https://www.hdfgroup.org/HDF5/
> 



________________________________
> Date: Wed, 27 May 2015 11:23:06 -0500 
> Subject: Re: [x3d-public] Open Asset Import Library download |  
> SourceForge.net 
> From: yottzumm at gmail.com 
> To: highaspirations at hotmail.com 
>  
>  
> And probably anything can be stored with (objectId, attributeName,  
> attributeValue) tuples.  I might add revision to that. 
>  
> On May 27, 2015 11:17 AM, "John Carlson"  
> <yottzumm at gmail.com<mailto:yottzumm at gmail.com>> wrote: 
>  
> It looks like the SQL equivalent to Oracle's CONNECT BY is WITH. 
>  
> On May 27, 2015 11:10 AM, "John Carlson"  
> <yottzumm at gmail.com<mailto:yottzumm at gmail.com>> wrote: 
>  
> Realize that arrays are objects too (with integer attribute names).   
> That reduces it to object and attribute tables.  Oracle has a way of  
> querying hierarchical tables...CONNECT something. 
>  
> On May 27, 2015 11:02 AM, "John Carlson"  
> <yottzumm at gmail.com<mailto:yottzumm at gmail.com>> wrote: 
>  
> On May 27, 2015 10:36 AM, "John Carlson"  
> <yottzumm at gmail.com<mailto:yottzumm at gmail.com>> wrote: 
>  
> > Generally branchy trees are stored in the database as JSON these days  
> I'd say.  But I only have experience with CouchDB and MongoDB. 
>  
> And it should be fairly simple to come up with an array table, an  
> object table and an attribute table.  Querying is going to be a bear  
> unless views are used though. 
 		 	   		  


More information about the x3d-public mailing list