Asking Chatgpt to come up with a RDF course

Chatgpt generated image for this course

Learning RDF: a hands-on approach

While writing my BSc thesis, I learned the basics of labelled property graphs, working mainly with Neo4j, and I also experimented a little with RDF-based graph querying using Wikidata.

I decided that, at some point, I wanted to spend more time understanding RDF properly. The reason is that I want to learn more about Knowledge Graphs and, in particular, explore the RDF world in more depth.

One of the things I want to find out is whether RDF and its related technologies allow me to describe a specific domain of my research in a richer and more precise way than I could with a labelled graph. I have some ideas about this, but I want to test them through practical examples rather than simply assuming that RDF is the better approach.

I have been reading two textbooks on the subject. However, I have found myself feeling a little like I am reading dictionaries: they describe a huge number of possibilities, but often without giving me a clear path through the concepts or enough hands-on examples to build up a proper understanding.

That is why I decided to ask ChatGPT to develop a tailor-made course for me. The idea is to learn RDF and related technologies step by step, apply them to examples from the cultural and NGO sectors, and gradually build something more substantial.

So I asked ChatGPT to design a 14-week course. This is what it came up with:

  1. Week 1 – RDF fundamentals Understanding triples, IRIs, literals, blank nodes, Turtle and the RDF data model.

  2. Week 2 – Reusing vocabularies Working with existing vocabularies such as Schema.org and understanding when and why to reuse them.

  3. Week 3 – SPARQL fundamentals Querying RDF graphs and learning the basic structure of SPARQL queries.

  4. Week 4 – Advanced SPARQL Exploring more complex queries, filtering, aggregation, optional patterns and federated queries.

  5. Week 5 – Setting up a local triplestore Moving beyond examples and working with a local RDF database, using Apache Jena/Fuseki.

  6. Week 6 – RDFS and inference Understanding classes, subclasses, properties and how RDF Schema can be used to derive new information.

  7. Week 7 – Introduction to OWL Moving from basic RDF/RDFS towards ontologies and understanding what OWL adds.

  8. Week 8 – OWL restrictions and modelling Working with restrictions, classes, properties and more expressive ways of describing a domain.

  9. Week 9 – The Open World Assumption Understanding one of the important differences between RDF/OWL reasoning and the assumptions we often make when working with conventional databases.

  10. Week 10 – OWL, SPARQL, SHACL and application logic Exploring what each technology is good at and, importantly, what it is not designed to do.

  11. Week 11 – SKOS Learning how controlled vocabularies, thesauri and classification schemes can be represented as RDF.

  12. Week 12 – SHACL validation Using shapes to define constraints and validate RDF data.

  13. Week 13 – Working with RDF programmatically Using Python and Java to create, query and manipulate RDF data.

  14. Week 14 – A cultural/NGO Knowledge Graph Bringing everything together in a small practical project based on a realistic cultural or NGO domain.

The course itself is only the starting point. For each topic, I study the subject using books, academic articles, documentation and discussions in relevant online forums. I then bring what I have found back to ChatGPT, discuss and challenge the results, and use that process to clarify my understanding and identify gaps or inconsistencies. Finally, I write my own version of the material. In this way, ChatGPT is not simply providing the course content; it acts more as a tutor and discussion partner while I use other sources to build and verify my understanding. Let’s see if this aproacj will work out well.