1 of 32

Introduction to CLAW

And LInked Data

2 of 32

@dannyLamb

3 of 32

What is CLAW?

4 of 32

Strategic Goals

5 of 32

High Level

  • Easy to install
  • Easy to scale
  • Easy to sustain / maintain
  • Provide a better experience for repository admins
  • Provide a better experience for developers and sysadmins
  • Increase and promote inter-community collaboration

6 of 32

Installation

7 of 32

Scaling

By Stephen Edmonds from Melbourne, Australia (First quick test of DIY light box) [CC BY-SA 2.0 (https://creativecommons.org/licenses/by-sa/2.0)], via Wikimedia Commons

8 of 32

The Fundamental Difference

The main distinction between CLAW and all other Fedora based systems is the role that Fedora plays. In CLAW, Fedora is the repository, not the database driving the web application that is administering the repository.

9 of 32

Microservices

10 of 32

Sustainability and Maintenance

Lewis Hine [Public domain],

via Wikimedia Commons

11 of 32

User Experience

  • Drupal-y
    • Control display through UI
    • Control forms through UI
    • Model content through UI
  • Contrib modules!
  • Themes
  • Views
  • Inline Forms
  • Context

12 of 32

Developer/Sysadmin Experience

  • Very Drupal-y when in Drupal
    • Object oriented
    • Dependency Injection
    • Plugin based
    • Contrib modules!!!
  • Great for front-end developers
  • Silex microservices
  • Apache Camel Middleware
    • Java
    • Insanely active community
  • Ansible

13 of 32

Collaboration

Acropolis Museum [CC BY-SA 2.5 (https://creativecommons.org/licenses/by-sa/2.5)], via Wikimedia Commons

14 of 32

Features

15 of 32

16 of 32

MVP

https://islandora-claw.github.io/CLAW/mvp/mvp_doc/

17 of 32

MVP Features

  • Content modeled in Drupal as Entities using PCDM 1.0
  • REST API exposed for Drupal Entities
  • Support for collections, images, books, and pages
  • The ability to control metadata mappings between Drupal and RDF
  • Provide RDF based default descriptive metadata profile in Drupal
  • The ability to export/import JSON-LD
  • Automatic backup of Drupal content in Fedora 4
  • Ability to restore/bootstrap a Drupal site from a properly structured Fedora 4 repository
  • The ability to index and search resources with Apache Solr
  • The ability to restrict access to collections and/or individual resources across all representations (Drupal, Fedora, Solr, etc…)
  • Asynchronous derivative generation
  • Vagrant environment for development purposes, which will serve as a starting point for more complicated, distributed installs

18 of 32

MVP Features

  • Content modeled in Drupal as Entities using PCDM 1.0
  • REST API exposed for Drupal Entities
  • Support for collections, images, books, and pages (SOON)
  • The ability to control metadata mappings between Drupal and RDF
  • Provide RDF based default descriptive metadata profile in Drupal (ONGOING)
  • The ability to export/import JSON-LD
  • Automatic backup of Drupal content in Fedora 4
  • Ability to restore/bootstrap a Drupal site from a properly structured Fedora 4 repository
  • The ability to index and search resources with Apache Solr
  • The ability to restrict access to collections and/or individual resources across all representations (Drupal, Fedora, Solr, etc…)
  • Asynchronous derivative generation (CLOSE)
  • Vagrant environment for development purposes, which will serve as a starting point for more complicated, distributed installs

19 of 32

Small But STrong

By Steve Jurvetson (https://www.flickr.com/photos/jurvetson/70704300) [CC BY 2.0 (http://creativecommons.org/licenses/by/2.0)], via Wikimedia Commons

20 of 32

But wait, there’s more!!!

21 of 32

But wait, there’s more!!!

22 of 32

But wait, there’s IIIF?

23 of 32

Linked Data

24 of 32

What Does WikIpedia Say?

Linked Data is “a method of publishing structured data so that it can be interlinked and become more useful through semantic queries. It builds upon standard Web technologies such as HTTP, RDF and URIs, but rather than using them to serve web pages for human readers, it extends them to share information in a way that can be read automatically by computers.”

25 of 32

TBL FTW

Paul Clarke [CC BY-SA 4.0 (https://creativecommons.org/licenses/by-sa/4.0)], via Wikimedia Commons

26 of 32

Linked Data Note of 2006

  • Use URIs to name (identify) things.
  • Use HTTP URIs so that these things can be looked up (interpreted, "dereferenced").
  • Provide useful information about what a name identifies when it's looked up, using open standards such as RDF, SPARQL, etc.
  • Refer to other things using their HTTP URI-based names when publishing data on the Web.

27 of 32

Vocabulary

  • URI
  • HTTP URI
  • RDF
    • Triples
    • Subject - Predicate - Object
    • Multiple serializations
  • SPARQL
  • Semantics
    • Ontologies
      • Dcterms
      • Bibframe
      • EDM
      • OWL
      • Schema.org

28 of 32

So WHY DO ALL THIS?

The purpose of Linked Data is not to expose data and relationships to humans, we have HTML for that. RDF is useful for machines, and linked data is an attempt to standardize how we expose RDF to machines so that they can do more intelligent things.

29 of 32

lDP - LINKED DATA PLATFORM

30 of 32

SO WHAT DOES CLAW DO WITH LINKED DATA?

It’s not what CLAW does with Linked Data. CLAW helps you publish your linked data. You can create it, edit it, delete it, etc… But other than that, what you do with it is up to you and how far you’re willing to go.

31 of 32

Rambling RDF

32 of 32

Fin