nodegoat is a web-based research environment for the humanities

Use nodegoat to build your own data model. All of nodegoat's functionalities are tailored to your research questions.

Data Modelling  

Use nodegoat to create new datasets collaboratively or alone. Explore data by means of spatial and temporal visualisations. The built-in network analysis tools reveal patterns and central nodes.

Data Creation & Exploration  

Use nodegoat to publish your data in interactive visualisations, as an API, or export data publications.

Data Publication  

How to store uncertain data in nodegoat: ambiguous identities

CORE Admin

This blog post is part of a series on storing uncertain datat in nodegoat: 'How to store uncertain data in nodegoat', 'Incomplete source material', 'Conflicting information', 'Ambiguous identities'.

There are many entities that share a name. This is often the case for cities (e.g. Springfield), or people (e.g. Francis Bacon). When you encounter such a name in a source, the context usually provides you with enough clues to know which of the entities is meant. However, in some cases the context is too vague or the entities too similar to be certain. In these cases you need to resort to interpretation and disambiguation. This is genuine scholarly work, since you always have to interpret your sources.

This blog post will describe a case in which disambiguation is needed. We will use the example of a research process that aims to reconstruct scholarly networks in the 17th and 18th century. In a research process that deals with scholarly networks, the source material will largely consist of citations and mentions in documents.

The disambiguation process will be described by means of a snippet taken from a publication by an anonymous author in 1714 with the title 'An account of the Samaritans; in a letter to J---- M------, Esq;' (ESTC Citation No. N16222).

This blog post uses the data model that was created in the nodegoat guide 'Create your first Type', and will use elements from the guide 'Add External Identifiers', and from the guide 'Add Source References'.

To store 'mentioned' statements, you can use the Type that was created in the guide 'Add Source References' and add a new Sub-Object in which mentions can be saved. To change the model, go to Model and edit the Type 'Publication'. Switch to the tab 'Sub-Object' and create a new Sub-Object with the name 'Mention'. Set the Date to 'None' and Location to 'None'. In the tab 'Description', click the green 'add' button twice to create three Sub-Object Descriptions. Name the first 'Person', the second 'Page Number', and the third 'Notes'. Set the value type for 'Person' to 'Reference: Type' and select the Type 'Person'. Set the value type for 'Page Number' to 'Integer' and set the value type for 'Notes' to 'Text'.

These settings are not set in stone. Adjust them so that they work for your project.[....]

Continue readingComment

How to store uncertain data in nodegoat: conflicting information

CORE Admin

This blog post is part of a series on storing uncertain data in nodegoat: 'How to store uncertain data in nodegoat', 'Incomplete source material', 'Conflicting information', 'Ambiguous identities'.

When you work your way through your source material, you might encounter two sources that deal with the same subject but contain contradictory data. In these cases, you usually have two options: you either choose one of the sources based on its reliability, or you make an interpretation that combines the data from both sources. To account for disagreement in your sources, a third option is to include both statements in your dataset. This blog post will show you how to include conflicting information in your nodegoat project.

This blog post uses the data model that was created in the nodegoat guide 'Create your first Type'. If you haven't set up a data model in your nodegoat environment yet, you can follow this guide to do so. If you already have a data model, you can apply the steps discussed below in your own data model.

The multiple births of John Chamberlayne

The Dictionary of National Biography of 1887 writes that John Chamberlayne was born 'about 1666'.


Leslie Stephen, Dictionary of National Biography, v. 10 (Elder Smith & Co., 1887), page 9. Available at wikisource.

In a more recent lemma, in the Oxford Dictionary of National Biography (2009 version), he is said to be born in '1668/9'.

The first source, published in 1887, does not give any details on the way in which the statement 'about 1666' was formulated. The second source, first published in 2004, states that he matriculated from Trinity College, Oxford, on 7 April 1685, aged sixteen. This fact has allowed the author to conclude that he must have been born in either 1668 or 1669. This assumption rests on two premises: that the matriculation record lists an exact age (and not an estimate) and that John Chamberlayne knew the date of his birthday precisely (which in the 17th century was not necessarily the case).[....]

Continue readingComment

How to store uncertain data in nodegoat: incomplete source material

CORE Admin

This blog post is part of a series on storing uncertain data in nodegoat: 'How to store uncertain data in nodegoat', 'Incomplete source material', 'Conflicting information', 'Ambiguous identities'.

