SlideShare ist ein Scribd-Unternehmen logo
1 von 52
Downloaden Sie, um offline zu lesen
Linked Data Publishing with Drupal
Joachim Neubert
ZBW – German National Library of Economics
Leibniz Information Centre for Economics
SWIB13 Workshop
Hamburg, Germany
25.11.2013

ZBW is member of the Leibniz Association
My background

• Scientific software developer at ZBW – German National Library for
Economics, mainly concerned with Linked Open Data and
knowledge organization systems and services
• Published 20th Century Press Archives in 2010, with some 100,000
digitized newspaper articles in dossiers (http://zbw.eu/beta/p20,
custom application written in Perl)
• Published a repository of ZBW Labs projects recently – basicly
project descriptions and a blog (http://zbw.eu/labs, Drupal based)

Page 2
Workshop Agenda – Part 1

1) Drupal 7 as a Content Management System: Linked Data by Default
Hands-on: Get familiar with Drupal and it‘s default RDF mappings
2) Using Drupal 7as a Framework for Content Management
Hands-on: Create a custom content type and map it to RDF

Page 3
Workshop Agenda – Part 2
 Produce other RDF Serialization Formats: RDF/XML, Turtle,
Ntriples, JSON-LD
 Create a SPARQL Endpoint from your Drupal Site
 Cool URIs
 Create Out-Links with Web Taxonomy
 Current limitations of RDF/LD support in Drupal 7
 Outlook on Drupal 8

Page 4
Drupal as a CMS (Content Management System)
ready for RDF and Linked Data

Page 5
Why at all linked data enhanced publishing?
• Differentiate the subjects of your web pages and their attributes
• Thus, foster data reuse in 3rd party services and applications
• Mashups
• Search engines
• Create meaningful links, adding value for users

Page 6
Why use a content management system?
• Standard tasks (browser compatibility, page templates, responsive
css, site navigation, search, form handling, calendar, wysiwyg,
revisions, translations, permissions, data management , security)
made easy
• Easy-to-add web 2.0 features (blogging and comments, tags, rating,
forums, …)
• Know-how available outside a single development team

Page 7
Why Drupal?
• More than 1 million sites worldwide
• 2 % of the web
• Large institutional sites (whitehouse.gov, amnesty.org,
economist.com, examiner.com, louvre.fr)

Page 8
Why Drupal?
• Open & modular architecture
• Extensible by modules
• Standards-based
• Scalable
• Vibrant open source community,
and commercial services, too

http://drupal.org/getting-started/before/overview
http://de.slideshare.net/scorlosquet/drupal-as-a-semantic-web-platform

Page 9
The Drupal Community
• More than 30,000 developers
• More than 5,000 contributed modules (Drupal 7, actively maintained)
• Activities organized through issue queues
• Community contributed documentation
• Thematic discussion groups:
• https://groups.drupal.org/semantic-web
• https://groups.drupal.org/libraries
• Planet Drupal (aggregated blog entries): https://drupal.org/planet
Page 10
Drupal entity types

“Node” in
Drupal jargon

From https://drupal.org/node/1261744

Page 11
Nodes: Drupal’s basic structure for content
• Title
• Author & created/modified date
• Body
• May have tags (taxonomy), and/or comments, and/or images
• Additional features:
• Revisions, Diffs
• Translations

Page 12
RDF mappings
• Content types (or bundles of other entity types) are mapped to RDF
classes
• Fields are mapped to RDF properties
• Defined on a the data layer (independent of the output system)
• Drupal takes care of inserting it into the chosen HTML layout as
RDFa attributes:

Page 13
Page 14
Output in RDFa
• Drupal renders RDF mappings as HTML attributes

• No frickling in HTML producing code or templates
• Works out of the box for different Drupal themes (screen designs)
• In Drupal 7, by default XHTML/RDFa 1.0
• Themes for HTML5/RDFa 1.1 available (e.g., Zen)

Page 15
Hands-on, part 1: Create Articles

Workshop pad:
http://etherpad.lobid.org/p/swib13-drupal-ws

Page 16
Drupal 7 as a Content Management Framework

Page 17
Drupal entity types

“Node” (in
Drupal jargon)

From https://drupal.org/node/1261744

Page 18
Page 19
http://openspring.net/blog/2011/05/01/background-research-work-leading-to-rdf-in-drupal-7-released-as-part-of-my-masters

Drupal 7 default RDF schema
Drupal fields
• Fields can be defined in Drupal for custom data
• Drupal fields are different from what we know as database fields
• Fields are attached to entities
• Single or multiple occurrence
• Various technical field types (text, integer, file, …)
• Custom modules can add their own field types
• Some field types are supported by input widgets (such as a pop-up
calendar for dates)

Page 20
Bundles allow for sub-types of an entity
• “Bundles” refer to Drupal fields
• “Content type” means a bundle for the node entity type
• Predefined content types are:
• Basic page (just title and body – for static content, such as an
“About” page)
• Article (with tags and an image – for blog articles, news, …)
• Custom modules can add their own content types, or even entity
types

Page 21
Hands-on, part 2: Create a “project” content type

Page 22
Hands-on, part 2: Preparations
1. Enable Modules
• RDF UI
• Date and Date Popup (with dependencies)
• Entity Reference
2. Add RDF Namespaces (Configuration > RDF publishing settings >
RDF namespaces Tab)
• schema http://schema.org/
• doap http://usefulinc.com/ns/doap#
3. Create a “Categories” taxonomy
Page 23
Hands-on, part 2: Fields and mappings
Type:
Project (doap:Project, schema:CreatetiveWork)
Fields:
Name (doap:name, schema:name, dc:title): (title)
Short Description (doap:shortdesc, schema:summary): Long text
Started (doap:created, schema:startDate): Date
Lead (doap:maintainer, schema:accountablePerson): Entity reference
Article (rdfs:seeAlso): Entity reference (Blog Article)
Category (doap:category, schema:about, dc:subject): Term reference

Page 24
Hands-on, part 2: Add example content

Page 25
What did we achieve?
 Learned about Drupal RDF output produced by default
 Created a custom content type and attached fields
 Added arbitrary RDF classes and properties
 Learned how to interlink content and other entities

Page 26
Extending Drupal even further
As powerful a Content Mangement Framework, Drupal provides
• Well defined APIs (database abstraction layer, Field API, Form API,
Entity API, …)
• In particular, RDF Mapping API allows create the mappings
programmatically, which we be built through the User Interface
• Entity API allows building custom entities with arbitrary properties
• … even residing in remote databases
 requires substantial programming skills

Page 27
Coffee break

Page 28
Selected Linked Data-related Drupal stuff
• What I introduced up to now, is quit well production ready (and
working on hundred thousands of sites, as RDF is enabled by
default). Same is true for the field subsystem, for entity references,
etc.
• However, much less Drupal sites deliberately work with RDF, and the
module I now will introduce are often in beta or even early alpha
state

