[X3D-Public] capability-enabled distributed spatial systems

John Carlson john.carlson3 at sbcglobal.net
Tue Apr 21 22:31:55 PDT 2009

I would rather focus on the network protocol rather than relational  
versus object oriented (in other words, forget I said database).
I think some typical things you might do in a SQL sense is:

INSERT an OBJECT2 into a OBJECT1 (say a scene)
UPDATE position of OBJECT1, possibly relative to some other OBJECT2
UPDATE the attribute ATTRIBUTE1 of and OBJECT1 with a value
SELECT named OBJECTs contained in an OBJECT1
SELECT_COPY of named OBJECTs contained in an Object1

If you would prefer that I do something like:
Object-Oriented										HTTP
------------------------------------------------------------                       --------
Object1.INSERT(Object2)								PUT
Object1.UPDATE(Position1, Object2)					POST
Object1.UPDATE(Attribute1, value)						POST
List<Object> objects = Object1.SELECT(URI)                      GET
Object1.DELETE(Object2)								DELETE	

I would think that these would be equivalent mechanisms

I don't really see much difference between this and a limited subset  
of SQL.  I assume that the SQL would be limited in such a scenario, to  
SQL with bind parameters, signed so that the server could verify that  
it signed it.  The bind parameters (objects represented a lot of swiss  
numbers or references) would be provide by the server as the result of  
querying an initial seed passed through some other mechanism  
(introduction), similar to how initial web keys are provided today.

If you don't like reduced SQL, OO, or HTTP, I will now give it to you  
in terms of a UNIX shell commands for dealing with files:

INSERT	     mkdir folder;  > file; touch file (create)
UPDATE     touch file (update attribute); >> file; cd folder (updates  
current working directory)
SELECT      ls *;ls file; < file; cat file
DELETE	     rm *, rm file, rmdir folder

When I say SQL, I mean CRUD (create, read, update, delete).

I think the thing I am trying to promote is the READABILITY of SQL  
(but not too complex please).  I understand there may be more typing  
involved.  Heaven forbid, I am  not promoting relational thinking (I  
don't think that way!)

Is there some patent which prevents us from using SQL for networked 3D  
graphics (yes, I've seen the patent for producing 2D plots from SQL)?

Note that I am thinking about a distributed system, so complaints from  
that point of view would be welcome!  I understand the attraction of s- 
expressions and XML for networking.  I would like to support undo/redo/ 
commit/rollback for spatial graphics over the network, thus the  
document model is somewhat obtuse.  Note that a select from one point  
of view is a series of inserts or updates from another point of view.

Where has Java encapsulation gone?  I guess UPDATE above is close to  
Java's setter and getters today.

If some knows another mailing list for discussing aspects of  
distributed spatial systems, point me in that direction.  x3d-public  
seems to be stuck in the document model--I'm looking for undo/redo/ 
rollback/commit for non-relational, non-document oriented, yet  
declarative (statement oriented) distributed spatial systems.   
Essentially 3D worlds which are inherently editable (undo/redo-- 
reverseable physics), shareable, etc.

And I have an iMac w/ just Virtual Box.  There is potential that I  
could use BootCamp, but I'm not interested in viruses.

Someone's probably going to point me at AutoCAD or Pro/E.  I would  
like something that everyone can use.

Yes, I know about Second Life.  Last time I tried that, I was stuck in  
a single sector.  I'm looking for the command line in Open Croquet  
(pehaps I haven't looked hard enough for a scratchpad.

On Apr 21, 2009, at 6:18 PM, Kevin Reid wrote:

> On Apr 21, 2009, at 12:22, Kevin Reid wrote:
>> On Apr 21, 2009, at 11:41, John Carlson wrote:
>>> Would a typical spatial extension of SQL w/ SSL/TLS/PKI qualify to
>>> be a capability protocol, if it used swiss numbers for point,
>>> polygon, object, collection and class information and you couldn't
>>> manipulate the database (CRUD) without using a swiss number
>>> (specifying a single thing)?
>> Would whoever it was from 2009-04-17's friam discussion that said  
>> that
>> capabilites and (relational?) databases have useful but  
>> irreconcilable
>> properties please expand upon it in this context?
> Chip Morningstar writes:
>> I think that was me.  I wasn't speaking to the irreconcilability
>> between
>> capabilities and relational DBs, so much as between the object
>> oriented view of
>> the world and the relational database view of the world, though
>> capabilities
>> and the OOP world are closely linked in my thinking.
>> The basic issue is that good OOP practice (especially when viewed
>> from a
>> capability mindset) relies heavily on strong encapsulation, while the
>> relational approach rejects encapsulation utterly.
>> A good summary of the issues is
>> http://en.wikipedia.org/wiki/Object-relational_impedance_mismatch
>> Chip
> -- 
> Kevin Reid                            <http://homepage.mac.com/ 
> kpreid/>
> _______________________________________________
> cap-talk mailing list
> cap-talk at mail.eros-os.org
> http://www.eros-os.org/mailman/listinfo/cap-talk

More information about the X3D-Public mailing list