Several review parties have been scheduled for December 2013 and January 2014. If you're interested in helping the editorial college clear the review backlog and publish new, high-quality information in Pleiades, please consider joining us.
Tom Elliott (email@example.com)
This feed aggregator is part of the Planet Atlantides constellation. Its current content is available in multiple webfeed formats, including Atom, RSS/RDF and RSS 1.0. The subscription list is also available in OPML and as a FOAF Roll. All content is assumed to be the intellectual property of the originators unless they indicate otherwise.
After 5 years, I’m leaving ISAW and NYU. Friday (the 13th!) is my last day. It’s been a tremendous privilege to work here, work largely funded by the National Endowment for Humanities (and thereby many of you dear readers), but I can no longer deny my itch to get back to my professional passions: maps and mapping data for the web. Building classics research infrastructure and trying to change scholarly communication has been very interesting, but in all honesty, I’d rather be making better maps and better mapping infrastructure.
On Monday I’ll be just a normal user of Pleiades and no longer responsible for its day to day operation. Leaving the engine room will be a big change for me. Looking back, I’m very proud of what I’ve helped the Pleiades community accomplish. We built a framework for correcting and extending the Barrington Atlas gazetteer and provided a spatial foundation for future digital classics projects. We were pioneers in microattribution. The idea of URIs for classical concepts that we championed is now entirely mainstream, as is the idea of interacting with classical resources using HTTP and REST. Development in the open, with open source licensing, public source repositories, and public mailing lists is now the norm. We took the public funding of Pleiades very seriously and spun out useful open source GIS software like Shapely and Fiona. And the GeoJSON format has roots in Pleiades, maybe you’ve heard of it?
I’ll miss being paid to work at one of the hubs of collaboration between all the wonderful folks at the Alexandria Archive, American Numismatic Society, Ancient World Mapping Center, Duke Collaboratory for Classics Computing, Epigraphic Database Heidelberg, Kings College (London) DH, Pelagios, and Portable Antiquities Scheme. It’s been an honor, everybody. Thank you.
Of all these collaborations, it’s the one with Tom Elliott, my boss, that I’ll miss the most. NYU is a big company and some things that go down at big companies are less than ideal, but he has been the ultimate firewall; bureaucratic nonsense never leaked through into my work life. Tom’s the glue that holds the digital classics field together and his vision of it makes positions like mine (no Classics Ph.D. required!) possible. Most of all, he’s my friend. Thanks, Tom.
I’ve got 2 more days of documentation sprinting ahead of me and then I’ll be available for new work.
I want to know what Pleiades machine tags are in use on photos throughout Flickr (more background here). I thought I'd learn how to ask for that information from the Flickr API via a script. I requested and got an API key (see http://www.flickr.com/help/api/). I set up a Python virtual environment and git repository for the project. I went looking for Python code that already implemented interaction with the API and settled (somewhat arbitrarily) on Beej's Python Flickr API kit (now maintained by Sybren Stüvel). Then used pip install flickrapi to get the package.
Here's a command-line session running the script and showing its output:
(pleiades-flickr)darkstar:pleiades-flickr paregorios$ python src/listptags.py
pleiades:atteststo is used on 15 photos in Flickr
pleiades:denotes is used on 1 photos in Flickr
pleiades:depcits is used on 2 photos in Flickr
pleiades:depicts is used on 7229 photos in Flickr
pleiades:findspot is used on 2197 photos in Flickr
pleiades:finspot is used on 2 photos in Flickr
pleiades:foundat is used on 1 photos in Flickr
pleiades:observedat is used on 3 photos in Flickr
pleiades:origin is used on 225 photos in Flickr
pleiades:place is used on 970 photos in Flickr
pleiades:places is used on 19 photos in Flickr
pleiades:where is used on 119 photos in Flickr
Here's the code (version at github):
A Flickr tag bot
import logging as l
from myflickr import API_KEY, NAMESPACE_DEFAULT
SCRIPT_DESC = "poll machine tags from flickr"
def main ():
""" Unleash the bot! """
flickr = flickrapi.FlickrAPI(API_KEY)
resp = flickr.machinetags_getPairs(namespace=args.namespace, format="json")
if resp[:14] == "jsonFlickrApi(":
jstr = resp[14:-1]
j = json.loads(jstr)
ptags = [(p['_content'], p['usage']) for p in j['pairs']['pair']]
for ptag in ptags:
print "%s is used on %s photos in Flickr" % ptag
if __name__ == "__main__":
parser = argparse.ArgumentParser(description=SCRIPT_DESC, formatter_class=argparse.ArgumentDefaultsHelpFormatter)
parser.add_argument ("-n", "--namespace", default=NAMESPACE_DEFAULT, help="namespace to use in requesting machine tags")
parser.add_argument ("-v", "--verbose", action="store_true", default=False, help="verbose output")
args = parser.parse_args()
except KeyboardInterrupt, e: # Ctrl-C
except SystemExit, e: # sys.exit()
except Exception, e:
print "ERROR, UNEXPECTED EXCEPTION"
Comments, questions, and constructive criticism welcomed!
Current and prospective editors, reviewers, and other community members are invited.
Better late than never...
You asked for it...
Current and prospective editors and reviewers are invited to gather to review content.
I'm pretty sure this will be the last post to this blog. I'm not going to delete it but I think I should advertise the fact that I no longer use it to communicate my thoughts about digital humanities, Roman pottery, etc. Recently, I've been using Google+, Twitter, and (for better or for worse) Facebook for that purpose. My guess is I'll find reasons to piggy-back on other people's blog as a guest contributor so I thank you in advance should you ever give me that opportunity...
I'm collaborating with other folks both in and outside ISAW on a variety of digital scholarly projects in which Linked Open Data is playing a big role. We're using the Resource Description Framework (RDF) to provide descriptive information for, and make cross-project assertions about, a variety of entities of interest and the data associated with them (places, people, themes/subjects, creative works, bibliographic items, and manuscripts and other text-bearing objects). So, for example, I can produce the following assertions in RDF (using the Terse RDF Triple Language, or TuRTLe):
<http://syriaca.org/place/45> a <http://geovocab.org/spatial#Feature> ;
rdfs:label "Serugh" ;
rdfs:comment "An ancient city where Jacob of Serugh was bishop."@en ;
foaf:primaryTopicOf <http://en.wikipedia.org/wiki/Suruç> ;
owl:sameAs <http://pleiades.stoa.org/places/658405#this> .
This means: 'There's a resource identified with the Uniform Resource Identifier (URI) "http://syriaca.org/place/45" about which the following is asserted:
- it is a "Feature" as defined in the NeoGeo Spatial Ontology;
- the human-readable version of its name is "Serugh";
- a human-readable description (in the English language) of it is "An ancient city where Jacob of Serugh was bishop.";
- it is the primary topic of a document that is identified by the URI "http://en.wikipedia.org/wiki/Suruç"; and
- it is the same resource as that identified by another URI: "http://pleiades.stoa.org/places/658405#this".'
(Folks familiar with what Sean Gillies has done for the Pleiades RDF will recognize my debt to him in the what proceeds.)
But there are plenty of cases in which just issuing a couple of triples to encode an assertion about something isn't sufficient; we need to be able to assign responsibility/origin for those assertions and to link them to supporting argument and evidence (i.e., standard scholarly citation practice). For this purpose, we're very pleased by the Open Annotation Collaboration, whose Open Annotation Data Model was recently updated and expanded in the form of a W3C Community Draft (8 February 2013) (the participants in Pelagios use basic OAC annotations to assert geographic relationships between their data and Pleiades places).
A basic OADM annotation uses a series of RDF triples to link together a "target" (the thing you want to make an assertion about) and a "body" (the content of your assertion). You can think of them as footnotes. The "target" is the range of text after which you put your footnote number (only in OADM you can add a footnote to any real, conceptual, or digital thing you can identify) and the "body" is the content of the footnote itself. The OADM draft formally explains this structure in section 2.1. This lets me add an annotation to the resource from our example above (the ancient city of Serugh) by using the URI "http://syriaca.org/place/45" as the target of an annotation) thus:
<http://syriaca.org/place/45/anno/desc6> a oa:Annotation ;
oa:hasBody <http://syriaca.org/place/45/anno/desc6/body> ;
oa:hasTarget <http://syriaca.org/place/45> ;
oa:motivatedBy oa:describing ;
oa:annotatedBy <http://syriaca.org/editors.xml#tcarlson> ;
oa:annotatedAt "2013-04-03T00:00:01Z" ;
oa:serializedBy <https://github.com/paregorios/srpdemo1/blob/master/xsl/place2ttl.xsl> ;
oa:serializedAt "2013-04-17T13:35:05.771-05:00" .
<http://syriaca.org/place/45/anno/desc6/body> a cnt:ContentAsText, dctypes:Text ;
cnt:chars "an ancient town, formerly located near Sarug."@en ;
dc:format "text/plain" ;
I hope you'll forgive me for not spelling that all out in plain text, as all the syntax and terms are explained in the OADM. What I'm concerned about in this blog post is really what the OADM doesn't explicitly tell me how to do, namely: show that the annotation body is actually a quotation from a published book. The verb oa:annotatedBy lets me indicate that the annotation itself was made (i.e., the footnote was written) by a resource identified by the URI "http://syriaca.org/editors.xml#tcarlson". If I'd given you a few more triples, you could have figured out that that resource is a real person named Thomas Carlson, who is one of the editors working on the Syriac Reference Portal project. But how do I indicate (as he very much wants to do because he's a responsible scholar and has no interest in plagiarizing anyone) that he's deliberately quoting a book called The Scattered Pearls: A History of Syriac Literature and Sciences? Here's what I came up with (using terms from Citation Typing Ontology and the DCMI Metadata Terms):
<http://syriaca.org/place/45/anno/desc7/body> a cnt:ContentAsText, dctypes:Text ;
cnt:chars "a small town in the Mudar territory, between Ḥarran and Jarabulus. [Modern name, Suruç (tr.)]"@en ;
dc:format "text/plain" ;
cito:citesAsSourceDocument <http://www.worldcat.org/oclc/255043315> ;
dcterms:biblographicCitation "The Scattered Pearls: A History of Syriac Literature and Sciences, p. 558"@en .
The addition of the triple containing cito:citesAsSourceDocument lets me make a machine-actionable link to the additional structured bibliographic data about the book that's available at Worldcat (but it doesn't say anything about page numbers!). The addition of the triple containing dcterms:bibliographicCitation lets me provide a human-readable citation.
I'd love to have feedback on this approach from folks in the OAC, CITO, DCTERMS, and general linked data communities. Could I do better? Should I do something differently?
The SRP team is currently evaluating a sample batch of such annotations, which you're also welcome to view. The RDF can be found here. These files are generated from the TEI XML here using the XSLT here.
If the Pleiades website is slow or offline, check http://pleiades-site-status.tumblr.com/ for the reasons why