Monday, May 26, 2008

Diderot and the Semantic Web

I've read an interesting post in this blog, about the Relevance of Information and the myths of a Semantic Web. I'm afraid it is not fully related to Data Access, nonetheless it is interesting. Please note it is in French.

The author made an extremely valuable effort to express himself about the expectations and limitations of the Semantic Web. He indeed has some good (and sometimesfunny) ideas, even if he has a poor knowledge of IA and thus derives some vague statements about it.

A few remarks about it:

  • The goal of the Semantic Web could not be limited to be a smart replacement of Google.

  • The ontologies do not provide a single version of the Thruth, and they can mimic human redundancies, overlaps, incompletion.

  • Dedicated semantic networks are not supposed to be easily connected to build a global brain.

  • Open source has just nothing to do with that.

  • Inference engines are only one facet of IA, IA is much more complex than that.

  • IA is not limited to problem resolution, neuronal networks, straight boolean logic.

  • Advanced IA will try to simulate and use human techniques (distributed IA...), and will deal with fuzzy logics (temporal logic, epistemic logic, know and believe logic, fear and love, try and see...).

  • This is not because IA and Semantic Web won't solve everything that they won't solve something.

  • Last but not least: the Semantic Web is not competing with human intelligence.


We can agree on:

  • A real Semantic Web is not for tomorrow morning.

  • There is a lot of hype in Web 2.0 (and everything which is "2.0" or "as a service").

    • I recently even saw Data 2.0.




Two articles related to it:

Diderot and the Semantic Web

I've read an interesting post in this blog, about the Relevance of Information and the myths of a Semantic Web. I'm afraid it is not fully related to Data Access, nonetheless it is interesting. Please note it is in French.

The author made an extremely valuable effort to express himself about the expectations and limitations of the Semantic Web. He indeed has some good (and sometimesfunny) ideas, even if he has a poor knowledge of IA and thus derives some vague statements about it.

A few remarks about it:

  • The goal of the Semantic Web could not be limited to be a smart replacement of Google.

  • The ontologies do not provide a single version of the Thruth, and they can mimic human redundancies, overlaps, incompletion.

  • Dedicated semantic networks are not supposed to be easily connected to build a global brain.

  • Open source has just nothing to do with that.

  • Inference engines are only one facet of IA, IA is much more complex than that.

  • IA is not limited to problem resolution, neuronal networks, straight boolean logic.

  • Advanced IA will try to simulate and use human techniques (distributed IA...), and will deal with fuzzy logics (temporal logic, epistemic logic, know and believe logic, fear and love, try and see...).

  • This is not because IA and Semantic Web won't solve everything that they won't solve something.

  • Last but not least: the Semantic Web is not competing with human intelligence.


We can agree on:

  • A real Semantic Web is not for tomorrow morning.

  • There is a lot of hype in Web 2.0 (and everything which is "2.0" or "as a service").

    • I recently even saw Data 2.0.




Two articles related to it:

Friday, May 23, 2008

Apache Tuscany is now an official ASF project

In this post on TSS they insist on Tuscany being the OASIS OpenCSA SCA implementation. But don't forget it is also the SDO and DAS Apache implementation.

See also Luciano Resende's blog about that.

Apache Tuscany is now an official ASF project

In this post on TSS they insist on Tuscany being the OASIS OpenCSA SCA implementation. But don't forget it is also the SDO and DAS Apache implementation.

See also Luciano Resende's blog about that.

Referential Integrity Constraints in EF

Here is how the Referential Integrity Constraints are defined and managed in the Entity Framework.

It is defined in the CSDL file (conceptual schema).

I really appreciate the fact associations are defined outside entities. That is probably the best way of doing it. I still don't understand why (most industrial) object languages don't have a real management of relationships.

One of the key new features of Java or C# would be to have a better relationship management in the future. Basically, a reference in Java is nothing more than a wrapper around a memory pointer. And a collection is just a set of references. Nothing more, there is no notion of what is at the other side, and no relationship management.

Even more dynamic languages like Smalltalk or Groovy still don't have that good relationship management.

That said, even in database engines the notion of relationship management is still limited. Yes, you can define FK and associate some behaviour, but all that is still limited. We need much more. We need to be able to fully qualify both sides of the association (cardinality, navigation...) and later use that information at runtime to optimize queries. We need to be able to distinguish between aggregations and compositions. And we must be able to define Referential Integrity Constraints to something which is not in the same database.