Page 29
Produce other RDF serialization formats
• Serialize Drupal RDF data with rdfx and restws modules in
• RDF/XML
• Turtle
• N-Triples
• Add JSON-LD module
* currently does not work with PostgreSQL – for a workarround, see http://drupal.org/node/1999754#comment-7438562

Page 30
Hands-on: Serialization formats

Page 31
Providing a SPARQL endpoint for your site
• SPARQL is – like SQL – a general purpose query language for RDF
data
• Let you select data from all over your site in flexible and unforseen
ways
• Let even combine you data from your site and from others in a single
query

Page 32
Hands-on: SPARQL

Page 33
SPARQL: Some restrictions

However, somebody who wants to query the store, has to know, or to
figure out somehow,
• that there are articles and projects, which are interlinked by
rdfs:seeAlso
• in which direction of the rdfs:seeAlso connection was created
• that projects actually have a schema:about property

Page 34
SPARQL: Production-ready?
• An open SPARQL endpoint on a production server is like an open
SQL interface: performance and security issues
• A much finer tunable module combination for SPARQL queries was
announced on the Semantic Web Drupal group:
• Limits for processing time and number of results
• Selected indexing, batches of index jobs
• see really good step-by-step description at
https://drupal.org/node/2028111
• Even then, for the regular pages your users should get on your site,
you should better use the Drupal Views module.
Page 35
Cool URIs for Linked Data
• Cool URIs don't change
Tim Berners-Lee, http://www.w3.org/Provider/Style/URI
• No technology-dependent parts
• More on Linked-Data-URIs: Chapter 2 of Bizer/Heath: Linked Data
(2011) http://linkeddatabook.com/editions/1.0/

Page 36
Cool URIs for Drupal require work
1) Drupal‘s out-of-the-box default URI
http://drupal-lod/?q=node/25
2) with the „Clean URLs“ feature enabled
This has already be done by the TurnKey Linux Drupal 7 installation
http://drupal-lod/node/25
3) with the (core) „Path“ module enabled and an alias defined
http://drupal-lod/project/zbw-labs
Also good for seach engines! For more on Drupal support for redirects:
check Global Redirect module (https://drupal.org/project/globalredirect)

Page 37
Hands-on: Cool URIs

Page 38
Even more work if ...
1) You have a multilingual site, and want to have only one URI for a
project,
e.g., instead of
http://zbw.eu/labs/de/project/zbw-labs
http://zbw.eu/labs/en/project/zbw-labs
just
http://zbw.eu/labs/project/zbw-labs
2) Or you want, „by the rules“, to destinguish between the thing itself
(the project) and the web page (about the project)

Page 39
Linked Data URIs „by the textbook“

No httpRange-14 conformant standard solution in Drupal known to me
– yet workarrounds:

