Progress Report 3

Overview

Key Accomplishments of the Last Period

  1. The conceptual data model was finalized
  2. The intermediary structured database was finalized
  3. The project website basic UI was created
  4. The project MySQL database was created (only structure — no data)
  5. The project website ORM software was configured to use the project database — an object model was created and mapped to the database

Upcoming Tasks for the Next Period

  1. Complete the website development
  2. Summarize project results
  3. Prepare a poster

Issues

All significant events in Nietzsche’s life have been extracted and imported in the database. Interpersonal relationships are left to be inferred from the collected biographical information for the completion of the data analysis.

Major Task Completion

Planned Complete Date Actual Complete Date Milestone
20.02.2013 20.02.2013 Project Start
24.02.2013 01.03.2013 Data Collection — Complete Source Aggregation
10.03.2013 10.03.2013 Data Collection — Complete Initial Draft of Database Model Design
24.03.2013 t.b.a. Data Collection — Complete Data Extraction and Database Population
07.04.2013 t.b.a. Complete Data Analysis
14.04.2013 22.04.2013 Complete Website Design
15.04.2013 29.04.2013 Website Development Start

Details on Accomplishments

Finalized Conceptual Model

Several changes have been applied to the conceptual model:

  • The Album entity and the inheritance hierarchy of Media Item have been deprecated. All media items will be stored in a single table. A media type property will be assigned to each item. Albums will be treated as compounded media items (defined by “part of” relationships).
  • The Note, Citation and Source entities have been merged in a single Citation entity, which will hold excerpts from documents, as well as standalone quotes and references to multimedia objects. Citations are linked to Intervals and Events
  • The Keyword entity has been dropped. Information about individuals and organizations will be stored in their corresponding tables.
  • Interpersonal relationships have been linked to Intervals.
  • An Importance attribute has been added to Events. It is a positive integer in the interval between 1 and 10, which will indicate the significance of individual events (10 – being the highest and 1 – the lowest). It will further allow us to filter events more precisely.
  • Media Items can be linked to Events.

In addition, the Agent entity has been renamed to Participant, and it now participates in a single many-to-many relationship with Event. This help us define different thematic roles for all nouns, present in a sentence describing an event, and thus preserve more relevant and structured information (see Thematic Roles, from ref. 1). Typical thematic roles include: agent, patient, theme, recipient, beneficiary, location, origin, direction, instrument, experiencer.

The final conceptual data model (version 1.3) for the project is available for download at https://nietzschebiography.files.wordpress.com/2013/05/conceptual_model_v1-3.pdf

Finalized Intermediary Structured Database

The physical data model for the project  is available for download at https://nietzschebiography.files.wordpress.com/2013/05/physical_model_v1-0.pdf

Basic Project Web Site UI

The project web site user interface was based on Bootstrap, an open-source template which simplifies meeting current market requirements on website UIs. Thanks to this decision, making the web site adaptable to various screen sizes and compliant with the newest WWW standards was made much easier.

Below you may see a few screenshots of the user interface design:

Nietzsche : A Digital Biography project website design for PC

Nietzsche : A Digital Biography project website design for PC

Nietzsche : A Digital Biography project website design for mobile phones

Nietzsche : A Digital Biography project website design for mobile phones

Project MySQL database

The project relational database model was continuously updated and has now reached a pre-release version that may be already used as a basis for further programming work. The model was therefore exported from the designer into SQL DDL and this script was launched on MySQL database that is part of our Windows Azure project web site.

On the screenshot below, you may see the tables stored in the project database.

Nietzsche Digital Biography MySQL Database

Nietzsche : A Digital Biography MySQL Database

Web Site ORM Configured

Since we chose Microsoft ASP.NET MVC as the backend technology and it is based on Microsoft .NET Framework, an object oriented programming platform, it was convenient for us to use ORM software as a data access layer in order to bring the relational and object oriented worlds together. For this purpose, we chose Entity Framework v5.0, a Microsoft’s official ORM technology, especially due to a very good tooling support.

To make the ORM work, however, it was necessary to create an object equivalent of the relational database model. The screenshots below show the resulting object model.

