Annotations link from meta-data documents to external, shared vocabularies such as ontologies or gazetteers. The semantic annotations proxy "injects" these references into existing source documents coming from remote Web services without the need to update existing systems. The semantic annotations proxy is available at  http://semantic-proxy.appspot.com/. We have prepared a small set of slides which are going to be further explained below:

Slide 1: Semantic Annotations Proxy

We always had simplicity (from a developers perspective) in mind when we start thinking about how to add semantic annotations in metadata. There is no need for developers to alter the client code to integrate the proxy into existing applications. Just the URL pointing to the Web service changes, the proxy does handle the forwarding internally. Not all annotations are semantic, and the semantic annotations proxy (even though the name may imply this) is not restricted to references pointing to ontologies. Any other kind of external knowledge which is not part of the data model (including non-functional properties describing for example SLAs, the certainty of the served data, or application profiles describing common types of Web services) can be injected as well.

Slide 2: Why Proxy?

External knowledge such as the real-world semantics (what in reality does the data represent?) is no intrinsic part of the data model. In general, we distinguish between functional and non-functional properties of data. The functional properties are needed for the integration into existing applications (e.g. geometry and a label for a spatial feature, other attributes for the visualization, security constraints). Syntax and structure support function ("Can we process and visualize the data?"), external knowledge supports function under certain assumptions ("Does processing this data makes sense for my application? Is it detailed enough? How was the data acquired?..."). Hence, it depends on the context of my application which kind of annotations we need, and many more generic applications may not need any annotations at all.

Another issue here is the creation of the external reference. Finding the appropriate term in a controlled vocabulary needs good knowledge about it. In Library Science, the categorization of books (semantic annotations is nothing else) even is its domain of research. The creator or publisher of the resource has his own (sometimes very narrow) perspective on the data, his choice of references will be biased accordingly. Hence, the actual selection of appropriate domain concepts should be performed by domain experts who have better knowledge about the potential users (and their choice of terms).

Slide 3: Injecting Annotations? We refer to the process of adding the annotations to existing meta-data as the "injection". The proxy does not store any metadata, each request will be forwarded to the original source. The data stream in the response will be forwarded back to the requesting client. If there have been any annotations registered for this particular request (and therefore for the metadata which is currently forwarded), the proxy will go through the stream, pause the forwarding, and inject the annotations.

Registering annotations means that an annotated metadata document and the original request pointing to the plain metadata document are posted via the API. The annotations have to follow certain rules which depend on the standard used for the metadata. This ensures that the returned documents are still standard compliant, and can be even used by clients which are able to process the annotations.

Slide 4: Some features? Nothing to add here, the slides are self-explanatory.

Any more questions? Just ask by mail (or create a new  ticket, we add the answer to the wiki then. The slides below have also been attached to this wiki page.

http://trac6.assembla.com/sapience/export/512/documentation/presentations/sapr/img0.jpg http://trac6.assembla.com/sapience/export/512/documentation/presentations/sapr/img1.jpg http://trac6.assembla.com/sapience/export/512/documentation/presentations/sapr/img2.jpg http://trac6.assembla.com/sapience/export/512/documentation/presentations/sapr/img3.jpg

Attachments