This week I started writing, beginning with a description of the Data Environment project overall, why it is important, and what I hope it will enable. With this high-level overview in mind, I refined my descriptions of the desired functionalities for the Data Environment. I also started a second document for more technical detail of the planned implementation of these features.
On Wednesday, I met with several of my project mentors for a few hours, and we discussed these planned features. We took time during this meeting to draw up and share some wireframes for how we want the different parts of the semantic annotation and RDF conversion process to work. My mentors’ knowledge of the workings of the current implementation of the Data Environment was helpful in giving me an idea how best to build upon what already exists in order to add new features.
We also discussed usability, since we would like the final tool to be useful to scientists who may not be familiar with RDF and its conventions. The current CSV2RDF4LOD tool requries a user to provide certain metadata about their data set before performing any conversions; we discussed the need to ensure that this information is also captured in the graphical data environment, too. We must also make sure that the functions we add are presented to the user in a manner that is easy for non-experts to understand, and intuitive to use. This includes defining the terminology involved in CSV2RDF conversion in a simple and straightforward manner, as well as adding some simple helper features such as highlighting acceptable drop targets for something a user has clicked and dragged in the interface.
Coming up with the development tasks, and then focusing on them from both a high-level standpoint of why a function is important, and then from the standpoint of a user unfamiliar with the nuances of ontologies and linked data, has helped me overall to get a more complete picture of my work. Then the work on the technical document describing these features has gotten me to focus on the specifics of implementation.
I am wrapping up this week by playing with some javascript libraries that I anticipate will be helpful for implementing the features I discussed this week with my mentors. In order to get an idea how all the libraries work, and how I can use them to accomplish my specific functions, I will make some small test pages and just have fun for practice.