Nietzsche : A Digital Biography project object model in a conceptual view

Nietzsche : A Digital Biography project object model in a conceptual view

Nietzsche : A Digital Biography project object model in a detailed view

Nietzsche : A Digital Biography project object model in a detailed view

References

1. Santorini, Beatrice, and Anthony Kroch. 2007-.
The syntax of natural language: An online introduction using the Trees program.
http://www.ling.upenn.edu/~beatrice/syntax-textbook

Progress Report 2

Overview

Key Accomplishments of the Last Period

  1. The conceptual data model was updated
  2. Information from multiple sources was gathered
  3. A temporary database for data aggregation was created and populated
  4. Part of the data was cleaned up and organized
  5. Sketches of the website’s user interface were drafted
  6. The development of the website was initiated

Upcoming Tasks for the Next Period

  1. Import the formatted data in the production database
  2. Complete the data analysis
  3. Prepare a working demo

Issues

One of the main objectives of our project is to present relatively rich and precise information about Friedrich Nietzsche, his interactions with the world and the literary and philosophical legacy he has left. Achieving high level of completeness and accuracy requires a combination of heterogeneous sources of data, thus introducing additional conceptual complexity. It is the challenge that we have been facing for the past reporting period.

According to the project milestones that we had set, all relevant and necessary data should have been formatted, imported in the database and analyzed. However, the data modelling and organization processes appeared to be not so straightforward as we expected. Many of the resources bring valuable information that is incompatible with the database schema in use and changes to the data model immediately follow. In order to avoid these recurring modifications, we created a temporary database for storing and manipulating heterogeneous data. Thus, in the process of record refinement we also adapt our data model. In addition, conflicts between facts from diverse sources occasionally arise and further research is necessary for their resolutions. Nevertheless, the aggregation of information is almost complete and soon we will be back on track (in accordance with the project milestones).

Major Task Completion

Planned Complete Date Actual Complete Date Milestone
24.03.2013 t.b.a. Complete Data Extraction and Database Population
 07.04.2013 t.b.a. Complete Data Analysis

Details on Accomplishments

Conceptual Model Changes

The updated conceptual data model (version 1.2) for the project is available for download at https://nietzschebiography.files.wordpress.com/2013/04/conceptual_model_v1-2.pdf

As currently the model is often being changed, explanations on it will be given in the next report, until then a final version is expected.

Data Aggregation and Manipulation

So far we have compiled chronologies of Nietzsche’s life and literary works on Nietzsche from several books and websites. To facilitate the clean up and transformation of data, we have used the temporal database, spreadsheets, scripts, macros and Google Refine (a power tool for working with messy data, molding it from one format into another and extending it with web services).

Aside from the biographical information that we are extracting from the sources mentioned in previous posts, we also need geographical information (about countries, populated places and their coordinates). The data that we have obtained is derived from two primary products:

  • MaxMind’s “World Cities” database, which includes 3 174 000 populated places, their population, latitude and longitude. The database is updated about once per year, since the city data does not change very frequently.
  • Geobytes’s GeoWorldMap, which is distributed as a set of three text files. A “Countries” table is used to store a comprehensive list of all the countries in the world; a “Regions” table stores a list of sub-country geographical entities such as states, provinces and territories; and a “Cities” table is a detailed list of cities, related to countries and sub-country regions. We currently do not use the “Regions” data.

Common Website Design Features

  1. The website must be fully compliant with HTML5 and CSS3.
  2. The website should use metadata tags and attributes extensively.
  3. The website design should be simple, use typography and vector graphics rather than bitmap images.
  4. The website should provide a mobile version using media queries technology.
  5. The website should be designed by mobile-first approach.
  6. The website should be touch-friendly.

Basic Website Structure

Relative URL Name
/ Homepage
/bio Life
/bio/{Event.Slug} Life Event Details
/work Work
/work/{MediaItem.Slug} Work Details
/connections Connections
/connection/{Agent.Slug} Connection Details
/map Map
/map/{Location.Slug} Location Details
/sources Sources
/source/{Source.Slug} Source Details

