Diese Präsentation wurde erfolgreich gemeldet.
Wir verwenden Ihre LinkedIn Profilangaben und Informationen zu Ihren Aktivitäten, um Anzeigen zu personalisieren und Ihnen relevantere Inhalte anzuzeigen. Sie können Ihre Anzeigeneinstellungen jederzeit ändern.

Linked data enhanced publishing for special collections (with Drupal)

4.477 Aufrufe

Veröffentlicht am

Veröffentlicht in: Bildung, Technologie
  • Als Erste(r) kommentieren

Linked data enhanced publishing for special collections (with Drupal)

  1. 1. ZBW is member of the Leibniz AssociationLinked Data Enhanced Publishingfor Special CollectionsJoachim NeubertZBW – German National Library of EconomicsLeibniz Information Centre for EconomicsELAG 2013Ghent, Belgium29.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) areoften required, too Turn-key “standard” systems for these requirements are notavailablePage 2
  3. 3. My own background• Scientific software developer at ZBW – German National Library forEconomics, mainly concerned with Linked Open Data andknowledge organization systems and services• Published 20th Century Press Archives in 2010, with some 100,000digitized newspaper articles in dossiers (http://zbw.eu/beta/p20,custom application written in Perl)• Published a repository of ZBW Labs projects recently – basiclyproject descriptions and a blog (http://zbw.eu/labs, Drupal based)Page 3
  4. 4. Page 4Further Agenda1) Linked Data, Content Management Systems, and Drupal2) Customizing Drupal 7 for special collections3) Current limitations of RDF/LD support in Drupal 74) Outlook
  5. 5. Why semantic enhancement? – An examplePage 5https://www.goodreads.com/book/show/91767.Frida
  6. 6. Semantic enhancement via RDFPage 6http://commonplace.net/2009/06/linked-data-for-libraries/
  7. 7. Weaving the web of Linked DataPage 7http://www.worldcat.org/oclc/8281462http://viaf.org/viaf/213505112http://dbpedia.org/resource/Frida_Kahlo
  8. 8. Page 8Linking 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 usersPage 9
  10. 10. Why use a content management system?• Standard tasks (browser compatibility, page templates, responsivecss, 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 teamPage 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, tooPage 11http://drupal.org/getting-started/before/overviewhttp://de.slideshare.net/scorlosquet/drupal-as-a-semantic-web-platform
  12. 12. Drupal 7 default RDF schemaPage 12http://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 collectionsPage 14
  15. 15. Page 15
  16. 16. Creating a custom content (node) typeCan be done by the site builder (without coding)Page 16
  17. 17. Page 17
  18. 18. Page 18Requires:• RDF UI module enabled• Prefixes for additionalnamespaces, e.g. doap,defined (via UI)
  19. 19. Creating custom fieldsPage 19
  20. 20. Defining custom field´s RDF mappingPage 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 LabsProjects. Labs projects range from small showcases, which may or maynot be part of a larger project, to full-fleged applications in betastate.The new ZBW Labs website is based on Drupal 7 and uses RDFa, which ispart 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 aspart 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-7438562Page 23
  24. 24. Web Taxonomy: Using vocabularies from the web• Autocomplete widget for Drupal fields, powered by vocabulariesmaintained elsewhere• Prerequisites:• a web-accessible autosuggest service which delivers terms andtheir URIs (may be JSON, SPARQL results or even SOAP)• a custom coded plugin to access the servicePage 24
  25. 25. Page 25Plugin example: Economics TaxonomiesCode downloadable and installable from https://drupal.org/sandbox/jneubert/1447918• Third party thesauri, such as STW Thesaurus for Economics, can bere-used for indexing a collection
  26. 26. Extending Drupal even furtherDrupal is not only a CMS, but also a Content Mangement Framework• Well defined APIs (database abstraction layer, Field API, RDFMapping API, Form API, Entity API, …)• Entity API allows building custom entities with arbitrary properties• … even residing in remote databases requires substantial programming skillsPage 26
  27. 27. Current limitations of RDF/LD support in Drupal 7Page 27
  28. 28. Cool URIs require work1) out-of-the-box default URIhttp://zbw.eu/labs/en?q=node/252) with the „Clean URLs“ feature enabledhttp://zbw.eu/labs/en/node/253) with the (core) „Path“ module enabled and an alias definedhttp://zbw.eu/labs/en/project/zbw-labs4) removing the language path element (en/de) in multilingual sites fora language-independent resource URI requires custom codehttp://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 codeWorkarround 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]; ?>><?phpprint 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 multipleentities (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 anothermodule for creating RDFa markupPage 31
  32. 32. To sum up• Linked data publishing via a CMS, in particular Drupal, is a validoption• If your data can be mapped to an essentially flat RDF data structure,linked data can be added mostly by site builders, without muchadditional effort• Sometimes research is required on how to solve problems, and attimes glue code has to be written• But: most of the code for your web application is already there, and issupported by a large and helpful Open Source communityPage 32
  33. 33. Page 33Thank you!Joachim NeubertZBW – Leibniz Information Centre for Economicsj.neubert@zbw.euhttp://zbw.eu/labs