● Add code to set the „about“ attribute to the generic (languageagnostic) URI of the entity (for multilingual sites)
(code example in http://groups.drupal.org/node/247058#comment-798823)

• Or add code to set the “about” attribute to the page URI extended
with a fragment identifier (e.g., “#resource” – so called “hash URI”)

Page 40
Web Taxonomy: Using vocabularies from the web

• Autocomplete widget for Drupal fields, powered by vocabularies
maintained elsewhere
• Local taxonomy works as a proxy for the web taxonomy terms in use

Page 41
Web Taxonomy: Using vocabularies from the web
• Prerequisites:
• a already built plugin for the vocabulary (experimental examples
for VIAF, STW, Dbpedia, Agrovoc, GND economists)
or
• a web-accessible autosuggest service which delivers terms and
their URIs (may be JSON, SPARQL results or even SOAP)
• a custom coded plugin to access the service

Page 42
Plugin example: Economics Taxonomies
• Third party thesauri, such as STW Thesaurus for Economics, can be
re-used for indexing a collection

Code downloadable and installable from https://drupal.org/sandbox/jneubert/1447918

Page 43
Hands-on: Web taxonomy

Page 44
Current limitations of RDF/LD support in Drupal 7

Page 45
Nested RDF structures only with custom code
Workarround example:
Git repository URI in DOAP ontology demands a separate node, e.g.,
<> a schema:CreativeWork, doap:Project;
doap:repository [ a doap:GitRepository;
doap:location "http://github.com/some/id.git" ];

• Create field_gitrepository and map to doap:location
• Create a custom template file for the field (field--field_gitrepository-lproject.tpl.php)
<div rel="doap:repository" class="field-items"<?php print $content_attributes; ?>>
<div about="[_:repos]" typeof="doap:GitRepository">
<?php foreach ($items as $delta => $item): ?>
<div class="field-item"<?php print $item_attributes[$delta]; ?>><?php
print render($item); ?></div>
<?php endforeach; ?>
</div>
Page 46
</div>
</div>
Further limitations in Drupal 7
• RDFa support currently works for single entities – pages with multiple
entities (search results, term pages, views, etc.) are not supported
• RDFa output may break under certain special conditions
(http://drupal.org/node/1778226)

Page 47
Outlook to Drupal 8
• Drupal base functionalities refactored for using Symphony framework
• Aimed at an extended service-oriented architecture – design goal:
“Each piece of content gets its own URL”
(http://www.unleashedmind.com/en/blog/sun/drupal-8-the-path-forward)

• Web services based on HAL (Hypertext application language)
• Configuration in files (version control, portability)
• Multilingual unified and improved

Page 48
Outlook to Drupal 8 (cont.)
• Date, Views, Entity Reference, … modules in core
• Wysiwyg and in-place editing out of the box
RDF
• Solely use RDFa 1.1 lite (@property, determined by attribute
placement, instead of @rel/@rev)
https://drupal.org/node/1780090
• Default mappings based almost completely on schema.org
(see https://drupal.org/node/1784234)

Page 49
Stephane Corlosquet, https://groups.drupal.org/node/309513

Page 50
To sum up
• Linked data publishing via a CMS, in particular Drupal, is a valid
option
• If your data can be mapped to an essentially flat RDF data structure,
linked data can be added mostly by site builders, without much
additional effort
• Sometimes research is required on how to solve problems, and at
times glue code has to be written
• But: most of the code for your web application is already there, and is
supported by a large and helpful Open Source community

Page 51
Thank you!

Joachim Neubert
ZBW – Leibniz Information Centre for Economics
j.neubert@zbw.eu

http://zbw.eu/labs

Page 52

Weitere ähnliche Inhalte

Was ist angesagt?

Microsoft's Big Play for Big Data- Visual Studio Live! NY 2012
Microsoft's Big Play for Big Data- Visual Studio Live! NY 2012Microsoft's Big Play for Big Data- Visual Studio Live! NY 2012
Microsoft's Big Play for Big Data- Visual Studio Live! NY 2012Andrew Brust
 
Microsoft's Big Play for Big Data
Microsoft's Big Play for Big DataMicrosoft's Big Play for Big Data
Microsoft's Big Play for Big DataAndrew Brust
 
NoSQL and The Big Data Hullabaloo
NoSQL and The Big Data HullabalooNoSQL and The Big Data Hullabaloo
NoSQL and The Big Data HullabalooAndrew Brust
 
Big Data and NoSQL for Database and BI Pros
Big Data and NoSQL for Database and BI ProsBig Data and NoSQL for Database and BI Pros
Big Data and NoSQL for Database and BI ProsAndrew Brust
 
Big Data Strategy for the Relational World
Big Data Strategy for the Relational World Big Data Strategy for the Relational World
Big Data Strategy for the Relational World Andrew Brust
 
Big Data and NoSQL in Microsoft-Land
Big Data and NoSQL in Microsoft-LandBig Data and NoSQL in Microsoft-Land
Big Data and NoSQL in Microsoft-LandAndrew Brust
 
Entities 101: Understanding Data Structures in Drupal
Entities 101: Understanding Data Structures in DrupalEntities 101: Understanding Data Structures in Drupal
Entities 101: Understanding Data Structures in DrupalAcquia
 
NoSQL: An Analysis
NoSQL: An AnalysisNoSQL: An Analysis
NoSQL: An AnalysisAndrew Brust
 
Michael stack -the state of apache h base
Michael stack -the state of apache h baseMichael stack -the state of apache h base
Michael stack -the state of apache h basehdhappy001
 
Building Applications using Apache Hadoop
Building Applications using Apache HadoopBuilding Applications using Apache Hadoop
Building Applications using Apache HadoopC4Media
 
Lviv EDGE 2 - NoSQL
Lviv EDGE 2 - NoSQLLviv EDGE 2 - NoSQL
Lviv EDGE 2 - NoSQLzenyk
 
AWS Customer Presentation: Freie Univerisitat - Berlin Summit 2012
AWS Customer Presentation: Freie Univerisitat - Berlin Summit 2012AWS Customer Presentation: Freie Univerisitat - Berlin Summit 2012
AWS Customer Presentation: Freie Univerisitat - Berlin Summit 2012Amazon Web Services
 
RESTful application with Drupal 8
RESTful application with Drupal 8RESTful application with Drupal 8
RESTful application with Drupal 8Patrick Morin
 
Yapceu2015 geneva courts
Yapceu2015 geneva courtsYapceu2015 geneva courts
Yapceu2015 geneva courtsLaurent Dami
 
DBIx::Class vs. DBix::DataModel
DBIx::Class vs. DBix::DataModelDBIx::Class vs. DBix::DataModel
DBIx::Class vs. DBix::DataModelLaurent Dami
 
RDFa: introduction, comparison with microdata and microformats and how to use it
RDFa: introduction, comparison with microdata and microformats and how to use itRDFa: introduction, comparison with microdata and microformats and how to use it
RDFa: introduction, comparison with microdata and microformats and how to use itJose Luis Lopez Pino
 
Drupal 6 to Drupal 8 Migration
Drupal 6 to Drupal 8 MigrationDrupal 6 to Drupal 8 Migration
Drupal 6 to Drupal 8 MigrationAmeex Technologies
 
Introduction to NoSQL
Introduction to NoSQLIntroduction to NoSQL
Introduction to NoSQLbalwinders
 
AWS Public Data Sets: How to Stage Petabytes of Data for Analysis in AWS (WPS...
AWS Public Data Sets: How to Stage Petabytes of Data for Analysis in AWS (WPS...AWS Public Data Sets: How to Stage Petabytes of Data for Analysis in AWS (WPS...
AWS Public Data Sets: How to Stage Petabytes of Data for Analysis in AWS (WPS...Amazon Web Services
 

Was ist angesagt? (20)

Microsoft's Big Play for Big Data- Visual Studio Live! NY 2012
Microsoft's Big Play for Big Data- Visual Studio Live! NY 2012Microsoft's Big Play for Big Data- Visual Studio Live! NY 2012
Microsoft's Big Play for Big Data- Visual Studio Live! NY 2012
 
Microsoft's Big Play for Big Data
Microsoft's Big Play for Big DataMicrosoft's Big Play for Big Data
Microsoft's Big Play for Big Data
 
NoSQL and The Big Data Hullabaloo
NoSQL and The Big Data HullabalooNoSQL and The Big Data Hullabaloo
NoSQL and The Big Data Hullabaloo
 
Big Data and NoSQL for Database and BI Pros
Big Data and NoSQL for Database and BI ProsBig Data and NoSQL for Database and BI Pros
Big Data and NoSQL for Database and BI Pros
 
Big Data Strategy for the Relational World
Big Data Strategy for the Relational World Big Data Strategy for the Relational World
Big Data Strategy for the Relational World
 
Big Data and NoSQL in Microsoft-Land
Big Data and NoSQL in Microsoft-LandBig Data and NoSQL in Microsoft-Land
Big Data and NoSQL in Microsoft-Land
 
Entities 101: Understanding Data Structures in Drupal
Entities 101: Understanding Data Structures in DrupalEntities 101: Understanding Data Structures in Drupal
Entities 101: Understanding Data Structures in Drupal
 
NoSQL: An Analysis
NoSQL: An AnalysisNoSQL: An Analysis
NoSQL: An Analysis
 
Michael stack -the state of apache h base
Michael stack -the state of apache h baseMichael stack -the state of apache h base
Michael stack -the state of apache h base
 
Building Applications using Apache Hadoop
Building Applications using Apache HadoopBuilding Applications using Apache Hadoop
Building Applications using Apache Hadoop
 
Lviv EDGE 2 - NoSQL
Lviv EDGE 2 - NoSQLLviv EDGE 2 - NoSQL
Lviv EDGE 2 - NoSQL
 
AWS Customer Presentation: Freie Univerisitat - Berlin Summit 2012
AWS Customer Presentation: Freie Univerisitat - Berlin Summit 2012AWS Customer Presentation: Freie Univerisitat - Berlin Summit 2012
AWS Customer Presentation: Freie Univerisitat - Berlin Summit 2012
 
RESTful application with Drupal 8
RESTful application with Drupal 8RESTful application with Drupal 8
RESTful application with Drupal 8
 
Yapceu2015 geneva courts
Yapceu2015 geneva courtsYapceu2015 geneva courts
Yapceu2015 geneva courts
 
DBIx::Class vs. DBix::DataModel
DBIx::Class vs. DBix::DataModelDBIx::Class vs. DBix::DataModel
DBIx::Class vs. DBix::DataModel
 
RDFa: introduction, comparison with microdata and microformats and how to use it
RDFa: introduction, comparison with microdata and microformats and how to use itRDFa: introduction, comparison with microdata and microformats and how to use it
RDFa: introduction, comparison with microdata and microformats and how to use it
 
Drupal 6 to Drupal 8 Migration
Drupal 6 to Drupal 8 MigrationDrupal 6 to Drupal 8 Migration
Drupal 6 to Drupal 8 Migration
 
Introduction to NoSQL
Introduction to NoSQLIntroduction to NoSQL
Introduction to NoSQL
 
AWS Public Data Sets: How to Stage Petabytes of Data for Analysis in AWS (WPS...
AWS Public Data Sets: How to Stage Petabytes of Data for Analysis in AWS (WPS...AWS Public Data Sets: How to Stage Petabytes of Data for Analysis in AWS (WPS...
AWS Public Data Sets: How to Stage Petabytes of Data for Analysis in AWS (WPS...
 
Introduction to Hadoop Administration
Introduction to Hadoop AdministrationIntroduction to Hadoop Administration
Introduction to Hadoop Administration
 

Ähnlich wie Linked Data Publishing with Drupal (SWIB13 workshop)

Showcasing drupal
Showcasing drupalShowcasing drupal
Showcasing drupalOpevel
 
Intro to drupal
Intro to drupalIntro to drupal
Intro to drupalhernanibf
 
Drupal Training Topics
Drupal Training TopicsDrupal Training Topics
Drupal Training Topicsvibrantuser
 
Drupal Overview For Techies
Drupal Overview For TechiesDrupal Overview For Techies
Drupal Overview For TechiesRobert Carr
 
Introduction to Drupal
Introduction to DrupalIntroduction to Drupal
Introduction to DrupalTom Deryckere
 
Drupal: an Overview
Drupal: an OverviewDrupal: an Overview
Drupal: an OverviewMatt Weaver
 
Produce and consume_linked_data_with_drupal
Produce and consume_linked_data_with_drupalProduce and consume_linked_data_with_drupal
Produce and consume_linked_data_with_drupalSTIinnsbruck
 
Drupal and the semantic web - SemTechBiz 2012
Drupal and the semantic web - SemTechBiz 2012Drupal and the semantic web - SemTechBiz 2012
Drupal and the semantic web - SemTechBiz 2012scorlosquet
 
Introduction To Drupal
Introduction To DrupalIntroduction To Drupal
Introduction To DrupalLauren Roth
 
One Drupal to rule them all - Drupalcamp London
One Drupal to rule them all - Drupalcamp LondonOne Drupal to rule them all - Drupalcamp London
One Drupal to rule them all - Drupalcamp Londonhernanibf
 
Everything You Need to Know About the Top Changes in Drupal 8
Everything You Need to Know About the Top Changes in Drupal 8Everything You Need to Know About the Top Changes in Drupal 8
Everything You Need to Know About the Top Changes in Drupal 8Acquia
 
Top 8 Improvements in Drupal 8
Top 8 Improvements in Drupal 8Top 8 Improvements in Drupal 8
Top 8 Improvements in Drupal 8Angela Byron
 
Blisstering drupal module development ppt v1.2
Blisstering drupal module development ppt v1.2Blisstering drupal module development ppt v1.2
Blisstering drupal module development ppt v1.2Anil Sagar
 
Building bridges - Plone Conference 2015 Bucharest
Building bridges   - Plone Conference 2015 BucharestBuilding bridges   - Plone Conference 2015 Bucharest
Building bridges - Plone Conference 2015 BucharestAndreas Jung
 
Oleksandr Medvediev - Content delivery tools in Drupal 8.
Oleksandr Medvediev - Content delivery tools in Drupal 8.Oleksandr Medvediev - Content delivery tools in Drupal 8.
Oleksandr Medvediev - Content delivery tools in Drupal 8.DrupalCamp Kyiv
 
The Semantic Web and Drupal 7 - Loja 2013
The Semantic Web and Drupal 7 - Loja 2013The Semantic Web and Drupal 7 - Loja 2013
The Semantic Web and Drupal 7 - Loja 2013scorlosquet
 

Ähnlich wie Linked Data Publishing with Drupal (SWIB13 workshop) (20)

Showcasing drupal
Showcasing drupalShowcasing drupal
Showcasing drupal
 
Intro to drupal
Intro to drupalIntro to drupal
Intro to drupal
 
Drupal Training Topics
Drupal Training TopicsDrupal Training Topics
Drupal Training Topics
 
Drupal Overview For Techies
Drupal Overview For TechiesDrupal Overview For Techies
Drupal Overview For Techies
 
Introduction to Drupal
Introduction to DrupalIntroduction to Drupal
Introduction to Drupal
 
Drupal: an Overview
Drupal: an OverviewDrupal: an Overview
Drupal: an Overview
 
Produce and consume_linked_data_with_drupal
Produce and consume_linked_data_with_drupalProduce and consume_linked_data_with_drupal
Produce and consume_linked_data_with_drupal
 
Drupal and the semantic web - SemTechBiz 2012
Drupal and the semantic web - SemTechBiz 2012Drupal and the semantic web - SemTechBiz 2012
Drupal and the semantic web - SemTechBiz 2012
 
Drupal In 1 Hour
Drupal In 1 HourDrupal In 1 Hour
Drupal In 1 Hour
 
Introduction To Drupal
Introduction To DrupalIntroduction To Drupal
Introduction To Drupal
 
72d5drupal
72d5drupal72d5drupal
72d5drupal
 
The Drupal Way
The Drupal WayThe Drupal Way
The Drupal Way
 
One Drupal to rule them all - Drupalcamp London
One Drupal to rule them all - Drupalcamp LondonOne Drupal to rule them all - Drupalcamp London
One Drupal to rule them all - Drupalcamp London
 
Everything You Need to Know About the Top Changes in Drupal 8
Everything You Need to Know About the Top Changes in Drupal 8Everything You Need to Know About the Top Changes in Drupal 8
Everything You Need to Know About the Top Changes in Drupal 8
 
Top 8 Improvements in Drupal 8
Top 8 Improvements in Drupal 8Top 8 Improvements in Drupal 8
Top 8 Improvements in Drupal 8
 
Blisstering drupal module development ppt v1.2
Blisstering drupal module development ppt v1.2Blisstering drupal module development ppt v1.2
Blisstering drupal module development ppt v1.2
 
Building bridges - Plone Conference 2015 Bucharest
Building bridges   - Plone Conference 2015 BucharestBuilding bridges   - Plone Conference 2015 Bucharest
Building bridges - Plone Conference 2015 Bucharest
 
Drupal_cubet seminar
Drupal_cubet seminarDrupal_cubet seminar
Drupal_cubet seminar
 
Oleksandr Medvediev - Content delivery tools in Drupal 8.
Oleksandr Medvediev - Content delivery tools in Drupal 8.Oleksandr Medvediev - Content delivery tools in Drupal 8.
Oleksandr Medvediev - Content delivery tools in Drupal 8.
 
The Semantic Web and Drupal 7 - Loja 2013
The Semantic Web and Drupal 7 - Loja 2013The Semantic Web and Drupal 7 - Loja 2013
The Semantic Web and Drupal 7 - Loja 2013
 

Mehr von Joachim Neubert

Linking the 20th century paper history to the sum of all knowledge
Linking the 20th century paper history to the sum of all knowledgeLinking the 20th century paper history to the sum of all knowledge
Linking the 20th century paper history to the sum of all knowledgeJoachim Neubert
 
Exploring and mapping the category system of the world‘s largest public press...
Exploring and mapping the category system of the world‘s largest public press...Exploring and mapping the category system of the world‘s largest public press...
Exploring and mapping the category system of the world‘s largest public press...Joachim Neubert
 
Donating data to Wikidata: First experiences from the „20th Century Press Arc...
Donating data to Wikidata: First experiences from the „20th Century Press Arc...Donating data to Wikidata: First experiences from the „20th Century Press Arc...
Donating data to Wikidata: First experiences from the „20th Century Press Arc...Joachim Neubert
 
Wikidata as a hub for the linked data cloud
Wikidata as a hub for the linked data cloudWikidata as a hub for the linked data cloud
Wikidata as a hub for the linked data cloudJoachim Neubert
 
Wikidata as opportunity for special collections: the 20th Century Press Archi...
Wikidata as opportunity for special collections: the 20th Century Press Archi...Wikidata as opportunity for special collections: the 20th Century Press Archi...
Wikidata as opportunity for special collections: the 20th Century Press Archi...Joachim Neubert
 
20th Century Press Archives goes Wikidata
20th Century Press Archives goes Wikidata20th Century Press Archives goes Wikidata
20th Century Press Archives goes WikidataJoachim Neubert
 
Chancen und Herausforderungen einer komplementären Nutzung von GND und Wikidata
Chancen und Herausforderungen einer komplementären Nutzung von GND und WikidataChancen und Herausforderungen einer komplementären Nutzung von GND und Wikidata
Chancen und Herausforderungen einer komplementären Nutzung von GND und WikidataJoachim Neubert
 
Pressemappe 20. Jahrhundert: Personen- und Firmendossiers
Pressemappe 20. Jahrhundert: Personen- und FirmendossiersPressemappe 20. Jahrhundert: Personen- und Firmendossiers
Pressemappe 20. Jahrhundert: Personen- und FirmendossiersJoachim Neubert
 
20th Century Press Archives goes Wikidata
20th Century Press Archives goes Wikidata20th Century Press Archives goes Wikidata
20th Century Press Archives goes WikidataJoachim Neubert
 
Linking Knowledge Organization Systems via Wikidata (DCMI conference 2018)
Linking Knowledge Organization Systems via Wikidata (DCMI conference 2018)Linking Knowledge Organization Systems via Wikidata (DCMI conference 2018)
Linking Knowledge Organization Systems via Wikidata (DCMI conference 2018)Joachim Neubert
 
Making Wikidata fit as a Linking Hub for Knowledge Organization Systems
Making Wikidata fit as a Linking Hub for Knowledge Organization SystemsMaking Wikidata fit as a Linking Hub for Knowledge Organization Systems
Making Wikidata fit as a Linking Hub for Knowledge Organization SystemsJoachim Neubert
 
Linking authorities through Wikidata
Linking authorities through WikidataLinking authorities through Wikidata
Linking authorities through WikidataJoachim Neubert
 
Wikidata as a linking hub for knowledge organization systems? Integrating an ...
Wikidata as a linking hub for knowledge organization systems? Integrating an ...Wikidata as a linking hub for knowledge organization systems? Integrating an ...
Wikidata as a linking hub for knowledge organization systems? Integrating an ...Joachim Neubert
 
Wikidata as authority linking hub
Wikidata as authority linking hubWikidata as authority linking hub
Wikidata as authority linking hubJoachim Neubert
 
EconBiz Research Dataset (SWIB16 Lightning Talk)
EconBiz Research Dataset (SWIB16 Lightning Talk)EconBiz Research Dataset (SWIB16 Lightning Talk)
EconBiz Research Dataset (SWIB16 Lightning Talk)Joachim Neubert
 
Using Wikidata as an Authority for the SowiDataNet Research Data Repository
Using Wikidata as an Authority for the SowiDataNet Research Data RepositoryUsing Wikidata as an Authority for the SowiDataNet Research Data Repository
Using Wikidata as an Authority for the SowiDataNet Research Data RepositoryJoachim Neubert
 
Change Tracking in Knowledge Organization Systems with skos-history
Change Tracking in Knowledge Organization Systems with skos-historyChange Tracking in Knowledge Organization Systems with skos-history
Change Tracking in Knowledge Organization Systems with skos-historyJoachim Neubert
 
Anforderungen an Thesauri im Semantic Web
Anforderungen an Thesauri im Semantic WebAnforderungen an Thesauri im Semantic Web
Anforderungen an Thesauri im Semantic WebJoachim Neubert
 
Leveraging SKOS to trace the overhaul of the STW Thesaurus for Economics
Leveraging SKOS to trace the overhaul of the STW Thesaurus for EconomicsLeveraging SKOS to trace the overhaul of the STW Thesaurus for Economics
Leveraging SKOS to trace the overhaul of the STW Thesaurus for EconomicsJoachim Neubert
 

Mehr von Joachim Neubert (20)

Linking the 20th century paper history to the sum of all knowledge
Linking the 20th century paper history to the sum of all knowledgeLinking the 20th century paper history to the sum of all knowledge
Linking the 20th century paper history to the sum of all knowledge
 
Exploring and mapping the category system of the world‘s largest public press...
Exploring and mapping the category system of the world‘s largest public press...Exploring and mapping the category system of the world‘s largest public press...
Exploring and mapping the category system of the world‘s largest public press...
 
Donating data to Wikidata: First experiences from the „20th Century Press Arc...
Donating data to Wikidata: First experiences from the „20th Century Press Arc...Donating data to Wikidata: First experiences from the „20th Century Press Arc...
Donating data to Wikidata: First experiences from the „20th Century Press Arc...
 
Wikidata (für Archive)
Wikidata (für Archive)Wikidata (für Archive)
Wikidata (für Archive)
 
Wikidata as a hub for the linked data cloud
Wikidata as a hub for the linked data cloudWikidata as a hub for the linked data cloud
Wikidata as a hub for the linked data cloud
 
Wikidata as opportunity for special collections: the 20th Century Press Archi...
Wikidata as opportunity for special collections: the 20th Century Press Archi...Wikidata as opportunity for special collections: the 20th Century Press Archi...
Wikidata as opportunity for special collections: the 20th Century Press Archi...
 
20th Century Press Archives goes Wikidata
20th Century Press Archives goes Wikidata20th Century Press Archives goes Wikidata
20th Century Press Archives goes Wikidata
 
Chancen und Herausforderungen einer komplementären Nutzung von GND und Wikidata
Chancen und Herausforderungen einer komplementären Nutzung von GND und WikidataChancen und Herausforderungen einer komplementären Nutzung von GND und Wikidata
Chancen und Herausforderungen einer komplementären Nutzung von GND und Wikidata
 
Pressemappe 20. Jahrhundert: Personen- und Firmendossiers
Pressemappe 20. Jahrhundert: Personen- und FirmendossiersPressemappe 20. Jahrhundert: Personen- und Firmendossiers
Pressemappe 20. Jahrhundert: Personen- und Firmendossiers
 
20th Century Press Archives goes Wikidata
20th Century Press Archives goes Wikidata20th Century Press Archives goes Wikidata
20th Century Press Archives goes Wikidata
 
Linking Knowledge Organization Systems via Wikidata (DCMI conference 2018)
Linking Knowledge Organization Systems via Wikidata (DCMI conference 2018)Linking Knowledge Organization Systems via Wikidata (DCMI conference 2018)
Linking Knowledge Organization Systems via Wikidata (DCMI conference 2018)
 
Making Wikidata fit as a Linking Hub for Knowledge Organization Systems
Making Wikidata fit as a Linking Hub for Knowledge Organization SystemsMaking Wikidata fit as a Linking Hub for Knowledge Organization Systems
Making Wikidata fit as a Linking Hub for Knowledge Organization Systems
 
Linking authorities through Wikidata
Linking authorities through WikidataLinking authorities through Wikidata
Linking authorities through Wikidata
 
Wikidata as a linking hub for knowledge organization systems? Integrating an ...
Wikidata as a linking hub for knowledge organization systems? Integrating an ...Wikidata as a linking hub for knowledge organization systems? Integrating an ...
Wikidata as a linking hub for knowledge organization systems? Integrating an ...
 
Wikidata as authority linking hub
Wikidata as authority linking hubWikidata as authority linking hub
Wikidata as authority linking hub
 
EconBiz Research Dataset (SWIB16 Lightning Talk)
EconBiz Research Dataset (SWIB16 Lightning Talk)EconBiz Research Dataset (SWIB16 Lightning Talk)
EconBiz Research Dataset (SWIB16 Lightning Talk)
 
Using Wikidata as an Authority for the SowiDataNet Research Data Repository
Using Wikidata as an Authority for the SowiDataNet Research Data RepositoryUsing Wikidata as an Authority for the SowiDataNet Research Data Repository
Using Wikidata as an Authority for the SowiDataNet Research Data Repository
 
Change Tracking in Knowledge Organization Systems with skos-history
Change Tracking in Knowledge Organization Systems with skos-historyChange Tracking in Knowledge Organization Systems with skos-history
Change Tracking in Knowledge Organization Systems with skos-history
 
Anforderungen an Thesauri im Semantic Web
Anforderungen an Thesauri im Semantic WebAnforderungen an Thesauri im Semantic Web
Anforderungen an Thesauri im Semantic Web
 
Leveraging SKOS to trace the overhaul of the STW Thesaurus for Economics
Leveraging SKOS to trace the overhaul of the STW Thesaurus for EconomicsLeveraging SKOS to trace the overhaul of the STW Thesaurus for Economics
Leveraging SKOS to trace the overhaul of the STW Thesaurus for Economics
 

Kürzlich hochgeladen

Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17Celine George
 
How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17Celine George
 
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in DelhiRussian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhikauryashika82
 
Mixin Classes in Odoo 17 How to Extend Models Using Mixin Classes
Mixin Classes in Odoo 17  How to Extend Models Using Mixin ClassesMixin Classes in Odoo 17  How to Extend Models Using Mixin Classes
Mixin Classes in Odoo 17 How to Extend Models Using Mixin ClassesCeline George
 
microwave assisted reaction. General introduction
microwave assisted reaction. General introductionmicrowave assisted reaction. General introduction
microwave assisted reaction. General introductionMaksud Ahmed
 
Class 11th Physics NEET formula sheet pdf
Class 11th Physics NEET formula sheet pdfClass 11th Physics NEET formula sheet pdf
Class 11th Physics NEET formula sheet pdfAyushMahapatra5
 
The basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptxThe basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptxheathfieldcps1
 
Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104misteraugie
 
psychiatric nursing HISTORY COLLECTION .docx
psychiatric  nursing HISTORY  COLLECTION  .docxpsychiatric  nursing HISTORY  COLLECTION  .docx
psychiatric nursing HISTORY COLLECTION .docxPoojaSen20
 
Web & Social Media Analytics Previous Year Question Paper.pdf
Web & Social Media Analytics Previous Year Question Paper.pdfWeb & Social Media Analytics Previous Year Question Paper.pdf
Web & Social Media Analytics Previous Year Question Paper.pdfJayanti Pande
 
Activity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfActivity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfciinovamais
 
On National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan FellowsOn National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan FellowsMebane Rash
 
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptxMaritesTamaniVerdade
 
PROCESS RECORDING FORMAT.docx
PROCESS      RECORDING        FORMAT.docxPROCESS      RECORDING        FORMAT.docx
PROCESS RECORDING FORMAT.docxPoojaSen20
 
Micro-Scholarship, What it is, How can it help me.pdf
Micro-Scholarship, What it is, How can it help me.pdfMicro-Scholarship, What it is, How can it help me.pdf
Micro-Scholarship, What it is, How can it help me.pdfPoh-Sun Goh
 
This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.christianmathematics
 
Seal of Good Local Governance (SGLG) 2024Final.pptx
Seal of Good Local Governance (SGLG) 2024Final.pptxSeal of Good Local Governance (SGLG) 2024Final.pptx
Seal of Good Local Governance (SGLG) 2024Final.pptxnegromaestrong
 
Energy Resources. ( B. Pharmacy, 1st Year, Sem-II) Natural Resources
Energy Resources. ( B. Pharmacy, 1st Year, Sem-II) Natural ResourcesEnergy Resources. ( B. Pharmacy, 1st Year, Sem-II) Natural Resources
Energy Resources. ( B. Pharmacy, 1st Year, Sem-II) Natural ResourcesShubhangi Sonawane
 

Kürzlich hochgeladen (20)

Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17
 
How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17
 
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in DelhiRussian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
 
Mixin Classes in Odoo 17 How to Extend Models Using Mixin Classes
Mixin Classes in Odoo 17  How to Extend Models Using Mixin ClassesMixin Classes in Odoo 17  How to Extend Models Using Mixin Classes
Mixin Classes in Odoo 17 How to Extend Models Using Mixin Classes
 
microwave assisted reaction. General introduction
microwave assisted reaction. General introductionmicrowave assisted reaction. General introduction
microwave assisted reaction. General introduction
 
Class 11th Physics NEET formula sheet pdf
Class 11th Physics NEET formula sheet pdfClass 11th Physics NEET formula sheet pdf
Class 11th Physics NEET formula sheet pdf
 
The basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptxThe basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptx
 
Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104
 
psychiatric nursing HISTORY COLLECTION .docx
psychiatric  nursing HISTORY  COLLECTION  .docxpsychiatric  nursing HISTORY  COLLECTION  .docx
psychiatric nursing HISTORY COLLECTION .docx
 
Web & Social Media Analytics Previous Year Question Paper.pdf
Web & Social Media Analytics Previous Year Question Paper.pdfWeb & Social Media Analytics Previous Year Question Paper.pdf
Web & Social Media Analytics Previous Year Question Paper.pdf
 
Asian American Pacific Islander Month DDSD 2024.pptx
Asian American Pacific Islander Month DDSD 2024.pptxAsian American Pacific Islander Month DDSD 2024.pptx
Asian American Pacific Islander Month DDSD 2024.pptx
 
Activity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfActivity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdf
 
On National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan FellowsOn National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan Fellows
 
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
 
PROCESS RECORDING FORMAT.docx
PROCESS      RECORDING        FORMAT.docxPROCESS      RECORDING        FORMAT.docx
PROCESS RECORDING FORMAT.docx
 
INDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptx
INDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptxINDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptx
INDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptx
 
Micro-Scholarship, What it is, How can it help me.pdf
Micro-Scholarship, What it is, How can it help me.pdfMicro-Scholarship, What it is, How can it help me.pdf
Micro-Scholarship, What it is, How can it help me.pdf
 
This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.
 
Seal of Good Local Governance (SGLG) 2024Final.pptx
Seal of Good Local Governance (SGLG) 2024Final.pptxSeal of Good Local Governance (SGLG) 2024Final.pptx
Seal of Good Local Governance (SGLG) 2024Final.pptx
 
Energy Resources. ( B. Pharmacy, 1st Year, Sem-II) Natural Resources
Energy Resources. ( B. Pharmacy, 1st Year, Sem-II) Natural ResourcesEnergy Resources. ( B. Pharmacy, 1st Year, Sem-II) Natural Resources
Energy Resources. ( B. Pharmacy, 1st Year, Sem-II) Natural Resources
 

Linked Data Publishing with Drupal (SWIB13 workshop)

  • 1. Linked Data Publishing with Drupal Joachim Neubert ZBW – German National Library of Economics Leibniz Information Centre for Economics SWIB13 Workshop Hamburg, Germany 25.11.2013 ZBW is member of the Leibniz Association
  • 2. My background • Scientific software developer at ZBW – German National Library for Economics, mainly concerned with Linked Open Data and knowledge organization systems and services • Published 20th Century Press Archives in 2010, with some 100,000 digitized newspaper articles in dossiers (http://zbw.eu/beta/p20, custom application written in Perl) • Published a repository of ZBW Labs projects recently – basicly project descriptions and a blog (http://zbw.eu/labs, Drupal based) Page 2
  • 3. Workshop Agenda – Part 1 1) Drupal 7 as a Content Management System: Linked Data by Default Hands-on: Get familiar with Drupal and it‘s default RDF mappings 2) Using Drupal 7as a Framework for Content Management Hands-on: Create a custom content type and map it to RDF Page 3
  • 4. Workshop Agenda – Part 2  Produce other RDF Serialization Formats: RDF/XML, Turtle, Ntriples, JSON-LD  Create a SPARQL Endpoint from your Drupal Site  Cool URIs  Create Out-Links with Web Taxonomy  Current limitations of RDF/LD support in Drupal 7  Outlook on Drupal 8 Page 4
  • 5. Drupal as a CMS (Content Management System) ready for RDF and Linked Data Page 5
  • 6. Why at all linked data enhanced publishing? • Differentiate the subjects of your web pages and their attributes • Thus, foster data reuse in 3rd party services and applications • Mashups • Search engines • Create meaningful links, adding value for users Page 6
  • 7. Why use a content management system? • Standard tasks (browser compatibility, page templates, responsive css, site navigation, search, form handling, calendar, wysiwyg, revisions, translations, permissions, data management , security) made easy • Easy-to-add web 2.0 features (blogging and comments, tags, rating, forums, …) • Know-how available outside a single development team Page 7
  • 8. Why Drupal? • More than 1 million sites worldwide • 2 % of the web • Large institutional sites (whitehouse.gov, amnesty.org, economist.com, examiner.com, louvre.fr) Page 8
  • 9. Why Drupal? • Open & modular architecture • Extensible by modules • Standards-based • Scalable • Vibrant open source community, and commercial services, too http://drupal.org/getting-started/before/overview http://de.slideshare.net/scorlosquet/drupal-as-a-semantic-web-platform Page 9
  • 10. The Drupal Community • More than 30,000 developers • More than 5,000 contributed modules (Drupal 7, actively maintained) • Activities organized through issue queues • Community contributed documentation • Thematic discussion groups: • https://groups.drupal.org/semantic-web • https://groups.drupal.org/libraries • Planet Drupal (aggregated blog entries): https://drupal.org/planet Page 10
  • 11. Drupal entity types “Node” in Drupal jargon From https://drupal.org/node/1261744 Page 11
  • 12. Nodes: Drupal’s basic structure for content • Title • Author & created/modified date • Body • May have tags (taxonomy), and/or comments, and/or images • Additional features: • Revisions, Diffs • Translations Page 12
  • 13. RDF mappings • Content types (or bundles of other entity types) are mapped to RDF classes • Fields are mapped to RDF properties • Defined on a the data layer (independent of the output system) • Drupal takes care of inserting it into the chosen HTML layout as RDFa attributes: Page 13
  • 15. Output in RDFa • Drupal renders RDF mappings as HTML attributes • No frickling in HTML producing code or templates • Works out of the box for different Drupal themes (screen designs) • In Drupal 7, by default XHTML/RDFa 1.0 • Themes for HTML5/RDFa 1.1 available (e.g., Zen) Page 15
  • 16. Hands-on, part 1: Create Articles Workshop pad: http://etherpad.lobid.org/p/swib13-drupal-ws Page 16
  • 17. Drupal 7 as a Content Management Framework Page 17
  • 18. Drupal entity types “Node” (in Drupal jargon) From https://drupal.org/node/1261744 Page 18
  • 20. Drupal fields • Fields can be defined in Drupal for custom data • Drupal fields are different from what we know as database fields • Fields are attached to entities • Single or multiple occurrence • Various technical field types (text, integer, file, …) • Custom modules can add their own field types • Some field types are supported by input widgets (such as a pop-up calendar for dates) Page 20
  • 21. Bundles allow for sub-types of an entity • “Bundles” refer to Drupal fields • “Content type” means a bundle for the node entity type • Predefined content types are: • Basic page (just title and body – for static content, such as an “About” page) • Article (with tags and an image – for blog articles, news, …) • Custom modules can add their own content types, or even entity types Page 21
  • 22. Hands-on, part 2: Create a “project” content type Page 22
  • 23. Hands-on, part 2: Preparations 1. Enable Modules • RDF UI • Date and Date Popup (with dependencies) • Entity Reference 2. Add RDF Namespaces (Configuration > RDF publishing settings > RDF namespaces Tab) • schema http://schema.org/ • doap http://usefulinc.com/ns/doap# 3. Create a “Categories” taxonomy Page 23
  • 24. Hands-on, part 2: Fields and mappings Type: Project (doap:Project, schema:CreatetiveWork) Fields: Name (doap:name, schema:name, dc:title): (title) Short Description (doap:shortdesc, schema:summary): Long text Started (doap:created, schema:startDate): Date Lead (doap:maintainer, schema:accountablePerson): Entity reference Article (rdfs:seeAlso): Entity reference (Blog Article) Category (doap:category, schema:about, dc:subject): Term reference Page 24
  • 25. Hands-on, part 2: Add example content Page 25
  • 26. What did we achieve?  Learned about Drupal RDF output produced by default  Created a custom content type and attached fields  Added arbitrary RDF classes and properties  Learned how to interlink content and other entities Page 26
  • 27. Extending Drupal even further As powerful a Content Mangement Framework, Drupal provides • Well defined APIs (database abstraction layer, Field API, Form API, Entity API, …) • In particular, RDF Mapping API allows create the mappings programmatically, which we be built through the User Interface • Entity API allows building custom entities with arbitrary properties • … even residing in remote databases  requires substantial programming skills Page 27
  • 29. Selected Linked Data-related Drupal stuff • What I introduced up to now, is quit well production ready (and working on hundred thousands of sites, as RDF is enabled by default). Same is true for the field subsystem, for entity references, etc. • However, much less Drupal sites deliberately work with RDF, and the module I now will introduce are often in beta or even early alpha state Page 29
  • 30. Produce other RDF serialization formats • Serialize Drupal RDF data with rdfx and restws modules in • RDF/XML • Turtle • N-Triples • Add JSON-LD module * currently does not work with PostgreSQL – for a workarround, see http://drupal.org/node/1999754#comment-7438562 Page 30
  • 32. Providing a SPARQL endpoint for your site • SPARQL is – like SQL – a general purpose query language for RDF data • Let you select data from all over your site in flexible and unforseen ways • Let even combine you data from your site and from others in a single query Page 32
  • 34. SPARQL: Some restrictions However, somebody who wants to query the store, has to know, or to figure out somehow, • that there are articles and projects, which are interlinked by rdfs:seeAlso • in which direction of the rdfs:seeAlso connection was created • that projects actually have a schema:about property Page 34
  • 35. SPARQL: Production-ready? • An open SPARQL endpoint on a production server is like an open SQL interface: performance and security issues • A much finer tunable module combination for SPARQL queries was announced on the Semantic Web Drupal group: • Limits for processing time and number of results • Selected indexing, batches of index jobs • see really good step-by-step description at https://drupal.org/node/2028111 • Even then, for the regular pages your users should get on your site, you should better use the Drupal Views module. Page 35
  • 36. Cool URIs for Linked Data • Cool URIs don't change Tim Berners-Lee, http://www.w3.org/Provider/Style/URI • No technology-dependent parts • More on Linked-Data-URIs: Chapter 2 of Bizer/Heath: Linked Data (2011) http://linkeddatabook.com/editions/1.0/ Page 36
  • 37. Cool URIs for Drupal require work 1) Drupal‘s out-of-the-box default URI http://drupal-lod/?q=node/25 2) with the „Clean URLs“ feature enabled This has already be done by the TurnKey Linux Drupal 7 installation http://drupal-lod/node/25 3) with the (core) „Path“ module enabled and an alias defined http://drupal-lod/project/zbw-labs Also good for seach engines! For more on Drupal support for redirects: check Global Redirect module (https://drupal.org/project/globalredirect) Page 37
  • 39. Even more work if ... 1) You have a multilingual site, and want to have only one URI for a project, e.g., instead of http://zbw.eu/labs/de/project/zbw-labs http://zbw.eu/labs/en/project/zbw-labs just http://zbw.eu/labs/project/zbw-labs 2) Or you want, „by the rules“, to destinguish between the thing itself (the project) and the web page (about the project) Page 39
  • 40. Linked Data URIs „by the textbook“ No httpRange-14 conformant standard solution in Drupal known to me – yet workarrounds: ● Add code to set the „about“ attribute to the generic (languageagnostic) URI of the entity (for multilingual sites) (code example in http://groups.drupal.org/node/247058#comment-798823) • Or add code to set the “about” attribute to the page URI extended with a fragment identifier (e.g., “#resource” – so called “hash URI”) Page 40
  • 41. Web Taxonomy: Using vocabularies from the web • Autocomplete widget for Drupal fields, powered by vocabularies maintained elsewhere • Local taxonomy works as a proxy for the web taxonomy terms in use Page 41
  • 42. Web Taxonomy: Using vocabularies from the web • Prerequisites: • a already built plugin for the vocabulary (experimental examples for VIAF, STW, Dbpedia, Agrovoc, GND economists) or • a web-accessible autosuggest service which delivers terms and their URIs (may be JSON, SPARQL results or even SOAP) • a custom coded plugin to access the service Page 42
  • 43. Plugin example: Economics Taxonomies • Third party thesauri, such as STW Thesaurus for Economics, can be re-used for indexing a collection Code downloadable and installable from https://drupal.org/sandbox/jneubert/1447918 Page 43
  • 45. Current limitations of RDF/LD support in Drupal 7 Page 45
  • 46. Nested RDF structures only with custom code Workarround example: Git repository URI in DOAP ontology demands a separate node, e.g., <> a schema:CreativeWork, doap:Project; doap:repository [ a doap:GitRepository; doap:location "http://github.com/some/id.git" ]; • Create field_gitrepository and map to doap:location • Create a custom template file for the field (field--field_gitrepository-lproject.tpl.php) <div rel="doap:repository" class="field-items"<?php print $content_attributes; ?>> <div about="[_:repos]" typeof="doap:GitRepository"> <?php foreach ($items as $delta => $item): ?> <div class="field-item"<?php print $item_attributes[$delta]; ?>><?php print render($item); ?></div> <?php endforeach; ?> </div> Page 46 </div> </div>
  • 47. Further limitations in Drupal 7 • RDFa support currently works for single entities – pages with multiple entities (search results, term pages, views, etc.) are not supported • RDFa output may break under certain special conditions (http://drupal.org/node/1778226) Page 47
  • 48. Outlook to Drupal 8 • Drupal base functionalities refactored for using Symphony framework • Aimed at an extended service-oriented architecture – design goal: “Each piece of content gets its own URL” (http://www.unleashedmind.com/en/blog/sun/drupal-8-the-path-forward) • Web services based on HAL (Hypertext application language) • Configuration in files (version control, portability) • Multilingual unified and improved Page 48
  • 49. Outlook to Drupal 8 (cont.) • Date, Views, Entity Reference, … modules in core • Wysiwyg and in-place editing out of the box RDF • Solely use RDFa 1.1 lite (@property, determined by attribute placement, instead of @rel/@rev) https://drupal.org/node/1780090 • Default mappings based almost completely on schema.org (see https://drupal.org/node/1784234) Page 49
  • 51. To sum up • Linked data publishing via a CMS, in particular Drupal, is a valid option • If your data can be mapped to an essentially flat RDF data structure, linked data can be added mostly by site builders, without much additional effort • Sometimes research is required on how to solve problems, and at times glue code has to be written • But: most of the code for your web application is already there, and is supported by a large and helpful Open Source community Page 51
  • 52. Thank you! Joachim Neubert ZBW – Leibniz Information Centre for Economics j.neubert@zbw.eu http://zbw.eu/labs Page 52