Skip to content

Instantly share code, notes, and snippets.

View jcoyne's full-sized avatar

Justin Coyne jcoyne

  • Stanford University Libraries
  • Minneapolis, MN
View GitHub Profile
@jcoyne
jcoyne / gist:074969310111653ae02c
Created March 19, 2016 00:52
Rails update behavior.
irb(main):011:0> b.save
(0.1ms) begin transaction
SQL (0.4ms) INSERT INTO "books" ("created_at", "updated_at") VALUES (?, ?) [["created_at", "2016-03-19 00:50:25.328662"], ["updated_at", "2016-03-19 00:50:25.328662"]]
(1.9ms) commit transaction
=> true
irb(main):012:0> b.save
(0.2ms) begin transaction
(0.1ms) commit transaction
=> true
irb(main):013:0> b.changed?
log4j:ERROR setFile(null,true) call failed.
java.io.FileNotFoundException: transaction.log (Permission denied)
at java.io.FileOutputStream.open(Native Method)
at java.io.FileOutputStream.<init>(FileOutputStream.java:221)
at java.io.FileOutputStream.<init>(FileOutputStream.java:142)
at org.apache.log4j.FileAppender.setFile(FileAppender.java:294)
at org.apache.log4j.RollingFileAppender.setFile(RollingFileAppender.java:207)
at org.apache.log4j.FileAppender.activateOptions(FileAppender.java:165)
at org.apache.log4j.config.PropertySetter.activate(PropertySetter.java:307)
at org.apache.log4j.config.PropertySetter.setProperties(PropertySetter.java:172)
@jcoyne
jcoyne / knowledge.md
Last active March 11, 2016 20:49
Knowledge to transfer

Alexandria

  • routing
  • translating ids (content negotiation)
    • This is broken for object (works for subject) uri
  • LD name resolution, linkded-fragment-server
  • CC vs non-cc resources
  • Plan for videos and maps
  • Bounding boxes

General

module RDF
class SubjectFragments < RDF::Repository
attr_reader :client
def initialize(url)
@client = Client.new(url)
end
def query_pattern(pattern, options = {}, &block)
pattern = pattern.dup
pattern.subject ||= RDF::Query::Variable.new
$ rails s -p 3001 -b 0.0.0.0
=> Booting Puma
=> Rails 4.2.5.2 application starting in development on http://0.0.0.0:3001
=> Run `rails server -h` for more startup options
=> Ctrl-C to shutdown server
Puma starting in single mode...
* Version 3.0.2 (ruby 2.3.0-p0), codename: Plethora of Penguin Pinatas
* Min threads: 0, max threads: 16
* Environment: development
* Listening on tcp://0.0.0.0:3001
[1] turtleDoc ::= statement*
[2] statement ::= directive | triples '.'
[3] directive ::= prefixID | base | sparqlPrefix | sparqlBase
[4] prefixID ::= '@prefix' PNAME_NS IRIREF '.'
[5] base ::= '@base' IRIREF '.'
[5s] sparqlBase ::= "BASE" IRIREF
[6s] sparqlPrefix ::= "PREFIX" PNAME_NS IRIREF
[6] triples ::= subject predicateObjectList | blankNodePropertyList predicateObjectList?
[7] predicateObjectList ::= verb objectList (';' (verb objectList)?)*
[8] objectList ::= object (',' object)*
@jcoyne
jcoyne / T
Last active February 24, 2016 22:10
Test setup for curation_concerns
solr_wrapper -p 8985 -d solr/config/ --collection_name hydra-test
fcrepo_wrapper -p 8986 --no-jms
Person.find_in_batches({ }, fl: 'id') do |group|
group.each do |hit|
begin
puts "Got #{hit['id']}"
ActiveFedora::Base.find(hit['id'])
rescue ActiveFedora::ObjectNotFoundError
puts " couldn't be found"
rescue Ldp::Gone
ActiveFedora::Base.logger.error "Although #{hit['id']} was found in Solr, it doesn't seem to exist in Fedora. The index is out of synch." if ActiveFedora::Base.logger
end
def self.multiple?(field)
return true if :rights
super
end
require 'fcrepo_wrapper'
require 'solr_wrapper'
namespace :active_fedora do
desc "Start a solr, fedora and rails instance"
task :server do
with_server('development',
fcrepo_port: ENV.fetch('FCREPO_PORT', '8984'),
solr_port: ENV.fetch('SOLR_PORT', '8983')) do
`rails server`
end