You are often confronted with omissions or with inconclusive statements when you deal with historical source material. To let your dataset reflect the nature of your sources, it is important that you include these vague or uncertain statements in your data. This blog post will go over a number of strategies that will help you to deal with these cases in your nodegoat project.

A common scenario is a case where you lack information. When this happens, you can decide to leave a given description, date, or location empty. This gives you the ability to create a filter that finds the objects that have empty descriptions, dates, or locations.

In another situation you might encounter a source that is partially lacking. The source does provide you with some information, but is inconclusive about the certainty of the information. An example of this is the entry on John Chamberlayne in the Dictionary of National Biography:


Leslie Stephen, Dictionary of National Biography, v. 10 (Elder Smith & Co., 1887), page 9. Available at wikisource.

The first sentence of his entry reads: "CHAMBERLAYNE, JOHN (1666–1723), miscellaneous writer, a younger son of Edward Chamberlayne [q. v.], was born about 1666, probably in or near London."

We will discuss four strategies for accommodating this uncertain source: a true/false statement on certainty, a scale on the level of certainty, entering chronology statements, and entering geometries.[....]

Continue readingComment

How to store uncertain data in nodegoat

CORE Admin

This blog post is part of a series on storing uncertain data in nodegoat: 'How to store uncertain data in nodegoat', 'Incomplete source material', 'Conflicting information', 'Ambiguous identities'.

Most scholars think about their research material in terms of nuances, vagueness, and uniqueness, whereas data is perceived as binary, strict, and repetitive. However, working with a digital tool does not mean that you can only work with binary oppositions or uncontested timestamps. On the contrary: by creating a good data model, you are able to include nuances, irregularities, contradictions, and vagueness in your database. A good data model is capable of making these insights and observations explicit. Instead of smoothing out irregularities in the data by simplifying the data model, the model should be adjusted to reflect the existing vagueness, conflicts, and ambiguities.

Before you start to adjust your data model to accommodate uncertainty, you should first try to determine the causes for uncertainty in your data. Most forms of uncertainty in data can be grouped in three categories: incomplete source material, conflicting information, or ambiguous identities.

These types of uncertainty can be dealt with in different ways. The next three blog posts will walk you through a number of possible solutions. The described strategies are not the only possible solutions: each research question is unique and may call for a solution of its own.

Incomplete source material

When the information you need is not available, incomplete, or vague you have to decide if you want to leave the respective parts in your data empty or enter data based on inference or conjecture. Read the blog post 'How to store uncertain data in nodegoat: incomplete source material' to learn how to deal with incomplete source material.

Conflicting information

You might encounter conflicting source material. Two sources might differ about the name of a person, or the date of an event. To account for all possible perspectives, you can include the conflicting statements in your data. Read the blog post 'How to store uncertain data in nodegoat: conflicting information' to learn how to deal with conflicting information.[....]

Continue readingComment

Release of nodegoat 7.3

CORE Admin

The release of nodegoat 7.3 comes with a set of new features that have been developed in collaboration with various projects and institutes.

Repertorium Academicum Germanicum: Vague and Complex Dates

The Repertorium Academicum Germanicum (RAG) at the University of Bern has commissioned a major overhaul of the nodegoat dating functionality. With this development process, the core of nodegoat's date handling processes have been rewritten to account for date statements that are uncertain/cyclical/relational. These statements can be expressed using 'ChronoJSON' notation, to allow for a clean and understandable description of complex date statement. We used the EDTF format as a starting point for this development process, but had to conclude that this format was not equipped to make relational date statements or include custom periodisations (like 'Sommersemester').

With these new features nodegoat users can now make statements like 'letter X was sent two months after letter Y and two months before letter Z', or 'Person A graduated on one day two years before 1498 and two years after 1498'.

These features are completely integrated into all nodegoat's functionalities. This means that you can create complex filters that use relational or vague date statements, include these levels of vagueness in your visualisation, and make selections of data based on vague dates to perform network analytical calculations.[....]

Continue readingComment

Learn more about nodegoat in Mainz, Paris, Erfurt, or Pisa

CORE Admin

In the next weeks nodegoat will be present at several conferences. Meet us in Mainz, Paris, Erfurt, or Pisa to learn more about nodegoat or discuss your nodegoat project with us.

Mainz: Networks Across Time and Space

