Haystack group meeting notes, September 28, 2004

From: Stephen J. Garland <garland_at_csail.mit.edu>
Date: Wed, 29 Sep 2004 10:01:22 -0400

Haystack Group Meeting, September 28, 2004

Progress reports

Weekly status reports can be obtained by subscribing to
haystack-status_at_lists.csail.mit.edu. Volume 1 Issue 1 contains last week's
status reports from David Huynh, Artem Gleyzer, Jaime Teevan, Ryan Manuel, and
Nick Matsakis. Additional status reports follow:

Vineet Sinha successfully concluded his work as the coordinator for this year's
Oxygen student workshop.

Steve Garland fixed a bug in the start-up procedures for minimal Haystack when
running as an Eclipse plugin.

Sumudu Watugala had difficulties installing Haystack for the first time. Her
problems were resolved after the meeting (by checking Haystack out of the svn
repository, rather than the former cvs repository, and by waiting an extremely
long time for the subclipse plugin to perform the checkout).

Harr Chen was busy with his graduate coursewor, which he discovered (much to no
one's surprise) were not so easy.


Informal presentations

Artem Gleyzer provided an overview of new features in Java 1.5, which may be of
use for Haystack.

Java 1.5 now supports generic types, which are similar to C++ templates and to
CLU parameterized types. With them, type errors (e.g., when inserting elements
in a container) can be detected at compile-time rather than at run-time (e.g.,
when an exception is generated by attempting to cast an element obtained from a
container to its expected type).

Java 1.5 also supports metadata annotations, which should be useful in
maintaining consistency between Java and Adenine code in Haystack. For example,
they would allow us to annotate the Java methods associated with the data
providers specified in the Adenine file data.ad by declaring a Java annotation
type

public _at_interface
  AdenineProviderDecl {
        String uri();
        String[] types();
        String domain();
}

and using it to annotate declarations of Java implementations for data
providers. For example, the following annotation might appear before the
declaration of the LiteralDataProvider class:

_at_AdenineProviderDecl
( uri="LiteralProvider";
  types={"Part", "StringProvider"};
  domain="LiteralSource";
)

A useful tool, which we could write, would obtain these annotations from the
class files and use them to generate the Adenine code needed for files like
data.ad.

Punya Biswal described some new ideas on a potential replacement for Adenine,
which currently is used primarily for schema declaration and ui code. The goals
of the new language would be
1) to separate the description of RDF from that of operations
2) to provide a good syntax for RDF (n3 is a candidate here)
3) to provide some degree of type safety

The main idea is to generate type-safe Java classes from OWL types. For
example, the hs:Person OWL type might lead to the hs.Person Java class with
methods such as
  String getName()
  int getAge()
  getSiblings(), addSibling(),
These methods could throw an exception if data in the RDF store did not conform
to the expectations of the schema writer (e.g., if an age in RDF store is not an
integer). Although implementors would have to write code that coped with
whatever data was in the RDF store, they would be able to write clearer code to
handle the expected/common cases.


Administrivia

Next week presentations will be Harr and Vineet.
Received on Wed Sep 29 2004 - 14:01:22 EDT

This archive was generated by hypermail 2.3.0 : Thu Aug 09 2012 - 16:39:17 EDT