> So the idea is for some uses it has to look like a "normal" database app > with records etc and templates for common entities and the relationships > between them. (eg creating a new "Person" from a template would create a > single "Name" Entity with a list of common child entities, eg URL, > Address, DOB etc). Interestingly, even the templates are entities, and > could be managed the same way as normal entities, but as children of > Entity "Templates" :). Further, Templates could be further related with an > "Inherits" relationship so that "Corporation" would inherit from "Person" > but add some extra fields. :) I guess that what you are proposing is that we should have basically a relational database in the last stage of orthogonalization (if I remember well how this term goes) where you have only one field/ table + tables which contain exclusively pointers. Of course, there is always a possibility to make a query on something like this an extract a normal table. > I also had some ideas about the design. To simplify implementation, an > Entity should not store information about its children or associations > itself, but in a separate Relationship Manager, which can be queried to > return relationships for particular objects or search queries (eg: "all > nodes related to "KDE Project" and "Graphics"). This will sort out some > object ownership issues, I think, and make it easier to edit > relationships. Plus it will be easier to store the information in > configurable backends like an SQL server when the size of the knowledge > base becomes large. Well, the way I designed this thing is that I am using a data source object which is queried using simple locate and select-like things. Right now I am subclassing it to something which saves/loads in binary and stores things in the memory, but later you can make an ODBC access child. This data is queried to a dataview, which then is displayed as a graph form. But you are right, we can create different, more traditional views - for example using the forms in the Katabase stuff. Another thing would be if I am draggging let's say a person there to create automatically the nodes for address etc. Sincerely speaking, I was thinking of something more simple... But let's see what develops. Lotzi