During the 13th Workshop on Historical Network Research titled "Networks Across Time and Space" we will give a nodegoat workshop and present the recently developed analytical features of nodegoat. This event takes place on May 27th and 28th at the Akademie der Wissenschaften und der Literatur in Mainz.

Paris: Teaching History in the Digital Age – international perspectives #dhiha8

We will give a workshop with the title "Teaching Database Skills for Historical Research with nodegoat" on June 17th at the Institut historique allemand Paris. This workshop is part of the conference "Teaching History in the Digital Age – international perspectives #dhiha8".[....]

Continue readingComment

Data Publication by the MapModern Project

CORE Admin

The MapModern project at the Universitat Oberta de Catalunya (UOC) which focuses on cross-border literary networks and cultural mediators in the hispanic world between 1908 and 1939, has recently published a dataset on translations and reviews in hispanic modernist journals. This dataset has been created in their nodegoat database and currently includes all translations or reviews from La Revista (Barcelona) from 1915 to 1936; the second period of Proa (Buenos Aires) from 1924 to 1926, and Sur (Buenos Aires) from 1931 to 1939. More data from Iberoamerican journals will be added in the future.

Laura Fólica and Ventsislav Ikoff have collected the data, Diana Roig Sanz is the PI of this project. With the help of the staff of the UOC library, the dataset has been made Dublin Core compliant. The dataset can be downloaded from the data repository of the UOC: http://hdl.handle.net/10609/86485, or from the EUDAT Collaborative Data Infrastructure which has assigned the dataset with a DOI: 10.23728/b2share.eb5c468d3dc3401c8b2fb4605d868a00. The suggested citation is: Translations and Reviews in Iberoamerican Modernist Periodicals (dataset) by Fólica, Laura; Ikoff, Ventsislav; Roig Sanz, Diana; Dec 12, 2018.[....]

Continue readingComment

nodegoat Products

CORE Admin
Interactive nodegoat installation at the GRIMMWELT museum in Kassel. Photo: Harry Soremski.

Since nodegoat's conception in 2011 by LAB1100, in collaboration with Joep Leerssen of the University of Amsterdam, our web-based research environment is used in various configurations by individual scholars as well as by large scale collaborative research projects.

The first project that started to use nodegoat was the Study Platform on Interlocking Nationalisms for their Encyclopedia of Romantic Nationalism in Europe in 2011. Since then it has been used by over twenty institutional projects and we have provided over a thousand individual scholars with access to a free personal research environment on nodegoat.net. The institutional projects are hosted on a server of the institute, and are offered in combination with training, workshops, and support. The individual accounts are hosted on our own server, located in The Hague, The Netherlands.

Due to the flexibility of nodegoat, it can be used for a wide range of different kinds of research projects. This means that there is rarely only one project at a university or research institute that wants to use nodegoat as their primary tool of research. To be able to facilitate these multi-project configurations, we have been offering various installation packages and service level agreements in the past years. To streamline our services we have formalised these packages in three different nodegoat products: nodegoat One, nodegoat Grow, and nodegoat Go.

nodegoat One is suitable for institutes that want to run a single nodegoat project. nodegoat Grow is suitable for institutes that want to run a specific amount of nodegoat projects that each have their own database. nodegoat Go is suitable for institutes that want to offer any amount of nodegoat research environments to their staff and students.[....]

Continue readingComment

nodegoat Open-Source

CORE Admin

Work on nodegoat started in October 2011 when Joep Leerssen approached Pim van Bree and Geert Kessels to develop a visualisation of a set of historical letters. The first version of this visualisation was a diachronic spatial data visualisation built in JavaScript. This visualisation still runs at http://projects.lab1100.com/labmap/.

Based on this project, Pim van Bree and Geert Kessels founded the company LAB1100 to continue to work on data related topics within the realm of the humanities.

Since 2011 LAB1100 has developed an online research environment that is able to host research data as well as provide various modes of analysis and visualisation. This online research environment was initially called the 'Chrono Spatial Research Platform'. In 2013 its name changed to nodegoat (which is now a registered trademark in the EU and US).

From 2012 onwards, free individual hosted accounts have been provided to scholars who want to use nodegoat to host, analyse, and visualise their data. These accounts can be requested here. We currently provide over a thousand of individual scholars with a free personal research account. You can explore a number of use cases here.[....]

Continue readingComment

nodegoat at DH2017

CORE Admin
nodegoat Poster at DH2017. Click on the poster to open the vector image in a new window.

