SAILS: description of a project

June 30th, 2011

Full name of project

SAILS: Shipping Archives and Integrated Logbooks of Ships: Linking WW1 Naval Records

Short project description

SAILS will expose and link structured data from WW1 Royal Navy Ship’s logs and Service Records to ‘put sailors back in their ships’

Long Project Description.

The core of this project is a digital collection of ship’s logs from 1914-1918. Digitized by the Met Office ACRE initiative, their climatological data has been extracted to generate a series of historic weather datasets and visualisations. However, these records also have great value to the social and military history community as they include detailed information about the movement of ships, and about ship’s personnel. They have even greater value if linked to records and source materials from other collections, such as the Royal Navy Service Records in The National Archives. Linking the Service Records to the Logbooks will, effectively, ‘put sailors back in their ships’. SAILS will expose and link the data in the ships logs with data in the Service Records. Based on this, we will develop a methodology for structuring and linking data from disparate sources in order to enhance data available to researchers. Our methodology will be based around specific research questions related to WW1 naval history. We will put the linked materials online as a resource and demonstration of the method used. SAIL will have enormous value for researchers of WW1, and provide an important demonstration of linking and exposing structured data for interdisciplinary research.

Please list the primary products that will be delivered from this project that other Higher Education Institutions will want to reuse?


1.An ontology which characterizes the domain of WW1 maritime history by providing a formal description of the the factual and military aspects of this historical period.

Secondary Tangible Product

1. XML schema for naval service records 2. Interfaces for browsing linked data created including faceted search interface and a visual map-based query tool 3. A web based application for editing the original data 4. Python source code for the web application

Name of lead institution?

King’s College, London

Department where project is primarily located

Centre for e-Research

Postcode where the project team is primarily based?

WC2B 5RL

Name of person(s) responsible for JISC project documentation and reporting?

Richard Gartner

Email of person responsible for project documentation and reporting?

richard.gartner@kcl.ac.uk

Phone / Skype for Person responsible for project documentation

020 7848 1923 – skype: irmng2

Names and roles of all people working on the project team?

Richard Gartner, Information and Knowledge Specialist

Centre for e-Research, King’s College, London

Michele Pasin, Centre for Computing in the Humanities, King’s Collge London

Martin Robson, Visiting Lecturer and E+Research Assistant, The Corbett

Centre, Defence Studies Department, King’s College, London

Names and roles of any and all project partners (commercial, consultants or other HEIs) who will be doing work for the project.

Edward Hampshire, The National Archives

Philip Brohan and Rob Allan, the Met Office Laura Rowe, University of Exeter

Emails of all the team members, consultants, partners and any other person who will be working on or with the project regardless of costed participatory status (please include all emails of the people listed above).

Lorna Hughes <lorna.hughes@kcl.ac.uk>, Richard Gartner <richard.gartner@kcl.ac.uk>, Martin Robson <MRobson.jscsc@defenceacademy.mod.uk>, Rob Allan <Rob Allan <allarob@googlemail.com>, Philip Brohan <philip.brohan@metoffice.gov.uk>, Edward Hampshire <Edward.Hampshire@nationalarchives.gsi.gov.uk>, Laura Rowe <l.rowe@exeter.ac.uk>

URL link to an image of all project team members.

Not yet available

Project gmail account for access to this form (so you can update it as things change)

sailsproject@gmail.com

Project blog URI? i.e. http://UniqueProjectTag.blogger.com

http://sailsproject.cerch.kcl.ac.uk/

RSS2 or ATOM feed for project blog?

http://sailsproject.cerch.kcl.ac.uk/feed/atom/

URL of the code repository for versioned source code produced by project, e.g. GoogleCode, GitHub, Sourceforge, etc.

GoogleCode

URL for where your step-by-step instructional documentation will be drafted.

OSS license you will you be using for the code generated from project?

GPL v3

Have you installed an Analytics Engine (Google Analytics or Piwik) on your project blog, code repository and any other project web presence?

Yes

Please provide the initials of the person who filled out this form along with your thoughts about how this form could have been better?

LMH/RG

Number of “named” end users whom you have already contacted and gotten their agreement to participate in testing the outputs of the project?

15-30. Including Andrew Lambert’s PhD and MPhil students at King’s College, London (marking up documents, user testing), and Maritime Historians at Exeter, KCL. Also resarchers working on historic weather Data at the BL India project. Workshop scheduled at Exeter October 18th, and at TNA in November (TBC) to feed into ontology development. Named academic users now include, Geoff Till (JSCSC) Andrew Gordon (fleet actions and exec officers)

Laura Rowe (cultural and social)

Britt Zerbe (Royal Marine specialist)

Jon Robb-Webb (operations and amphibious stuff)

