Showing posts with label #jiscGEO. Show all posts
Showing posts with label #jiscGEO. Show all posts

Thursday, 11 August 2011

(Re-)Using the Graph Explorer Pt. 2: API

The PELAGIOS Graph Explorer HTTP API exposes the data from the visualization in JSON format, with Place geometry encoded as GeoJSON. Since the Graph Explorer runs entirely on the API internally, all of the operations you can see in the visualization are also available through the API - from place search to finding intersections between datasets, to getting the source data references.

The design of the API has been somewhat ad hoc: the approach was to be pragmatic, quick, and build in the essentials needed for the visuals, no more, no less. If you are re-using it for other purposes which we haven't anticipated (different types of visualizations, analyses, etc.) you are likely to encounter situations where you lack certain features, would have expected things to be named or organized differently, or miss a bit of documentation here and there, I assume. But bear with us - it's an alpha version & this is exactly the kind of feedback that's valuable for us! We're excited about anyone trying out things with the API we haven't thought of!

Visit our Wiki to learn the basics and see some live examples.

P.S.: An online demo of the PELAGIOS Graph Explorer is available here. Screencasts explaining the basic usage are in this blogpost: The PELAGIOS Graph Explorer: A First Look

(Re-)Using the Graph Explorer Pt. 1: Technology

As announced, I would like to use the next couple of posts to provide a little technical information on our PELAGIOS datavisualization demo, aka the Graph Explorer.

In this post I'll provide a quick rundown of the technologies we have used to implement the demo. So if your interest is in understanding the code, deploying it on your own server, etc. then this post is for you!

If you don't care about the details under the hood, but want to use the API to build your own mashups: this will be covered in the next post.

If you're not interested in tinkering with the application at all, but rather want to know how you can get your own data into the graph, or create your own data aggregations: we'll cover that in part III, which will focus on the data-end of things.

Architecture


In terms of architecture, the Graph Explorer is a pretty standard Web application: the user interface is implemented in JavaScript, so it should run in any reasonably modern browser, with no need for extra plugins (i.e. no Flash or Silverlight involved). It makes heavy use of Scalable Vector Graphics to visualize the graph, aided by a few little helper libraries underneath for added functionality and eye candy.

The server side is implemented in Java. To make things work at reasonable speeds, the Graph Explorer keeps an aggregation of PELAGIOS partners' data in a database. (Right now it's actually just a small sample subset of about 75.000 data records total.)

Rather than using a relational database, we have used the Neo4j NoSQL graph database. Not only does this fit better with the graph-like structure of our source data (which is RDF), it also has the added benefit that we get a range of graph algorithms for free: e.g. the shortest path search, which is what you will see when you search for multiple places (example). Personally, I also found it easier to work with Neo4j rather than a triple store: the recommended Neo4j practice of defining your own domain model (and then working with concrete instances of Datasets, Places and OAC Annotations, rather than a generic model of Nodes and Edges or Resources and Properties) just felt much more straightforward, results in more concise and readable code, and (in my opinion) easily makes up for the sacrifices in terms of 'genericness' and lack of a standardized query language.

Source Code & License


As all our work, the Graph Explorer is open. We're licensing it under the GNU General Public License v3.0. You can get the source code from our GitHub repository, which also contains detailed build and deployment instructions.

P.S.: An online demo of the PELAGIOS Graph Explorer is available here. Screencasts explaining the basic usage are in this blogpost: The PELAGIOS Graph Explorer: A First Look

Monday, 8 August 2011

PELAGIOS Graph Explorer - The Live Demo

Just a short post to announce the availability of a live demo installation of the PELAGIOS Graph Explorer! Feel free to play with it at

http://pelagios.dme.ait.ac.at/graph-explorer

Mind that this is our development server, so the demo may be down occasionally as we are working on it.

Friday, 5 August 2011

The PELAGIOS Graph Explorer: A First Look

The PELAGIOS project blog has been a little silent recently. But certainly not because of the summer - but rather because of some busy work that has been going on behind the scenes! Today I'd like to present some results of this work: the alpha version of the PELAGIOS Graph Explorer (working title ;-)

The Graph Explorer is a visualisation tool which lets you play with the data provided by the PELAGIOS partners, and explore the relations that now exists thanks to:
  • the alignment of all data with the Pleiades Gazetteer
  • the use of a common vocabulary to express place references

I'm planning to discuss the details - the components underneath the hood, the implementation, the Graph Explorer API - in a follow-up post. And there will also be a public demo instance you can try hands-on. But for now I'd just like to keep it short - and show what the tool looks like!

The first screencast explores how datasets from different PELAGIOS partners are related to each other through place. You can also view the original-resolution video for a clearer picture.



The second screencast takes the "inverse perspective" (so to speak) - and explores how different places in the PELAGIOS data are related to each other through data. The original-resolution video is here.



UPDATE: The online demo of the Graph Explorer is available at
http://pelagios.dme.ait.ac.at/graph-explorer

Thursday, 7 July 2011

Open Licenses

One of the most important things for any online resource to think about is the license they will make their data available under. Naturally we're very much into the Open variety here at Pelagios (in fact our work would essentially be meaningless otherwise), but that word can mask a good degree of philosophical (and occasionally bureaucratic) diversity. Creative Commons have a done a remarkable job of trying to simplify this process but it remains a fact that when bringing different datasets together we may be faced with the need to deal with multiple licenses. Pelagios in fact uses four: CC-ZERO, CC-BY, CC-BY-SA, CC-NC-ND. There are two reasons for this, a pragmatic one and a philosophical one.

Pragmatically, we essentially have no choice when working with a sizeable (and growing) consortium. Many of the projects we are working have been established for years (occasionally decades) and although all subscribe to a policy of open content they have different needs and histories of licensing. There is simply no way for us to require that they change to a new licensing regime. Philosophically however we see this as no bad thing. Indeed, the purpose of Pelagios is not to serve up a new aggregation of content under a new license and we doubt whether such an imperative could ever be scalable in principle. Rather, we wish explore complementary ways that resource providers can make their content available that facilitate integration with third parties, but under their own license terms. Resource combinations should always be created with specific goals in mind - not simply ad hoc aggregations - that take into account the licensing requirements as well as the content.

We are aware that in some cases the desired data will not always be available under the terms and conditions one might wish but that is simply the nature of cultural content. Trying to force the issue will only make potential future partners more hesitant to collaborate. We are keen to work together with any provider with ancient data, just as long as they are truly interested in sharing what they have with the wider world.

Information about all the licenses we use is available at:
http://pelagios-project.blogspot.com/2011/03/pelagios-project-plan-part-4-ipr.html

Sunday, 6 February 2011

Welcome to PELAGIOS

PELAGIOS stands for 'Pelagios: Enable Linked Ancient Geodata In Open Systems'. The idea behind the project is simple, even if the actions to fulfill it - and the acronym - are not. On-line resources that reference ancient places are multiplying rapidly, bringing huge potential for the researcher provided that they can be found; but, even then, the user currently has no way of bringing the data together. PELAGIOS has teamed up with an international consortium of leading research groups to trial a method of linking open data (LOD) that will enable scholars and enthusiast alike to discover all kinds of stuff related to ancient places and then to visualize it in accessible and meaningful ways.

The consortium of projects and research groups that make up PELAGIOS are as follows:

We'll be aiming to post the project's many turns pretty regularly (say, every other week or so), since we believe that the process as much as any outcome itself may be of interest to the community. Above all, since a project of this size and nature will only succeed if it has the input from those who are going to use it as a resource (i.e. you guys), we welcome your feedback. So join us in going places, ancient style.

Pelagios is funded by JISC as part of their #jiscGEO programme.