With this poster, nodegoat will be present at this year's ADHO DH conference in Montreal, Canada.

We also present a long paper on the iterative data modelling methodology. We'll talk about the benefits of this approach in relation to teaching data modelling and data modelling as a research practice. This presentation is based on the three blog posts we published earlier this year:

More info on the conference session in which we present our paper can be found here. Below you find the slides and abstract of the paper.[....]

Continue readingComment

nodegoat API

CORE Admin

As a result of our cooperation with nodegoat's institutional partners, we have been able to develop a RESTful API for nodegoat.

The API provides an additional interface to query and store data to your Projects in nodegoat. We have integrated the API with nodegoat's core functionalities and have optimised it for large operations. The API can also be used to update the data Model, which allows you to update specific attributes of a Type, or upload a whole data Model with multiple Type templates in one go.

You can use the Project settings to configure what parts of your data are exposed through the API. The API can be configured to require authentication or allow for public access.

Documentation for the API is available via the nodegoat Documentation. To learn how you can query your data to use it in other applications, see: https://nodegoat.gitbooks.io/documentation/content/usage/API/query.html. To learn about storing your data using the API, see: https://nodegoat.gitbooks.io/documentation/content/usage/API/store.html.

In case you want to use the API with your own research data, get in touch!

We have enabled the API for a demo domain. You can access this domain by logging in to nodegoat.net with the username 'demo' and password 'demo'. The following cURL commands give you a JSON package with the information that has been entered on the French intellectual Ernest Renan. You can also click on the URL to view the output in your web browser.

curl http://demo.nodegoat.io/project/1/data/type/4/object?search=renan -X GET

or

curl http://demo.nodegoat.io/ngAQ3A96sAJ3kMmZiAQD3 -X GET

output:[....]

Continue readingComment

Iterative Data Modelling

CORE Admin

In the past years, we have given various nodegoat workshops to groups of scholars and students. Even though the entry level of the participants varied from workshop to workshop there were similar challenges that emerged every time. These challenges can be grouped into the following three questions:

  1. What is a relational database?
  2. My material is very vague/ambiguous/uncertain/contradictory/unique/special, how can I use this in a database?
  3. How do I use the nodegoat interface?
nodegoat Workshop at the University of Luxembourg.

Since most of the workshops we give are nodegoat-specific, we aim to teach participants how to do data modelling from within the nodegoat interface. Because of this, and as a result of the usual time constraints (often half a day), we have to leave the first two fundamental questions largely untouched. To remedy this, we have written two blog posts in which we aim to cover the first two questions. The third question is being addressed in the nodegoat video tutorials, the FAQ & forum, and in the near future the documentation.[....]

Continue readingComment

Formulating Ambiguity in a Database

CORE Admin
Photograph of the staff of the International Institute of Bibliography, writing and classifying records

One of the most obvious questions to start with when working with structured data in the humanities is: what is data? Miriam Posner has captured this challenge in the title of her talk on this topic: 'Humanities Data: A Necessary Contradiction'. Oftentimes, scholars think about their research material in terms of nuances, vagueness, uniqueness, whereas data is perceived as binary, strict and repetitive. The realisation that nuances, vagueness, and uniqueness can also be captured by data in a database is something that has to grow over time.

As soon as we start talk about 'data' it is important to keep two things in mind. First, we should be ready to reflect on the fact that data oriented processes can dehumanise data. This process has been described by Scott Weingart in his essay on digitising and storing holocaust survivor stories. Even though we can efficiently organise large collections of data, the implications of this process have to be taken into account.[....]

Continue readingComment

What is a Relational Database?

CORE Admin
Manuscripts and Archives Division, The New York Public Library. Room 100, including card catalogs

At a certain moment in your research process, you might decide that you need to order your material in a structured format. A reason could be that there are too many different people in your body of research and it's becoming hard to keep track of them, let alone their different attributes. Another reason could be that you have repetitive sources, like letters or books, that you want to store and include in your analysis.

In the old days, you would get yourself a card catalogue and start reworking your notes onto these little handy cards.[....]

Continue readingComment

Geographic visualisation of biographies of scholars. Tobias Winnerling (Heinrich-Heine-Universität Düsseldorf), project: "Wer Wissen schafft. Gelehrter Nachruhm und Vergessenheit 1700 – 2015".

Social Network Graph of the network around Dutch engineer Cornelis Meijer. Project: "Mapping Notes and Nodes in Networks".