What current model code doesn't do that I would like it to do?

  • !!!  change from DC:creator to PROV ontology
  • !!!  id_prefix - would like to move id_prefix from my code to ActiveTriples gem.  It is the only thing in ResourceExtension and is a bad implementation as it dups the code for generating a URI and makes a small change to that code.  This is not good for long term maintenance.
  • !!!  id generator code when id is passed in as nil
  • !!   set default for motivatedBy
  • !!   property validation (type - URI, class, etc; value count - only one, multiple allowed; etc.)
  • !!   easy manipulation of multiple values
  • default UI for annotations???
  • hook into a SOLR index

 

Potential cool enhancements?
  • callbacks for generating URIs for model classes
    • example, callback that gets URI for a person from VIVO given their netid (DEFAULT); settable to other universities system for generating a person URI

 

Questions?
  • should helper methods go in the model classes?
  • should there be a controller class associated with each model?
  • should the bibref class exist?

GEM Planning

This should be two gems, one for virtual collections and one for annotations.

Virtual Collections GEM
Feature List
StatusDescriptionComment
Infrastructure
QuestionsConfigure triple store for persistence.

Currently code to connect to triple store is in initializer/rdf_repositories.rb.

Issues:

  • initializer code runs as part of the rails startup process
    • will a gem be able to insert code into the rails startup process?
    • will the installer of the gem need to create this code?  That is the tact that ActiveTriples takes.  It doesn't provide the means for configuring the repository as part of its code.
0%Person URI serviceGiven a netid (or other id) convert this to a person URI.  Make it a plug-in call-back service.
VirtualCollectionRDF model
100%Create a virtual collection model. 
IncludedSet values and persist. 
10%Support multiple values for a property.Kludge allows for multiple values for a property.  Can we make this easier for the user?
10%Support URI(s) as values for a property.See also, Support multiple values for a property AND Support property type validation.
10%Support property type validation.Minimal validation is part of ActiveTriples when a classname is specified.
IncludedGet values from persistent store. 
0%Item Helper methods
  • add_item
  • remove_item
  • etc.

See also, Support multiple values for a property.

 Person Helper methods
  • add owner(net_id)
  • change owner(net_id)
  • remove owner()
  • get owner URI
VirtualCollectionItemRDF model
100%Create a virtual collection item model. 
IncludedSet values and persist via virtual collection. 
IncludedGet values from persistent store via virtual collection. 
PersonRDF model
 Get URI for a person.See also, Person URI service.
   

 

Values for virtual-collection-rdf.gemspec
Configuration PropertyConfiguration ValueComments
Basic configuration...
spec.name
ld4l/virtual-collections-rdf 
spec.version
VirtualCollectionRDF::VERSION0.0.1
spec.description
Manipulate and persist triples for a virtual collection based on the Open Annotation ontology standard. 
spec.summary
Manipulate and persist triples for a virtual collection. 
spec.homepage
 Should this be one of the LD4L pages?
spec.license
 What license should be used?  ActiveTriples has it's own licensing which may effect the license for this gem.
Files configuration...
spec.files
`git ls-files`.split($/)
List all files in the directory and sub-directories of this gem.
spec.executables
spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
List all files in the bin directory
spec.test_files
spec.files.grep(%r{^(test|spec|features)/})
List all files in the test, spec, and features directories.
spec.require_paths
["lib"]
Which directories hold the code required for this gem.
Dependencies configuration...
spec.add_dependency
'ActiveTriples'runtime dependency
spec.add_development_dependency  
'bundler', '~> 1.3'
development and testing dependency
spec.add_development_dependency
'rake'
development and testing dependency
spec.add_development_dependency
'rspec'
development and testing dependency

 

Similar GEMs?
  • NONE FOUND

 

Annotations GEM

 

  • No labels