Page 1 of 1

Database ideas

Posted: Wed Sep 23, 2009 3:40 pm
by LoneBear
Topic maps are probably a good foundation to start development on, because it has both the abstraction layer and reification layer, allowing "topics" to be created at a conceptual level, associated with each other through the role/actor system, then actual resources, such as books, videos and articles to be applied to the specific topic.

Topic mapping also defines a concept known as "scope", which provides context for a topic. For example, if I mention "mercury", am I talking about the element, the planet, or the car? Scope provides context for similarly-named topics.

Topic maps suffice for providing a great index to the central information system, but I want to go beyond that to include the concepts of Knowledge Bases, where the database can be queried with "assertions" to get valid results--with a complete analysis of how the result was obtained. Assertions are just questions in a formal language. For example, if I assert that "blue is a color", it should be true. If I assert "pancake is a color"... well, it could be true or false, as someone may have invented a color known as "pancake"--hence the concept of "scope", or as they call it in Knowledge software, a "microtheory".

We are accustomed to living in a spatial, material reference system, so things like latitude and longitude are commonplace--it is easy to define spatial references in a database structure. But knowledge changes with time... just look at how many revisions I have made to Antiquatis in the last decade as I've learned new things! Information must also be framed in a temporal context--when the information was created, and when it has been superseded with newer ideas.

Granted, in this day and age people like to get stuck in a particular mode or pattern of thought, but that's NOT what Sanctuary is for--it is to pioneer new concepts and ideas, while retaining how we got there. Often, the journey is more important than the destination. Computers can track the history of "concepts" as we continue to evolve and develop. Build on the old, but never be afraid to evolve your ideas.

Also, the source of information is important to track, as one person's "truth" is another person's illusion. When assertions are made, you may or may not want to include certain sources in the analysis... in the previous example, if you excluded "artistic" sources, pancake would not be a color.

There is also one other aspect that needs consideration: that of the "metaphysical" realms, and how they influence information. We tend to define what our senses perceive, but that also tends to be an illusion. With my RS2 research, I found that there are multiple realms that directly influence human perception--what Dewey Larson calls "coordinate time", the reciprocal of space. In physics, these influences are acknowledged as "force fields", yet not understood. Fields act on a set of objects, or in a conceptual, "topic map" realm, act on a set of data defining behavioral characteristics--part of the concept behind a "microtheory."

Now, how do we bring all this together into a database structure that is compatible with existing technology? Still giving that some thought!

Re: Database ideas

Posted: Sun Sep 27, 2009 3:13 pm
by Tulan
I've been doing quite a bit of reading on constructing knowledge bases and formal ontologies using the RDF+OWL+SPARQL stack. Topic Maps can even be created using those vocabularies (and are not limited to the XTM or ISO Topic Map standards). There is a host of software/libraries existing that support that stack.

The most mature and scalable RDF graph database I've come across has been 4Store. There are also a number reasoners built for OWL.

I think the first step should be the creation of an Upper Ontology that defines the broader concepts for Antiquatis and RS/RS2 (Note: see the UMBEL project). From this foundation it would be easy to create discrete units of knowledge.

Coming up with a versioning system will be interesting (to track revisions over time), as the scope is quite a bit different from, say, Subversion. Conflict resolution will also be an interesting issue to tackle.

MySQL will serve well for the more typical application needs (users tables, session tables, etc...) but I think it falls short of serving as a strong backend for any knowledge-base applications (although I have seen some RDF stores built on top of MySQL, they only use the BLOB field though - a complete waste IMO).