Chapter 1. Introduction Abstract
There are many ways to help spread the adoption of a technology, and to share skills and experience amongst a community of practitioners. Different approaches work well for communicating different kinds of knowledge. And we all individually have a preferred means of acquiring new skills, or getting help with a specific problem. Reference manuals, tutorials, recipes, best practice guides and experience reports all have their role. As do training courses, mentoring, pair programming and code reviews.
This book attempts to add to the steadily growing canon of reference documentation relating to Linked Data. Linked Data is a means of publishing “web-native” data using standards like HTTP, URIs and RDF. The book adopts a tried and tested means of communicating knowledge and experience in software development: the design pattern. The book is organized as a pattern catalogue that covers a range of different areas from the design of web scale identifiers through to application development patterns. The intent is to create a ready reference that will be useful for both the beginner and the experienced practioner alike. It’s also intended to grow and mature in line with the practitioner community.
Overview
Why A Pattern Catalogue?
Design patterns have a number of benefits:
- Patterns have a well-defined structure that encourages focus on the essential knowledge being communicated. This makes them accessible and easy to consume.
- Patterns encourage discussion of related and complementary approaches. Design decisions are rarely clear cut. A focus on specifics is useful for understanding trade-offs
- Patterns provide a name for a particular design decision or solution. Collectively they build a lexicon that encourages clearer communication between practitioners
The authors have successfully applied design patterns in their software development activities. The approach seemed well suited to teasing out some of the experiences and lessons they have learnt through working with Semantic Web technologies; the rigour of a pattern approach also helped the authoring.
…And Why a Book? Why Not a Blog or a Wiki?
This is something that we wrestled with for a long time. Our goal is that this book should ultimately reflective the collective experience of the Linked Data community and we want to encourage participation and feedback. You can use the dataincubator.org [http://dataincubator.org] mailing list to discuss the book and debate its contents. We’re also hoping to include your submissions, corrections and edits in the future.
But while we want this book to grow as a participatory activity we (particularly Leigh) felt that an editorial layer would be a useful addition to this process. Helping firm up the naming, communication and organisation of the pattern catalogue as it develops.
We also encourage the community, if they find a design pattern approach to be useful, to publish and share their own patterns using whatever mechanism feels right for them. A thousand flowers, etc. The OntologyDesignPatterns.org [http://OntologyDesignPatterns.org] wiki provides one forum for helping to contribute to this effort.
What’s Not Covered?
This book isn’t a primer on RDF or OWL. There are already plenty of good sources of introductory material on the technologies discussed here. The book makes the assumptions that you have some basic understanding of RDF, RDF Schema and possibly OWL. The examples are given in Turtle syntax, so you should be familiar with that syntax too.
If you’re looking for a deeper introduction to modelling with RDF Schema and OWL then you should read Semantic Web for the Working Ontologist [http://workingontologist.org/]. It’s a great book that will give you a thorough understanding of how to apply the technologies. We’re hoping that this work is in some sense a companion piece.
How the Catalogue Is Organized
The catalogue has been broken down into a number of separate chapters. Each chapter collects together patterns that have a common theme.
- Chapter 2, Identifier Patterns
- Chapter 3, Modelling Patterns
- Chapter 4, Publishing Patterns
- Chapter 5, Data Management Patterns
- Chapter 6, Application Patterns
The catalogue also includes a few patterns that arguably aren’t patterns at all, they’re similar features of the RDF model; Typed Literal for example. We decided to include these for the sake of helping to document best practices. There are plenty of examples and material on some of these basic features but they’re often overlooked by both experienced and new practitioners. So we’ve opted to document these as patterns to help draw attention to them.