Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Table of Contents

Table of Contents

 

...

Architectural Diagram of Virtual Collection GEM and Ontology GEMs

Image AddedImage Added
full sizefull size
Designs

Planned Stack

  • Infrastructure – SHARED — code that can be shared by all universities
    •  RDF Models for Triples:  RDF Model classes and RDF Vocabularies (beyond those defined in ruby-rdf/rdf/lib/rdf/vocab) are defined in a local Ruby on Rails app.  
      •  Developing with Ruby:  2.1.2
      •  Developing with Rails:  4.1.1
      •  Gems:  Active-Triples
        •  The RDF Model classes extend the Resource class defined in the Active-Triples gem.
        •  NOTE: Active-Triples brings in code from several other projects.  I’m not sure of the full list, but ruby-rdf/rdf is certainly used by Active-Triples.
    •  SOLR Index
      •  Triples will be set up to go to a SOLR index using code currently in or soon to be developed code in Active-Triples gem.  I know there is some SOLR support, but I don’t know how extensive it is.  For example, we will want to put some information in our SOLR index that isn’t going into the triplestore and may need to expand the code to accomplish this.
      •  UI will query the SOLR index to retrieve data to display on the screen
    •  Triplestore
      •  I am currently developing over a simple triplestore in sqlite3.  We will be moving the final version to a fuller featured triplestore long term.  The triplestore is configured as part of the ActiveTriple gem and should not be difficult to move to a different triplestore system.  At this point, it is envisioned that this will be a standalone triple store that is separate from the main library catalog triplestore that will be created through the conversion process.   
  •  Infrastructure – Potentially Shared – code that may be able to be shared by all universities
    •  Conversion of university id (e.g. Cornell netid) into a VIVO URI.  Each university may need to write this utility for their IDs with a conversion to the URI of choice for that university.
  •  User Interface — NOT SHARED — all that follows is Cornell specific
    •  Authentication Code
      •  For Cornell, we will connect into our Shibboleth login system for authentication.
    •  UI based on mockups in the wiki will be integrating the infrastructure code into the Cornell catalog system which is implemented over backlight.

...

Ok, best laid plans of mice and men.  Implementation is not following the Sprints - Planned Development Approach.  Here are where things are currently...

StatusDescriptionComments
Infrastructure

...

- Shared
RDF Models & Vocabularies
Image AddedWrite models and vocabularies

...

that allow for generation of triples for data required for Use Case 1.1.
  • Models complete and passing rspec tests.  Pushed as a single GEM - ld4l-virtual_collection.
  • Splitting single GEM into one GEM per ontology used.  See architectural diagram above. OpenAnnotation & FOAF GEMS are complete and tested.  Working on ORE GEM.
  • Models use the ActiveTriples gem
Image AddedDocument models

...

in Triples Examples wiki page to facilitate conversations with ontology group.outstanding issues
  • owner, contributors - Need to look into PROV ontology (per suggestion from Paolo)
  • lists - There are still discussions about whether to represent lists as ORE or Collections.  I plan to wait until I am further along and know more about the implications for implementation for each model.

...

Image AddedWrite rspec tests for models.

...

  • The test for the first model is close to being complete, but not sure what issues will arise

...

  • in the final tests
  • The others should be quick to write since they are going to be very similar to the tests for the first model
Triplestore
Image AddedSet up a temporary simple triplestore to hold triples generated by this use case.

...

  • Using SQLite3
Image AddedIdentify and set up a full-featured triplestore for long-term use.DEPENDENCY:  Waiting and see what Rebecca decides to use for her work.
Image AddedWrite code that persists model properties into a triplestore.
  • The persistence to the triplestore is handled by the ActiveTriples::Resource class. When RDF Models are complete, this will also be complete.
SOLR Index
Image AddedExplore ActiveTriple support for SOLR
  • I have located some code in ActiveTriple gem's rspec tests that manipulates SOLR.  I need to explore this further.
Image AddedDocument expected queries

...

in Queries Examples wiki page to facilitate conversations with ontology group

...

.
  • The queries are currently defined as SPARQL queries, so they need to be rewritten as SOLR queries.

...

Image AddedWrite code that adds model properties' values to the  SOLR index. 
Image AddedWrite code that adds bibliographic reference data to the SOLR index. 
Infrastructure - Potentially Shared

...

netid to VIVO URI script
Image AddedWrite code that converts a Cornell netid into a VIVO URI.
  • I have information from Jim Blake about how to get the information from VIVO

...

  • . It involves getting the information through a curl command and then parsing the returned result.
  • Need to write code to do the conversion.  (Was hoping for a webservice written by VIVO that did this.)

User Interface – NOT SHARED
Authentication

...

Image AddedHook into Cornell shibboleth authentication system.I've spoken with

...

CULIT developers about how Cornell does authentication and looked over code that is similar to what will need to be done.

...

  No development work has been done in this are yet.
User Interface
Image AddedClone blacklight-cornell and check into GitHub

The clone runs locally on my machine and in my dev environment.

Questions:

  • Should the code go into LD4L GitHub or Cornell GitHub.  It is a direct clone of the CULIT Discovery and Access system.
Image AddedModify cloned blacklight-cornell to implement the Mock UI
  • I've explored the code to see where some of the changes need to be made, but I haven't made any changes yet.  I want to get the cloned code in a source code repository before beginning to make modifications.
  • For details, see also the Use Case 1.1 - Requirements.  They are UI centric.
External Collaborations
ActiveTriples development
Image AddedMake a connection with the ActiveTriples development team.

I have been corresponding with Tom Johnson (the developer of ActiveTriples).

Image AddedWork with ActiveTriples development team to meet the goal of being able to use ActiveTriples in place of Fedora within a Hydra stack.I am exploring the code and engaging in conversations with Tom Johnson to understand his vision

...

and current needs for development.  Once I grok where things are, I can start to see if there are shortcomings that limit our goal of ActiveTriples being easy to use in place of Fedora with in a Hydra stack

...

.

...

Image AddedImprove documentation by creating a reference guide for ActiveTriples

...

There is very minimal doc at this point and I am having to read class and rspec code to figure out how things work.  A reference guide will be an extremely valuable tool for

...

me and other developers.


Sprints - Planned Development Approach

...