Re: Building a (semantic) application

Robert Cerny <[email protected]> Wed, 7 Sep 2011 08:53:26 +0200
Newsgroups gmane.text.xml.xtm.general
Message-ID <[email protected]>
Sebastian,

Sebastian wrote:

> Are there any examples / tutorials to build, for example, some application using
> a Semantic backend. Are there specific frameworks or patterns. Maybe I'm ignorant
> on how to achieve this because of my background with MVC applications with an
> ORM and traditional 'out of the box' frameworks.

With my product Topincs [1,2] you can create a web database by simply modeling the domain with Topic Maps Constraint Language (TMCL). A TMCL schema is a set of topic and statement types plus some constraints. I use the term web database instead of web application, because there are some differences, although the overall goal is the same: to allow a group of users access and manage their data and perform computations on it. A Topincs web database exposes the domain directly to the user by generating a web user interface. In this sense it is similar to the Naked Objects Java technology.

A Topincs web database also offeres a virtual domain specific API which is intended to be used in Topincs services (= some computation which takes some parameters (topics or values)) [3]. But this API can also be used in a traditional MVC application as the Model. In this sense Topincs would qualify as a semantic backend with the following advantages over the approach you mentioned:

* no need to implement the model classes, they are given once the domain is modeled and formal names are assigned [4]
* higher semantic flexibility, initially and during the lifetime of the application

> Think it should be relevant the fact of using a semantic backend instead a
> relational one in the way one develop the application. For example, I think,
> there should be some kind of "Semantic MVC".

I think, that the storage technology (RDBMS, Topic Maps, RDF) is irrelevant to MVC as long as it can be mapped to an object-oriented API.

Best regards

Robert Cerny

[1] http://www.cerny-online.com/topincs/
[2] <http://www.cerny-online.com/documents/Topincs%20-%20A%20software%20for%20rapid%20development%20of%20web%20databases.pdf>
[3] http://www.cerny-online.com/topincs/manual/programming
[4] http://www.cerny-online.com/topincs/manual/programming#virtual-interface