Zombse

The Zombie Stack Exchanges That Just Won't Die

View the Project on GitHub anjackson/zombse

Where would I find a downloadable list of subject headings or tags related to Science Fiction?

I'm looking for lists of authorized subject headings or tags related to science fiction. I'd be interested in resources that compare different sources as well.

ksclarke

Comments

Answer by jdscott50

You can try searching the Library of Congress Authority File here http://id.loc.gov/

You can search subject or genre for related headings

Comments

Answer by Mary Jo Finch

Not sure what you mean by downloadable. Are you hoping to create a starter set of tags for a catalog?

The BISAC list of fiction subject headings is here: http://www.bisg.org/what-we-do-0-100-bisac-subject-headings-list-fiction.php Notice that science fiction has subheadings, and it is also a subheading for other genres.

LibraryThing shows 2873 tags, 789 subjects (LCSH), and 1900+ tagmashes for science fiction: http://www.librarything.com/search.php

Tags, by their nature, are of course not authoritative. This is LibraryThing's entry for the Science fiction tag (including 400+ aliases/misspellings) showing the most common related tags. Clicking on related tags brings up additional lists of possibly related tags. http://www.librarything.com/tag/science+fiction

As far as I know, Sears subject headings are only available to people willing to pay for them.

Comments

Answer by Ed Summers

An off the wall solution might be to use Wikipedia. A few months ago I wrote fastcat that downloads English Wikipedia category data (as SKOS from dbpedia) and indexes it with Redis. It then provides a little python API for the data stored in Redis, that allows you to easily walk around in the category information following broader and narrower relations.

For example once you've installed fastcat you can do this:

import fastcat

cat = fastcat.FastCat()
print cat.narrower("Science fiction")

Which will print out:

['Science fiction by franchise', 'Science fiction culture', 
'Transhumanism', 'Science fiction genres', 'Science fiction people',
'Science fiction lists', 'Science fiction themes', 
'Science fiction by nationality', 'Science fiction organizations', 
'Science fiction literature', 'WikiProject Science fiction', 
"Clarion Writers' Workshop", 'Science fiction awards', 
'Science fiction studies', 'Science fiction templates', 
'Science fiction by medium']

which isn't terribly useful. But with a bit of recursion you could walk around a bit deeper:

import json
import fastcat

cat = fastcat.FastCat()

def lookup(name, depth):
    sub_cats = set()
    for sub_cat in cat.narrower(name):
        sub_cats.add(sub_cat)
        if depth > 0:
            sub_cats = sub_cats.union(lookup(sub_cat, depth-1))
    return sub_cats

scifi = list(lookup("Science fiction", depth=5))
scifi.sort()

print json.dumps(list(scifi), indent=2)

Which yields a 3,930 long JSON list, which might also be useless, but perhaps interesting. Maybe there is a way you could preserve the hierarchy to make it more useful, or crawl topics that are a bit broader than Science Fiction.

Comments