A course tailored for web and software developers looking to integrate Semantic Web and Knowledge Graph technologies into modern applications. It combines web development skills with semantic data techniques, covering how to work with knowledge graph databases, embed structured data in websites, and build semantic APIs. Developers will learn about using JSON-LD and schema.org for SEO and rich snippets (a practice Google now recommends for structured data), as well as how to query and manipulate knowledge graphs within applications. (Attendees should have basic web development experience; prior semantic web knowledge is helpful but not required.)
Curriculum:
Module 1: Semantic Web for Web Developers – Overview of how semantic technologies enhance web applications, introduction to structured data markup (schema.org vocabularies) and the benefits of semantic enrichment (such as rich search results).
Module 2: JSON-LD and Structured Data – Implementing JSON-LD in web pages for structured data and SEO, understanding Google’s preference for JSON-LD in schema markup, and using tools to test and validate structured data.
Module 3: Knowledge Graph Databases and APIs – Introduction to triple stores/graph databases (e.g., Stardog, GraphDB, Fuseki), how to store and retrieve data via SPARQL endpoints, and building RESTful APIs or GraphQL interfaces on top of knowledge graphs.
Module 4: Developing with RDF Libraries – Using developer libraries and frameworks to work with RDF data in applications (for example, using Jena in Java, RDFLib in Python, or RDFJS in JavaScript) and best practices for data serialization (Turtle, JSON-LD) in code.
Module 5: Front-End Integration and Visualization – Techniques for displaying and visualizing knowledge graph data in front-end applications, including using libraries for graph visualization and embedding semantic search capabilities in user interfaces.
Module 6: Project: Semantic Web App – A guided project where participants build a mini web application that consumes a knowledge graph – for instance, creating a web dashboard that fetches data from Wikidata or an internal RDF dataset, demonstrating end-to-end integration of semantic data in a web app.