Duncan Redford (submarine expert

Creative Commons Licence used for project presentations and documentation?

Creative Commons Attribution-Share Alike UK 2.0: England and Wales

Creative Commons Licence used for project content?

Open Data Commons Open Database License (ODbL)

Project Start Date

Start: July 31st 2010

End July 31st 2011

We are starting a little later than planned due to discussions about

licensing and other project planning taking longer than expected, and

the PI being involved with DH 2010 until mid July.

Project End Date

Start: July 31st 2010

End July 31st 2011

We are starting a little later than planned due to discussions about

licensing and other project planning taking longer than expected, and

the PI being involved with DH 2010 until mid July.

What is the total amount of money awarded to the project in your Grant Letter?

£76,485 Grant letter issued 23-07-2010

Name of Institutional Budget Manager

Katrin Tiedau <katrin.tiedau@kcl.ac.uk>, Office manager, CeRch

Link to ‘Final Product / Prototype’ Post (due by Friday June 31st by Midnight)

http://sailsproject.cerch.kcl.ac.uk/2011/06/final-product-post-linked-sails-an-owl-ontology-for-the-ww1-maritime-history-domain/

PIMS URL for Project

https://pims.jisc.ac.uk/projects/view/1861

Programme Manager Notebook Page on the Project

http://code.google.com/p/jiscexpo/wiki/sailsproject

SAILS Project Blog: Table of Contents

June 30th, 2011

This is a list of the posts which have appeared on the project blog, categorised by their general themes.

The first posts were to introduce the project to the world:-

information on links we made with other projects:-

followed by basic project administration postings as required by JISC:-

and a look at some of the material we’d be working with:-

Much work in the early stages went into identifying the research challenges and scoping out what would be needed to make these resources useful to historians:-

Early in the project we held a successful workshop of experts in the field  at Exeter:

Our early work concentrated on naval service records: this included a visit to the National Archives where we examined the original material:-

and then began to recruit transcribers to convert these to XML:-

We found the blog a useful platform to handling the transcription process and dealing with queries from out transcribers. Uses to which we put the blog included providing instructions for the transcribers:-

providing facilities for transcribers to ask questions and post comments on the process as a whole:-

and on reporting on progress with the transcription process in general:-

Progress towards the ontology was the next major thread of the posts. General progress was reported in:-

Michele carried out an extensive survey of existing tools and techniques which he condensed  into two comprehensive postings:-

The overall architecture took shape relatively quickly and was reported in:-

Of course, as in any projects, we had a couple of slightly tangential posts:-

and a less tangential one on linked data in the press:-

Finally, we have our final product post, on the naval ontology itself:-

Final Product Post: Linked SAILS: An OWL ontology for the WW1 maritime history domain

June 30th, 2011

The primary project output for the SAILS project is titled Linked SAILS: An OWL ontology for the WW1 maritime history domain

The ontology is primarily intended for naval historians who wish to  explore the possibilities  of semantic web technologies for their research. It is also of interest to climate specialists, as it allows for the recording of data from shop logs, genealogists and geographers. Data architects and knowledge engineers will also be interested in the ontology design and
methodology.

As shown in this diagram, users will interact with the ontology through a browsable interface:

this can be used by non-experts who can browse the data both through a traditional faceted search interface (still being completed) and a visual map-based query tool:

The SAILS ontology characterizes the domain of WW1 maritime history by providing a formal description of the the factual and military aspects of this historical period. In particular, the ontology has been created so to model the entities extracted from a digitised collection of Royal Navy service records from the National Archives, and a collection of Royal Navy ship’s logs (as digitized by the the Historical Weather Networks project). At the time of writing, the ontology consists of 170 classes and it is built as an extension of the CIDOC-CRM ontology, a world-recognized  ISO standard for museum and historical artefacts.

Moreover, the ontology includes a large knowledge base, consisting of more than 30 thousand instances describing in details people, ships and the events they took part in.

The ontology can be accessed directly through the interfaces written for the
SAILS project or downloaded and ingested into any OWL-conformant semantic
web application. Using these the end user has access to all of the information on people, ships and events gathered as part of the project and the semantic linkages between them encoded in the ontology.

Links

Ontology: www.purl.com/net/sails – in browsable form: http://www.michelepasin.org/demos/ontoview/?uri=http%3A%2F%2Fstaff.cch.kcl.ac.uk%2F~mpasin%2Fextra%2Fsails%2Fsails.owl

Working at the Anatomy Theatre

May 1st, 2011

Richard and I have been working and having brainstorming session in the Anatomy Museum (a high-tech meeting room at Kings College ) quite a bit recently. It’s a fantastic space where you can use super-size screens and write on the walls, so I thought I’d share a couple of shots about these meetings!

Sails blueprint

April 15th, 2011

We’re now well into the second phase of the project, with the ontology almost completed (soon there’ll be another post about that) and the XML transcriptions being revised and processed into RDF. So in the last two weeks we’ve been thinking in more details about the overall system design for SAILS, and have come up with some interesting conclusions.

 

 

The image above summarizes the system design; in what follows I will describe briefly the main conclusions matured in recent work.

  • a) The data encoded in XML are unfortunately not always as good as we would like to; sometimes, this is due to the fact that the schema we originally devised wasn’t accurate enough; other times, this is simply because the transcribers have done some errors or failed to encode important information. It is thus necessary to polish up this data a bit better, via an interface that makes it easier to make more explicit the connections in them and possibly rectify them according to a precise model, in a consistent fashion.
  •  

  • b) Data are going to be extracted from two three different sources: apart from the service records info and the ships logs meteorological information, we also recently decided to merge into the project data another colleague at CERCH (Richard Palmer) has been previously working on. This is an extensive list of information concerning the location and availability of weather data in public archives around the world. We though that the addition of these data will enrich SAILS with an extra angle, the bibliographic one. On the other hand, the fact that we’re merging more and potentially overlapping data into the system makes it even more crucial that we avoid duplicating entities when importing them, while at the same time maintaining provenance information.
  •  

  • c) From an evaluation of the available system for managing rdf repositories, it seemed to us that none is available that offers advanced and easy-to-use functionalities for carrying out standard CRUD operation (i.e., creating, reading, updating and deleting contents in a database). In theory, it is perfectly possible to build a system which does that natively on top of an rdf triplestore; however this would be very time-consuming and well beyond the scope of the project. So we decided to use a relational DB for this refinement phase; in particular, we are using the python web application framework Django. Django provides out-of-the-box a very advanced set of libraries for managing the CRUD operations, and, quite importantly, an easily customizable web interface too.
  •  

  • d) Once the data will be cleaned up and normalized using Django, we will export it into the rdf triplestore. Synchronization mechanisms between the database schema and the ontology will make sure that these two views of the world always agree with each other; a couple of Django extensions that support this operation already exist, so hopefully we’ll be able to adapt them to our needs without too many problems. The rdf triplestore will provide a publicly accessible SPARQL endpoint, through which users with knowledge of linked data technologies can access the data programmatically.
  •  

  • e) The final component of the system will be the public interface for the SAILS datastore. By using this interface, users will be able to query the three original sources of data in conjunction and explore the connections between them even if they have no previous knowledge of rdf technologies. The interface will be modeled around the main entities we’re dealing with: people, ships, documents and events. There are still some open issues; for example, we’re not sure yet on whether the interface will be getting data from the Django database, or the triplestore. Both approaches seem viable but we’ll need to do more testing before reaching a decision.
  •  

    So that’s the blueprint of Sails at the moment – please comment if you have any suggestion!

    A few useful Linked Data resources

    April 11th, 2011

    Done a bit of semantic web work in the last couple of weeks, which gave me a chance to explore better the current web-scenario around this topic. I’m working on some example applications myself, but in the meanwhile I thought I’d share here a couple of quite useful links I ran into.

    Development Tools:

  • Quick and Dirty RDF browser. It does just what is says: you pass it an rdf file and it helps you making sense of it. For example, check out the rdf graph describing the city of Southampton on DbPedia: http://dbpedia.org/resource/Southampton. Minimal, fast and useful!
  • Namespace lookup service for RDF developers. The intention of this service is to simplify a common task in the work of RDF developers: remembering and looking up URI prefixes.You can look up prefixes from the search box on the homepage, or directly by typing URLs into your browser bar, such as http://prefix.cc/foaf or http://prefix.cc/foaf,dc,owl.ttl.
  • Knoodl Knoodl is an online tool for creating, managing, and analyzing RDF/OWL descriptions. It has several features that support collaboration in all stages of these activities (eg it lets you create quite easily discussion forums around ontological modeling decisions). It’s hosted in the Amazon EC2 cloud and can be used for free.
  • Rdf Goole chrome extensions. Just a list of extensions for Google Chrome that make working with rdf much simpler, for example by detecting rdf annotations embedded in HTML.
  • Get the data. Ask and answer questions about getting, using and sharing data! A StackOverflow clone that crowd-sources the task of finding out whether the data you need are available, and where.
  •  

    Articles / Tutorials

  • Linked Data Guide for Newbies. It’s primarily aimed at “people who’re tasked with creating RDF and don’t have time to faff around.” It’s a brief and practical introduction to some of the concepts and technical issues behind Linked Data – simple and effective, although it obviously hides all the most difficult aspects.
  • What you need to know about RDF+XML. Again, another gentle and practical intro.
  • Linked Data: design issues. One of the original articles by Berners Lee. It goes a little deeper into the theoretical issues involved with the Linked Data approach.
  • Linked Data: Evolving the Web into a Global Data Space. Large and thorough resource: this book is freely available online and contains all that you need to become a Linked Data expert – whatever that means!
  • Linked Data/RDF/SPARQL Documentation Challenge. A recent initiative aimed at pushing people to document the ‘path to rdf’ with as many languages and environments as possible. The idea is to move away from some kind of academic-circles-only culture and create something “closer to the Django introduction tutorial or the MongoDB quick start guide than an academic white paper“. This blog post is definitely worth checking out imho, especially because of the wealth of responses it has elicited!
  • Introducing SPARQL: Querying the Semantic Web. An in-depth article at XML.com that introduces SPARQL – the query language and data access protocol for the Semantic Web.
  • A beginner’s guide to SPARQLing linked data. A more hands-on description of what SPARQL can do for you.
  • Linked Data: how to get your dataset in the diagram. So you’ve noticed the Linked Data bubbles growing bigger and bigger. Next step is – how to contribute and get in there? This article gives you all the info you need to know.
  • Semantic Overflow Answers.semanticweb.com. If you run out of ideas, this is the place where to ask for help!
  •  

    Survey of Pythonic tools for RDF and Linked Data programming

    March 17th, 2011

    The Resource Description Framework (RDF) is a data model and language which is quickly gaining momentum in the open-data and data-integration worlds. In SAILS we’re developing a prototype for rdf-data manipulation and querying, as a consequence in the last weeks I’ve been surveying the available tools and libraries for programming rdf applications.

    There are dozens of blog posts and articles that discuss these issues online; among them, it is worth mentioning the ones created in the context of SPQR (another JISC-funded linked data project): “Linked data tools“, “Assessing Linked Data Tools for SPQR” and “Assessing Jena and Sesame“. The SPQR guys seem to have gone for the Java solution, which is chosen by many for it provides one of the richest and most tested suite of functionalities. But it’s not the only one – in particular, in the case of SAILS we’re aiming at building a prototype application in quite a short amount of time (I’m working on this two days a week, by the way), so we need an environment that can get us going pretty fast, which is not always the case with strongly-typed, heavily structured languages such as Java…. Moreover, ideally we would like to focus a bit on the user-interface side of things too, so it’d be nice to use an advanced web programming framework that will speed up the creation of repetitive tasks and let us focus on the interface design.

    The choice has thus fallen on Python and Django as a base platform for SAILS – two environments that allow quick development and prototyping, are flexible, easy-to-use and widespread among people in different communities. Moreover, I already have done some work with these tools in the past, so I thought I could make use of this experience quite productively.

    Not unsurprisingly, there are various possible solutions for python rdf-programming. In what follows I therefore tried to gather information about all the existing libraries and frameworks and present it in a more ‘digestible’ way (I’m currently examining these solutions in more depth, as in the near future I’ll have to choose one of them and move on with the project! – stay tuned for these results..).

     

    1. Python libraries for working with Rdf

     

    RdfLib http://www.rdflib.net/

    RdfLib (download) is a pretty solid and extensive rdf-programming kit for python. It contains parsers and serializers for RDF/XML, N3, NTriples, Turtle, TriX and RDFa. The library presents a Graph interface which can be backed by any one of a number of store implementations, including, memory, MySQL, Redland, SQLite, Sleepycat, ZODB and SQLObject.

    The latest release is RdfLib 3.0, although I have the feeling that many are still using the previous release, 2.4. One big difference between the two is that in 3.0 some libraries have been separated into another package (called rdfextras); among these libraries there’s also the one you need for processing sparql queries (the rdf query language), so it’s likely that you want to install that too.
    A short overview of the difference between these two recent releases of RdfLib can be found here. The APIs documentation for RdfLib 2.4 is available here, while the one for RdfLib 3.0 can be found here. Finally, there are also some other (a bit older, but possibly useful) docs on the wiki.

    Next thing, you might want to check out these tutorials:

  • Getting data from the Semantic Web: a nice example of how to use RdfLib and python in order to get data from DBPedia, the Semantic Web version of Wikipedia.
  • How can I use the Ordnance Survey Linked Data: shows how to install RdfLib and query the linked data offered by Ordnance Survey.
  • A quick and dirty guide to YOUR first time with RDF: another example of querying Uk government data found on data.gov.uk using RdfLib and Berkely/Sleepycat DB.
  •  

    RdfAlchemy http://www.openvest.com/trac/wiki/RDFAlchemy

    The goal of RDFAlchemy (install | apidocs | usergroup) is to allow anyone who uses python to have a object type API access to an RDF Triplestore. In a nutshell, the same way that SQLAlchemy is an ORM (Object Relational Mapper) for relational database users, RDFAlchemy is an ORM (Object RDF Mapper) for semantic web users.

    RdfAlchemy can also work in conjunction with other datastores, including rdflib, Sesame, and Jena. Support for SPARQL is present, although it seems less stable than the rest of the library.

     

    Fuxi http://code.google.com/p/fuxi/

    FuXi is a Python-based, bi-directional logical reasoning system for the semantic web. It requires rdflib 2.4.1 or 2.4.2 and it is not compatible with rdflib 3. FuXi aims to be the ‘engine for contemporary expert systems based on the Semantic Web technologies’. The documentation can be found here; it might be useful also to look at the user-manual and the discussion group.

    In general, it looks as if Fuxi can offer a complete solution for knowledge representation and reasoning over the semantic web; it is quite sophisticated and well documented (partly via several academic articles). The downside is that to the end of hacking together a linked data application.. well Fuxi is probably just too complex and difficult to learn.

     

    ORDF ordf.org

    ORDF (download | docs) is the Open Knowledge Foundation‘s library of support infrastructure for RDF. It is based on RDFLib and contains an object-description mapper, support for multiple back-end indices, message passing, revision history and provenance, a namespace library and a variety of helper functions and modules to ease integration with the Pylons framework.

     

    Django-rdf http://code.google.com/p/django-rdf/

    Django-RDF (download | faq | discussiongroup) is an RDF engine implemented in a generic, reusable Django app, providing complete RDF support to Django projects without requiring any modifications to existing framework or app source code. The philosophy is simple: do your web development using Django just like you’re used to, then turn the knob and – with no additional effort – expose your project on the semantic web.

    Django-RDF can expose models from any other app as RDF data. This makes it easy to write new views that return RDF/XML data, and/or query existing models in terms of RDFS or OWL classes and properties using (a variant of) the SPARQL query language. SPARQL in, RDF/XML out – two basic semantic web necessities. Django-RDF also implements an RDF store using its internal models such as Concept, Predicate, Resource, Statement, Literal, Ontology, Namespace, etc. The SPARQL query engine returns query sets that can freely mix data in the RDF store with data from existing Django models.

    The major downside of this library is that it doesn’t seem to be maintained anymore; the last release is from 2008, and there seem to be various conflicts with recent versions of Django. A real shame!

     

    Djubby http://code.google.com/p/djubby/

    Djubby (download | docs) is a Linked Data frontend for SPARQL endpoints for the Django Web framework, adding a Linked Data interface to any existing SPARQL-capable triple stores.

    Djubby is quite inspired by Richard Cyganiak’s Pubby (written in Java): it provides a Linked Data interface to local or remote SPARQL protocol servers, it provides dereferenceable URIs by rewriting URIs found in the SPARQL-exposed dataset into the djubby server’s namespace, and it provides a simple HTML interface showing the data available about each resource, taking care of handling 303 redirects and content negotiation.

     

    Redland http://librdf.org/

    Redland (download | docs | discussiongroup) is an RDF library written in C and including several high-level language APIs providing RDF manipulation and storage. Redland makes available also a Python interface (intro | apidocs) that can be used to manipulate RDF triples.

    This library seems to be quite complete and is actively maintained; only potential downside is the installation process. In order to use the python bindings you need to install the C library too (which in turns depends on other C libraries), so (depending on your programming experience and operating system used) just getting up and running might become a challenge.

     

    SuRF http://packages.python.org/SuRF/

    SuRF (install | docs) is an Object – RDF Mapper based on the RDFLIB python library. It exposes the RDF triple sets as sets of resources and seamlessly integrates them into the Object Oriented paradigm of python in a similar manner as ActiveRDF does for ruby.

     

    Other smaller (but possibly useful) python libraries for rdf:

  • Sparql Interface to python: a minimalistic solution for querying sparql endpoints using python (download | apidocs)
  • PySparql: again, a minimal library that does SELECT and ASK queries on an endpoint which implements the HTTP (GET or POST) bindings of the SPARQL Protocol (code page)
  • SPARQL Endpoint interface to Python another little utility for talking to a SPARQL endpoint, including having select-results mapped to rdflib terms or returned in JSON format (download page)
  • Sparta: Sparts is a simple, resource-centric API for RDF graphs, built on top of RDFLIB.
  • Oort: another Python toolkit for accessing RDF graphs as plain objects, based on RDFLIB. The project homepage hasn’t been updated for a while, although there is trace of recent activity on its google project page.
  •  

    2. RDF Triplestores that are python-friendly

    An important component of a linked-data application is the triplestore (that is, an RDF database): many commercial and non-commercial triplestores are available, but only a few offer out-of-the-box python interfaces. Here’s a list of them:

     

    Allegro Graph http://www.franz.com/agraph/allegrograph/

    AllegroGraph RDFStore is a high-performance, persistent RDF graph database. AllegroGraph uses disk-based storage, enabling it to scale to billions of triples while maintaining superior performance. Unfortunately, the official version of AllegroGraph is not free, but it is possible to get a free version of it (it limits the DB to 50 million triples, so although useful for testing or development it doesn’t seem a good solution for a production environment).

    The Allegro Graph Python API (download | docs | reference) offers convenient and efficient access to an AllegroGraph server from a Python-based application. This API provides methods for creating, querying and maintaining RDF data, and for managing the stored triples.

  • A hands-on overview of what’s like to work with AllegroGraph and python can be found here: Getting started with AllegroGraph.
  •  

    Open Link Virtuoso http://virtuoso.openlinksw.com/

    Virtuoso Universal Server is a middleware and database engine hybrid that combines the functionality of a traditional RDBMS, ORDBMS, virtual database, RDF, XML, free-text, web application server and file server functionality in a single system. Rather than have dedicated servers for each of the aforementioned functionality realms, Virtuoso is a “universal server”; it enables a single multithreaded server process that implements multiple protocols. The open source edition of Virtuoso Universal Server is also known as OpenLink Virtuoso.

    Virtuoso from Python is intended to be a collection of modules for interacting with OpenLink Virtuoso from python. The goal is to provide drivers for `SQLAlchemy` and `RDFLib`. The package is installable from the Python Package Index and source code for development is available in a mercurial repository on BitBucket.

  • A possibly useful example of using Virtuoso from python: SPARQL Guide for Python Developer.
  •  

    Sesame http://www.openrdf.org/

    Sesame is an open-source framework for querying and analyzing RDF data (download | documentation). Sesame supports two query languages: SeRQL and Sparql. Sesame’s API differs from comparable solutions in that it offers a (stackable) interface through wich functionality can be added, and the storage engine is abstracted from the query interface (many other Triplestores can in fact be used through the Sesame API).

    It looks as if the best way to interact with Sesame is by using Java; however there is also a pythonic API called pySesame. This is essentially a python wrapper for Sesame’s REST HTTP API, so the range of operations supported (Log in, Log out, Request a list of available repositories, Evaluate a SeRQL-select, RQL or RDQL query, Extract/upload/remove RDF from a repository) are somehow limited (for example, there does not seem to be any native SPARQL support).

  • A nice introduction to using Sesame with Python (without pySesame though) can be found in this article: Getting Started with RDF and SPARQL Using Sesame and Python.
  •  

    Talis platform http://www.talis.com/platform/

    The Talis Platform (faq | docs)is an environment for building next generation applications and services based on Semantic Web technologies. It is a hosted system which provides an efficient, robust storage infrastructure. Both arbitrary documents and RDF-based semantic content are supported, with sophisticated query, indexing and search features. Data uploaded on the Talis platform are organized into stores: a store is a grouping of related data and metadata. For convenience each store is assigned one or more owners who are the people who have rights to configure the access controls over that data and metadata. Each store provides a uniform REST interface to the data and metadata it manages.

    Stores don’t come free of charge, but through the Talis Connected Commons scheme it is possible have quite large amounts of store space for free. The scheme is intended to support a wide range of different forms of data publishing. For example scientific researchers seeking to share their research data; dissemination of public domain data from a variety of different charitable, public sector or volunteer organizations; open data enthusiasts compiling data sets to be shared with the web community.

    Good news for pythonistas too: pynappl is a simple client library for the Talis Platform. It relies on rdflib 3.0 and draws inspiration from other similar client libraries. Currently it is focussed mainly on managing data loading and manipulation of Talis Platform stores (this blog post says more about it).

  • Before trying out the Talis platform you might find useful this blog post: Publishing Linked Data on the Talis Platform.
  •  

    4store http://4store.org/

    4store (download | features | docs) is a database storage and query engine that holds RDF data. It has been used by Garlik as their primary RDF platform for three years, and has proved itself to be robust and secure.
    4store’s main strengths are its performance, scalability and stability. It does not provide many features over and above RDF storage and SPARQL queries, but if your are looking for a scalable, secure, fast and efficient RDF store, then 4store should be on your shortlist.

    4store offers a number of client libraries, among them there are two for python: first, HTTP4Store is a client for the 4Store httpd service – allowing for easy handling of sparql results, and adding, appending and deleting graphs. Second, py4s, although this seems to be a much more experimental library (geared towards multi process queries).
    Furthemore, there is also an application for the Django web framework called django-4store that makes it easier to query and load rdf data into 4store when running Django. The application offers some support for constructing sparql-based Django views.

  • This blog post shows how to install 4store: Getting Started with RDF and SPARQL Using 4store and RDF.rb .
  •  
    ——————————

    End of the survey.. have I missed out on something? Please let me know if I did – I’ll try to keep adding stuff to this list as I move on with the project work!

     
    p.s.
    A modified version of this post has been published also here

    SAILS on course

    March 8th, 2011

    It’s still relatively early days on the good ship SAILS compared to some of the other JISC projects examining linked data, so its would be a little premature to come up with some substantive findings or recommendations based on our experience so far.

    A first draft of the ontology based on service records and ships’ logs has now been drawn up: this was a painless process to anyone with experience in ontologies or taxonomies. It was drawn up diagrammatically and is now being translated directly to an ontology language for the next stage of the project. We feel it is important to have subject experts give a view on this work and assist in its revision, so we shall be having a meeting with Martin and other naval historians in April to go over it.

    The next stage will be to begin work on the interface. A core part of the project will be a system to allow novice users (with no knowledge of linked data and especially RDF) to create linkages. For example, a mention of an individual in a report in a service record (“praised by Captain Smith” for instance), could be linked to the individual’s own service record, or to entries in ships’ log compiled by him. Naval ranks could be linked to ontologies of ranks, geographical names to ontologies of places and so on.

    The final stage will be the creation of a search/browse interface for the linked data, which we should have ready in the summer.

    First checked and validated records now in

    February 16th, 2011

    The first service record transcriptions have now been checked by Martin, who has also been working hard on a list of regularised terms for ships and commissions. Richard has written a stylesheet which applies all of these regularised terms and also assigns unique IDs to any linkable element in the transcription.

    The following is a complete example of a processed record which is ready for linking (apologies for a few truncated lines as it’s rendered by WordPress):-

    
    <?xml version="1.0" encoding="UTF-8"?><serviceRecord
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     ID="sails-sr-00001"
    xsi:noNamespaceSchemaLocation="http://sailsproject.cerch.kcl.ac.uk/wp-uploads/2010/11/servicerecords.xsd">
        <personalDetails>
            <name ID="sails-sr-00001-d1e5" reg="Armstrong | John Garnet">
                <surname>Armstrong</surname>
                <firstName>John Garnet</firstName>
            </name>
            <dateOfBirth reg="1870-07-19">19 Jul. 1870</dateOfBirth>
            <fathersName ID="sails-sr-00001-d1e17"/>
            <fathersProfession ID="sails-sr-00001-d1e19"/>
            <placeOfBirth ID="sails-sr-00001-d1e21"/>
            <dateOfMarriage ID="sails-sr-00001-d1e24"/>
            <wifesName ID="sails-sr-00001-d1e26"/>
        </personalDetails>
        <ordersCommissions ID="sails-sr-00001-d1e29">
        <orderCommission ID="sails-sr-00001-d1e31">
        <date ID="sails-sr-00001-d1e33" reg="1884-01-15">15 Jan. 1884</date>
        <commission ID="sails-sr-00001-d1e36" reg="Entered Service">Entered Sevice</commission>
        </orderCommission>
        <orderCommission ID="sails-sr-00001-d1e40">
        <date ID="sails-sr-00001-d1e42" reg="1892-11-13">13 Nov. 1892</date>
        <commission ID="sails-sr-00001-d1e45" reg="Lieutenant">Lieutenant</commission>
        </orderCommission>
        <orderCommission ID="sails-sr-00001-d1e49">
        <date ID="sails-sr-00001-d1e51" reg="1903-01-01">1 Jan. 1903</date>
        <commission ID="sails-sr-00001-d1e54" reg="Commander">Commander</commission>
        </orderCommission>
        <orderCommission ID="sails-sr-00001-d1e58">
        <date ID="sails-sr-00001-d1e60" reg="1908-12-31">31 Dec. 1908</date>
        <commission ID="sails-sr-00001-d1e63" reg="Captain">Captain</commission>
        </orderCommission>
        <orderCommission ID="sails-sr-00001-d1e67">
        <date ID="sails-sr-00001-d1e69" reg="1920-01-28">28 Jan. 1920</date>
        <commission ID="sails-sr-00001-d1e72" reg="Rear Admiral">Rear-Admiral</commission>
        </orderCommission>
        <orderCommission ID="sails-sr-00001-d1e77">
        <date ID="sails-sr-00001-d1e79" reg="1925-04-03">3 April 1925</date>
        <commission ID="sails-sr-00001-d1e82" reg="Vice-Admiral">Vice-Admiral</commission>
        </orderCommission>
        </ordersCommissions>
    
        <specialReportsService ID="sails-sr-00001-d1e87">
        <item ID="sails-sr-00001-d1e89" date="1897-04">Apr. 1897 "A very willing officer" by
    Capt<abbr expansion="ain"/> <name ID="sails-sr-00001-d1e93" type="personal">Groome</name></item>
        <item ID="sails-sr-00001-d1e96">L. 51/821/02. Thanked by British India
    S<abbr expansion="outh"/> S<abbr expansion="ea"/> Co<abbr expansion="mpany"/> for his assistance on occasion of fire in S<abbr expansion="team"/>S<abbr expansion="hip"/><name
    ID="sails-sr-00001-d1e107">Gootkha</name> at <name ID="sails-sr-00001-d1e111">Aden</name>.</item>
        <item ID="sails-sr-00001-d1e115" date="1902-06">Jul.1902 "An intelligent off<abbr expansion="ice">r</abbr> of temperate habits, zealous, of good judg<abbr expansion="emen">t</abbr>, and physically strong: has carried out his duties to my entire sati<abbr expansion="sfactio">n</abbr><name ID="sails-sr-00001-d1e125" type="personal"> Sir D. Bosanquet.</name></item>
        <item ID="sails-sr-00001-d1e128" date="1902">1902 Attempted attack on <name ID="sails-sr-00001-d1e130">Kuwait</name>,<name ID="sails-sr-00001-d1e133">Persian Gulf</name>.Capture of two dhows from pirates after considerable resistance. Advanced and was exposed to about 150 Arabs, losing one man, killed, and two slightly wounded. Com<abbr expansion="mande">r</abbr> <name ID="sails-sr-00001-d1e139" type="personal">Cartwright</name> reports that his action greatly increased prestige of <abbr expansion="His Majesty">HM's</abbr> Navy among Arabs. R<abbr expansion="ear"/> Adm<abbr expansion="iral"/> <name ID="sails-sr-00001-d1e150" type="personal">Duffy</name> and <abbr expansion="Their Lordships">T.Ls.</abbr> concur that his conduct appears to have been most praiseworthy.</item>
        <item ID="sails-sr-00001-d1e157" date="1903-02">Feb. 1903 "Zealous and careful" R<abbr expansion="ear"/>Adm<abbr expansion="iral"/><name ID="sails-sr-00001-d1e162" type="personal">Duffy</name></item>
        <item ID="sails-sr-00001-d1e166" date="1903-05">May 1903 App<abbr expansion="oin"/>t<abbr expansion="e">d</abbr> for special service with Adm<abbr expansion="iral"/> <name ID="sails-sr-00001-d1e175" type="personal">Bosanquet</name></item>
        <item ID="sails-sr-00001-d1e178" date="1905-10">Oct 1905 <name ID="sails-sr-00001-d1e180" type="personal">Sir A Fanshawe</name> reports very favourably on the efficiency of <name ID="sails-sr-00001-d1e183">"Challenger"</name> and satis<abbr expansion="factory"> results</abbr> in training colonial men.</item>
        <item ID="sails-sr-00001-d1e190" date="1906-06">Jun. 1906 All V<abbr expansion="ery"/>.G<abbr expansion="ood"/>.I<abbr expansion="ndeed"/>. Has carried out the duties of executive off<abbr expansion="ice">r</abbr> with exceptional zeal and judgement under unusual and somewhat difficult circumstances - the ship being manned with a mixed crew of Imperial and raw Colonial men - a combination requiring skilful handling. Strongly recom<abbr expansion="men">d</abbr> for early advance." Capt<abbr expansion="ain"/> <name ID="sails-sr-00001-d1e207" type="personal">Tudor</name>.Sir <name ID="sails-sr-00001-d1e210">Wilmot Fawkes</name> entirely concurs.</item>
        	<item ID="sails-sr-00001-d1e214" date="1907-03">Mar. 1907 Offered and accepted com<abbr expansion="mand"/> of <name ID="sails-sr-00001-d1e218">"Acheron"</name> on First Lord's assurance that the app<abbr expansion="ointmen">t</abbr> would be considered good service towards promotion.</item>
        	<item ID="sails-sr-00001-d1e225" date="1908-12">All V<abbr expansion="ery"/>.G<abbr expansion="ood">.</abbr> A good reliable off<abbr expansion="ice">r</abbr> recom<abbr expansion="men">d</abbr> for prom<abbr expansion="otio">n</abbr>. <name ID="sails-sr-00001-d1e242">Acheron</name> in V<abbr expansion="ery"/>.G<abbr expansion="ood">.</abbr> order". Sir <name ID="sails-sr-00001-d1e250" type="personal">G. Noel</name></item>
        	<item ID="sails-sr-00001-d1e253" date="1911-03">Mar. 1911 Adm<abbr expansion="ira">l</abbr> Sir W<abbr expansion="illia">m</abbr> <name ID="sails-sr-00001-d1e261" type="personal"> May</name> "As Captain of <name ID="sails-sr-00001-d1e264">'Cyclops'</name> he has done very well, - I have every reason to believe that he will do equally well in a man of war".</item>
        	<item ID="sails-sr-00001-d1e269" date="1911-12">Dec. 1911 Adm<abbr expansion="ira">l</abbr> <name ID="sails-sr-00001-d1e274" type="personal">Bridgeman</name> "Fits his position as Capt<abbr expansion="ai">n</abbr> of the repair ship."</item>
        	<item ID="sails-sr-00001-d1e281" date="1911-10">Oct. 1911 Satisfactory inspection of <name ID="sails-sr-00001-d1e283">Cyclops</name>.</item>
        	<item ID="sails-sr-00001-d1e287" date="1912-11">Nov. 1912 Very satisfactory inspection of <name ID="sails-sr-00001-d1e289">Egmont</name>.</item>
        	<item ID="sails-sr-00001-d1e293" date="1913-04">Apr. 1913 Adm<abbr expansion="ira">l</abbr> B <name ID="sails-sr-00001-d1e298" type="personal">Milne</name> "A zealous and throughly reliable officer in every way. The charge at <name ID="sails-sr-00001-d1e301">Malta</name> of Depot ships has been carried out by Capt<abbr expansion="ain"/> A<abbr expansion="rmstorng"/> with great tact and without a hitch of any sort. I lose his services - owing to private affairs - with regret."</item>
        	<item ID="sails-sr-00001-d1e309" date="1914-05">May 1914 R<abbr expansion="ear"/> Ad<abbr expansion="miral"/> <name ID="sails-sr-00001-d1e315" type="personal">Christian</name>, "Handles his ship well. Nerve and ability".</item>
        	<item ID="sails-sr-00001-d1e319" date="1916-05-25">25:5:1916 "A thoroughly reliable and trustworthy off<abbr expansion="ice">r</abbr>. He did V<abbr expansion="ery"/> G<abbr expansion="ood"/> service at the <name ID="sails-sr-00001-d1e328">Anzac</name> lnding on 25:4:15, and subsequently was in charge of and organized arrgts<abbr expansion="arrangements"/> for evacuation of wounded in a V<abbr expansion="ery"/> satisfactory manner." V<abbr expansion="ice"/> Adm<abbr expansion="iral"/> <name ID="sails-sr-00001-d1e340" type="personal">Thursby</name>.</item>
        	<item ID="sails-sr-00001-d1e345" date="1916-09-25">25:9:1916 "An excellent off<abbr expansion="ice">r</abbr> v<abbr expansion="ery"/> thorough and hard working. Handles ship very well. Great tact and clear judg<abbr expansion="emen">t</abbr>." R<abbr expansion="ear"/> Adm<abbr expansion="iral"/> <name ID="sails-sr-00001-d1e360" type="personal">Mark Kerr</name></item>
        	<item ID="sails-sr-00001-d1e363" date="1917=12-31">31:12:1917 "A knowledgeable, capable off<abbr expansion="ice">r</abbr>. A v<abbr expansion="ery"/> g<abbr expansion="ood"/> capt<abbr expansion="aim"/> of a cruiser, with considereable powers of endurance." R<abbr expansion="ear"/> Adm<abbr expansion="iral"/> <name ID="sails-sr-00001-d1e379" type="personal">Sheppard</name></item>
        	<item ID="sails-sr-00001-d1e382" date="1919-09-16">16:9:1919 Ment<abbr expansion="ione">d</abbr> in Gazette for valuable services in the prosecution of the war.</item>
        	<item ID="sails-sr-00001-d1e388" date="1920-01-29">29 Jan. 1920 Ret<abbr expansion="ire">d</abbr> at own request.</item>
        </specialReportsService>
    
        <shipsServed>
            <shipServedEntry ID="sails-sr-00001-d1e397">
                <ship ID="sails-sr-00001-d1e399" reg="Minotaur">Minotaur</ship>
                <appointmentDate ID="sails-sr-00001-d1e402" reg="1893">93</appointmentDate>
                <dischargedDate ID="sails-sr-00001-d1e405" reg="1894">94</dischargedDate>
            </shipServedEntry>
            <shipServedEntry ID="sails-sr-00001-d1e409">
            	<ship ID="sails-sr-00001-d1e411" reg="Aeolus">Aeolus</ship>
            	<appointmentDate ID="sails-sr-00001-d1e414" reg="1894">94</appointmentDate>
            	<dischargedDate ID="sails-sr-00001-d1e417" reg="1897">97</dischargedDate>
            </shipServedEntry>
    	<shipServedEntry ID="sails-sr-00001-d1e421">
    		<ship ID="sails-sr-00001-d1e423" reg="Lynx">Lynx</ship>
    		<appointmentDate ID="sails-sr-00001-d1e426" reg="1897">97</appointmentDate>
    		<dischargedDate ID="sails-sr-00001-d1e429" reg="1897">97</dischargedDate>
    	</shipServedEntry>
    	<shipServedEntry ID="sails-sr-00001-d1e433">
    		<ship ID="sails-sr-00001-d1e435" reg="Skate">Skate</ship>
    		<appointmentDate ID="sails-sr-00001-d1e438" reg="1897">97</appointmentDate>
    		<dischargedDate ID="sails-sr-00001-d1e441" reg="1898">98</dischargedDate>
    	</shipServedEntry>
    	<shipServedEntry ID="sails-sr-00001-d1e445">
    		<ship ID="sails-sr-00001-d1e447" reg="Tamar">Tamar</ship>
    		<appointmentDate ID="sails-sr-00001-d1e450" reg="1898">98</appointmentDate>
    		<dischargedDate ID="sails-sr-00001-d1e453" reg="1900">00</dischargedDate>
    	</shipServedEntry>
    	<shipServedEntry ID="sails-sr-00001-d1e458">
    		<ship ID="sails-sr-00001-d1e460" reg="Lapwing">Lapwing (Comd)</ship>
    		<appointmentDate ID="sails-sr-00001-d1e463" reg="1901">01</appointmentDate>
    		<dischargedDate ID="sails-sr-00001-d1e466" reg="1903">03</dischargedDate>
    	</shipServedEntry>
    	<shipServedEntry ID="sails-sr-00001-d1e470">
    		<ship ID="sails-sr-00001-d1e472" reg="Torpedo Course">Torp Course</ship>
    		<appointmentDate ID="sails-sr-00001-d1e475" reg="1903-04">Apr. 03</appointmentDate>
    		<dischargedDate ID="sails-sr-00001-d1e478" reg="1903-05">May 03</dischargedDate>
    	</shipServedEntry>
    	<shipServedEntry ID="sails-sr-00001-d1e482">
    		<ship ID="sails-sr-00001-d1e484" reg="Lively">Lively (Comd)</ship>
    		<appointmentDate ID="sails-sr-00001-d1e487" reg="1903-07">Jul. 03</appointmentDate>
    		<dischargedDate ID="sails-sr-00001-d1e490" reg="1903-08">Aug. 03</dischargedDate>
    	</shipServedEntry>
    	<shipServedEntry ID="sails-sr-00001-d1e494">
    		<ship ID="sails-sr-00001-d1e496" reg="War Course">War Course</ship>
    		<appointmentDate ID="sails-sr-00001-d1e499" reg="1903-10">Oct. 03</appointmentDate>
    		<dischargedDate ID="sails-sr-00001-d1e502" reg="1904-01">Jan. 04</dischargedDate>
    	</shipServedEntry>
    	<shipServedEntry ID="sails-sr-00001-d1e506">
    		<ship ID="sails-sr-00001-d1e508" reg="Gunnery Course">G. Course</ship>
    		<appointmentDate ID="sails-sr-00001-d1e511" reg="1904-03">Mar. 04</appointmentDate>
    		<dischargedDate ID="sails-sr-00001-d1e514" reg="1904-04">Apr. 04</dischargedDate>
    	</shipServedEntry>
    	<shipServedEntry ID="sails-sr-00001-d1e518">
    		<ship ID="sails-sr-00001-d1e520" reg="Challenger">Challenger</ship>
    		<appointmentDate ID="sails-sr-00001-d1e523" reg="1904-05">May 04</appointmentDate>
    		<dischargedDate ID="sails-sr-00001-d1e526" reg="1906-06">Jun. 06</dischargedDate>
    	</shipServedEntry>
    	<shipServedEntry ID="sails-sr-00001-d1e531">
    		<ship ID="sails-sr-00001-d1e533" reg="Hyacinth">Hyancinth</ship>
    		<appointmentDate ID="sails-sr-00001-d1e536" reg="1906-11">Nov. 06</appointmentDate>
    		<dischargedDate ID="sails-sr-00001-d1e539" reg="1907-01">Jan. 07</dischargedDate>
    	</shipServedEntry>
    	<shipServedEntry ID="sails-sr-00001-d1e543">
    		<ship ID="sails-sr-00001-d1e545" reg="Signal Course">Sig. Course</ship>
    		<appointmentDate ID="sails-sr-00001-d1e548" reg="1907-01">Jan. 07</appointmentDate>
    		<dischargedDate ID="sails-sr-00001-d1e551" reg="1907-03">Feb. 07</dischargedDate>
    	</shipServedEntry>
    	<shipServedEntry ID="sails-sr-00001-d1e555">
    		<ship ID="sails-sr-00001-d1e557" reg="War Course">War Course</ship>
    		<appointmentDate ID="sails-sr-00001-d1e560" reg="1907-02">Feb. 07</appointmentDate>
    		<dischargedDate ID="sails-sr-00001-d1e563" reg="1907-05">May 07</dischargedDate>
    	</shipServedEntry>
        <shipServedEntry ID="sails-sr-00001-d1e567">
        	<ship ID="sails-sr-00001-d1e569">Acheron</ship>
        	<appointmentDate ID="sails-sr-00001-d1e572" reg="1907-05">May 07</appointmentDate>
        </shipServedEntry>
        <shipServedEntry ID="sails-sr-00001-d1e576">
        	<ship ID="sails-sr-00001-d1e578" reg="War Course">War Course</ship>
        	<appointmentDate ID="sails-sr-00001-d1e581" reg="1909-03">Feb. 1909</appointmentDate>
        </shipServedEntry>
        <shipServedEntry ID="sails-sr-00001-d1e585">
    		<ship ID="sails-sr-00001-d1e587" reg="Gunnery Course">Gunnery Course</ship>
    		<appointmentDate ID="sails-sr-00001-d1e590" reg="1909-09">Sept. 09</appointmentDate>
    	</shipServedEntry>
    	<shipServedEntry ID="sails-sr-00001-d1e595">
    		<ship ID="sails-sr-00001-d1e597" reg="Torpedo Course">Torpedo Course</ship>
    		<appointmentDate ID="sails-sr-00001-d1e600" reg="1909-09">Sept. 09</appointmentDate>
    	</shipServedEntry>
    	<shipServedEntry ID="sails-sr-00001-d1e604">
    		<ship ID="sails-sr-00001-d1e606" reg="Cyclops">Cyclops</ship>
    		<appointmentDate ID="sails-sr-00001-d1e609" reg="1910-02-12">12 Feb. 10</appointmentDate>
    	</shipServedEntry>
    	 <shipServedEntry ID="sails-sr-00001-d1e613">
    	 	<ship ID="sails-sr-00001-d1e615">Egmont  as Captain Attendant; KHM, Malta</ship>
                <station reg="Malta">Malta</station>
                <appointmentDate ID="sails-sr-00001-d1e621" reg="1912-04">Apr. 12</appointmentDate>
            </shipServedEntry>
            <shipServedEntry ID="sails-sr-00001-d1e625">
            	<ship ID="sails-sr-00001-d1e627">Egmont in Charge of Depot, Malta</ship>
            	<station reg="Malta">Malta</station>
            	<appointmentDate ID="sails-sr-00001-d1e633" reg="1912-06">Jul. 12</appointmentDate>
            </shipServedEntry>
    	<shipServedEntry ID="sails-sr-00001-d1e637">
    		<ship ID="sails-sr-00001-d1e639" reg="War Course">War Course</ship>
    		<appointmentDate ID="sails-sr-00001-d1e642" reg="1913-09">Sept. 13</appointmentDate>
    	</shipServedEntry>
    	<shipServedEntry ID="sails-sr-00001-d1e646">
    		<ship ID="sails-sr-00001-d1e648" reg="London">London</ship>
    		<appointmentDate ID="sails-sr-00001-d1e651" reg="1914-03">Feb. 14</appointmentDate>
    	</shipServedEntry>
    	<shipServedEntry ID="sails-sr-00001-d1e656">
    		<ship ID="sails-sr-00001-d1e658" reg="Bacchante">Bacchante</ship>
    		<appointmentDate ID="sails-sr-00001-d1e661" reg="1917-02-05">5:2:17</appointmentDate>
    		<dischargedDate ID="sails-sr-00001-d1e664" reg="1917-08">8:1917</dischargedDate>
    	</shipServedEntry>
    	<shipServedEntry ID="sails-sr-00001-d1e668">
    		<ship ID="sails-sr-00001-d1e670" reg="King Alfred">King Alfred</ship>
    		<appointmentDate ID="sails-sr-00001-d1e673" reg="1917-08">8:17</appointmentDate>
    	</shipServedEntry>
    	<shipServedEntry ID="sails-sr-00001-d1e677">
    		<ship ID="sails-sr-00001-d1e679" reg="Pembroke">Captain Superintendant, Pembroke</ship>
    		<appointmentDate ID="sails-sr-00001-d1e682" reg="1918-11-01">1:11:18</appointmentDate>
    		<dischargedDate ID="sails-sr-00001-d1e685" reg="1920-02-16">19:2:20</dischargedDate>
    	</shipServedEntry>
    	<shipServedEntry ID="sails-sr-00001-d1e689">
    		<ship ID="sails-sr-00001-d1e691">G.S.P.</ship>
    		<appointmentDate ID="sails-sr-00001-d1e694" reg="1919-02-10">10 Feb 1919</appointmentDate>
    		<dischargedDate ID="sails-sr-00001-d1e697" reg="1920-01-28">29 Jan 1920</dischargedDate>
    	</shipServedEntry>
    </shipsServed>
    
    	<reports>
            <report ID="sails-sr-00001-d1e704"/>
        </reports>
    </serviceRecord>
    

    Now it’s on to the ships’ logs for which we’ll need the assistance of the Galaxy Zoo people.

    First steps towards an ontology…

    February 4th, 2011

    Today we had a first brainstorming session aimed at finding out what are the main entities we’ll have to deal with in the ontology. Essentially, we went through a sample service log transcription (in an XML file) and reasoned over the meaning and significance of the data it contained. From a first analysis, these are the main entities that emerged:

    ..person

    ..ship

    ..document

    ..event

    ……rank-assignment event

    ……duty-assignment event

    ……report-writing event

    This is obviously just a very first steps towards the identification of the main concepts of the ontology; more things will have to be added. In particular for the next sessions we agreed we should work on the following aspects:

    1. fleshing out more the (implicit) semantic content of the terms above, how they relate to each other, and what kind of instances they can have. This may involve having a second round of talks with the domain experts so to make sure we are not misunderstanding any of the key concepts in naval history.

    2. Do some literature review work so to find out whether other commonly-used ontologies cover part of this ground (eg CIDOC-CMR) – and whether they can be reused, extended, or not..

    For the photography enthusiasts, here’s a couple of  shot from today’s brainstorming session: