The Knowledge-base Browser
Primary Mentor: Bartosz Dobrzelecki (bartosz [dot] dobrzelecki [at] googlemail [dot] com)
Secondary Mentor: Mike Jackson (tbc)
Background
We humans have discovered, a long time ago, that graphs are the best way to organise and represent our knowledge. We understand graphs intuitively in their visual form and we have built complex theories that allow us to understand graphs formally.
The mind map is probably the most commonly used type of a knowledge representing graph - we often use it to visually explore some topic. We do this by defining links between terms, sentences, objects, etc. In a mind map, the relations between objects are usually not annotated. The typical mind map is a very personal representation in which a lot of semantic information is implicit. The author understands why a particular link appeared in a mind map, but this link will not be obvious to another person and its meaning may even be hard to recall for the author after some time has passed. In spite of this, mind maps are an extremely practical and easy to use tool.
There is an equal lack of information as to why two entities are linked in a World Wide Web context. The Web is full of links, usually expressed as <a href> tags. To understand why a given page refers to another page, a human needs to understand the context in which a link appears. This works quite well for humans, but is very hard for computer programs. That’s why when we use search engines, we need to display a page and get a quick grasp of its contents to be able to conclude if the search result contains what we were looking for. This can become a tedious, manual task by the end of which we discover only a small part of the relevant knowledge available on the Web.
The Semantic Web and Linked Data movements aim to add meaning to the web and improve knowledge discovery. This is to be achieved by identifying web resources and their representations in a consistent way, describing them in relation to other resources using links with explicit meaning that can be processed by both humans and machines.
The technologies underlying the Semantic Web are already mature and are being successfully implemented to build and expose local and global knowledge-bases. The problem that still needs to be solved is how to best interact with and augment such knowledge-bases. One would like to be able to interact, annotate and query a given semantic graph in an intuitive manner similar to what is known from working with mind maps. Exploration and development of novel user interfaces and visualisation techniques that could make interacting with graph data stored in semantic databases as intuitive as possible is the main goal of this project.
Project Goals
Development of a prototype of a standards based knowledge explorer that will interact with SPARQL endpoints to allow intuitive navigation, annotation, querying and sharing of the knowledge stored in semantic knowledge-bases. The intuitiveness of proposed solutions will be tested empirically together with non-technical users working with semantic knowledge bases in classical history research.
Project Description
The explorer will have four main modules. These are ideas that can be explored in the GSoC project. The student will propose the exact scope of the project together with the mentor.
Navigation
The navigation module will provide graphical representation of a knowledge graph. This module will require some good visualisation ideas as the amount of information stored in semantic databases quickly clutters the visual representation and makes it illegible. The system should dynamically filter displayed information based on user input (user may specify not interesting properties) or using some heuristics like fold nodes that are 3 links away.
Annotation
The user should be able to annotate knowledge stored in the graph, by either adding new relations or resources or by adding comments (annotations) that target one or more resources.
Query
The system should provide a graphical query building facility where users would be able to build queries by example. For example: a user finds an interesting graph pattern while navigating the knowledge-base. Interesting nodes can be selected and taken to the query building module, where the graph can be turned into a query by changing the types of nodes and links (by using wild-cards for example).
Sharing
The system should provide for sharing annotations and queries. The social aspect.
Some ideas are sketched on the drawing below

Project Requirements
Required: Javascript, front end development, interest in user interfaces and visualisation
Good to have: Processing[.js], javascript framework (jQuery?), graph databases (triple stores)
Further information
- SPQR Project: http://spqr.cerch.kcl.ac.uk/
- Javascript port of the Processing language: http://processingjs.org/
- A good example of a knowledge browser prototype: http://askken.heroku.com/
- An example of a traditional force guided graph visualisation in jQuery: http://arborjs.org/
- RDF - a data model underlying the Semantic Web: http://en.wikipedia.org/wiki/Resource_Description_Framework
- SPARQL specification: http://www.w3.org/TR/rdf-sparql-query/
- Wikipedia on: Semantic Web, Linked Data
Last updated: Wednesday 16 March 2011.
