[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Fwd: OODB query interface



Hi all,

Carl has started a new initiative for the creation of a new, OODBMS query
interface. Find his roundmail in the attachment.

People, a query language is something that many of you have asked for. Carls
approach is very interesting. It conbines advantages of a real object oriented
architecture and a descriptive query language like SQL. 

Carl is working on commercial (closed) software. However, the query interface
specification will be developed in a totally open manner. Carl, and maybe
others, will probably implement the specification in commercial software. But
if we decide to work on the specification, then we have the chance to make the
specification real ozone-friendly (in contrast to other specification like OQL
and JDO). And we will have the chance to provide the first and hopefully the
best implementation of the specification under an open source license.

So, if anybody is interested in such a cool thing, then jump in and help with
the specification and implementation.


Falko


----------  Forwarded Message  ----------
Subject: OODB query interface
Date: Fri, 4 Aug 2000 23:42:22 +0200
From: Carl.Rosenberger@t-online.de (Carl Rosenberger)


Falko from www.ozone-db.org and I have decided to work on a programming
language independant standard for a query interface to OODBs. It will be
based on the approach described in the attached HTML-file.

Our goals:
- promote OODBs
- a standard query interface, simple and worthwhile to implement in contrary
to JDO
- promote our own projects


The steps:
- find a name for the API
- mail all our peers and direct contacts, if they like to participate in the
first roundmail
- rough draft
- create a mailing list
- "Call for experts" crossposting in newsgroups
- mail all DB vendors
- mail to all magazines
- specification process
- publication of the standard as above

Mails to magazines, vendors and publication will include the names and
companies of all participants.

Would you be interested in participating?


Regards,

Carl Rosenberger
db4o - database for objects - http://www.db4o.com



-------------------------------------------------------



-- 
______________________________________________________________________
Falko Braeutigam                              mailto:falko@smb-tec.com
SMB GmbH                                        http://www.smb-tec.com

Title: query
design for a language independant query interface for OODBMS

Template
Query criteria are described by template objects.
Any PersistenceCapable object can be used as a template object.
All non null fields of a template object are used as query criteria.
Instantiated fields of the template also describe the depth of the desired
instantiation for retrieval.


Query
An unlimited number of template objects can be joined together to make up a
Query. 
This is done by calling
Query.and(PersistenceCapable templateObject)
or
Query.or(PersistenceCapable templateObject)

The order of adding denotes the order of evaluation.
An optional parameter describes the desired processing info for the newly
added template.
"==" is default.
Options: "!=", ">", "<", ">=", "<=", "orderby", "contains", "group", "sum",
average", "maximum", "minimum" ...and more

Two queries can be joined by
Query1.and(Query2)
or
Query1.or(Query2)

Query1.subQuery(Query2)
makes Query2 a subquery of Query1


Execute
Collection = PersistenceManager.execute(Query)
No additional parameters have to be supplied.

The shortcut version does not create a Query object: 
Collection = PersistenceManager.get(PersistenceCapable templateObject)


---