Hi there! Regarding one last post I try to continue with the subject:<br>
<br>
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.<br>
<br>
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.<br>
<br>
At a glance, and inspired
 by some of my last readings 
(<a href="http://www.artima.com/shop/monadic_design_patterns">http://www.artima.com/shop/monadic_design_patterns</a>) 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.<br>
<br>
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).<br>
<br>
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.<br>
<br>
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.<br>
<br>
Alignment may occur if, on behalf of some 
ontology, one builds up some sort of concept lattice 
(<a href="http://en.wikipedia.org/wiki/FCA">http://en.wikipedia.org/wiki/FCA</a>) 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 
(<a href="http://www.stephanboyer.com/post/9">http://www.stephanboyer.com/post/9</a>) and based only in the structure of 
their arguments and not their names.<br>
<br>
Regards,<br>
Sebastian.<br>
<a href="http://www.cognescent.com">http://www.cognescent.com</a><br>
<br>