September 30, 2016

0 0
Read Time:2 Minute, 56 Second

I’m kind of curious how the tables that make up the backend of the TMS database are organized. I’m taking Database Design this semester, and am eventually going to start working with MySQL in more depth. I’m wondering whether it be worthwhile to make a MySQL database that could store provenance information in a more normalized form than TMS. I know Joshua already made a MySQL database for outputting URIs, so maybe I could augment his database with Provenance info.

 I downloaded and looked at Joshua’s various object and artist csv files, as well as his “lod_test.sql” file. I’m not that familiar with SQL at this point, but I can kind of see how his MySQL database is set up with an Objects and People table. At this point the two tables aren’t connected to one another. It seems like it would make sense to have URIs created from the Objects table relate to URIs created by the People table at some point, however. Object resource URIs from the British Museum’s collection, for example, contain links to Person/Institution URIs relating to the object, such as “has former or current owner”. I’m not sure how to do this from a technical standpoint yet, however. To indicate something like provenance, it seems like it would make sense to try to enter Acquisition-related constitutions into the current People table, or to create separate Object Related and Acquisition-related Constituent tables, and to somehow connect the Object and People tables when outputting PHP files. I guess just putting Acquisition-related constituents into a tabular format would be a start. Additionally, since Acquisition-related constituents may be institutions like galleries, maybe it would make sense to create an Institutions table, or change People to Person-Institution?

I read about D2RQ (http://d2rq.org/), a tool for converting data from relational databases into an RDF format, and allowing it to be accessed through SPARQL queries. It seems like something beyond my current technical abilities to use, but I wonder whether it could eventually be used to convert a database built up from Joshua’s current one into more interconnected URIs. Additionally, if the Whitney eventually hosts Joshua’s URIs online, this would maybe assist with providing a SPARQL endpoint to query them.

Using MySQL, maybe I’ll try to create an ER diagram of how the Objects and People tables could be connected, using the British Museum collection as a model. My initial thought would be to create tables representing the predicates in RDF triples. Not sure if it would be possible to convert data from this kind of relational model into linked data, however. Linked data is meant to overcome the hurdles of storing data in relational databases, so maybe using mySQL for this kind of data  is counterintuitive? Using MySQL as a triple store is apparently not unheard of, however (http://rdfextras.readthedocs.io/en/latest/store/mysqlpg.html).         

Alternately, maybe NoSQL makes more sense as a database system for the project, since it is more commonly used for triple stores. The British Museum seems to use GraphDB to store their triples, which is available as a free download (http://ontotext.com/products/graphdb/). GraphDB can import data stored as .ttl, .rdf, .rj, .n3, .nt, .nq, .trig, .brf, and .owl files. Maybe it would make more sense to apply a script to the Person and Object csv files to generate triples in a format that can be fed into GraphDB?

Happy
Happy
0 %
Sad
Sad
0 %
Excited
Excited
0 %
Sleepy
Sleepy
0 %
Angry
Angry
0 %
Surprise
Surprise
0 %