Re: Enhancing object-oriented programming with OWL

Kjeltil,

I think SPARQL and XSLT based approach is not a dead end, but the way
to go :) And we've gone quite far on it already.

As I tried explaining to Timothy, XSLT or similar templating
technologies enable generic applications that are not possible using
the OO approach. That's the V in my MVC - where M is Jena and the
triplestore, and C is JAX-RS.

My generic take on building semantic (web) applications:
- define app ontology (think sitemap) that imports other if necessary
- add queries if necessary
- define layout template that imports default one if necessary
- on request
  - process custom code if necessary
  - match resource
  - bind parameters and execute query if necessary
  - bind parameters and execute transformation if necessary
  - write out the result into response

Successfully adopted in production webapps using Graphity.
Ping me for more information if interested :)

Martynas
graphity.org


On Tue, Sep 11, 2012 at 10:49 PM, Kjetil Kjernsmo <kjetil@kjernsmo.net> wrote:
> On Tuesday 11. September 2012 15.07.32 Timothy Armstrong wrote:
>> Well I'm glad people are talking to me, but I'm just surprised I'm
>> really not getting people to say much positive.
>
> I'll say something positive, then! :-) I think you're on to something very
> interesting and valuable, and something I've been thinking about for some
> time too.
>
> I have also developed projects using SPARQL and XSLT like others, but
> unlike others, I don't think it is at all the way to go. While writing
> recursive, cross-referential XSLT did give me some kind of perverse
> intellectual satisfaction, it takes way too much time compared to how web
> applications are developed these days. Instead, I started working on RDFa-
> based templating, but there was little interest. Nowadays, Callimachus has
> done that direction really well. However, I think that too is going to
> prove a dead end. The MVC pattern doesn't make sense on the server anymore,
> now that people do most of their view stuff on the client anyway. Still,
> there is a lot of stuff that needs to happen on the server side to provide
> the client with exactly the right data and enable exactly the right
> interactions.
>
> In light of this, I think it is important to give developers good server-
> side tools. However, I'm not sure that Java is the right tool for the job,
> mainly for two reasons. I have admittedly not have had the time to read
> your paper in full, so excuse me if you have dealt with it already. The
> first is that the translation needs to happen not only at compile time, but
> also (optionally) at runtime. If you can't do it at runtime, you're not
> exploiting the dynamic nature of the Semantic Web, and so, you could
> generate classes (or instantiate objects) based on any old competing
> technology.
>
> Secondly, OWL has multiple inheritance, and that is, in OOP terms, a very
> messy concept, and Interfaces far from capture what's interesting. I think
> a lot more research is needed in that direction. To do this properly, I
> think you need traits, with explicit conflict resolution, you need to be
> able to compose behaviour in a much more rigorous manner. See the traits
> research here:
> http://scg.unibe.ch/research/traits
>
> The Perl community has done a little bit of work in this direction, most
> recently, Konstantin Baierer with MooseX::Semantic:
> https://metacpan.org/module/MooseX::Semantic
>
> At a recent hackathon, we had a brief discussion about how this should be
> used and the business models around it. That was the harder part of the
> conversation, actually.
>
> So, while I think that the (too) static nature of Java and its lack of
> composable behaviour, I still think it is interesting enough to encourage
> you to write the code and see where it takes you.
>
> Best,
>
> Kjetil
>
>

Received on Tuesday, 11 September 2012 20:29:30 UTC