Progress Report 1

Overview

Key Accomplishments of the Last Period

  1. Technologies to be used were chosen
  2. Project management methodology and tools were chosen
  3. Data sources were collected
  4. Database schema’s first draft was created
  5. Digital biography’s hosting was established

Upcoming Tasks for the Next Period

  1. Finalize the database schema
  2. Create and populate the database
  3. Perform data analysis
  4. Design biographical website’s user interface
  5. Configure the website to use the database
  6. Start development of the website

Issues

None at the moment.

Major Task Completion

Planned Complete Date Actual Complete Date Milestone
20.02.2013 20.02.2013 Project Start
24.02.2013 01.03.2013 Data Collection — Complete Source Aggregation
10.03.2013 10.03.2013 Data Collection — Complete Database Model Design
24.03.2013 t.b.a. Data Collection — Complete Data Extraction and Database Population

Details on Accomplishments

Chosen technologies

Because the digital biography is going to be a website, we needed to choose web application development technologies. At first we had some problems to find intersections in our technological knowledge, but in the end we agreed on the following:

DBMS: MySQL
Website Platform: ASP.NET MVC
DAL: Entity Framework (ORM)

Project Management

It is a good practice to choose a methodology for any software development in teams. We chose to use Scrum, an agile development methodology, together with Team Foundation Service, a Microsoft’s free tool for assisting software development project management and a version control system.

Collected Data Sources

The primary sources that we will use are:

  • The Nietzsche Channel
  • Nietzsche Circle
  • Friedrich Nietzsche – Stanford Encyclopedia of Philosophy
  • Friedrich Nietzsche. A Philosophical Biography, Julian Young, Wake Forest University, North Carolina
  • Nietzsche: Life as Literature, Alexander Nehamas, Cambridge, Harvard University
    Press, 1985
  • Nietzsche: A Critical Life, Ronald Hayman, New York: Oxford University Press, 1980
  • Introductions to Nietzsche, Robert Pippin, Cambridge University Press, 2012
  • Nietzsche’s Library, Rainer J. Hanshe
  • The Neurological Illness of Friedrich Nietzsche, D. Hemelsoet, K. Hemelsoet and D. Devreese, 2008, N° 1 (Vol. 108/1) p.9-16, Acta Neurologica Belgica

Project Database Schema

The core of the conceptual database model for the “Nietzsche: A Digital Biography” project is based on the BIO vocabulary – a semantic model for describing biographical information about people.

According to it a person’s life may be well depicted as a series of interconnected major events, to which additional details and relevant information can be attached. The model can be considered as person-centric rather than neutral. For instance, the Employment event puts the individual being employed as the principal agent in the event rather than the employer.

Biography Vocabulary Core Classes

The BIO vocabulary defines and describes several core classes and properties that can be used to create a relatively complete story of a person’s life and his or her interactions with other individuals, organizations (institutions) and the surrounding environment. We incorporated their underlying concepts for the design of our database. For example, events limit intervals of time (timespans) that can be associated with particular long-term or short-term relationships between individuals and groups of people (or organisations). Various types of life events are available as the obvious Birth, Education, Marriage and Death. In addition, a number of obscure and subtle events such as Baptism, Naturalisation, Imprisonment and Inauguration have been added. The included events so far do not cover the whole spectrum of events associated with biographical material in its entirety, and they will be further expanded during the data extraction and population process.

As the semantic model does not currently provide a complete representation of the relationship segment of a biography, we developed a Relationship classification hierarchy, which incorporates several types of relationship such as family and marital relationships, and professional collaborations.

The conceptual data model for the project is available for download at https://nietzschebiography.files.wordpress.com/2013/03/conceptual_model.pdf

Project Hosting

Since we chose to use ASP.NET as the website platform, we needed a suitable hosting provider for it. A natural choice was Windows Azure, a Microsoft’s cloud-computing platform which offers free hosting for small websites. An advantage of this hosting is that it integrates with the Team Foundation Service’s version control system and downloads all changes automatically.

The address of our digital biography website is: http://nietzsche.azurewebsites.net