Could this work (II)?

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