- From: Sebastian S. <cognescent@gmail.com>
- Date: Wed, 3 Oct 2012 18:13:02 -0300
- To: semantic-web@w3.org, topicmapmail@infoloom.com, pragmaticweb@lists.spline.inf.fu-berlin.de
- Message-ID: <CAFnmbpXSg5Tpnh+=gRxqhwjz0O1CzvVv=EJxxws7xgEqxD94sg@mail.gmail.com>
Hi there! Regarding one last post I try to continue with the subject: At first my attempt was try to build a business application up from 'semantic' components. The first approach was to try to build an application, layered as usual in, for example, Java business applications, maybe being the more significant difference in using a semantic (Apache Jena) back-end. Then I've tried many ways of composing my 'POJOs' (Plain Old Java Objects) from the back-end and came to what could be regarded as a Object Semantic Mapping, doing the mapping manually but leaving the door open to more automation. Then the POJOs where exposed as REST entities (using Jersey) with some sort of serialization to XML and then a minimal MVC facade over these resources. All this leave thinking: what could be the real benefits of embracing semantics at the business application level? The first two answers that seemed obvious to me where: data is 'activated' and knowledge is 'augmented'. Of course. I mean, in a context, some data item, regarded as some kind of data is available to a set of operations that 'activate' it. And in a given context, knowledge is augmented with relationships established with previous, maybe other's, knowledge. Fine, I could try to embed this in POJOs and a set of RESTful web services. But I still thinking, what are the "real" benefits. At a glance, and inspired by some of my last readings ( http://www.artima.com/shop/monadic_design_patterns) there could be a chance that, properly used, semantics and some sort of functional programming techniques enables what is already known as DDD (Domain Driven Development). There, for example, an entire business application can be built from the model up and let the framework handle the remaining parts. This is a field in which I'm really interested, not only because I like the idea of writing less code... but I also like the integration and interoperability that such attempt may provide because of a common underlying (meta) model. Despite all of this I'm still wondering what makes a Semantic Web application Semantic? Far from the promise of making an intelligent / smart web, I'm looking at what are the implications today of an application really leveraging this paradigm? One example from one domain where OWL (Web Ontology Language) is heavily applied tells the way in which I could encode my data, using my schema as a source, and you or a third party will understand them seamlessly by means of upper ontologies or mappings, which are a sort of way of telling we are talking about the same thing in, for example, a RFQ (Request For Quotation). For this approach to work, I've found that clients (users behind a browser), agents (software acting on behalf of) and servers should be regarded as the same thing in a P2P (Peer to Peer) approach or fashion. In this way, the notion of two parties trying to understand each other may gain more significance. Maybe I'm trying to talk to a travel agency (profiled as) peer and, in such a dialog, some sort of ontology 'alignment' may occur. Then, when we all know we are talking about the same, one could ask the other for what it can provide. The first resemblance to what is today know as a web application I've found is that links are 'smart' and also forms too (dummy example: form 'populating' itself). This is fundamental: I (as a peer) am using some kind of semantic browser, running in my desktop or as a service other provides. My browser instance is the instance of the knowledge I handle. I could also 'profile' myself as something. Profiling are the means of a peer to advertise itself as something. This 'advertisement' is what search engines could 'index', semantically along with meta-data and descriptions. Given the situation of profiles being shared each other between peers, chances are that understanding and dialogging with new peers gets easier. Some profile could be 'travel agency'. Some other profile could be 'health insurance', 'social individual', etc. Alignment may occur if, on behalf of some ontology, one builds up some sort of concept lattice (http://en.wikipedia.org/wiki/FCA) and then, in our dialog between peers some concept happens to be more or least defined regarding each other's knowledge and we start exchange of 'meaning' till we get 'equals' regarding some identifier. Maybe some sort of heavy hashing must be done for this to work, and this 'hashing' has to be neutral regarding terms in a given language. Then, given concepts (monadic predicates) and individuals (roles), the functions (applications) of what holds for or can be applied to may be exchanged without regard to names or identifiers because they are anonymous (http://www.stephanboyer.com/post/9) and based only in the structure of their arguments and not their names. Regards, Sebastian. http://www.cognescent.com
Received on Wednesday, 3 October 2012 21:15:51 UTC