0

I'm a literature student and I'd like to be able to annotate literary texts (originally stored in HTML or as text files) on a word-by-word or line-by-line basis. I hear databases like mySQL or SQLite would be good ways to do this sort of thing, but I don't really know where to start.

I'm comfortable with the linux command-line, and have done some HTML/CSS work in the past, so I feel unintimidated by databases and things...I just don't know what to start doing.

1
  • Consider a personal wiki instead of a database (which might be overkill for your needs).
    – Renan
    Jul 12, 2012 at 20:02

2 Answers 2

3

There are a lot of MySQL tutorials on the web, e.g. this one.

Once you learn the basics of SQL, if you want to make a database for annotating lines, you could read each line of a text file separately into a table called LINES_OF_TEXT using the LOAD DATA INFILE command in MySQL. You can then have another table called ANNOTATIONS that refers to entries in the LINES_OF_TEXT table; that way you can have multiple annotations for each line of text. E.g.:

LINES_OF_TEXT_TABLE
ID    | line
---------------------------------    
1     | This is a line, 
2     | and another one follows.


ANNOTATIONS_TABLE
lines_of_text_ID | annotation
-----------------------------------------------
1                | has a comma
1                | starts with a capital letter
2                | ends with a period
2                | dependent clause
1                | passive voice

You can relate the tables to each other using JOIN queries.

1

I'm not sure a SQL database is your best solution here. They're not really meant as end-user tools more as back-end storage for applications.

You might be better off with just a spreadsheet ... OR ... why not come up with your own annotation scheme, e.g. <!-- MYNOTE: This is a note !-->, and add it to the file directly. Then using an indexed search program (e.g. lucene) you'd be able to find your annotations quickly.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .