Robert Chavez is the instructor for all six courses in our Certificate in XML and RDF-based Systems, which starts next month. He has taught a couple of the classes previously, and we interviewed him about those back in November. Robert has agreed to another interview, this time about the six-course sequence as a whole. Robert is currently a Content Applications Architect at the New England Journal of Medicine, and has worked as an electronic text specialist at Indiana University Bloomington and at Tufts University.
Robert, thanks for agreeing to do this interview. We’ve already talked about your background and other interests in our previous interview, so this time I want to focus on the Certificate program that you are responsible for. I suggested the idea for this program to you, and you came up with the sequence of classes and designed their content. For readers who haven’t already looked at this program, the sequence covers XML, transforming and querying XML, the semantic web, RDFa, RSS, ontologies and linked data, and the SPARQL query language. First, I’d like to ask you to summarize what all of this alphabet soup is about for readers who may not have been exposed to it already. It is basically technology for digital libraries, right? Where are these technologies used and who needs to learn them?
Well, all these technologies are core to the fields of Digital Libraries, Digital Repositories, Digital Humanities, Linked Data, or really any digital initiative that involves creating web accessible content and metadata. You will find some flavor of XML and metadata in just about any well thought digital project you might participate in and/or initiate. There are countless examples. These technologies are used for a myriad of purposes, such as: creating digital text editions of physical objects, creating rich and semantic metadata for digital objects or web objects, creating taxonomies and ontologies, knowledge management, querying large XML and semantic metadata datasets, building tools and services for exchanging data and metadata, transferring data between knowledge management, repository, or library systems, etc. “Who needs to learn these technologies” is a very interesting question that’s been on the forefront of a lot of people’s minds lately, especially in the field of the digital humanities. You may have noticed in the ongoing discourse that the “who” in the question is really anyone and everyone who works in a library, humanities, medical, field. Lately, learning to code and learning foundational technologies (such as those we’re discussing here) has been a recommended practice for graduate students, professors, and library professionals for the simple reason that we as a society are creating terabytes of data everyday in our professions and everyday digital activities. That data not only needs to be managed, organized, discovered, manipulated, made accessible, etc., but it also needs to be created in new, sustainable, and structured ways. As stewards and creators of new data it really behooves all academics, library professionals, medical and science professionals, etc. to educate themselves about these and related technologies for all of the reasons mentioned above. At the most basic level, learning this stuff opens one up to new opportunities and ideas in whatever field one is current’y involved in.
Thank you. That does make a lot of sense, and I think there are a lot of librarians and people in related fields who want to learn these technologies. So, the 6-course series starts next month. Would you summarize what is covered in the sequence?
Sure, Rory. This sequence of classes starts with a foundation of XML, specifically how to create documents using XML markup, and builds on that foundation. We’ll move from creating XML documents to learning some of the basic ways of working with XML by learning XSLT (Extensible Stylesheet Language Transformations), which is a common way for creating, transforming, and manipulating XML documents. We’ll also learn some basic XQuery (XML Query Language) which is a language that’s growing in popularity that’s used to query and transform XML as well as unstructured data. These first two courses are designed to give students a solid, hands on, experience with XML and the essential tools they’ll need to work with XML, from there we’ll start to look at some applications of XML and semantic metadata structures that are expressed in XML. The third, fourth, and fifth classes in the sequence will focus on different forms of semantic metadata, especially RDF (the Resource Description Framework), which is a standard way to model metadata and to model information about web resources. We’ll look at RDF and a number of current standard technologies that utilize and extend RDF for the semantic web and linked data movements. In addition, we’ll look at simpler methods for applying the RDF data model to HTML and XHTML documents, RDFa and RDFa Lite (the Resource Description Framework in attributes). Students will learn how to use RDF and RDFa Lite on existing web content (in the form of HTML, XHTML, HTML5) to apply RDF/Semantic metadata to HTML documents, this is a great way to add rich metadata to web pages and projects. Finally, in the sixth course students will learn how to use RDF data with an introduction to RDF triple stores and the RDF query language SPARQL (pronounced “sparkle”). A triplestore is a type of database that is designed specifically for storing RDF and semantic data; SPARQL is a language that is used to query and manipulate RDF data in triple stores. There will be a good deal of hands on work in a all courses so that students can start to build, code, query, transform, and explore all the technologies we’ll be covering, I think this is essential because it not only gives students hands on experience, but it also gives them the opportunity to see how they might apply these technologies in their own work and projects.
You’ve taught the XML class and the Semantic Web class a few times now, and feedback I have gotten from participants tells me that they appreciate the guided, hands-on practice in working with the code and the tools. In general, how is taking these classes different from studying the same material in books or online tutorials?
Some of the readings assigned in the course series are from books or online references and materials, these have been vetted by me to make sure they contain information that’s relevant and useful to the course. But, the core materials of my courses are written entirely by me, the goal being to synthesize and present the materials in a comprehensive manner and to construct materials around hands on exercises where the student will takes what they’ve learned and apply it but creating their own content or metadata or coding their own solution. I like to have students really work on constructing answers to exercises based on their own experience. Everyone who comes to these courses is there for different reasons and has different goals and experiences and I feel it’s good practice to have students express those difference in their coursework. That’s why there’s often no one correct answer to code exercise or assignment – I evaluate each student response on it’s own merits, the over-riding goal being to make sure that the student is understanding and applying the material in ways that will get them the data, results, or output they need. That kind of interaction is hard to get in online tutorial and books. In addition, I hold weekly open chat sessions where student can ask questions, get clarification, and explore topics more. Additionally, if students aren’t comfortable in an open chat, I’m happy to do one on one email conversations.
That makes good sense and is good to hear. Given the range of backgrounds that your students have and their different reasons for learning the tools, I would imagine that you are helping students with different levels of experience and skill in terms of coding in general. How much basic experience with coding do you expect participants to have in order to have a good learning experience in these courses?
Actually, I assume students have little to no basic experience with coding. We’ll build experience as the courses go along. The course materials and exercises are designed to give the students all the basic experience that they’ll need for a given course. For each lesson I provide code examples that students can study and then use and build on for their own work. This should give students a good foundation for continuing studies should they desire to go on and learn to be a more advanced coder, and it should help students understand the lingo and logic of basic coding so that they can feel comfortable participating in conversations about code developing or content/metadata processing.
Excellent. This sounds like a very good learning experience, and I think you’ve designed these courses very well. Thanks for doing this interview.
Thanks for having me, Rory. I’m looking forward to a good series. If any of your students have questions about the courses, please feel free to have them contact me.
Readers, for your information, this is a series of six one-month courses that starts August 5th. You get a discount if you enroll in all six at once (as well as getting a guaranteed seat in the upcoming courses). If you have questions for Robert, feel free to send them to firstname.lastname@example.org, and I will forward your message to him.