Diese Präsentation wurde erfolgreich gemeldet.

Linked data enhanced publishing for special collections (with Drupal)

4

Teilen

Wird geladen in …3
×
1 von 33
1 von 33

Weitere Verwandte Inhalte

Weitere von Joachim Neubert

Ähnliche Bücher

Kostenlos mit einer 14-tägigen Testversion von Scribd

Alle anzeigen

Ähnliche Hörbücher

Kostenlos mit einer 14-tägigen Testversion von Scribd

Alle anzeigen

Linked data enhanced publishing for special collections (with Drupal)

  1. 1. ZBW is member of the Leibniz Association Linked Data Enhanced Publishing for Special Collections Joachim Neubert ZBW – German National Library of Economics Leibniz Information Centre for Economics ELAG 2013 Ghent, Belgium 29.5.2013
  2. 2. Motivation • Special collections often consist of specific (sometimes unique) kinds of objects with special attributes (e.g., type or material, selected from a list) which require non-standard data structures • Custom navigation (e.g., by historical period or dynasty) is eligible • Static pages (e.g., a “news” section, “about” or “help” pages) are often required, too  Turn-key “standard” systems for these requirements are not available Page 2
  3. 3. My own 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 3
  4. 4. Page 4 Further Agenda 1) Linked Data, Content Management Systems, and Drupal 2) Customizing Drupal 7 for special collections 3) Current limitations of RDF/LD support in Drupal 7 4) Outlook
  5. 5. Why semantic enhancement? – An example Page 5 https://www.goodreads.com/book/show/91767.Frida
  6. 6. Semantic enhancement via RDF Page 6 http://commonplace.net/2009/06/linked-data-for-libraries/
  7. 7. Weaving the web of Linked Data Page 7 http://www.worldcat.org/oclc/8281462 http://viaf.org/viaf/213505112 http://dbpedia.org/resource/Frida_Kahlo
  8. 8. Page 8 Linking Open Data cloud diagram, by Richard Cyganiak and Anja Jentzsch. http://lod-cloud.net/
  9. 9. So, why 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 9
  10. 10. 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 10
  11. 11. Why Drupal? • Open & modular architecture ● Extensible by modules ● Standards-based ● Scalable • Widely used all over the world • Vibrant open source community, and commercial services, too Page 11 http://drupal.org/getting-started/before/overview http://de.slideshare.net/scorlosquet/drupal-as-a-semantic-web-platform
  12. 12. Drupal 7 default RDF schema Page 12 http://openspring.net/blog/2011/05/01/background-research-work-leading-to-rdf-in-drupal-7-released-as-part-of-my-masters
  13. 13. Page 13
  14. 14. Customizing Drupal 7 for special collections Page 14
  15. 15. Page 15
  16. 16. Creating a custom content (node) type Can be done by the site builder (without coding) Page 16
  17. 17. Page 17
  18. 18. Page 18 Requires: • RDF UI module enabled • Prefixes for additional namespaces, e.g. doap, defined (via UI)
  19. 19. Creating custom fields Page 19
  20. 20. Defining custom field´s RDF mapping Page 20
  21. 21. 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 21
  22. 22. M <http://zbw.eu/labs/project/zbw-labs> a schema:CreativeWork, doap:Project; dc:description """ ZBW Labs Website is a semantically enriched directory of ZBW Labs Projects. Labs projects range from small showcases, which may or may not be part of a larger project, to full-fleged applications in beta state. The new ZBW Labs website is based on Drupal 7 and uses RDFa, which is part of Drupal Core. Used vocabularies are Dublin Core Terms (dc), Description of a Project (doap) und Schema.org (schema). """@en; dc:subject <http://zbw.eu/labs/en/taxonomy/term/1>, <http://zbw.eu/labs/en/taxonomy/term/11>, <http://zbw.eu/labs/en/taxonomy/term/3>, <http://zbw.eu/labs/en/taxonomy/term/50>; dc:title "ZBW Labs Website"@en; schema:name "ZBW Labs Website"@en; [...] doap:created "2012-04"^^xsd:gYearMonth, "2012-04-01T00:00:00+02:00"^^xsd:gYearMonth; doap:homepage <http://zbw.eu/labs>; doap:name "ZBW Labs Website"@en; doap:shortdesc "ZBW Labs projects exposed as Linked Open Data"@en; xhv:license <http://creativecommons.org/publicdomain/zero/1.0/> . <http://zbw.eu/labs/en/taxonomy/term/3> a skos:Concept; rdfs:label "Publishing Technologies"@en; skos:prefLabel "Publishing Technologies"@en . Page 22
  23. 23. Additional Linked Data / RDF features • Serialize Drupal RDF data in RDF/XML, Turtle, NT (Modules: RDFx, RESTful Web Services) *, JSON-LD (Modules: JSON-LD, restws) • Expose Drupal RDF data in a SPARQL endpoint (Module: SPARQL) • Support microdata output (Module: Microdata) • Consume RDF data from other SPARQL endpoints and display it as part of a Drupal site (Module: SPARQL Views) • Add links to other Linked Data entities (Module: Web Taxonomy) * currently does not work with PostgreSQL – for a workarround, see http://drupal.org/node/1999754#comment-7438562 Page 23
  24. 24. Web Taxonomy: Using vocabularies from the web • Autocomplete widget for Drupal fields, powered by vocabularies maintained elsewhere • Prerequisites: • 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 24
  25. 25. Page 25 Plugin example: Economics Taxonomies Code downloadable and installable from https://drupal.org/sandbox/jneubert/1447918 • Third party thesauri, such as STW Thesaurus for Economics, can be re-used for indexing a collection
  26. 26. Extending Drupal even further Drupal is not only a CMS, but also a Content Mangement Framework • Well defined APIs (database abstraction layer, Field API, RDF Mapping API, Form API, Entity API, …) • Entity API allows building custom entities with arbitrary properties • … even residing in remote databases  requires substantial programming skills Page 26
  27. 27. Current limitations of RDF/LD support in Drupal 7 Page 27
  28. 28. Cool URIs require work 1) out-of-the-box default URI http://zbw.eu/labs/en?q=node/25 2) with the „Clean URLs“ feature enabled http://zbw.eu/labs/en/node/25 3) with the (core) „Path“ module enabled and an alias defined http://zbw.eu/labs/en/project/zbw-labs 4) removing the language path element (en/de) in multilingual sites for a language-independent resource URI requires custom code http://zbw.eu/labs/project/zbw-labs (see code example in http://groups.drupal.org/node/247058#comment-798823) Page 28
  29. 29. 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> </div> </div> Page 29
  30. 30. 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 30
  31. 31. 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) • RDF module split up into a plain RDF mapping module and another module for creating RDFa markup Page 31
  32. 32. 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 32
  33. 33. Page 33 Thank you! Joachim Neubert ZBW – Leibniz Information Centre for Economics j.neubert@zbw.eu http://zbw.eu/labs

×