All this maybe means that relationship management should be covered by the Data Services Platform. And even like that we still need a better notion of relationship within programming languages.

Referential Integrity Constraints in EF

Here is how the Referential Integrity Constraints are defined and managed in the Entity Framework.

It is defined in the CSDL file (conceptual schema).

I really appreciate the fact associations are defined outside entities. That is probably the best way of doing it. I still don't understand why (most industrial) object languages don't have a real management of relationships.

One of the key new features of Java or C# would be to have a better relationship management in the future. Basically, a reference in Java is nothing more than a wrapper around a memory pointer. And a collection is just a set of references. Nothing more, there is no notion of what is at the other side, and no relationship management.

Even more dynamic languages like Smalltalk or Groovy still don't have that good relationship management.

That said, even in database engines the notion of relationship management is still limited. Yes, you can define FK and associate some behaviour, but all that is still limited. We need much more. We need to be able to fully qualify both sides of the association (cardinality, navigation...) and later use that information at runtime to optimize queries. We need to be able to distinguish between aggregations and compositions. And we must be able to define Referential Integrity Constraints to something which is not in the same database.

All this maybe means that relationship management should be covered by the Data Services Platform. And even like that we still need a better notion of relationship within programming languages.

Thursday, May 22, 2008

The JCP at the Paris JUG

Yesterday, I've been invited to participate to a presentation / roundtable about the JCP by the Parisian JUG. Patrick Curran, chairman of the JCP, did a very nice presentation, also introducing the future trends for the JCP.

We then had good questions from the audience:

  • Is there any collaboration effort / alignment between the JSRs?

    • This needs to be improved and will be.



  • What will happen to the JCP if Sun is acquired and/or not interested any longer into Java?

    • First this will unlikely happen.

    • Second, in that case the JCP will turn into a kind of fundation.



  • Is there a special committee in charge of defining what will be in Java SE 7?

    • No, that's a normal JSR.

    • We could have a specific long-term architecture committee for the Java platform later.



  • Why Apache is managing the JDO2 TCK / RI while there is no JSR for JDO 2.0?

    • This is just a maintenance release of JDO2, there is no need for a specific JSR.

    • Collaboration with open source communities is increasing.



  • A question about JNI (I can't remember it, sorry)

  • Is there a TCK framework that can be reused for new JSRs?

    • Yes there is one.



  • What can the JCP do top prevent fragmentation of Java (SWT, SCA, OSGi...)?

    • There is nothing to do, private innovation is norma. In the long-term, once successfull these initiatives could join the specification effort.



  • Java has a long list of old JSRs. Is there a cleaning process?

    • I can't remember Patrick's answer to that one, sorry.



  • Who decide which features are part of Java EE or Java SE?

    • The expert groups in the JSRs.



  • What Sun is doing to develop Java on mobile devices against initiatives from Google and Adobe?

    • Nokia, Ericsson and other major players in this area are already part of the JCP and are leading JSRs.




After a short break, we had the roundtable with Patrick Curran, Antonio Goncalves (co-leader of the Paris JUG), Guillaume Laforge (Groovy Spec Lead), and Cedric Thomas who runs OW2 (Object Web 2.0), the open source consortium. We had a good and animated debate with sharp questions:

  • How to simplify the licensing of TCK

    • Working on it...



  • Are free RIs (reference implementations) a threat for vendors?

    • No, it is not.



  • Do we really TCKs

    • I said, it is rather a tool than a constraint

    • We embed into our own testsuite

    • It helps improving the specification



  • Need for more process for the specification work (timelines, voting rules, etc.)

  • Should performance and QoS be part of the TCK?

    • No the TCK just checks features compliance

    • Vendors will then compare products based on performance, quality...



  • Why Java FX is not defined within the JCP?

    • That used to be a personal initiative, it could join the JCP later.



  • Why Java is the only language with an heavy specification process?

    • Java is not alone, there are numerous IT standardization organizations (400 just in the US according to Patrick).

    • OASIS is another example.



  • Once again a question about Java SE 7...


Then after that good roundtable, it was the time for some beers: we had plenty of time to reinvent the whole IT space.

Thank you to Antonio Goncalves and David for this nice event. Antonio is a talented IT expert and consultant, he is also a member of the JPA 2 expert group, and used to be one of the first customers of Xcalia. He also likes Jaco Pastorius, the legendary jazz bass player, which proves he also has a good taste and genuine values.