From 4c2269efea99efebcfecd33911c42d0cad76b5c0 Mon Sep 17 00:00:00 2001 From: Karl Jonathan Ward Date: Fri, 13 Oct 2017 16:49:22 +0100 Subject: [PATCH 001/156] Start of structure for elastic indexing --- project.clj | 4 +- src/cayenne/conf.clj | 33 ++++++------ src/cayenne/elastic/mappings.clj | 91 ++++++++++++++++++++++++++++++++ 3 files changed, 109 insertions(+), 19 deletions(-) create mode 100644 src/cayenne/elastic/mappings.clj diff --git a/project.clj b/project.clj index b88bc2b5..553a4a37 100644 --- a/project.clj +++ b/project.clj @@ -5,8 +5,6 @@ :repl-options {:port 9494 :init-ns cayenne.user} :main cayenne.production :jvm-opts ["-XX:+UseG1GC"] - :plugins [[lein-daemon "0.5.4"] - [com.palletops/uberimage "0.4.1"]] :resource-paths ["csl/styles" "csl/locales" "resources"] :daemon {:cayenne {:ns cayenne.production :pidfile "cayenne.pid"}} @@ -58,6 +56,7 @@ [metosin/ring-swagger "0.26.0"] [metosin/ring-swagger-ui "3.9.0"] [ring-basic-authentication "1.0.5"] + [ring-basic-authentication "1.0.5"] [http-kit "2.2.0"] [instaparse "1.4.1"] [com.github.kyleburton/clj-xpath "1.4.3"] @@ -66,6 +65,7 @@ [robert/bruce "0.7.1"] [bigml/sampling "3.0"] [digest "1.4.4"] + [cc.qbits/spandex "0.5.2"] [dk.ative/docjure "1.11.0"] [environ "1.0.3"]]) diff --git a/src/cayenne/conf.clj b/src/cayenne/conf.clj index e28f0c45..50727c2b 100644 --- a/src/cayenne/conf.clj +++ b/src/cayenne/conf.clj @@ -1,6 +1,5 @@ (ns cayenne.conf - (:import [org.apache.solr.client.solrj.impl HttpSolrClient] - [java.net URI] + (:import [java.net URI] [java.util UUID] [java.util.concurrent Executors]) (:use [clojure.core.incubator :only [dissoc-in]]) @@ -9,6 +8,7 @@ [clojure.java.io :as io] [clojure.tools.trace :as trace] [somnium.congomongo :as m] + [qbits.spandex :as elastic] [clj-http.conn-mgr :as conn] [clojure.tools.nrepl.server :as nrepl] [robert.bruce :as rb])) @@ -110,14 +110,9 @@ (set-param! [:dir :test-data] (str (get-param [:dir :home]) "/test-data")) (set-param! [:dir :tmp] (str (get-param [:dir :home]) "/tmp")) - (set-param! [:service :solr :update-list] - [{:url "http://localhost:8983/solr" :core "crmds1"}]) - + (set-param! [:service :elastic :urls] ["http://localhost:9200"]) (set-param! [:service :mongo :db] "crossref") (set-param! [:service :mongo :host] "localhost") - (set-param! [:service :solr :url] "http://localhost:8983/solr/crmds1") - (set-param! [:service :solr :insert-list-max-size] 1000) - (set-param! [:service :solr :commit-on-add] true) (set-param! [:service :datomic :url] "datomic:mem://test") (set-param! [:service :api :port] 3000) (set-param! [:service :queue :host] "5.9.51.150") @@ -174,20 +169,24 @@ (add-startup-task :base (fn [profiles] - (set-service! :executor (Executors/newScheduledThreadPool 20)) - (set-service! :conn-mgr (conn/make-reusable-conn-manager {:timeout 120 :threads 10})) - (set-service! :mongo (m/make-connection (get-param [:service :mongo :db]) - :host (get-param [:service :mongo :host]))) - (set-service! :solr (HttpSolrClient. (get-param [:service :solr :url]))) - (set-service! :solr-update-list - (map #(HttpSolrClient. (str (:url %) "/" (:core %))) - (get-param [:service :solr :update-list])))))) + (set-service! :executor + (Executors/newScheduledThreadPool 20)) + (set-service! :conn-mgr + (conn/make-reusable-conn-manager {:timeout 120 :threads 10})) + (set-service! :mongo + (m/make-connection + (get-param [:service :mongo :db]) + :host (get-param [:service :mongo :host]))) + (set-service! :elastic + (elastic/client (get-param [:service :elastic :urls])))))) (with-core :default (add-startup-task :nrepl (fn [profiles] - (set-service! :nrepl (nrepl/start-server :port (get-param [:service :nrepl :port])))))) + (set-service! + :nrepl + (nrepl/start-server :port (get-param [:service :nrepl :port])))))) (set-core! :default) diff --git a/src/cayenne/elastic/mappings.clj b/src/cayenne/elastic/mappings.clj new file mode 100644 index 00000000..7fa6168a --- /dev/null +++ b/src/cayenne/elastic/mappings.clj @@ -0,0 +1,91 @@ +(ns cayenne.elastic.mappings + (:require [qbits.spandex :as elastic])) + +(def contributor-properties + {:contribution {:type "string"} + :given-name {:type "string"} + :family-name {:type "string"} + :org-name {:type "string"} + :prefix {:type "string"} + :suffix {:type "string"} + :orcid {:type "string"} + :affiliations {:type "string"} + :authenticated-orcid {:type "boolean"}}) + +(def issn-properties + {:value {:type "string"} + :kind {:type "string"}}) + +(def isbn-properties + {:value {:type "string"} + :kind {:type "string"}}) + +(def funder-properties) + +(def update-properties) + +(def clinical-trial-properties) + +(def event-properties) + +(def license-properties) + +(def assertion-properties) + +(def relation-properties) + +(def reference-properties) + +(def work-properties + {:random {:type "integer"} + :kind {:type "string"} + :original-doi {:type "string"} + :normalised-doi {:type "string"} + :owner-prefix {:type "string"} + :member-id {:type "integer"} + :language-title {:type "string"} + :original-title {:type "string"} + :container-title {:type "string"} + :issns {:type "object" :properties issn-properties} + :isbns {:type "object" :properties isbn-properties} + :contribtuors {:type "object" :properties contributor-properties} + :funders {:type "object" :properties funder-properties} + :awards {:type "object" :properties award-properties} + :updated-by {:type "object" :properties update-properties} + :updates {:type "object" :properties update-properties} + :clinical-trials {:type "object" :properties clinical-trial-properties} + :events {:type "object" :properties event-properties} + :links {:type "object" :properties link-properties} + :licenses {:type "object" :properties license-properties} + :assertions {:type "object" :properties assertion-properties} + :relations {:type "object" :properties relation-properties} + :references {:type "object" :properties reference-properties}}) + +(def member-properties + {}) + +(def funder-properties + {}) + +(def prefix-properties + {}) + +(def subject-properties + {}) + +(def journal-properties + {}) + +(def mapping-types + {"work" {:properties work-properties} + "member" {:properties member-properties} + "funder" {:properties funder-properties} + "prefix" {:properties prefix-properties} + "subject" {:properties subject-properties} + "journal" {:properties journal-properties}}) + +(defn create-mappings [conn] + (elastic/request conn + :url "cayenne" + :method :put + :body {:mappings mapping-types})) From 96bfe2392a291a7329ad8ad3ad4217bdadee5aae Mon Sep 17 00:00:00 2001 From: Karl Jonathan Ward Date: Mon, 16 Oct 2017 13:22:27 +0100 Subject: [PATCH 002/156] Switch to one type per index, for ES 6+ compatibility --- src/cayenne/elastic/mappings.clj | 58 ++++++++++++++++++++------------ 1 file changed, 37 insertions(+), 21 deletions(-) diff --git a/src/cayenne/elastic/mappings.clj b/src/cayenne/elastic/mappings.clj index 7fa6168a..45fa36ad 100644 --- a/src/cayenne/elastic/mappings.clj +++ b/src/cayenne/elastic/mappings.clj @@ -20,7 +20,10 @@ {:value {:type "string"} :kind {:type "string"}}) -(def funder-properties) +(def funder-properties + {:funder-name {:type "string"} + :funder-doi {:type "string"} + :awards {:type "string"}}) (def update-properties) @@ -30,7 +33,15 @@ (def license-properties) -(def assertion-properties) +(def assertion-properties + {:name {:type "string"} + :label {:type "string"} + :group-name {:type "string"} + :group-label {:type "string"} + :url {:type "string"} + :value {:type "string"} + :order {:type "integer"} + :explanation-url {:type "string"}}) (def relation-properties) @@ -46,20 +57,20 @@ :language-title {:type "string"} :original-title {:type "string"} :container-title {:type "string"} - :issns {:type "object" :properties issn-properties} - :isbns {:type "object" :properties isbn-properties} - :contribtuors {:type "object" :properties contributor-properties} - :funders {:type "object" :properties funder-properties} - :awards {:type "object" :properties award-properties} - :updated-by {:type "object" :properties update-properties} - :updates {:type "object" :properties update-properties} - :clinical-trials {:type "object" :properties clinical-trial-properties} - :events {:type "object" :properties event-properties} - :links {:type "object" :properties link-properties} - :licenses {:type "object" :properties license-properties} - :assertions {:type "object" :properties assertion-properties} - :relations {:type "object" :properties relation-properties} - :references {:type "object" :properties reference-properties}}) + :issns {:type "nested" :properties issn-properties} + :isbns {:type "nested" :properties isbn-properties} + :contribtuors {:type "nested" :properties contributor-properties} + :funders {:type "nested" :properties funder-properties} + :awards {:type "nested" :properties award-properties} + :updated-by {:type "nested" :properties update-properties} + :updates {:type "nested" :properties update-properties} + :clinical-trials {:type "nested" :properties clinical-trial-properties} + :events {:type "nested" :properties event-properties} + :links {:type "nested" :properties link-properties} + :licenses {:type "nested" :properties license-properties} + :assertions {:type "nested" :properties assertion-properties} + :relations {:type "nested" :properties relation-properties} + :references {:type "nested" :properties reference-properties}}) (def member-properties {}) @@ -84,8 +95,13 @@ "subject" {:properties subject-properties} "journal" {:properties journal-properties}}) -(defn create-mappings [conn] - (elastic/request conn - :url "cayenne" - :method :put - :body {:mappings mapping-types})) +(defn create-indexes + "Creates an index per top-level document type - in preparation for ES 6+ + compatibility (which will remove multiple types per field name, making + multiple types per index unworkable." + [conn] + (doseq [[index-name index-data] mapping-types] + (elastic/request conn + :url index-name + :method :put + :body {:mappings {"doc" index-data}}))) From fe52879147568d4bd518ec5fc83a84f913fe86cb Mon Sep 17 00:00:00 2001 From: Karl Jonathan Ward Date: Mon, 16 Oct 2017 14:51:47 +0100 Subject: [PATCH 003/156] Use keyword and text instead of string type, for ES 5+ compatibility --- src/cayenne/elastic/mappings.clj | 64 ++++++++++++++++---------------- 1 file changed, 32 insertions(+), 32 deletions(-) diff --git a/src/cayenne/elastic/mappings.clj b/src/cayenne/elastic/mappings.clj index 45fa36ad..3eec03f4 100644 --- a/src/cayenne/elastic/mappings.clj +++ b/src/cayenne/elastic/mappings.clj @@ -2,28 +2,28 @@ (:require [qbits.spandex :as elastic])) (def contributor-properties - {:contribution {:type "string"} - :given-name {:type "string"} - :family-name {:type "string"} - :org-name {:type "string"} - :prefix {:type "string"} - :suffix {:type "string"} - :orcid {:type "string"} - :affiliations {:type "string"} + {:contribution {:type "keyword"} + :given-name {:type "text"} + :family-name {:type "text"} + :org-name {:type "text"} + :prefix {:type "text"} + :suffix {:type "text"} + :orcid {:type "keyword"} + :affiliations {:type "text"} :authenticated-orcid {:type "boolean"}}) (def issn-properties - {:value {:type "string"} - :kind {:type "string"}}) + {:value {:type "keyword"} + :kind {:type "keyword"}}) (def isbn-properties - {:value {:type "string"} - :kind {:type "string"}}) + {:value {:type "keyword"} + :kind {:type "keyword"}}) (def funder-properties - {:funder-name {:type "string"} - :funder-doi {:type "string"} - :awards {:type "string"}}) + {:funder-name {:type "text"} + :funder-doi {:type "keyword"} + :awards {:type "text"}}) (def update-properties) @@ -34,29 +34,29 @@ (def license-properties) (def assertion-properties - {:name {:type "string"} - :label {:type "string"} - :group-name {:type "string"} - :group-label {:type "string"} - :url {:type "string"} - :value {:type "string"} + {:name {:type "keyword"} + :label {:type "text"} + :group-name {:type "keyword"} + :group-label {:type "text"} + :url {:type "keyword"} + :value {:type "text"} :order {:type "integer"} - :explanation-url {:type "string"}}) + :explanation-url {:type "keyword"}}) (def relation-properties) (def reference-properties) (def work-properties - {:random {:type "integer"} - :kind {:type "string"} - :original-doi {:type "string"} - :normalised-doi {:type "string"} - :owner-prefix {:type "string"} + {:random {:type "long"} + :kind {:type "keyword"} + :original-doi {:type "keyword"} + :normalised-doi {:type "keyword"} + :owner-prefix {:type "keyword"} :member-id {:type "integer"} - :language-title {:type "string"} - :original-title {:type "string"} - :container-title {:type "string"} + :language-title {:type "text"} + :original-title {:type "text"} + :container-title {:type "text"} :issns {:type "nested" :properties issn-properties} :isbns {:type "nested" :properties isbn-properties} :contribtuors {:type "nested" :properties contributor-properties} @@ -97,8 +97,8 @@ (defn create-indexes "Creates an index per top-level document type - in preparation for ES 6+ - compatibility (which will remove multiple types per field name, making - multiple types per index unworkable." + compatibility (which will remove multi-type per fields, making + multiple types per index unworkable.)" [conn] (doseq [[index-name index-data] mapping-types] (elastic/request conn From 8bde6e2746a4fee1715da132456b0957d6015c32 Mon Sep 17 00:00:00 2001 From: Karl Jonathan Ward Date: Tue, 17 Oct 2017 16:36:30 +0100 Subject: [PATCH 004/156] Disable _all field (not present in ES 6+ anyway) --- src/cayenne/conf.clj | 2 +- src/cayenne/elastic/mappings.clj | 121 ++++++++++++++++++++++--------- 2 files changed, 87 insertions(+), 36 deletions(-) diff --git a/src/cayenne/conf.clj b/src/cayenne/conf.clj index 50727c2b..c1e7e68e 100644 --- a/src/cayenne/conf.clj +++ b/src/cayenne/conf.clj @@ -178,7 +178,7 @@ (get-param [:service :mongo :db]) :host (get-param [:service :mongo :host]))) (set-service! :elastic - (elastic/client (get-param [:service :elastic :urls])))))) + (elastic/client {:hosts (get-param [:service :elastic :urls])}))))) (with-core :default (add-startup-task diff --git a/src/cayenne/elastic/mappings.clj b/src/cayenne/elastic/mappings.clj index 3eec03f4..cb14200b 100644 --- a/src/cayenne/elastic/mappings.clj +++ b/src/cayenne/elastic/mappings.clj @@ -1,6 +1,8 @@ (ns cayenne.elastic.mappings (:require [qbits.spandex :as elastic])) +;; todo - particle dates + (def contributor-properties {:contribution {:type "keyword"} :given-name {:type "text"} @@ -9,7 +11,7 @@ :prefix {:type "text"} :suffix {:type "text"} :orcid {:type "keyword"} - :affiliations {:type "text"} + :affiliation {:type "text"} :authenticated-orcid {:type "boolean"}}) (def issn-properties @@ -23,15 +25,40 @@ (def funder-properties {:funder-name {:type "text"} :funder-doi {:type "keyword"} - :awards {:type "text"}}) - -(def update-properties) - -(def clinical-trial-properties) - -(def event-properties) - -(def license-properties) + :award {:type "text"}}) + +(def update-properties + {:doi {:type "keyword"} + :type {:type "keyword"} + :label {:type "keyword"} + :date {:type "date"}}) + +(def clinical-trial-properties + {:number {:type "text"} + :registry {:type "keyword"} + :type {:type "keyword"}}) + +(def link-properties + {:type {:type "keyword"} + :url {:type "keyword"} + :version {:type "keyword"} + :application {:type "keyword"}}) + +(def event-properties + {:name {:type "text"} + :theme {:type "text"} + :location {:type "text"} + :sponsor {:type "text"} + :acronym {:type "text"} + :number {:type "text"} + :start {:type "date"} + :end {:type "date"}}) + +(def license-properties + {:version {:type "keyword"} + :url {:type "keyword"} + :delay {:type "integer"} + :start {:type "date"}}) (def assertion-properties {:name {:type "keyword"} @@ -43,9 +70,34 @@ :order {:type "integer"} :explanation-url {:type "keyword"}}) -(def relation-properties) - -(def reference-properties) +(def relation-properties + {:type {:type "keyword"} + :object {:type "keyword"} + :object-type {:type "keyword"} + :object-ns {:type "keyword"} + :claimed-by {:type "keyword"}}) + +(def reference-properties + {:key {:type "keyword"} + :issn {:type "keyword"} + :issn-type {:type "keyword"} + :author {:type "text"} + :issue {:type "text"} + :first-page {:type "text"} + :year {:type "integer"} + :isbn {:type "keyword"} + :isbn-type {:type "keyword"} + :series-title {:type "text"} + :volume-title {:type "text"} + :edition {:type "keyword"} + :component {:type "keyword"} + :volume {:type "keyword"} + :article-title {:type "text"} + :journal-title {:type "text"} + :standards-body {:type "text"} + :standards-designator {:type "keyword"} + :doi-asserted-by {:type "keyword"} + :doi {:type "keyword"}}) (def work-properties {:random {:type "long"} @@ -57,20 +109,19 @@ :language-title {:type "text"} :original-title {:type "text"} :container-title {:type "text"} - :issns {:type "nested" :properties issn-properties} - :isbns {:type "nested" :properties isbn-properties} - :contribtuors {:type "nested" :properties contributor-properties} - :funders {:type "nested" :properties funder-properties} - :awards {:type "nested" :properties award-properties} + :issn {:type "object" :properties issn-properties} + :isbn {:type "object" :properties isbn-properties} + :contributor {:type "nested" :properties contributor-properties} + :funder {:type "nested" :properties funder-properties} :updated-by {:type "nested" :properties update-properties} - :updates {:type "nested" :properties update-properties} - :clinical-trials {:type "nested" :properties clinical-trial-properties} - :events {:type "nested" :properties event-properties} - :links {:type "nested" :properties link-properties} - :licenses {:type "nested" :properties license-properties} - :assertions {:type "nested" :properties assertion-properties} - :relations {:type "nested" :properties relation-properties} - :references {:type "nested" :properties reference-properties}}) + :update-of {:type "nested" :properties update-properties} + :clinical-trial {:type "nested" :properties clinical-trial-properties} + :event {:type "object" :properties event-properties} + :link {:type "nested" :properties link-properties} + :license {:type "nested" :properties license-properties} + :assertion {:type "nested" :properties assertion-properties} + :relation {:type "nested" :properties relation-properties} + :reference {:type "object" :properties reference-properties}}) (def member-properties {}) @@ -88,12 +139,12 @@ {}) (def mapping-types - {"work" {:properties work-properties} - "member" {:properties member-properties} - "funder" {:properties funder-properties} - "prefix" {:properties prefix-properties} - "subject" {:properties subject-properties} - "journal" {:properties journal-properties}}) + {"work" {:_all: {:enabled false} :properties work-properties}}) + "member" {:_all: {:enabled false} :properties member-properties} + "funder" {:_all: {:enabled false} :properties funder-properties} + "prefix" {:_all: {:enabled false} :properties prefix-properties} + "subject" {:_all: {:enabled false} :properties subject-properties} + "journal" {:_all: {:enabled false} :properties journal-properties}}) (defn create-indexes "Creates an index per top-level document type - in preparation for ES 6+ @@ -102,6 +153,6 @@ [conn] (doseq [[index-name index-data] mapping-types] (elastic/request conn - :url index-name - :method :put - :body {:mappings {"doc" index-data}}))) + {:url index-name + :method :put + :body {:mappings {"doc" index-data}}}))) From bc6a595e9aa7fda603dd91810fe292a581083982 Mon Sep 17 00:00:00 2001 From: Karl Jonathan Ward Date: Wed, 18 Oct 2017 11:07:13 +0100 Subject: [PATCH 005/156] More complete mappings --- src/cayenne/elastic/mappings.clj | 165 +++++++++++++++++++++++-------- 1 file changed, 124 insertions(+), 41 deletions(-) diff --git a/src/cayenne/elastic/mappings.clj b/src/cayenne/elastic/mappings.clj index cb14200b..3d080fda 100644 --- a/src/cayenne/elastic/mappings.clj +++ b/src/cayenne/elastic/mappings.clj @@ -1,8 +1,6 @@ (ns cayenne.elastic.mappings (:require [qbits.spandex :as elastic])) -;; todo - particle dates - (def contributor-properties {:contribution {:type "keyword"} :given-name {:type "text"} @@ -99,60 +97,145 @@ :doi-asserted-by {:type "keyword"} :doi {:type "keyword"}}) +(def standards-body-properties + {:name {:type "text"} + :acronym {:type "text"}}) + +;; todo content, citation_content (def work-properties - {:random {:type "long"} - :kind {:type "keyword"} - :original-doi {:type "keyword"} - :normalised-doi {:type "keyword"} - :owner-prefix {:type "keyword"} - :member-id {:type "integer"} - :language-title {:type "text"} - :original-title {:type "text"} - :container-title {:type "text"} - :issn {:type "object" :properties issn-properties} - :isbn {:type "object" :properties isbn-properties} - :contributor {:type "nested" :properties contributor-properties} - :funder {:type "nested" :properties funder-properties} - :updated-by {:type "nested" :properties update-properties} - :update-of {:type "nested" :properties update-properties} - :clinical-trial {:type "nested" :properties clinical-trial-properties} - :event {:type "object" :properties event-properties} - :link {:type "nested" :properties link-properties} - :license {:type "nested" :properties license-properties} - :assertion {:type "nested" :properties assertion-properties} - :relation {:type "nested" :properties relation-properties} - :reference {:type "object" :properties reference-properties}}) + {:random {:type "long"} + :type {:type "keyword"} + :original-doi {:type "keyword"} + :normalised-doi {:type "keyword"} + :prefix {:type "keyword"} + :owner-prefix {:type "keyword"} + :member-id {:type "integer"} + :supplementary-id {:type "keyword"} + :language-title {:type "text"} + :original-title {:type "text"} + :container-title {:type "text"} + :short-container-title {:type "text"} + :short-title {:type "text"} + :group-title {:type "text"} + :subtitle {:type "text"} + :volume {:type "keyword"} + :issue {:type "keyword"} + :first-page {:type "keyword"} + :last-page {:type "keyword"} + :description {:type "text"} + :referenced-by-count {:type "long"} + :references-count {:type "long"} + :article-number {:type "text"} + :first-deposited {:type "date"} + :deposited {:type "date"} + :indexed {:type "date"} + :published {:type "date"} + :published-online {:type "date"} + :published-print {:type "date"} + :posted {:type "date"} + :accepted {:type "date"} + :content-created {:type "date"} + :content-updated {:type "date"} + :approved {:type "date"} + :subject {:type "keyword"} + :publication {:type "text"} + :archive {:type "keyword"} + :publisher {:type "text"} + :publisher-location {:type "text"} + :degree {:type "text"} + :edition-number {:type "keyword"} + :part-number {:type "keyword"} + :component-number {:type "keyword"} + :update-policy {:type "keyword"} + :domain {:type "keyword"} + :domain-exclusive {:type "boolean"} + :abstract {:type "text"} + :abstract-xml {:type "text" :indexed false} + :index-context {:type "keyword"} + :standards-body {:type "object" :properties standards-body-properties} + :issn {:type "object" :properties issn-properties} + :isbn {:type "object" :properties isbn-properties} + :contributor {:type "nested" :properties contributor-properties} + :funder {:type "nested" :properties funder-properties} + :updated-by {:type "nested" :properties update-properties} + :update-of {:type "nested" :properties update-properties} + :clinical-trial {:type "nested" :properties clinical-trial-properties} + :event {:type "object" :properties event-properties} + :link {:type "nested" :properties link-properties} + :license {:type "nested" :properties license-properties} + :assertion {:type "nested" :properties assertion-properties} + :relation {:type "nested" :properties relation-properties} + :reference {:type "object" :properties reference-properties :indexed false}}) + +;; todo metadata coverage fields + +(def prefix-properties + {:value {:type "keyword"} + :member-id {:type "integer"} + :public-references {:type "boolean"} + :location {:type "text"} + :name {:type "text"}}) (def member-properties - {}) + {:primary-name {:type "text"} + :location {:type "text"} + :id {:type "long"} + :token {:type "keyword"} + :name {:type "text"} + :prefix {:type "object" :properties prefix-properties}}) (def funder-properties - {}) - -(def prefix-properties - {}) + {:doi {:type "keyword"} + :parent {:type "keyword"} + :child {:type "keyword"} + :affiliated {:type "keyword"} + :country {:type "keyword"} + :primary-name {:type "text"} + :name {:type "text"} + :replaces {:type "keyword"} + :replaced-by {:type "keyword"} + :token {:type "keyword"}}) (def subject-properties - {}) + {:top-code {:type "integer"} + :middle-code {:type "integer"} + :code {:type "integer"} + :top-name {:type "text"} + :middle-name {:type "text"} + :low-name {:type "text"} + :name {:type "text"}}) (def journal-properties - {}) - -(def mapping-types - {"work" {:_all: {:enabled false} :properties work-properties}}) - "member" {:_all: {:enabled false} :properties member-properties} - "funder" {:_all: {:enabled false} :properties funder-properties} - "prefix" {:_all: {:enabled false} :properties prefix-properties} - "subject" {:_all: {:enabled false} :properties subject-properties} - "journal" {:_all: {:enabled false} :properties journal-properties}}) + {:title {:type "text"} + :token {:type "keyword"} + :id {:type "long"} + :doi {:type "keyword"} + :issn {:type "object" :properties issn-properties}}) + +(def index-mappings + {"work" {"_all" {:enabled false} :properties work-properties} + "member" {"_all" {:enabled false} :properties member-properties} + "funder" {"_all" {:enabled false} :properties funder-properties} + "prefix" {"_all" {:enabled false} :properties prefix-properties} + "subject" {"_all" {:enabled false} :properties subject-properties} + "journal" {"_all" {:enabled false} :properties journal-properties}}) + +(def index-settings + {"work" {:number_of_shards 5 :number_of_replicas 5} + "member" {:number_of_shards 1 :number_of_replicas 8} + "funder" {:number_of_shards 1 :number_of_replicas 8} + "prefix" {:number_of_shards 1 :number_of_replicas 8} + "subject" {:number_of_shards 1 :number_of_replicas 8} + "journal" {:number_of_shards 1 :number_of_replicas 8}}) (defn create-indexes "Creates an index per top-level document type - in preparation for ES 6+ compatibility (which will remove multi-type per fields, making multiple types per index unworkable.)" [conn] - (doseq [[index-name index-data] mapping-types] + (doseq [[index-name index-data] index-mappings] (elastic/request conn {:url index-name :method :put - :body {:mappings {"doc" index-data}}}))) + :body {:settings (index-settings index-name) + :mappings {index-name index-data}}}))) From 24241c9b39a5535095e8c6f4c90b6d19638990ee Mon Sep 17 00:00:00 2001 From: Karl Jonathan Ward Date: Thu, 19 Oct 2017 14:06:51 +0100 Subject: [PATCH 006/156] Rework member loading to load into ES --- src/cayenne/elastic/mappings.clj | 37 +++++------ src/cayenne/tasks/publisher.clj | 102 +++++++++++++++---------------- 2 files changed, 70 insertions(+), 69 deletions(-) diff --git a/src/cayenne/elastic/mappings.clj b/src/cayenne/elastic/mappings.clj index 3d080fda..9ade39f5 100644 --- a/src/cayenne/elastic/mappings.clj +++ b/src/cayenne/elastic/mappings.clj @@ -21,8 +21,8 @@ :kind {:type "keyword"}}) (def funder-properties - {:funder-name {:type "text"} - :funder-doi {:type "keyword"} + {:name {:type "text"} + :doi {:type "keyword"} :award {:type "text"}}) (def update-properties @@ -150,7 +150,7 @@ :domain {:type "keyword"} :domain-exclusive {:type "boolean"} :abstract {:type "text"} - :abstract-xml {:type "text" :indexed false} + :abstract-xml {:type "text"} :index-context {:type "keyword"} :standards-body {:type "object" :properties standards-body-properties} :issn {:type "object" :properties issn-properties} @@ -165,9 +165,7 @@ :license {:type "nested" :properties license-properties} :assertion {:type "nested" :properties assertion-properties} :relation {:type "nested" :properties relation-properties} - :reference {:type "object" :properties reference-properties :indexed false}}) - -;; todo metadata coverage fields + :reference {:type "object" :properties reference-properties}}) (def prefix-properties {:value {:type "keyword"} @@ -176,14 +174,15 @@ :location {:type "text"} :name {:type "text"}}) +;; todo metadata coverage fields (def member-properties {:primary-name {:type "text"} :location {:type "text"} :id {:type "long"} :token {:type "keyword"} - :name {:type "text"} :prefix {:type "object" :properties prefix-properties}}) +;; todo metadata coverage fields (def funder-properties {:doi {:type "keyword"} :parent {:type "keyword"} @@ -205,12 +204,14 @@ :low-name {:type "text"} :name {:type "text"}}) +;; todo metadata coverage fields (def journal-properties - {:title {:type "text"} - :token {:type "keyword"} - :id {:type "long"} - :doi {:type "keyword"} - :issn {:type "object" :properties issn-properties}}) + {:title {:type "text"} + :token {:type "keyword"} + :id {:type "long"} + :doi {:type "keyword"} + :subject {:type "object" :properties subject-properties} + :issn {:type "object" :properties issn-properties}}) (def index-mappings {"work" {"_all" {:enabled false} :properties work-properties} @@ -221,12 +222,12 @@ "journal" {"_all" {:enabled false} :properties journal-properties}}) (def index-settings - {"work" {:number_of_shards 5 :number_of_replicas 5} - "member" {:number_of_shards 1 :number_of_replicas 8} - "funder" {:number_of_shards 1 :number_of_replicas 8} - "prefix" {:number_of_shards 1 :number_of_replicas 8} - "subject" {:number_of_shards 1 :number_of_replicas 8} - "journal" {:number_of_shards 1 :number_of_replicas 8}}) + {"work" {:number_of_shards 24 :number_of_replicas 3 "index.mapper.dynamic" false} + "member" {:number_of_shards 1 :number_of_replicas 3 "index.mapper.dynamic" false} + "funder" {:number_of_shards 1 :number_of_replicas 3 "index.mapper.dynamic" false} + "prefix" {:number_of_shards 1 :number_of_replicas 3 "index.mapper.dynamic" false} + "subject" {:number_of_shards 1 :number_of_replicas 3 "index.mapper.dynamic" false} + "journal" {:number_of_shards 1 :number_of_replicas 3 "index.mapper.dynamic" false}}) (defn create-indexes "Creates an index per top-level document type - in preparation for ES 6+ diff --git a/src/cayenne/tasks/publisher.clj b/src/cayenne/tasks/publisher.clj index e254aa77..34cd9b1c 100644 --- a/src/cayenne/tasks/publisher.clj +++ b/src/cayenne/tasks/publisher.clj @@ -16,33 +16,11 @@ [clj-time.format :as df] [clj-time.coerce :as dc] [clj-http.client :as http] - [somnium.congomongo :as m])) + [qbits.spandex :as elastic])) -(defn ensure-publisher-indexes! [collection-name] - (m/add-index! collection-name [:id]) - (m/add-index! collection-name [:tokens]) - (m/add-index! collection-name [:prefixes]) - (m/add-index! collection-name [:names]) - (m/add-index! collection-name [:public-references])) - -(defn update-publisher! - "Upsert a publisher, combining multiple prefixes." - [collection id prefixes name location prefix-names prefix-infos] - (m/update! collection - {:id id} - {"$set" {:id id - :location (string/trim location) - :primary-name (string/trim name) - :prefixes prefixes - :tokens (util/tokenize-name name) - :prefix prefix-infos - :public-references (not (nil? - (some true? - (map :public-references prefix-infos)))) - :names (set (conj (map string/trim prefix-names) - (string/trim name)))}})) - -(defn get-member-list [] +(defn get-member-list + "Get a list of members from the Crossref prefix information API." + [] (let [url (str (conf/get-param [:upstream :prefix-info-url]) "all") response (http/get url {:connection-manager (conf/get-service :conn-mgr) @@ -51,7 +29,11 @@ (when (= 200 (:status response)) (-> response :body (json/read-str :key-fn keyword))))) -(defn get-prefix-info [prefix] + +(defn get-prefix-info + "Return information about an owner prefix from the Crossref prefix information + API." + [member-id prefix] (let [url (str (conf/get-param [:upstream :prefix-info-url]) prefix) @@ -62,30 +44,48 @@ (-> (:body response) io/reader xml/parse zip/xml-zip))] (when root {:value prefix + :member-id member-id :name (zx/text (zx/xml1-> root :publisher :prefix_name)) :location (zx/text (zx/xml1-> root :publisher :publisher_location)) - :public-references - (-> (zx/xml1-> root :publisher :reference_distribution) - zx/text - (= "open")) - :reference-visibility - (-> (zx/xml1-> root :publisher :reference_distribution) - zx/text)}))) + :public-references (= "true" + (zx/text + (zx/xml1-> root + :publisher + :allows_public_access_to_refs)))}))) + +(defn index-command + "Turn a member record from the Crossref prefix information API into + a command, document pair that will index the member in ES." + [member] + (let [member-id (:memberId member) + prefixes (filter (complement string/blank?) (:prefixes member)) + prefixes (map (partial get-prefix-info member-id) prefixes) + publisher-location (first (filter (complement nil?) + (map :location prefixes)))] + [{:index {:_id member-id}} + {:id member-id + :primary-name (:name member) + :location publisher-location + :token (util/tokenize-name (:name member)) + :prefix prefixes}])) -(defn load-publishers [collection] - (m/with-mongo (conf/get-service :mongo) - (ensure-publisher-indexes! collection) - (doseq [member (get-member-list)] - (let [prefixes (filter (complement string/blank?) (:prefixes member)) - prefix-infos (map get-prefix-info prefixes) - prefix-names (map :name prefix-infos) - publisher-location (first (filter (complement nil?) - (map :location prefix-infos)))] - (update-publisher! - collection - (:memberId member) - prefixes - (:name member) - publisher-location - prefix-names - (map #(dissoc % :location) prefix-infos)))))) +(defn index-publishers + "Index publishers into ES." + [] + (doseq [some-members (partition-all 100 (get-member-list))] + (let [bulk-body (->> some-members + (map index-command) + flatten) + bulk-body-encoded (-> (apply str + (->> bulk-body + (map json/write-str) + (interpose "\n"))) + (str "\n") + elastic/raw)] + + (elastic/request + (conf/get-service :elastic) + {:method :post + :url "member/member/_bulk" + :body bulk-body-encoded})))) + From 832f59b96b51bbf5c858cc0b631d147bf6c7925b Mon Sep 17 00:00:00 2001 From: Karl Jonathan Ward Date: Thu, 19 Oct 2017 14:09:19 +0100 Subject: [PATCH 007/156] index-publishers renamed to index-members --- src/cayenne/tasks/publisher.clj | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/cayenne/tasks/publisher.clj b/src/cayenne/tasks/publisher.clj index 34cd9b1c..12bbb742 100644 --- a/src/cayenne/tasks/publisher.clj +++ b/src/cayenne/tasks/publisher.clj @@ -69,8 +69,8 @@ :token (util/tokenize-name (:name member)) :prefix prefixes}])) -(defn index-publishers - "Index publishers into ES." +(defn index-members + "Index members into ES." [] (doseq [some-members (partition-all 100 (get-member-list))] (let [bulk-body (->> some-members From 402d2fb962331c17142238fdb083a5796a71fba2 Mon Sep 17 00:00:00 2001 From: Karl Jonathan Ward Date: Fri, 20 Oct 2017 19:08:27 +0100 Subject: [PATCH 008/156] Index journals into ES --- src/cayenne/elastic/mappings.clj | 13 +++--- src/cayenne/elastic/util.clj | 12 +++++ src/cayenne/schedule.clj | 4 +- src/cayenne/tasks/journal.clj | 75 +++++++++++++++----------------- src/cayenne/tasks/publisher.clj | 12 ++--- 5 files changed, 59 insertions(+), 57 deletions(-) create mode 100644 src/cayenne/elastic/util.clj diff --git a/src/cayenne/elastic/mappings.clj b/src/cayenne/elastic/mappings.clj index 9ade39f5..f0fc3d0b 100644 --- a/src/cayenne/elastic/mappings.clj +++ b/src/cayenne/elastic/mappings.clj @@ -206,12 +206,13 @@ ;; todo metadata coverage fields (def journal-properties - {:title {:type "text"} - :token {:type "keyword"} - :id {:type "long"} - :doi {:type "keyword"} - :subject {:type "object" :properties subject-properties} - :issn {:type "object" :properties issn-properties}}) + {:title {:type "text"} + :token {:type "keyword"} + :id {:type "long"} + :doi {:type "keyword"} + :publisher {:type "text"} + :subject {:type "object" :properties subject-properties} + :issn {:type "object" :properties issn-properties}}) (def index-mappings {"work" {"_all" {:enabled false} :properties work-properties} diff --git a/src/cayenne/elastic/util.clj b/src/cayenne/elastic/util.clj new file mode 100644 index 00000000..3836b4ce --- /dev/null +++ b/src/cayenne/elastic/util.clj @@ -0,0 +1,12 @@ +(ns cayenne.elastic.util + (:require [qbits.spandex :as elastic] + [clojure.data.json :as json])) + +(defn raw-jsons [jsons] + (-> (apply str + (->> jsons + (map json/write-str) + (interpose "\n"))) + (str "\n") + elastic/raw)) + diff --git a/src/cayenne/schedule.clj b/src/cayenne/schedule.clj index 870e7903..51ecc5af 100644 --- a/src/cayenne/schedule.clj +++ b/src/cayenne/schedule.clj @@ -78,7 +78,7 @@ (defjob update-members [ctx] (try (info "Updating members collection") - (publisher/load-publishers "members") + (publisher/index-members) (catch Exception e (error e "Failed to update members collection"))) (try (info "Updating member flags and coverage values") @@ -88,7 +88,7 @@ (defjob update-journals [ctx] (try (info "Updating journals collection") - (journal/load-journals-from-cr-title-list-csv "journals") + (journal/index-journals) (catch Exception e (error e "Failed to update journals collection"))) (try (info "Updating journal flags and coverage values") diff --git a/src/cayenne/tasks/journal.clj b/src/cayenne/tasks/journal.clj index 34f2760f..fe9f8d05 100644 --- a/src/cayenne/tasks/journal.clj +++ b/src/cayenne/tasks/journal.clj @@ -6,33 +6,10 @@ [cayenne.conf :as conf] [cayenne.ids.issn :as issn-id] [cayenne.util :as util] - [cayenne.ids.doi :as doi-id])) - -;; ingest journal information -;; currently only the CrossRef title list csv - -(defn ensure-journal-indexes! [collection] - (m/add-index! collection [:id]) - (m/add-index! collection [:issn]) - (m/add-index! collection [:title]) - (m/add-index! collection [:token])) - -(defn insert-journal! [collection name id publisher doi pissn eissn] - (let [normalized-pissn (issn-id/normalize-issn pissn) - normalized-eissn (issn-id/normalize-issn eissn) - normalized-issns (->> [normalized-eissn, normalized-pissn] - (remove nil?)) - normalized-doi (doi-id/normalize-long-doi doi) - journal-id (Integer/parseInt id) - doc {:title name - :id journal-id - :doi normalized-doi - :token (util/tokenize-name name) - :publisher publisher - :pissn normalized-pissn - :eissn normalized-eissn - :issn normalized-issns}] - (m/update! collection {:id journal-id} doc))) + [cayenne.ids.doi :as doi-id] + [qbits.spandex :as elastic] + [cayenne.ids.issn :as issn] + [cayenne.elastic.util :as elastic-util])) (def title-column 0) (def id-column 1) @@ -43,17 +20,35 @@ (def doi-column 6) (def issues-column 7) -(defn load-journals-from-cr-title-list-csv [collection] - (m/with-mongo (conf/get-service :mongo) - (ensure-journal-indexes! collection) - (with-open [body (io/reader (conf/get-param [:location :cr-titles-csv]))] - (let [cleaned (string/replace (slurp body) #"\\\"" "")] - (doseq [title (drop 1 (csv/read-csv cleaned))] - (insert-journal! collection - (nth title title-column) - (nth title id-column) - (nth title publisher-column) - (nth title doi-column) - (nth title pissn-column) - (nth title eissn-column))))))) +(defn issns [csv-row] + (let [p-issn (nth csv-row pissn-column) + e-issn (nth csv-row eissn-column)] + (cond-> [] + (not (string/blank? p-issn)) + (conj {:value (issn/normalize-issn p-issn) :kind "print"}) + (not (string/blank? e-issn)) + (conj {:value (issn/normalize-issn e-issn) :kind "electronic"})))) +(defn index-command [csv-row] + (let [title (nth csv-row title-column) + journal-id (nth csv-row id-column)] + [{:index {:_id journal-id}} + {:title title + :token (util/tokenize-name title) + :id journal-id + :doi (-> csv-row (nth doi-column) doi-id/normalize-long-doi) + :publisher (nth csv-row publisher-column) + :issn (issns csv-row)}])) + +(defn index-journals [] + (with-open [body (io/reader (conf/get-param [:location :cr-titles-csv]))] + (let [cleaned (string/replace (slurp body) #"\\\"" "")] + (doseq [titles (partition-all 100 (drop 1 (csv/read-csv cleaned)))] + (elastic/request + (conf/get-service :elastic) + {:method :post + :url "journal/journal/_bulk" + :body (->> titles + (map index-command) + flatten + elastic-util/raw-jsons)}))))) diff --git a/src/cayenne/tasks/publisher.clj b/src/cayenne/tasks/publisher.clj index 12bbb742..aed0c308 100644 --- a/src/cayenne/tasks/publisher.clj +++ b/src/cayenne/tasks/publisher.clj @@ -5,6 +5,7 @@ [cayenne.conf :as conf] [cayenne.util :as util] [cayenne.data.work :as works] + [cayenne.elastic.util :as elastic-util] [cayenne.util :refer [?> ?>>]] [clojure.data.xml :as xml] [clojure.zip :as zip] @@ -75,17 +76,10 @@ (doseq [some-members (partition-all 100 (get-member-list))] (let [bulk-body (->> some-members (map index-command) - flatten) - bulk-body-encoded (-> (apply str - (->> bulk-body - (map json/write-str) - (interpose "\n"))) - (str "\n") - elastic/raw)] - + flatten)] (elastic/request (conf/get-service :elastic) {:method :post :url "member/member/_bulk" - :body bulk-body-encoded})))) + :body (elastic-util/raw-jsons bulk-body)})))) From 0423a0255bd226c2947538e14e6930a7ad87c2f8 Mon Sep 17 00:00:00 2001 From: Karl Jonathan Ward Date: Fri, 27 Oct 2017 12:13:06 +0100 Subject: [PATCH 009/156] Remove some fields from category definition --- src/cayenne/elastic/mappings.clj | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/src/cayenne/elastic/mappings.clj b/src/cayenne/elastic/mappings.clj index f0fc3d0b..b8251c52 100644 --- a/src/cayenne/elastic/mappings.clj +++ b/src/cayenne/elastic/mappings.clj @@ -196,13 +196,9 @@ :token {:type "keyword"}}) (def subject-properties - {:top-code {:type "integer"} - :middle-code {:type "integer"} + {:high-code {:type "integer"} :code {:type "integer"} - :top-name {:type "text"} - :middle-name {:type "text"} - :low-name {:type "text"} - :name {:type "text"}}) + :name {:type "keyword"}}) ;; todo metadata coverage fields (def journal-properties @@ -218,7 +214,6 @@ {"work" {"_all" {:enabled false} :properties work-properties} "member" {"_all" {:enabled false} :properties member-properties} "funder" {"_all" {:enabled false} :properties funder-properties} - "prefix" {"_all" {:enabled false} :properties prefix-properties} "subject" {"_all" {:enabled false} :properties subject-properties} "journal" {"_all" {:enabled false} :properties journal-properties}}) @@ -226,7 +221,6 @@ {"work" {:number_of_shards 24 :number_of_replicas 3 "index.mapper.dynamic" false} "member" {:number_of_shards 1 :number_of_replicas 3 "index.mapper.dynamic" false} "funder" {:number_of_shards 1 :number_of_replicas 3 "index.mapper.dynamic" false} - "prefix" {:number_of_shards 1 :number_of_replicas 3 "index.mapper.dynamic" false} "subject" {:number_of_shards 1 :number_of_replicas 3 "index.mapper.dynamic" false} "journal" {:number_of_shards 1 :number_of_replicas 3 "index.mapper.dynamic" false}}) From 4009eac1b55e7a0c99c321431a6f3edeba591a12 Mon Sep 17 00:00:00 2001 From: Karl Jonathan Ward Date: Fri, 27 Oct 2017 12:13:30 +0100 Subject: [PATCH 010/156] Index subjects into ES --- src/cayenne/conf.clj | 1 + src/cayenne/tasks/category.clj | 119 +++++++++++++++++++++------------ 2 files changed, 76 insertions(+), 44 deletions(-) diff --git a/src/cayenne/conf.clj b/src/cayenne/conf.clj index c1e7e68e..63ed9f1f 100644 --- a/src/cayenne/conf.clj +++ b/src/cayenne/conf.clj @@ -149,6 +149,7 @@ (set-param! [:location :cr-titles-csv] "http://ftp.crossref.org/titlelist/titleFile.csv") (set-param! [:location :cr-funder-registry] "http://dx.doi.org/10.13039/fundref_registry") + (set-param! [:location :scopus-title-list] "https://www.elsevier.com/?a=91122&origin=sbrowse&zone=TitleList&category=TitleListLink") (set-param! [:test :doi] "10.5555/12345678") diff --git a/src/cayenne/tasks/category.clj b/src/cayenne/tasks/category.clj index b8d85f65..152941a6 100644 --- a/src/cayenne/tasks/category.clj +++ b/src/cayenne/tasks/category.clj @@ -5,7 +5,9 @@ [clojure.core.memoize :as memoize] [dk.ative.docjure.spreadsheet :as sheet] [cayenne.conf :as conf] - [clojure.string :as string])) + [clojure.string :as string] + [qbits.spandex :as elastic] + [cayenne.elastic.util :as elastic-util])) (defn get-category-name [category] (let [code (String/valueOf category)] @@ -56,53 +58,82 @@ (nil? (:e_issn m)) (dissoc m :e_issn))) -(defn normalize-category [m] - (update-in m [:code] (comp str int))) - -(defn load-categories [xls-file & {:keys [journals-sheet-name - categories-sheet-name] - :or {journals-sheet-name - "Scopus Sources April 2017" - categories-sheet-name - "ASJC classification codes"}}] - (let [doc (sheet/load-workbook xls-file) - journals (->> doc - (sheet/select-sheet journals-sheet-name) - (sheet/select-columns {:C :p_issn - :D :e_issn - :AD :categories}) - (drop 1)) - categories (->> doc +(defn index-subject-command [subject] + (let [code (-> subject :code int)] + [{:index {:_id code}} + {:code code + :high-code (-> code (/ 100) int (* 100)) + :name (-> subject :name string/trim)}])) + +(defn update-journal-command [subject] + ()) + +(defn index-subjects [& {:keys [xls-location + journals-sheet-name + categories-sheet-name] + :or {xls-location + (-> (conf/get-param [:location :scopus-title-list]) + (java.net.URL.)) + journals-sheet-name + "Scopus Sources October 2017" + categories-sheet-name + "ASJC classification codes"}}] + (with-open [xls-in (clojure.java.io/input-stream xls-location)] + (let [doc (sheet/load-workbook-from-stream xls-in) + journals (->> doc + (sheet/select-sheet journals-sheet-name) + (sheet/select-columns {:C :p_issn + :D :e_issn + :AD :categories}) + (drop 1)) + subjects (->> doc (sheet/select-sheet categories-sheet-name) (sheet/select-columns {:A :code :B :name}) (drop 1) - (filter :code))] + (filter #(-> % :code nil? not)))] + (elastic/request + (conf/get-service :elastic) + {:method :post + :url "category/category/_bulk" + :body (->> subjects + (map index-subject-command) + flatten + elastic-util/raw-jsons)})))) - (m/with-mongo (conf/get-service :mongo) - (doseq [category categories] - (try - (let [n-category (normalize-category category)] - (m/update! :categories - {:code (:code n-category)} - n-category - :upsert true)) - (catch Exception e - (println "Exception on insert of " category) - (println e)))) - (doseq [journal journals] - (try - (let [n-journal (normalize-journal journal)] - (m/update! :issns - {:p_issn (:p_issn n-journal)} - n-journal - :upsert true) - (m/update! :issns - {:e_issn (:e_issn n-journal)} - n-journal - :upsert true)) - (catch Exception e - (println "Exception on insert of " journal) - (println e))))))) +(defn workbook-sheet-names [xls-file] + (->> xls-file + sheet/load-workbook + sheet/sheet-seq + (map #(.getSheetName %)))) + + ;; (->> subjects (map index-subject-command) flatten) + + + ;; (m/with-mongo (conf/get-service :mongo) + ;; (doseq [category categories] + ;; (try + ;; (let [n-category (normalize-category category)] + ;; (m/update! :categories + ;; {:code (:code n-category)} + ;; n-category + ;; :upsert true)) + ;; (catch Exception e + ;; (println "Exception on insert of " category) + ;; (println e)))) + ;; (doseq [journal journals] + ;; (try + ;; (let [n-journal (normalize-journal journal)] + ;; (m/update! :issns + ;; {:p_issn (:p_issn n-journal)} + ;; n-journal + ;; :upsert true) + ;; (m/update! :issns + ;; {:e_issn (:e_issn n-journal)} + ;; n-journal + ;; :upsert true)) + ;; (catch Exception e + ;; (println "Exception on insert of " journal) + ;; (println e))))))) From ac496ac173085d6d7c91bde85b0b29085e1b0dc2 Mon Sep 17 00:00:00 2001 From: Karl Jonathan Ward Date: Fri, 27 Oct 2017 12:13:45 +0100 Subject: [PATCH 011/156] Rewrite task entry points and user functions --- src/cayenne/tasks.clj | 33 ++++++++++++++++++--------------- src/cayenne/user.clj | 12 +++++++++++- 2 files changed, 29 insertions(+), 16 deletions(-) diff --git a/src/cayenne/tasks.clj b/src/cayenne/tasks.clj index 89eb4fdc..ac59f18c 100644 --- a/src/cayenne/tasks.clj +++ b/src/cayenne/tasks.clj @@ -2,6 +2,7 @@ (:require [cayenne.tasks.publisher :as publisher] [cayenne.tasks.journal :as journal] [cayenne.tasks.funder :as funder] + [cayenne.tasks.category :as category] [cayenne.tasks.coverage :as coverage] [cayenne.data.work :as work] [cayenne.action :as action] @@ -16,24 +17,26 @@ (production/apply-env-overrides :task) (conf/start-core! :task)) -(defn load-funders [& args] +;; (defn load-funders [& args] + ;; (setup) + ;; (funder/clear!) + ;; (funder/drop-loading-collection) + ;; (funder/load-funders-rdf (java.net.URL. (conf/get-param [:location :cr-funder-registry]))) + ;; (funder/swapin-loading-collection)) + +(defn index-journals [& args] (setup) - (funder/clear!) - (funder/drop-loading-collection) - (funder/load-funders-rdf (java.net.URL. (conf/get-param [:location :cr-funder-registry]))) - (funder/swapin-loading-collection)) + (journal/index-journals)) + ;; (coverage/check-journals collection-name)) -(defn load-journals [& args] - (let [collection-name (or (first args) "journals")] - (setup) - (journal/load-journals-from-cr-title-list-csv collection-name) - (coverage/check-journals collection-name))) +(defn index-members [& args] + (setup) + (publisher/index-members)) +;; (coverage/check-members collection-name))) -(defn load-members [& args] - (let [collection-name (or (first args) "members")] - (setup) - (publisher/load-publishers collection-name) - (coverage/check-members collection-name))) +(defn index-subjects [& args] + (setup) + (category/index-subjects)) (defn load-last-day-works [& args] (setup) diff --git a/src/cayenne/user.clj b/src/cayenne/user.clj index 39fc4345..07516424 100644 --- a/src/cayenne/user.clj +++ b/src/cayenne/user.clj @@ -6,7 +6,12 @@ [cayenne.api.route :as route] [cayenne.action :as action] [taoensso.timbre.appenders.irc :as irc-appender] - [taoensso.timbre :as timbre]) + [taoensso.timbre :as timbre] + [cayenne.tasks.category :as category] + [cayenne.tasks.journal :as journal] + [cayenne.tasks.publisher :as publisher] + [cayenne.tasks.funder :as funder] + [cayenne.data.member :as member]) (:import [org.apache.solr.client.solrj SolrQuery])) (defn begin [& profiles] @@ -39,3 +44,8 @@ prn) nil) +(defn index-ancillary [] + (category/index-subjects) + (publisher/index-members) + (journal/index-journals)) + From a0d9a2e77bace31a3c285e81f469e060ab807334 Mon Sep 17 00:00:00 2001 From: Karl Jonathan Ward Date: Mon, 30 Oct 2017 14:23:28 +0000 Subject: [PATCH 012/156] Start of the ES work indexer --- src/cayenne/elastic/index.clj | 131 +++++++++++++++++++++++++++++++ src/cayenne/elastic/mappings.clj | 11 +-- 2 files changed, 137 insertions(+), 5 deletions(-) create mode 100644 src/cayenne/elastic/index.clj diff --git a/src/cayenne/elastic/index.clj b/src/cayenne/elastic/index.clj new file mode 100644 index 00000000..18b09929 --- /dev/null +++ b/src/cayenne/elastic/index.clj @@ -0,0 +1,131 @@ +(ns cayenne.elastic.index + (:require [cayenne.ids.doi :as doi-id] + [cayenne.item-tree :as itree] + [cayenne.util :as util])) + +(defn particle->date-time [particle] + (let [year (-> particle :year util/parse-int-safe) + month (-> particle :month util/parse-int-safe) + day (-> particle :day util/parse-int-safe)] + (cond (and year month day) + (if (< (t/number-of-days-in-the-month year month) day) + (t/date-time year month) + (t/date-time year month day)) + (and year month) + (t/date-time year month) + :else + (t/date-time year)))) + +(defn item-id [item id-type & {:keys [converter] + :or {converter identity}}] + (when-let [id (-> item (itree/get-item-ids id-type) first)] + (converter id))) + +(defn item-type [item] + (-> item itree/get-item-subtype item name)) + +(defn item-issued-date [item] + (->> (concat + (get-item-rel item :posted) + (get-item-rel item :published-print) + (get-item-rel item :published-online) + (get-item-rel item :published-other) + (get-item-rel item :published) + (get-tree-rel item :content-created)) + (sort-by particle->date-time) + first + particle->date-time)) + +(defn item-date [item date-rel] + (-> item (get-item-rel date-rel) first particle->date-time)) + +(defn item-plain-abstract [item] + (-> item (get-item-rel :abstract) first :plain)) + +(defn item-xml-abstract [item] + (-> item (get-item-rel :abstract) first :xml)) + +(defn item-standards-body [item] + ()) + +(defn item-issns [item] + ()) + +(defn item-isbns [item] + ()) + +(defn item-contributors [item] + ()) + +(defn item-funders [item] + (let [funders (get-tree-rel item :funder)] + (map + (fn [funder] + (let [awards (->> (get-tree-rel funder :award) + (map #(item-id % :award)))] + {:name (:name funder) + :doi (item-id funder :long-doi) + :doi-asserted-by (:doi-asserted-by funder) + :award awards}))))) + +(defn item-clinical-trials [item] + (let [trials (get-tree-rel item :clinical-trial-number)] + (map + #(hash-map + :number (:ctn %) + :registry (:registry %) + :type (:ctn-type %))))) + +(defn item-events [item] + ()) + +(defn item-links [item] + ()) + +(defn item-licenses [item] + ()) + +(defn item-assertions [item] + ()) + +(defn item-relations [item] + ()) + +(defn item-references [item] + ()) + +(defn item-updated-bys [item] + ()) + +(defn item-update-ofs [item] + ()) + +(defn index-command [item] + (let [doi (item-id item :long-doi :converter doi-id/normalize-long-doi)] + [{:index {:_id doi}} + {:doi doi + :type (item-type item) + :prefix (doi-id/extract-long-prefix doi) + :owner-prefix (item-id item :owner-prefix) + :member-id (item-id item :member-id) + :supplementary-id (itree/get-item-ids item :supplementary) + + :published (item-issued-date item) + :published-online (item-date item :published-online) + :published-print (item-date item :published-print) + :published-other (item-date item :published-other) + :posted (item-date item :posted) + :accepted (item-date item :accepted) + :content-created (item-date item :content-created) + :content-updated (item-date item :content-updated) + :approved (item-date item :approved) + :deposited (item-date item :deposited) + :first-deposited (item-date item :first-deposited) + + :abstract (item-plain-abstract item) + :abstract-xml (item-xml-abstract item) + + :funder (item-funders item) + :clinical-trial (item-clinical-trials item) + }])) + diff --git a/src/cayenne/elastic/mappings.clj b/src/cayenne/elastic/mappings.clj index b8251c52..5e69e729 100644 --- a/src/cayenne/elastic/mappings.clj +++ b/src/cayenne/elastic/mappings.clj @@ -21,9 +21,10 @@ :kind {:type "keyword"}}) (def funder-properties - {:name {:type "text"} - :doi {:type "keyword"} - :award {:type "text"}}) + {:name {:type "text"} + :doi {:type "keyword"} + :doi-asserted-by {:type "keyword"} + :award {:type "text"}}) (def update-properties {:doi {:type "keyword"} @@ -105,8 +106,7 @@ (def work-properties {:random {:type "long"} :type {:type "keyword"} - :original-doi {:type "keyword"} - :normalised-doi {:type "keyword"} + :doi {:type "keyword"} :prefix {:type "keyword"} :owner-prefix {:type "keyword"} :member-id {:type "integer"} @@ -132,6 +132,7 @@ :published {:type "date"} :published-online {:type "date"} :published-print {:type "date"} + :published-other {:type "date"} :posted {:type "date"} :accepted {:type "date"} :content-created {:type "date"} From 022928aabb7af329f9e9a81b0ff35b8ae211ec8e Mon Sep 17 00:00:00 2001 From: Karl Jonathan Ward Date: Mon, 30 Oct 2017 20:01:09 +0000 Subject: [PATCH 013/156] Connect parse actions to ES indexing --- src/cayenne/action.clj | 17 +++++ src/cayenne/elastic/index.clj | 117 ++++++++++++++++++++++--------- src/cayenne/elastic/mappings.clj | 4 +- 3 files changed, 104 insertions(+), 34 deletions(-) diff --git a/src/cayenne/action.clj b/src/cayenne/action.clj index 402d25f5..57b9b859 100644 --- a/src/cayenne/action.clj +++ b/src/cayenne/action.clj @@ -22,6 +22,7 @@ [cayenne.tasks.solr :as solr] [cayenne.conf :as conf] [cayenne.ids.doi :as doi] + [cayenne.elastic.index :as es-index] [taoensso.timbre :as timbre :refer [info error]])) (conf/with-core :default @@ -102,6 +103,12 @@ #(apply doaj/apply-to %) #(apply cat/apply-to %))) +(def dump-plain-es-docs + (comp + (record-json-writer "out.txt") + es-index/index-command + #(apply itree/centre-on %))) + (def dump-plain-solr-docs (comp (record-json-writer "out.txt") @@ -109,6 +116,16 @@ #(assoc % :source "CrossRef") #(apply itree/centre-on %))) +(def print-es-docs + (comp + #(info %) + es-index/index-command + #(assoc % :source "CrossRef") + #(apply itree/centre-on %) + #(apply funder/apply-to %) + #(apply doaj/apply-to %) + #(apply cat/apply-to %))) + (def print-solr-docs (comp #(info %) diff --git a/src/cayenne/elastic/index.clj b/src/cayenne/elastic/index.clj index 18b09929..57c67535 100644 --- a/src/cayenne/elastic/index.clj +++ b/src/cayenne/elastic/index.clj @@ -1,7 +1,15 @@ (ns cayenne.elastic.index (:require [cayenne.ids.doi :as doi-id] [cayenne.item-tree :as itree] - [cayenne.util :as util])) + [cayenne.util :as util] + [clj-time.core :as t] + [cayenne.ids.issn :as issn-id] + [cayenne.ids.isbn :as isbn-id] + [cayenne.ids.prefix :as prefix-id] + [cayenne.ids.member :as member-id] + [cayenne.ids.orcid :as orcid-id])) + +(def contributions [:author :chair :editor :translator :contributor]) (defn particle->date-time [particle] (let [year (-> particle :year util/parse-int-safe) @@ -21,60 +29,98 @@ (when-let [id (-> item (itree/get-item-ids id-type) first)] (converter id))) +(defn item-doi [item] + (item-id item :long-doi :converter doi-id/extract-long-doi)) + +(defn item-issn [item] + (item-id item :issn :converter issn-id/extract-issn)) + +(defn item-isbn [item] + (item-id item :isbn :converter isbn-id/extract-isbn)) + +(defn item-owner-prefix [item] + (item-id item :owner-prefix :converter prefix-id/extract-prefix)) + +(defn item-member-id [item] + (item-id item :member-id :converter member-id/extract-member-id)) + +(defn item-orcid [item] + (item-id item :orcid :converter orcid-id/extract-orcid)) + (defn item-type [item] - (-> item itree/get-item-subtype item name)) + (-> item itree/get-item-subtype name)) (defn item-issued-date [item] (->> (concat - (get-item-rel item :posted) - (get-item-rel item :published-print) - (get-item-rel item :published-online) - (get-item-rel item :published-other) - (get-item-rel item :published) - (get-tree-rel item :content-created)) + (itree/get-item-rel item :posted) + (itree/get-item-rel item :published-print) + (itree/get-item-rel item :published-online) + (itree/get-item-rel item :published-other) + (itree/get-item-rel item :published) + (itree/get-tree-rel item :content-created)) (sort-by particle->date-time) first particle->date-time)) (defn item-date [item date-rel] - (-> item (get-item-rel date-rel) first particle->date-time)) + (when-let [first-date (-> item (itree/get-item-rel date-rel) first)] + (particle->date-time first-date))) (defn item-plain-abstract [item] - (-> item (get-item-rel :abstract) first :plain)) + (-> item (itree/get-item-rel :abstract) first :plain)) (defn item-xml-abstract [item] - (-> item (get-item-rel :abstract) first :xml)) + (-> item (itree/get-item-rel :abstract) first :xml)) (defn item-standards-body [item] ()) (defn item-issns [item] - ()) + (map + #(hash-map :value (-> % :value issn-id/extract-issn) + :type (:kind %)) + (itree/get-tree-rel item :issn))) (defn item-isbns [item] - ()) + (map + #(hash-map :value (-> % :value isbn-id/extract-isbn) + :type (:kind %)) + (itree/get-tree-rel item :isbn))) (defn item-contributors [item] - ()) + (mapcat + (fn [contributor-rel] + (map + #(hash-map + :contribution (name contributor-rel) + :given-name (:first-name %) + :family-name (:last-name %) + :org-name (:name %) + :suffix (:suffix %) + :prefix (:prefix %) + :orcid (item-orcid %) + :orcid-authenticated (:orcid-authenticated %)) + (itree/get-tree-rel item contributor-rel))) + contributions)) (defn item-funders [item] - (let [funders (get-tree-rel item :funder)] - (map - (fn [funder] - (let [awards (->> (get-tree-rel funder :award) - (map #(item-id % :award)))] - {:name (:name funder) - :doi (item-id funder :long-doi) - :doi-asserted-by (:doi-asserted-by funder) - :award awards}))))) + (map + (fn [funder] + (let [awards (->> (itree/get-tree-rel funder :award) + (map #(item-id % :award)))] + {:name (:name funder) + :doi (item-doi funder) + :doi-asserted-by (:doi-asserted-by funder) + :award awards})) + (itree/get-tree-rel item :funder))) (defn item-clinical-trials [item] - (let [trials (get-tree-rel item :clinical-trial-number)] - (map - #(hash-map - :number (:ctn %) - :registry (:registry %) - :type (:ctn-type %))))) + (map + #(hash-map + :number (:ctn %) + :registry (:registry %) + :type (:ctn-type %)) + (itree/get-tree-rel item :clinical-trial-number))) (defn item-events [item] ()) @@ -101,13 +147,13 @@ ()) (defn index-command [item] - (let [doi (item-id item :long-doi :converter doi-id/normalize-long-doi)] + (let [doi (item-doi item)] [{:index {:_id doi}} {:doi doi :type (item-type item) :prefix (doi-id/extract-long-prefix doi) - :owner-prefix (item-id item :owner-prefix) - :member-id (item-id item :member-id) + :owner-prefix (item-owner-prefix item) + :member-id (item-member-id item) :supplementary-id (itree/get-item-ids item :supplementary) :published (item-issued-date item) @@ -122,9 +168,16 @@ :deposited (item-date item :deposited) :first-deposited (item-date item :first-deposited) + ;; titles + + ;; article / journal stuff + :abstract (item-plain-abstract item) :abstract-xml (item-xml-abstract item) + :isbn (item-isbns item) + :issn (item-issns item) + :contributor (item-contributors item) :funder (item-funders item) :clinical-trial (item-clinical-trials item) }])) diff --git a/src/cayenne/elastic/mappings.clj b/src/cayenne/elastic/mappings.clj index 5e69e729..2ded7565 100644 --- a/src/cayenne/elastic/mappings.clj +++ b/src/cayenne/elastic/mappings.clj @@ -14,11 +14,11 @@ (def issn-properties {:value {:type "keyword"} - :kind {:type "keyword"}}) + :type {:type "keyword"}}) (def isbn-properties {:value {:type "keyword"} - :kind {:type "keyword"}}) + :type {:type "keyword"}}) (def funder-properties {:name {:type "text"} From 560b698463215c00d95bf015c2c18e4c8a5dd99e Mon Sep 17 00:00:00 2001 From: Karl Jonathan Ward Date: Mon, 30 Oct 2017 22:56:20 +0000 Subject: [PATCH 014/156] More complete work indexing for ES --- src/cayenne/elastic/index.clj | 54 +++++++++++-- src/cayenne/elastic/mappings.clj | 134 +++++++++++++++---------------- 2 files changed, 113 insertions(+), 75 deletions(-) diff --git a/src/cayenne/elastic/index.clj b/src/cayenne/elastic/index.clj index 57c67535..60b7bdb8 100644 --- a/src/cayenne/elastic/index.clj +++ b/src/cayenne/elastic/index.clj @@ -73,7 +73,10 @@ (-> item (itree/get-item-rel :abstract) first :xml)) (defn item-standards-body [item] - ()) + (when-let [standards-body (-> item + (itree/get-tree-rel :standards-body) + first)] + (select-keys standards-body [:name :acronym]))) (defn item-issns [item] (map @@ -123,19 +126,42 @@ (itree/get-tree-rel item :clinical-trial-number))) (defn item-events [item] - ()) + (map + #(-> % + (select-keys [:name :theme :location + :acronym :number :sponsor]) + (assoc :start (item-date % :start)) + (assoc :end (item-date % :end))) + (itree/get-tree-rel item :event))) (defn item-links [item] - ()) + (map + #(hash-map + :content-type (:content-type %) + :url (:value %) + :version (:content-version %) + :application (:intended-application %)) + (itree/get-tree-rel item :resource-fulltext))) (defn item-licenses [item] ()) (defn item-assertions [item] - ()) + (map + #(select-keys % [:name :label :group-name + :group-label :url :explanation-url + :value :order]) + (itree/get-tree-rel item :assertion))) (defn item-relations [item] - ()) + (map + #(hash-map + :type (-> % :subtype name) + :object (:object %) + :object-type (:object-type %) + :object-ns (:object-namespace %) + :claimed-by (-> % :claimed-by name)) + (itree/get-tree-rel item :relation))) (defn item-references [item] ()) @@ -147,13 +173,14 @@ ()) (defn index-command [item] - (let [doi (item-doi item)] + (let [doi (item-doi item) + publisher (itree/get-tree-rel item :publisher)] [{:index {:_id doi}} {:doi doi :type (item-type item) :prefix (doi-id/extract-long-prefix doi) - :owner-prefix (item-owner-prefix item) - :member-id (item-member-id item) + :owner-prefix (item-owner-prefix publisher) + :member-id (item-member-id publisher) :supplementary-id (itree/get-item-ids item :supplementary) :published (item-issued-date item) @@ -168,6 +195,12 @@ :deposited (item-date item :deposited) :first-deposited (item-date item :first-deposited) + :is-referenced-by-count (-> item (itree/get-tree-rel :cited-count) first) + :references-count (-> item (itree/get-tree-rel :citation) count) + + :publisher (:name publisher) + :publisher-location (:location publisher) + ;; titles ;; article / journal stuff @@ -177,8 +210,13 @@ :isbn (item-isbns item) :issn (item-issns item) + :link (item-links item) + :assertion (item-assertions item) + :relation (item-relations item) :contributor (item-contributors item) :funder (item-funders item) :clinical-trial (item-clinical-trials item) + :event (item-events item) + :standards-body (item-standards-body item) }])) diff --git a/src/cayenne/elastic/mappings.clj b/src/cayenne/elastic/mappings.clj index 2ded7565..f431fb1c 100644 --- a/src/cayenne/elastic/mappings.clj +++ b/src/cayenne/elastic/mappings.clj @@ -38,10 +38,10 @@ :type {:type "keyword"}}) (def link-properties - {:type {:type "keyword"} - :url {:type "keyword"} - :version {:type "keyword"} - :application {:type "keyword"}}) + {:content-type {:type "keyword"} + :url {:type "keyword"} + :version {:type "keyword"} + :application {:type "keyword"}}) (def event-properties {:name {:type "text"} @@ -104,69 +104,69 @@ ;; todo content, citation_content (def work-properties - {:random {:type "long"} - :type {:type "keyword"} - :doi {:type "keyword"} - :prefix {:type "keyword"} - :owner-prefix {:type "keyword"} - :member-id {:type "integer"} - :supplementary-id {:type "keyword"} - :language-title {:type "text"} - :original-title {:type "text"} - :container-title {:type "text"} - :short-container-title {:type "text"} - :short-title {:type "text"} - :group-title {:type "text"} - :subtitle {:type "text"} - :volume {:type "keyword"} - :issue {:type "keyword"} - :first-page {:type "keyword"} - :last-page {:type "keyword"} - :description {:type "text"} - :referenced-by-count {:type "long"} - :references-count {:type "long"} - :article-number {:type "text"} - :first-deposited {:type "date"} - :deposited {:type "date"} - :indexed {:type "date"} - :published {:type "date"} - :published-online {:type "date"} - :published-print {:type "date"} - :published-other {:type "date"} - :posted {:type "date"} - :accepted {:type "date"} - :content-created {:type "date"} - :content-updated {:type "date"} - :approved {:type "date"} - :subject {:type "keyword"} - :publication {:type "text"} - :archive {:type "keyword"} - :publisher {:type "text"} - :publisher-location {:type "text"} - :degree {:type "text"} - :edition-number {:type "keyword"} - :part-number {:type "keyword"} - :component-number {:type "keyword"} - :update-policy {:type "keyword"} - :domain {:type "keyword"} - :domain-exclusive {:type "boolean"} - :abstract {:type "text"} - :abstract-xml {:type "text"} - :index-context {:type "keyword"} - :standards-body {:type "object" :properties standards-body-properties} - :issn {:type "object" :properties issn-properties} - :isbn {:type "object" :properties isbn-properties} - :contributor {:type "nested" :properties contributor-properties} - :funder {:type "nested" :properties funder-properties} - :updated-by {:type "nested" :properties update-properties} - :update-of {:type "nested" :properties update-properties} - :clinical-trial {:type "nested" :properties clinical-trial-properties} - :event {:type "object" :properties event-properties} - :link {:type "nested" :properties link-properties} - :license {:type "nested" :properties license-properties} - :assertion {:type "nested" :properties assertion-properties} - :relation {:type "nested" :properties relation-properties} - :reference {:type "object" :properties reference-properties}}) + {:random {:type "long"} + :type {:type "keyword"} + :doi {:type "keyword"} + :prefix {:type "keyword"} + :owner-prefix {:type "keyword"} + :member-id {:type "integer"} + :supplementary-id {:type "keyword"} + :language-title {:type "text"} + :original-title {:type "text"} + :container-title {:type "text"} + :short-container-title {:type "text"} + :short-title {:type "text"} + :group-title {:type "text"} + :subtitle {:type "text"} + :volume {:type "keyword"} + :issue {:type "keyword"} + :first-page {:type "keyword"} + :last-page {:type "keyword"} + :description {:type "text"} + :is-referenced-by-count {:type "long"} + :references-count {:type "long"} + :article-number {:type "text"} + :first-deposited {:type "date"} + :deposited {:type "date"} + :indexed {:type "date"} + :published {:type "date"} + :published-online {:type "date"} + :published-print {:type "date"} + :published-other {:type "date"} + :posted {:type "date"} + :accepted {:type "date"} + :content-created {:type "date"} + :content-updated {:type "date"} + :approved {:type "date"} + :subject {:type "keyword"} + :publication {:type "text"} + :archive {:type "keyword"} + :publisher {:type "text"} + :publisher-location {:type "text"} + :degree {:type "text"} + :edition-number {:type "keyword"} + :part-number {:type "keyword"} + :component-number {:type "keyword"} + :update-policy {:type "keyword"} + :domain {:type "keyword"} + :domain-exclusive {:type "boolean"} + :abstract {:type "text"} + :abstract-xml {:type "text"} + :index-context {:type "keyword"} + :standards-body {:type "object" :properties standards-body-properties} + :issn {:type "object" :properties issn-properties} + :isbn {:type "object" :properties isbn-properties} + :contributor {:type "nested" :properties contributor-properties} + :funder {:type "nested" :properties funder-properties} + :updated-by {:type "nested" :properties update-properties} + :update-of {:type "nested" :properties update-properties} + :clinical-trial {:type "nested" :properties clinical-trial-properties} + :event {:type "object" :properties event-properties} + :link {:type "nested" :properties link-properties} + :license {:type "nested" :properties license-properties} + :assertion {:type "nested" :properties assertion-properties} + :relation {:type "nested" :properties relation-properties} + :reference {:type "object" :properties reference-properties}}) (def prefix-properties {:value {:type "keyword"} From d14bfa411f845712d9de62b10abe70e2ff1c6e57 Mon Sep 17 00:00:00 2001 From: Karl Jonathan Ward Date: Tue, 31 Oct 2017 15:12:31 +0000 Subject: [PATCH 015/156] Mostly complete ES work indexer --- src/cayenne/elastic/index.clj | 132 ++++++++++++++++++++++++++++--- src/cayenne/elastic/mappings.clj | 5 +- 2 files changed, 122 insertions(+), 15 deletions(-) diff --git a/src/cayenne/elastic/index.clj b/src/cayenne/elastic/index.clj index 60b7bdb8..0a7b4625 100644 --- a/src/cayenne/elastic/index.clj +++ b/src/cayenne/elastic/index.clj @@ -7,7 +7,9 @@ [cayenne.ids.isbn :as isbn-id] [cayenne.ids.prefix :as prefix-id] [cayenne.ids.member :as member-id] - [cayenne.ids.orcid :as orcid-id])) + [cayenne.ids.orcid :as orcid-id] + [cayenne.ids :as ids] + [clojure.string :as string])) (def contributions [:author :chair :editor :translator :contributor]) @@ -72,6 +74,20 @@ (defn item-xml-abstract [item] (-> item (itree/get-item-rel :abstract) first :xml)) +(defn journal-volume [item] + (-> item (itree/find-item-of-subtype :journal-volume) :volume)) + +(defn journal-issue [item] + (-> item (itree/find-item-of-subtype :journal-issue) :issue)) + +(defn item-titles [item & {:keys [subtype]}] + (map :value (itree/get-item-rel item :title))) + +(defn item-container-titles [item & {:keys [subtype]}] + (->> (itree/get-item-rel item :ancestor) + (mapcat #(itree/get-item-rel % :title)) + (map :value))) + (defn item-standards-body [item] (when-let [standards-body (-> item (itree/get-tree-rel :standards-body) @@ -90,6 +106,16 @@ :type (:kind %)) (itree/get-tree-rel item :isbn))) +(defn item-update-policy [item] + (when-let [policy (-> item (itree/get-tree-rel :update-policy) first)] + (:value policy))) + +(defn item-domain-exclusive [item] + (-> item + (itree/get-item-rel :domain-exclusive) + first + (or false))) + (defn item-contributors [item] (mapcat (fn [contributor-rel] @@ -102,7 +128,10 @@ :suffix (:suffix %) :prefix (:prefix %) :orcid (item-orcid %) - :orcid-authenticated (:orcid-authenticated %)) + :orcid-authenticated (:orcid-authenticated %) + :affiliation (-> % + (itree/get-item-rel :affiliation) + (map :name))) (itree/get-tree-rel item contributor-rel))) contributions)) @@ -110,7 +139,7 @@ (map (fn [funder] (let [awards (->> (itree/get-tree-rel funder :award) - (map #(item-id % :award)))] + (map #(item-id % :awarded)))] {:name (:name funder) :doi (item-doi funder) :doi-asserted-by (:doi-asserted-by funder) @@ -172,9 +201,65 @@ (defn item-update-ofs [item] ()) +(defn contributor-name [contributor] + (or + (:org-name contributor) + (str (:give-name contributor) " " (:family-name contributor)))) + +(defn contributor-initials [contributor] + (letfn [(initials [first-name] + (when first-name + (as-> first-name $ + (string/split $ #"[\s\-]+") + (map first $) + (string/join " " $))))] + (or + (:org-name contributor) + (str + (-> contributor :given-name initials) + " " + (:family-name contributor))))) + +(defn item-base-content [item] + (->> + (vector + (t/year (item-issued-date item)) + (t/year (item-date item :published-print)) + (journal-issue item) + (journal-volume item) + (:first-page item) + (:last-page item)) + (concat (map :value (item-issns item))) + (concat (map :value (item-isbns item))) + (concat (item-titles item)) + (concat (item-container-titles item)) + (string/join " "))) + +(defn item-bibliographic-content + "Fields related to bibliographic citation look up" + [item] + (string/join + " " + (-> [(item-base-content item)] + (concat (map contributor-initials (item-contributors item)))))) + +(defn item-metadata-content + "A default set of search fields" + [item] + (string/join + " " + (-> [(item-base-content item)] + (conj (:description item)) + (concat (map ids/extract-supplementary-id (itree/get-tree-ids item :supplementary))) ; plain supp ids + (concat (map contributor-name (item-contributors item))) ; full names + (concat (mapcat itree/get-item-ids (itree/get-tree-rel item :awarded))) ; grant numbers + (concat (map :name (itree/get-tree-rel item :funder)))))) ; funder names + (defn index-command [item] - (let [doi (item-doi item) - publisher (itree/get-tree-rel item :publisher)] + (let [doi (item-doi item) + publisher (itree/get-tree-rel item :publisher) + journal-issue (itree/find-item-of-subtype item :journal-issue) + journal-volume (itree/find-item-of-subtype item :journal-volume)] [{:index {:_id doi}} {:doi doi :type (item-type item) @@ -201,12 +286,34 @@ :publisher (:name publisher) :publisher-location (:location publisher) - ;; titles - - ;; article / journal stuff - - :abstract (item-plain-abstract item) - :abstract-xml (item-xml-abstract item) + :title (item-titles item :subtype :long) + :short-title (item-titles item :subtype :short) + :original-title (item-titles item :subtype :original) + :group-title (item-titles item :subtype :group) + :subtitle (item-titles item :subtype :secondary) + :container-title (item-container-titles item :subtype :long) + :short-container-title (item-container-titles item :subtype :short) + + :first-page (:first-page item) + :last-page (:last-page item) + :issue (:issue journal-issue) + :volume (:volume journal-volume) + :description (:description item) + ;; :article-number + :degree (-> item (itree/get-item-rel :degree) (map :value)) + ;; :edition-number + ;; :part-number + ;; :component-number + + :update-policy (item-update-policy item) + :domain (itree/get-item-rel item :domains) + :domain-exclusive (item-domain-exclusive item) + :archive (-> item (itree/get-item-rel :archived-with) (map :name)) + + :abstract (item-plain-abstract item) + :abstract-xml (item-xml-abstract item) + :metadata-content (item-metadata-content item) + :bibliographic-content (item-bibliographic-content item) :isbn (item-isbns item) :issn (item-issns item) @@ -217,6 +324,5 @@ :funder (item-funders item) :clinical-trial (item-clinical-trials item) :event (item-events item) - :standards-body (item-standards-body item) - }])) + :standards-body (item-standards-body item)}])) diff --git a/src/cayenne/elastic/mappings.clj b/src/cayenne/elastic/mappings.clj index f431fb1c..5b70b591 100644 --- a/src/cayenne/elastic/mappings.clj +++ b/src/cayenne/elastic/mappings.clj @@ -104,14 +104,15 @@ ;; todo content, citation_content (def work-properties - {:random {:type "long"} + {:metadata-content {:type "text"} + :bibliographic-content {:type "text"} :type {:type "keyword"} :doi {:type "keyword"} :prefix {:type "keyword"} :owner-prefix {:type "keyword"} :member-id {:type "integer"} :supplementary-id {:type "keyword"} - :language-title {:type "text"} + :title {:type "text"} :original-title {:type "text"} :container-title {:type "text"} :short-container-title {:type "text"} From b6bc1ff6ca1bc07492612cadc20ffb42346280c5 Mon Sep 17 00:00:00 2001 From: Karl Jonathan Ward Date: Tue, 31 Oct 2017 15:55:20 +0000 Subject: [PATCH 016/156] Complete ES work indexer --- src/cayenne/elastic/index.clj | 58 ++++++++++++++++++++++++++++------- 1 file changed, 47 insertions(+), 11 deletions(-) diff --git a/src/cayenne/elastic/index.clj b/src/cayenne/elastic/index.clj index 0a7b4625..5a4277e4 100644 --- a/src/cayenne/elastic/index.clj +++ b/src/cayenne/elastic/index.clj @@ -81,12 +81,21 @@ (-> item (itree/find-item-of-subtype :journal-issue) :issue)) (defn item-titles [item & {:keys [subtype]}] - (map :value (itree/get-item-rel item :title))) + (let [titles (itree/get-item-rel :title)] + (if subtype + (-> titles + (filter #(= subtype (itree/get-item-subtype %))) + (map :value)) + (map :value)))) (defn item-container-titles [item & {:keys [subtype]}] - (->> (itree/get-item-rel item :ancestor) - (mapcat #(itree/get-item-rel % :title)) - (map :value))) + (let [titles (->> (itree/get-item-rel item :ancestor) + (mapcat #(itree/get-item-rel % :title)))] + (if subtype + (-> titles + (filter #(= subtype (itree/get-item-subtype %))) + (map :value)) + (map :value)))) (defn item-standards-body [item] (when-let [standards-body (-> item @@ -173,8 +182,20 @@ (itree/get-tree-rel item :resource-fulltext))) (defn item-licenses [item] - ()) - + (letfn [(difference-in-days [a b] + (if (t/after? a b) + 0 + (-> (t/interval a b) + (t/in-days))))] + (map + #(let [issued-date (item-issued-date item) + start-date (or (item-date % :start) issued-date)] + {:version (:content-version %) + :url (:value %) + :delay (difference-in-days issued-date start-date) + :start start-date} + (itree/get-tree-rel item :license))))) + (defn item-assertions [item] (map #(select-keys % [:name :label :group-name @@ -193,13 +214,24 @@ (itree/get-tree-rel item :relation))) (defn item-references [item] - ()) - -(defn item-updated-bys [item] - ()) + (-> item + (itree/get-tree-rel :citation) + (select-keys [:doi :doi-asserted-by :key + :issn :issn-type :isbn :isbn-type + :author :volume :issue :first-page :year + :isbn :isbn-type :edition :component + :standard-designator :standards-body + :unstructured :article-title :series-title + :volume-title :journal-title]))) (defn item-update-ofs [item] - ()) + (map + #(hash-map + :doi (:value %) + :type (itree/get-item-subtype %) + :label (:label %) + :date (item-date % :updated)) + (itree/find-items-of-type item :update))) (defn contributor-name [contributor] (or @@ -279,6 +311,7 @@ :approved (item-date item :approved) :deposited (item-date item :deposited) :first-deposited (item-date item :first-deposited) + :indexed (t/now) :is-referenced-by-count (-> item (itree/get-tree-rel :cited-count) first) :references-count (-> item (itree/get-tree-rel :citation) count) @@ -317,7 +350,10 @@ :isbn (item-isbns item) :issn (item-issns item) + :reference (item-references item) + :license (item-licenses item) :link (item-links item) + :update-of (item-update-ofs item) :assertion (item-assertions item) :relation (item-relations item) :contributor (item-contributors item) From 85f11fd1b04687b9a22e8907134110a77b5c0de5 Mon Sep 17 00:00:00 2001 From: Karl Jonathan Ward Date: Tue, 31 Oct 2017 18:08:17 +0000 Subject: [PATCH 017/156] Include unstructured field in references and various indexer fixes --- src/cayenne/elastic/index.clj | 54 +++++++++++++++++--------------- src/cayenne/elastic/mappings.clj | 1 + 2 files changed, 29 insertions(+), 26 deletions(-) diff --git a/src/cayenne/elastic/index.clj b/src/cayenne/elastic/index.clj index 5a4277e4..9e1b091a 100644 --- a/src/cayenne/elastic/index.clj +++ b/src/cayenne/elastic/index.clj @@ -81,21 +81,21 @@ (-> item (itree/find-item-of-subtype :journal-issue) :issue)) (defn item-titles [item & {:keys [subtype]}] - (let [titles (itree/get-item-rel :title)] + (let [titles (itree/get-item-rel item :title)] (if subtype - (-> titles - (filter #(= subtype (itree/get-item-subtype %))) - (map :value)) - (map :value)))) + (->> titles + (filter #(= subtype (itree/get-item-subtype %))) + (map :value)) + (map :value titles)))) (defn item-container-titles [item & {:keys [subtype]}] (let [titles (->> (itree/get-item-rel item :ancestor) (mapcat #(itree/get-item-rel % :title)))] (if subtype - (-> titles - (filter #(= subtype (itree/get-item-subtype %))) - (map :value)) - (map :value)))) + (->> titles + (filter #(= subtype (itree/get-item-subtype %))) + (map :value)) + (map :value titles)))) (defn item-standards-body [item] (when-let [standards-body (-> item @@ -138,9 +138,9 @@ :prefix (:prefix %) :orcid (item-orcid %) :orcid-authenticated (:orcid-authenticated %) - :affiliation (-> % - (itree/get-item-rel :affiliation) - (map :name))) + :affiliation (as-> % $ + (itree/get-item-rel $ :affiliation) + (map :name $))) (itree/get-tree-rel item contributor-rel))) contributions)) @@ -193,8 +193,8 @@ {:version (:content-version %) :url (:value %) :delay (difference-in-days issued-date start-date) - :start start-date} - (itree/get-tree-rel item :license))))) + :start start-date}) + (itree/get-tree-rel item :license)))) (defn item-assertions [item] (map @@ -214,15 +214,17 @@ (itree/get-tree-rel item :relation))) (defn item-references [item] - (-> item - (itree/get-tree-rel :citation) - (select-keys [:doi :doi-asserted-by :key - :issn :issn-type :isbn :isbn-type - :author :volume :issue :first-page :year - :isbn :isbn-type :edition :component - :standard-designator :standards-body - :unstructured :article-title :series-title - :volume-title :journal-title]))) + (as-> item $ + (itree/get-tree-rel $ :citation) + (map + #(select-keys % [:doi :doi-asserted-by :key + :issn :issn-type :isbn :isbn-type + :author :volume :issue :first-page :year + :isbn :isbn-type :edition :component + :standard-designator :standards-body + :unstructured :article-title :series-title + :volume-title :journal-title]) + $))) (defn item-update-ofs [item] (map @@ -236,7 +238,7 @@ (defn contributor-name [contributor] (or (:org-name contributor) - (str (:give-name contributor) " " (:family-name contributor)))) + (str (:given-name contributor) " " (:family-name contributor)))) (defn contributor-initials [contributor] (letfn [(initials [first-name] @@ -333,7 +335,7 @@ :volume (:volume journal-volume) :description (:description item) ;; :article-number - :degree (-> item (itree/get-item-rel :degree) (map :value)) + :degree (map :value (itree/get-item-rel item :degree)) ;; :edition-number ;; :part-number ;; :component-number @@ -341,7 +343,7 @@ :update-policy (item-update-policy item) :domain (itree/get-item-rel item :domains) :domain-exclusive (item-domain-exclusive item) - :archive (-> item (itree/get-item-rel :archived-with) (map :name)) + :archive (map :name (itree/get-item-rel item :archived-with)) :abstract (item-plain-abstract item) :abstract-xml (item-xml-abstract item) diff --git a/src/cayenne/elastic/mappings.clj b/src/cayenne/elastic/mappings.clj index 5b70b591..9d42121c 100644 --- a/src/cayenne/elastic/mappings.clj +++ b/src/cayenne/elastic/mappings.clj @@ -95,6 +95,7 @@ :journal-title {:type "text"} :standards-body {:type "text"} :standards-designator {:type "keyword"} + :unstructured {:type "text"} :doi-asserted-by {:type "keyword"} :doi {:type "keyword"}}) From 2807569eadbd885ba6ec1fc8c908ab7d5f46220e Mon Sep 17 00:00:00 2001 From: Karl Jonathan Ward Date: Tue, 31 Oct 2017 18:46:23 +0000 Subject: [PATCH 018/156] Insert work documents into ES --- src/cayenne/action.clj | 5 +++++ src/cayenne/elastic/index.clj | 16 +++++++++++++--- src/cayenne/elastic/mappings.clj | 2 +- 3 files changed, 19 insertions(+), 4 deletions(-) diff --git a/src/cayenne/action.clj b/src/cayenne/action.clj index 57b9b859..65475fca 100644 --- a/src/cayenne/action.clj +++ b/src/cayenne/action.clj @@ -145,6 +145,11 @@ #(apply doaj/apply-to %) #(apply cat/apply-to %))) +(def index-es-docs + (comp + es-index/index-item + #(apply itree/centre-on %))) + (def store-item (comp (partial mongo/insert-item "items") diff --git a/src/cayenne/elastic/index.clj b/src/cayenne/elastic/index.clj index 9e1b091a..ac40b5b4 100644 --- a/src/cayenne/elastic/index.clj +++ b/src/cayenne/elastic/index.clj @@ -9,7 +9,10 @@ [cayenne.ids.member :as member-id] [cayenne.ids.orcid :as orcid-id] [cayenne.ids :as ids] - [clojure.string :as string])) + [clojure.string :as string] + [qbits.spandex :as elastic] + [cayenne.conf :as conf] + [cayenne.elastic.util :as elastic-util])) (def contributions [:author :chair :editor :translator :contributor]) @@ -44,7 +47,7 @@ (item-id item :owner-prefix :converter prefix-id/extract-prefix)) (defn item-member-id [item] - (item-id item :member-id :converter member-id/extract-member-id)) + (item-id item :member :converter member-id/extract-member-id)) (defn item-orcid [item] (item-id item :orcid :converter orcid-id/extract-orcid)) @@ -291,7 +294,7 @@ (defn index-command [item] (let [doi (item-doi item) - publisher (itree/get-tree-rel item :publisher) + publisher (-> item (itree/get-tree-rel :publisher) first) journal-issue (itree/find-item-of-subtype item :journal-issue) journal-volume (itree/find-item-of-subtype item :journal-volume)] [{:index {:_id doi}} @@ -364,3 +367,10 @@ :event (item-events item) :standards-body (item-standards-body item)}])) +(defn index-item [item] + (elastic/request + (conf/get-service :elastic) + {:method :post :url "work/work/_bulk" + :body (elastic-util/raw-jsons (index-command item))})) + + diff --git a/src/cayenne/elastic/mappings.clj b/src/cayenne/elastic/mappings.clj index 9d42121c..9729a0a9 100644 --- a/src/cayenne/elastic/mappings.clj +++ b/src/cayenne/elastic/mappings.clj @@ -56,7 +56,7 @@ (def license-properties {:version {:type "keyword"} :url {:type "keyword"} - :delay {:type "integer"} + :delay {:type "long"} :start {:type "date"}}) (def assertion-properties From 0a20fe852faa5b21ebd41b70305370b24534b5c7 Mon Sep 17 00:00:00 2001 From: Karl Jonathan Ward Date: Tue, 31 Oct 2017 22:18:43 +0000 Subject: [PATCH 019/156] Basic queries and DOI look up via elastic search --- src/cayenne/api/v1/query.clj | 46 +++- src/cayenne/api/v1/routes.clj | 2 +- src/cayenne/data/work.clj | 144 ++++++------ src/cayenne/elastic/convert.clj | 373 ++++++++++++++++++++++++++++++++ src/cayenne/elastic/index.clj | 368 +------------------------------ 5 files changed, 486 insertions(+), 447 deletions(-) create mode 100644 src/cayenne/elastic/convert.clj diff --git a/src/cayenne/api/v1/query.clj b/src/cayenne/api/v1/query.clj index 3585327a..3a11c9dd 100644 --- a/src/cayenne/api/v1/query.clj +++ b/src/cayenne/api/v1/query.clj @@ -121,18 +121,18 @@ ;; todo this should be passed in to ->query-context (def sort-fields - {"score" ["score"] - "relevance" ["score"] - "updated" ["deposited_at"] - "deposited" ["deposited_at"] - "indexed" ["indexed_at"] - "created" ["first_deposited_at"] - "published-print" ["print_year" "print_month" "print_day"] - "published-online" ["online_year" "online_month" "online_day"] - "published" ["year" "month" "day"] - "issued" ["year" "month" "day"] - "is-referenced-by-count" ["cited_by_count"] - "references-count" ["citation_count"] + {"score" [:score] + "relevance" [:score] + "updated" [:deposited] + "deposited" [:deposited] + "indexed" [:indexed] + "created" [:first-deposited] + "published-print" [:published-print] + "published-online" [:published-online] + "published" [:published] + "issued" [:published] + "is-referenced-by-count" [:is-referenced-by-count] + "references-count" [:references-count] ;; for deposits (todo separate these out) "submitted" :submitted-at}) @@ -261,6 +261,28 @@ (doto solr-query (.addField field-name))))) solr-query) +(defn ->es-query [query-context & {:keys [paged id-field filters count-only] + :or {paged true + id-field nil + filters {} + count-only false}}] + (let [metadata-query (str (:terms query-context) + " " + (:raw-terms query-context))] + (cond-> {} + (and (string/blank? metadata-query) + (nil? id-field)) + (assoc :match_all {}) + + (not (string/blank? metadata-query)) + (assoc :match {:metadata-content metadata-query}) + + id-field + (assoc-in [:bool :must :term] {id-field (:id query-context)})))) + + ;; (not (empty? (:filters query-context))) + ;; (assoc-in [:bool :must] + (defn ->solr-query [query-context & {:keys [paged id-field filters count-only] :or {paged true diff --git a/src/cayenne/api/v1/routes.clj b/src/cayenne/api/v1/routes.clj index f51eb9ca..def0c018 100644 --- a/src/cayenne/api/v1/routes.clj +++ b/src/cayenne/api/v1/routes.clj @@ -218,7 +218,7 @@ :allowed-methods [:get :options :head] :available-media-types t/json :exists? (->1 #(when-let [work (-> doi - (doi-id/to-long-doi-uri) + doi-id/extract-long-doi (work/fetch-one))] {:work work})) :handle-ok :work) diff --git a/src/cayenne/data/work.clj b/src/cayenne/data/work.clj index 40abbcef..7e8f1b56 100644 --- a/src/cayenne/data/work.clj +++ b/src/cayenne/data/work.clj @@ -14,11 +14,11 @@ [clojure.string :as string] [clojure.data.json :as json] [cayenne.ids.doi :as doi] - [clojure.set :as set]) + [clojure.set :as set] + [qbits.spandex :as elastic] + [cayenne.elastic.convert :as convert]) (:import [java.lang RuntimeException] - [java.net URLEncoder] - [org.apache.solr.client.solrj SolrRequest SolrRequest$METHOD]) - ) + [java.net URLEncoder])) ;; todo eventually produce citeproc from more detailed data stored in mongo ;; for each DOI that comes back from solr. For now, covert the solr fields @@ -43,37 +43,25 @@ (m/fetch-one :where {:id (Integer/parseInt (member-id/extract-member-id id))}) :prefix))) -(defn with-member-id [metadata] - (if (:member metadata) - metadata - (assoc metadata :member (get-id-for-prefix "members" (:prefix metadata))))) - -(def reference-visibilities - {"open" ["open"] - "limited" ["open" "limited"] - "closed" ["open" "limited" "closed"]}) - (defn display-citations? [metadata] (when (:member metadata) (let [prefix (prefix-id/extract-prefix (:prefix metadata)) member-id (member-id/extract-member-id (:member metadata)) - member-prefix-info (get-member-prefix-info "members" member-id) - visibilities (or (-> [:service :api :references] - conf/get-param - reference-visibilities) - ["open"])] + member-prefix-info (get-member-prefix-info "members" member-id)] (not (empty? (filter #(and (= (:value %) prefix) - (some #{(:reference-visibility %)} visibilities)) + (:public-references %)) member-prefix-info)))))) -(defn with-citations [metadata] - (if (display-citations? metadata) - metadata - (-> metadata - (dissoc :reference) - (update-in [:relation] dissoc :cites)))) +;; (defn with-citations [metadata] +;; (if (display-citations? metadata) +;; metadata +;; (-> metadata +;; (dissoc :reference) +;; (update-in [:relation] dissoc :cites)))) + +(defn with-citations [metadata] metadata) (defn partial-response? [query-response] (.. query-response (getResponseHeader) (get "partialResults"))) @@ -85,13 +73,11 @@ #(not (if (coll? (second %)) (empty? (second %)) (nil? (second %)))) (if (empty? (:select query-context)) (-> doc - citeproc/->citeproc - with-member-id + convert/es-doc->citeproc with-citations) (-> doc - citeproc/->citeproc + convert/es-doc->citeproc (select-keys (map keyword (:select query-context))) - with-member-id with-citations))))) (defn indexed @@ -134,22 +120,22 @@ (drop 20 records)))) (defn fetch [query-context & {:keys [id-field] :or {id-field nil}}] - (let [response (-> (conf/get-service :solr) - (.query (query/->solr-query query-context - :id-field id-field - :filters filter/std-filters) SolrRequest$METHOD/POST )) - doc-list (.getResults response)] - (if (partial-response? response) - (throw (RuntimeException. "Solr returned a partial result set")) - (-> (r/api-response :work-list) - (r/with-debug-info response query-context) - (r/with-result-facets (facet/->response-facets response)) - (r/with-result-items - (.getNumFound doc-list) - (-> (map render-record (repeat query-context) doc-list) - reordered-preprints) - :next-cursor (.getNextCursorMark response)) - (r/with-query-context-info query-context))))) + (let [response (-> (conf/get-service :elastic) + (elastic/request + {:method :post :url "work/work/_search" + :body {:query (query/->es-query query-context + :id-field id-field + :filters filter/std-filters)}})) + doc-list (get-in response [:body :hits :hits])] + (-> (r/api-response :work-list) + ;; (r/with-debug-info response query-context) + ;; (r/with-result-facets (facet/->response-facets response)) + (r/with-result-items + (get-in response [:body :hits :total]) + (-> (map render-record (repeat query-context) doc-list) + reordered-preprints) + :next-cursor "todo") + (r/with-query-context-info query-context)))) (defn fetch-reverse [query-context] (let [terms (query/clean-terms (:terms query-context) :remove-syntax true) @@ -162,43 +148,61 @@ (throw (RuntimeException. "Solr returned a partial result set")) (if (zero? (.getNumFound doc-list)) (r/api-response :nothing) - (let [doc (-> doc-list first citeproc/->citeproc with-member-id)] + (let [doc (-> doc-list first convert/es-doc->citeproc)] (if (or (< (count (string/split terms #"\s")) 4) (< (:score doc) 2)) (r/api-response :nothing) (r/api-response :work :content doc))))))) (defn fetch-one "Fetch a known DOI." - [doi-uri] - (let [response (-> (conf/get-service :solr) - (.query (query/->solr-query {:id doi-uri} - :id-field "doi")))] - (if (partial-response? response) - (throw (RuntimeException. "Solr returned a partail result set")) - (when-let [doc (-> response (.getResults) first)] - (r/api-response :work :content (-> (citeproc/->citeproc doc) - with-member-id - with-citations)))))) + [doi] + (let [response (-> (conf/get-service :elastic) + (elastic/request + {:method :post :url "work/work/_search" + :body {:query (query/->es-query {:id doi} + :id-field :doi)}}))] + (when-let [doc (first (get-in response [:body :hits :hits]))] + (r/api-response :work :content (-> doc + convert/es-doc->citeproc + with-citations))))) + +(def agency-label + {"10.SERV/DEFAULT" "Default" + "10.SERV/CROSSREF" "Crossref" + "10.SERV/DATACITE" "DataCite" + "10.SERV/MEDRA" "mEDRA"}) + +(def agency-id + {"10.SERV/DEFAULT" "default" + "10.SERV/CROSSREF" "crossref" + "10.SERV/DATACITE" "datacite" + "10.SERV/MEDRA" "medra"}) (defn get-agency [doi] - @(http/get (str (conf/get-param [:upstream :doi-ra-url]) - doi))) - -(defn parse-agency [{:keys [status headers body error]}] - (when-not error - (-> body - (json/read-str :key-fn keyword) - first - :RA))) + (let [extracted-doi (doi-id/normalize-long-doi doi) + {:keys [status headers body error]} + @(http/get (str (conf/get-param [:upstream :ra-url]) + (doi-id/extract-long-prefix extracted-doi)))] + (when-not error + (let [vals (-> body + (json/read-str :key-fn keyword) + :values) + hs-serv-index-value 1] + (get-in + (first + (filter + #(= (:index %) hs-serv-index-value) + vals)) + [:data :value]))))) (defn ->agency-response [doi agency] (r/api-response :work-agency :content {:DOI (doi-id/normalize-long-doi doi) - :agency {:id (clojure.string/lower-case agency) - :label agency}})) + :agency {:id (or (agency-id agency) agency) + :label (or (agency-label agency) agency)}})) (defn fetch-agency [doi] (let [extracted-doi (doi-id/normalize-long-doi doi) - agency-fn (comp parse-agency get-agency)] - (->agency-response doi (agency-fn extracted-doi)))) + agency (get-agency extracted-doi)] + (->agency-response doi agency))) diff --git a/src/cayenne/elastic/convert.clj b/src/cayenne/elastic/convert.clj new file mode 100644 index 00000000..27b9f828 --- /dev/null +++ b/src/cayenne/elastic/convert.clj @@ -0,0 +1,373 @@ +(ns cayenne.elastic.convert + (:require [cayenne.ids.doi :as doi-id] + [cayenne.item-tree :as itree] + [cayenne.util :as util] + [clj-time.core :as t] + [cayenne.ids.issn :as issn-id] + [cayenne.ids.isbn :as isbn-id] + [cayenne.ids.prefix :as prefix-id] + [cayenne.ids.member :as member-id] + [cayenne.ids.orcid :as orcid-id] + [cayenne.ids :as ids] + [clojure.string :as string])) + +(def contributions [:author :chair :editor :translator :contributor]) + +(defn particle->date-time [particle] + (let [year (-> particle :year util/parse-int-safe) + month (-> particle :month util/parse-int-safe) + day (-> particle :day util/parse-int-safe)] + (cond (and year month day) + (if (< (t/number-of-days-in-the-month year month) day) + (t/date-time year month) + (t/date-time year month day)) + (and year month) + (t/date-time year month) + :else + (t/date-time year)))) + +(defn item-id [item id-type & {:keys [converter] + :or {converter identity}}] + (when-let [id (-> item (itree/get-item-ids id-type) first)] + (converter id))) + +(defn item-doi [item] + (item-id item :long-doi :converter doi-id/extract-long-doi)) + +(defn item-issn [item] + (item-id item :issn :converter issn-id/extract-issn)) + +(defn item-isbn [item] + (item-id item :isbn :converter isbn-id/extract-isbn)) + +(defn item-owner-prefix [item] + (item-id item :owner-prefix :converter prefix-id/extract-prefix)) + +(defn item-member-id [item] + (item-id item :member :converter member-id/extract-member-id)) + +(defn item-orcid [item] + (item-id item :orcid :converter orcid-id/extract-orcid)) + +(defn item-type [item] + (-> item itree/get-item-subtype name)) + +(defn item-issued-date [item] + (->> (concat + (itree/get-item-rel item :posted) + (itree/get-item-rel item :published-print) + (itree/get-item-rel item :published-online) + (itree/get-item-rel item :published-other) + (itree/get-item-rel item :published) + (itree/get-tree-rel item :content-created)) + (sort-by particle->date-time) + first + particle->date-time)) + +(defn item-date [item date-rel] + (when-let [first-date (-> item (itree/get-item-rel date-rel) first)] + (particle->date-time first-date))) + +(defn item-plain-abstract [item] + (-> item (itree/get-item-rel :abstract) first :plain)) + +(defn item-xml-abstract [item] + (-> item (itree/get-item-rel :abstract) first :xml)) + +(defn journal-volume [item] + (-> item (itree/find-item-of-subtype :journal-volume) :volume)) + +(defn journal-issue [item] + (-> item (itree/find-item-of-subtype :journal-issue) :issue)) + +(defn item-titles [item & {:keys [subtype]}] + (let [titles (itree/get-item-rel item :title)] + (if subtype + (->> titles + (filter #(= subtype (itree/get-item-subtype %))) + (map :value)) + (map :value titles)))) + +(defn item-container-titles [item & {:keys [subtype]}] + (let [titles (->> (itree/get-item-rel item :ancestor) + (mapcat #(itree/get-item-rel % :title)))] + (if subtype + (->> titles + (filter #(= subtype (itree/get-item-subtype %))) + (map :value)) + (map :value titles)))) + +(defn item-standards-body [item] + (when-let [standards-body (-> item + (itree/get-tree-rel :standards-body) + first)] + (select-keys standards-body [:name :acronym]))) + +(defn item-issns [item] + (map + #(hash-map :value (-> % :value issn-id/extract-issn) + :type (:kind %)) + (itree/get-tree-rel item :issn))) + +(defn item-isbns [item] + (map + #(hash-map :value (-> % :value isbn-id/extract-isbn) + :type (:kind %)) + (itree/get-tree-rel item :isbn))) + +(defn item-update-policy [item] + (when-let [policy (-> item (itree/get-tree-rel :update-policy) first)] + (:value policy))) + +(defn item-domain-exclusive [item] + (-> item + (itree/get-item-rel :domain-exclusive) + first + (or false))) + +(defn item-contributors [item] + (mapcat + (fn [contributor-rel] + (map + #(hash-map + :contribution (name contributor-rel) + :given-name (:first-name %) + :family-name (:last-name %) + :org-name (:name %) + :suffix (:suffix %) + :prefix (:prefix %) + :orcid (item-orcid %) + :orcid-authenticated (:orcid-authenticated %) + :affiliation (as-> % $ + (itree/get-item-rel $ :affiliation) + (map :name $))) + (itree/get-tree-rel item contributor-rel))) + contributions)) + +(defn item-funders [item] + (map + (fn [funder] + (let [awards (->> (itree/get-tree-rel funder :award) + (map #(item-id % :awarded)))] + {:name (:name funder) + :doi (item-doi funder) + :doi-asserted-by (:doi-asserted-by funder) + :award awards})) + (itree/get-tree-rel item :funder))) + +(defn item-clinical-trials [item] + (map + #(hash-map + :number (:ctn %) + :registry (:registry %) + :type (:ctn-type %)) + (itree/get-tree-rel item :clinical-trial-number))) + +(defn item-events [item] + (map + #(-> % + (select-keys [:name :theme :location + :acronym :number :sponsor]) + (assoc :start (item-date % :start)) + (assoc :end (item-date % :end))) + (itree/get-tree-rel item :event))) + +(defn item-links [item] + (map + #(hash-map + :content-type (:content-type %) + :url (:value %) + :version (:content-version %) + :application (:intended-application %)) + (itree/get-tree-rel item :resource-fulltext))) + +(defn item-licenses [item] + (letfn [(difference-in-days [a b] + (if (t/after? a b) + 0 + (-> (t/interval a b) + (t/in-days))))] + (map + #(let [issued-date (item-issued-date item) + start-date (or (item-date % :start) issued-date)] + {:version (:content-version %) + :url (:value %) + :delay (difference-in-days issued-date start-date) + :start start-date}) + (itree/get-tree-rel item :license)))) + +(defn item-assertions [item] + (map + #(select-keys % [:name :label :group-name + :group-label :url :explanation-url + :value :order]) + (itree/get-tree-rel item :assertion))) + +(defn item-relations [item] + (map + #(hash-map + :type (-> % :subtype name) + :object (:object %) + :object-type (:object-type %) + :object-ns (:object-namespace %) + :claimed-by (-> % :claimed-by name)) + (itree/get-tree-rel item :relation))) + +(defn item-references [item] + (as-> item $ + (itree/get-tree-rel $ :citation) + (map + #(select-keys % [:doi :doi-asserted-by :key + :issn :issn-type :isbn :isbn-type + :author :volume :issue :first-page :year + :isbn :isbn-type :edition :component + :standard-designator :standards-body + :unstructured :article-title :series-title + :volume-title :journal-title]) + $))) + +(defn item-update-ofs [item] + (map + #(hash-map + :doi (:value %) + :type (itree/get-item-subtype %) + :label (:label %) + :date (item-date % :updated)) + (itree/find-items-of-type item :update))) + +(defn contributor-name [contributor] + (or + (:org-name contributor) + (str (:given-name contributor) " " (:family-name contributor)))) + +(defn contributor-initials [contributor] + (letfn [(initials [first-name] + (when first-name + (as-> first-name $ + (string/split $ #"[\s\-]+") + (map first $) + (string/join " " $))))] + (or + (:org-name contributor) + (str + (-> contributor :given-name initials) + " " + (:family-name contributor))))) + +(defn item-base-content [item] + (->> + (vector + (t/year (item-issued-date item)) + (t/year (item-date item :published-print)) + (journal-issue item) + (journal-volume item) + (:first-page item) + (:last-page item)) + (concat (map :value (item-issns item))) + (concat (map :value (item-isbns item))) + (concat (item-titles item)) + (concat (item-container-titles item)) + (string/join " "))) + +(defn item-bibliographic-content + "Fields related to bibliographic citation look up" + [item] + (string/join + " " + (-> [(item-base-content item)] + (concat (map contributor-initials (item-contributors item)))))) + +(defn item-metadata-content + "A default set of search fields" + [item] + (string/join + " " + (-> [(item-base-content item)] + (conj (:description item)) + (concat (map ids/extract-supplementary-id (itree/get-tree-ids item :supplementary))) ; plain supp ids + (concat (map contributor-name (item-contributors item))) ; full names + (concat (mapcat itree/get-item-ids (itree/get-tree-rel item :awarded))) ; grant numbers + (concat (map :name (itree/get-tree-rel item :funder)))))) ; funder names + +(defn item->es-doc [item] + (let [doi (item-doi item) + publisher (-> item (itree/get-tree-rel :publisher) first) + journal-issue (itree/find-item-of-subtype item :journal-issue) + journal-volume (itree/find-item-of-subtype item :journal-volume)] + {:doi doi + :type (item-type item) + :prefix (doi-id/extract-long-prefix doi) + :owner-prefix (item-owner-prefix publisher) + :member-id (item-member-id publisher) + :supplementary-id (itree/get-item-ids item :supplementary) + + :published (item-issued-date item) + :published-online (item-date item :published-online) + :published-print (item-date item :published-print) + :published-other (item-date item :published-other) + :posted (item-date item :posted) + :accepted (item-date item :accepted) + :content-created (item-date item :content-created) + :content-updated (item-date item :content-updated) + :approved (item-date item :approved) + :deposited (item-date item :deposited) + :first-deposited (item-date item :first-deposited) + :indexed (t/now) + + :is-referenced-by-count (-> item (itree/get-tree-rel :cited-count) first) + :references-count (-> item (itree/get-tree-rel :citation) count) + + :publisher (:name publisher) + :publisher-location (:location publisher) + + :title (item-titles item :subtype :long) + :short-title (item-titles item :subtype :short) + :original-title (item-titles item :subtype :original) + :group-title (item-titles item :subtype :group) + :subtitle (item-titles item :subtype :secondary) + :container-title (item-container-titles item :subtype :long) + :short-container-title (item-container-titles item :subtype :short) + + :first-page (:first-page item) + :last-page (:last-page item) + :issue (:issue journal-issue) + :volume (:volume journal-volume) + :description (:description item) + ;; :article-number + :degree (map :value (itree/get-item-rel item :degree)) + ;; :edition-number + ;; :part-number + ;; :component-number + + :update-policy (item-update-policy item) + :domain (itree/get-item-rel item :domains) + :domain-exclusive (item-domain-exclusive item) + :archive (map :name (itree/get-item-rel item :archived-with)) + + :abstract (item-plain-abstract item) + :abstract-xml (item-xml-abstract item) + :metadata-content (item-metadata-content item) + :bibliographic-content (item-bibliographic-content item) + + :isbn (item-isbns item) + :issn (item-issns item) + :reference (item-references item) + :license (item-licenses item) + :link (item-links item) + :update-of (item-update-ofs item) + :assertion (item-assertions item) + :relation (item-relations item) + :contributor (item-contributors item) + :funder (item-funders item) + :clinical-trial (item-clinical-trials item) + :event (item-events item) + :standards-body (item-standards-body item)})) + +(defn es-doc->citeproc [es-doc] + (-> es-doc + (get :_source) + (select-keys [:title :short-title :original-title :group-title :subtitle + :container-title :short-container-title :issue :volume + :description :degree :update-policy :archive :type :prefix + :owner-prefix :member-id]) + (assoc :score (:_score es-doc)))) diff --git a/src/cayenne/elastic/index.clj b/src/cayenne/elastic/index.clj index ac40b5b4..78cc8a86 100644 --- a/src/cayenne/elastic/index.clj +++ b/src/cayenne/elastic/index.clj @@ -1,376 +1,16 @@ (ns cayenne.elastic.index - (:require [cayenne.ids.doi :as doi-id] - [cayenne.item-tree :as itree] - [cayenne.util :as util] - [clj-time.core :as t] - [cayenne.ids.issn :as issn-id] - [cayenne.ids.isbn :as isbn-id] - [cayenne.ids.prefix :as prefix-id] - [cayenne.ids.member :as member-id] - [cayenne.ids.orcid :as orcid-id] - [cayenne.ids :as ids] - [clojure.string :as string] + (:require [cayenne.elastic.convert :as convert] [qbits.spandex :as elastic] [cayenne.conf :as conf] [cayenne.elastic.util :as elastic-util])) -(def contributions [:author :chair :editor :translator :contributor]) - -(defn particle->date-time [particle] - (let [year (-> particle :year util/parse-int-safe) - month (-> particle :month util/parse-int-safe) - day (-> particle :day util/parse-int-safe)] - (cond (and year month day) - (if (< (t/number-of-days-in-the-month year month) day) - (t/date-time year month) - (t/date-time year month day)) - (and year month) - (t/date-time year month) - :else - (t/date-time year)))) - -(defn item-id [item id-type & {:keys [converter] - :or {converter identity}}] - (when-let [id (-> item (itree/get-item-ids id-type) first)] - (converter id))) - -(defn item-doi [item] - (item-id item :long-doi :converter doi-id/extract-long-doi)) - -(defn item-issn [item] - (item-id item :issn :converter issn-id/extract-issn)) - -(defn item-isbn [item] - (item-id item :isbn :converter isbn-id/extract-isbn)) - -(defn item-owner-prefix [item] - (item-id item :owner-prefix :converter prefix-id/extract-prefix)) - -(defn item-member-id [item] - (item-id item :member :converter member-id/extract-member-id)) - -(defn item-orcid [item] - (item-id item :orcid :converter orcid-id/extract-orcid)) - -(defn item-type [item] - (-> item itree/get-item-subtype name)) - -(defn item-issued-date [item] - (->> (concat - (itree/get-item-rel item :posted) - (itree/get-item-rel item :published-print) - (itree/get-item-rel item :published-online) - (itree/get-item-rel item :published-other) - (itree/get-item-rel item :published) - (itree/get-tree-rel item :content-created)) - (sort-by particle->date-time) - first - particle->date-time)) - -(defn item-date [item date-rel] - (when-let [first-date (-> item (itree/get-item-rel date-rel) first)] - (particle->date-time first-date))) - -(defn item-plain-abstract [item] - (-> item (itree/get-item-rel :abstract) first :plain)) - -(defn item-xml-abstract [item] - (-> item (itree/get-item-rel :abstract) first :xml)) - -(defn journal-volume [item] - (-> item (itree/find-item-of-subtype :journal-volume) :volume)) - -(defn journal-issue [item] - (-> item (itree/find-item-of-subtype :journal-issue) :issue)) - -(defn item-titles [item & {:keys [subtype]}] - (let [titles (itree/get-item-rel item :title)] - (if subtype - (->> titles - (filter #(= subtype (itree/get-item-subtype %))) - (map :value)) - (map :value titles)))) - -(defn item-container-titles [item & {:keys [subtype]}] - (let [titles (->> (itree/get-item-rel item :ancestor) - (mapcat #(itree/get-item-rel % :title)))] - (if subtype - (->> titles - (filter #(= subtype (itree/get-item-subtype %))) - (map :value)) - (map :value titles)))) - -(defn item-standards-body [item] - (when-let [standards-body (-> item - (itree/get-tree-rel :standards-body) - first)] - (select-keys standards-body [:name :acronym]))) - -(defn item-issns [item] - (map - #(hash-map :value (-> % :value issn-id/extract-issn) - :type (:kind %)) - (itree/get-tree-rel item :issn))) - -(defn item-isbns [item] - (map - #(hash-map :value (-> % :value isbn-id/extract-isbn) - :type (:kind %)) - (itree/get-tree-rel item :isbn))) - -(defn item-update-policy [item] - (when-let [policy (-> item (itree/get-tree-rel :update-policy) first)] - (:value policy))) - -(defn item-domain-exclusive [item] - (-> item - (itree/get-item-rel :domain-exclusive) - first - (or false))) - -(defn item-contributors [item] - (mapcat - (fn [contributor-rel] - (map - #(hash-map - :contribution (name contributor-rel) - :given-name (:first-name %) - :family-name (:last-name %) - :org-name (:name %) - :suffix (:suffix %) - :prefix (:prefix %) - :orcid (item-orcid %) - :orcid-authenticated (:orcid-authenticated %) - :affiliation (as-> % $ - (itree/get-item-rel $ :affiliation) - (map :name $))) - (itree/get-tree-rel item contributor-rel))) - contributions)) - -(defn item-funders [item] - (map - (fn [funder] - (let [awards (->> (itree/get-tree-rel funder :award) - (map #(item-id % :awarded)))] - {:name (:name funder) - :doi (item-doi funder) - :doi-asserted-by (:doi-asserted-by funder) - :award awards})) - (itree/get-tree-rel item :funder))) - -(defn item-clinical-trials [item] - (map - #(hash-map - :number (:ctn %) - :registry (:registry %) - :type (:ctn-type %)) - (itree/get-tree-rel item :clinical-trial-number))) - -(defn item-events [item] - (map - #(-> % - (select-keys [:name :theme :location - :acronym :number :sponsor]) - (assoc :start (item-date % :start)) - (assoc :end (item-date % :end))) - (itree/get-tree-rel item :event))) - -(defn item-links [item] - (map - #(hash-map - :content-type (:content-type %) - :url (:value %) - :version (:content-version %) - :application (:intended-application %)) - (itree/get-tree-rel item :resource-fulltext))) - -(defn item-licenses [item] - (letfn [(difference-in-days [a b] - (if (t/after? a b) - 0 - (-> (t/interval a b) - (t/in-days))))] - (map - #(let [issued-date (item-issued-date item) - start-date (or (item-date % :start) issued-date)] - {:version (:content-version %) - :url (:value %) - :delay (difference-in-days issued-date start-date) - :start start-date}) - (itree/get-tree-rel item :license)))) - -(defn item-assertions [item] - (map - #(select-keys % [:name :label :group-name - :group-label :url :explanation-url - :value :order]) - (itree/get-tree-rel item :assertion))) - -(defn item-relations [item] - (map - #(hash-map - :type (-> % :subtype name) - :object (:object %) - :object-type (:object-type %) - :object-ns (:object-namespace %) - :claimed-by (-> % :claimed-by name)) - (itree/get-tree-rel item :relation))) - -(defn item-references [item] - (as-> item $ - (itree/get-tree-rel $ :citation) - (map - #(select-keys % [:doi :doi-asserted-by :key - :issn :issn-type :isbn :isbn-type - :author :volume :issue :first-page :year - :isbn :isbn-type :edition :component - :standard-designator :standards-body - :unstructured :article-title :series-title - :volume-title :journal-title]) - $))) - -(defn item-update-ofs [item] - (map - #(hash-map - :doi (:value %) - :type (itree/get-item-subtype %) - :label (:label %) - :date (item-date % :updated)) - (itree/find-items-of-type item :update))) - -(defn contributor-name [contributor] - (or - (:org-name contributor) - (str (:given-name contributor) " " (:family-name contributor)))) - -(defn contributor-initials [contributor] - (letfn [(initials [first-name] - (when first-name - (as-> first-name $ - (string/split $ #"[\s\-]+") - (map first $) - (string/join " " $))))] - (or - (:org-name contributor) - (str - (-> contributor :given-name initials) - " " - (:family-name contributor))))) - -(defn item-base-content [item] - (->> - (vector - (t/year (item-issued-date item)) - (t/year (item-date item :published-print)) - (journal-issue item) - (journal-volume item) - (:first-page item) - (:last-page item)) - (concat (map :value (item-issns item))) - (concat (map :value (item-isbns item))) - (concat (item-titles item)) - (concat (item-container-titles item)) - (string/join " "))) - -(defn item-bibliographic-content - "Fields related to bibliographic citation look up" - [item] - (string/join - " " - (-> [(item-base-content item)] - (concat (map contributor-initials (item-contributors item)))))) - -(defn item-metadata-content - "A default set of search fields" - [item] - (string/join - " " - (-> [(item-base-content item)] - (conj (:description item)) - (concat (map ids/extract-supplementary-id (itree/get-tree-ids item :supplementary))) ; plain supp ids - (concat (map contributor-name (item-contributors item))) ; full names - (concat (mapcat itree/get-item-ids (itree/get-tree-rel item :awarded))) ; grant numbers - (concat (map :name (itree/get-tree-rel item :funder)))))) ; funder names - (defn index-command [item] - (let [doi (item-doi item) - publisher (-> item (itree/get-tree-rel :publisher) first) - journal-issue (itree/find-item-of-subtype item :journal-issue) - journal-volume (itree/find-item-of-subtype item :journal-volume)] - [{:index {:_id doi}} - {:doi doi - :type (item-type item) - :prefix (doi-id/extract-long-prefix doi) - :owner-prefix (item-owner-prefix publisher) - :member-id (item-member-id publisher) - :supplementary-id (itree/get-item-ids item :supplementary) - - :published (item-issued-date item) - :published-online (item-date item :published-online) - :published-print (item-date item :published-print) - :published-other (item-date item :published-other) - :posted (item-date item :posted) - :accepted (item-date item :accepted) - :content-created (item-date item :content-created) - :content-updated (item-date item :content-updated) - :approved (item-date item :approved) - :deposited (item-date item :deposited) - :first-deposited (item-date item :first-deposited) - :indexed (t/now) - - :is-referenced-by-count (-> item (itree/get-tree-rel :cited-count) first) - :references-count (-> item (itree/get-tree-rel :citation) count) - - :publisher (:name publisher) - :publisher-location (:location publisher) - - :title (item-titles item :subtype :long) - :short-title (item-titles item :subtype :short) - :original-title (item-titles item :subtype :original) - :group-title (item-titles item :subtype :group) - :subtitle (item-titles item :subtype :secondary) - :container-title (item-container-titles item :subtype :long) - :short-container-title (item-container-titles item :subtype :short) - - :first-page (:first-page item) - :last-page (:last-page item) - :issue (:issue journal-issue) - :volume (:volume journal-volume) - :description (:description item) - ;; :article-number - :degree (map :value (itree/get-item-rel item :degree)) - ;; :edition-number - ;; :part-number - ;; :component-number - - :update-policy (item-update-policy item) - :domain (itree/get-item-rel item :domains) - :domain-exclusive (item-domain-exclusive item) - :archive (map :name (itree/get-item-rel item :archived-with)) - - :abstract (item-plain-abstract item) - :abstract-xml (item-xml-abstract item) - :metadata-content (item-metadata-content item) - :bibliographic-content (item-bibliographic-content item) - - :isbn (item-isbns item) - :issn (item-issns item) - :reference (item-references item) - :license (item-licenses item) - :link (item-links item) - :update-of (item-update-ofs item) - :assertion (item-assertions item) - :relation (item-relations item) - :contributor (item-contributors item) - :funder (item-funders item) - :clinical-trial (item-clinical-trials item) - :event (item-events item) - :standards-body (item-standards-body item)}])) + (let [es-doc (convert/item->es-doc item)] + [{:index {:_id (:doi es-doc)}} es-doc])) (defn index-item [item] (elastic/request (conf/get-service :elastic) {:method :post :url "work/work/_bulk" :body (elastic-util/raw-jsons (index-command item))})) - - + From 8795ce459b81ebfa003c2c67f727c6fb4d2866fa Mon Sep 17 00:00:00 2001 From: Karl Jonathan Ward Date: Wed, 1 Nov 2017 01:30:06 +0000 Subject: [PATCH 020/156] Basic filters for ES queries --- src/cayenne/api/v1/filter.clj | 30 +++++++++++++++--------------- src/cayenne/api/v1/query.clj | 12 ++++++++---- src/cayenne/data/work.clj | 4 ++-- src/cayenne/elastic/convert.clj | 1 + 4 files changed, 26 insertions(+), 21 deletions(-) diff --git a/src/cayenne/api/v1/filter.clj b/src/cayenne/api/v1/filter.clj index 5f2cde5b..2d56edac 100644 --- a/src/cayenne/api/v1/filter.clj +++ b/src/cayenne/api/v1/filter.clj @@ -154,26 +154,26 @@ (defn greater-than-zero [field] (fn [val] (cond (#{"t" "true" "1"} (.toLowerCase val)) - (str field ":[1 TO *]") + {:range {field {:gte 1}}} (#{"f" "false" "0"} (.toLowerCase val)) - (str field ":0")))) + {:range {field {:lte 0}}}))) (defn existence [field] (fn [val] (cond (#{"t" "true" "1"} (.toLowerCase val)) - (str field ":[* TO *]") + {:exists {:field field}} (#{"f" "false" "0"} (.toLowerCase val)) - (str "-" field ":[* TO *]")))) + {:missing {:field field}}))) (defn bool [field] (fn [val] (cond (#{"t" "true" "1"} (.toLowerCase val)) - (str field ":true") + {:term {field true}} (#{"f" "false" "0"} (.toLowerCase val)) - (str field ":false")))) + {:term {field false}}))) (defn equality [field & {:keys [transformer] :or {transformer identity}}] - (fn [val] (str field ":\"" (transformer val) "\""))) + (fn [val] {:term {field (transformer val)}})) (defn replace-keys [m kr] (into {} (map (fn [[k v]] (if-let [replacement (get kr k)] [replacement v] [k v])) m))) @@ -342,7 +342,7 @@ "content-domain" (equality "domains") "has-content-domain" (existence "domains") "has-domain-restriction" (bool "domain_exclusive") - "updates" (equality "update_doi" :transformer doi-id/to-long-doi-uri) + "updates" (equality "update_doi" :transformer doi-id/extract-long-doi) "update-type" (equality "update_type") "has-abstract" (existence "abstract") "has-full-text" (existence "full_text_url") @@ -350,8 +350,8 @@ "has-references" (greater-than-zero "citation_count") "has-update-policy" (existence "update_policy") "has-archive" (existence "archive") - "has-orcid" (existence "orcid") - "has-authenticated-orcid" (bool "contributor_orcid_authed") + "has-orcid" (existence "contributor.orcid") + "has-authenticated-orcid" (bool "contributor.authenticated-orcid") "has-affiliation" (existence "affiliation") "has-funder" (existence "funder_name") "has-funder-doi" (existence "funder_doi") @@ -370,14 +370,14 @@ ;; watch the above - oa_status field changing to directory soon "archive" (equality "archive") "article-number" (equality "article_number") - "issn" (equality "issn" :transformer issn/to-issn-uri) - "isbn" (equality "isbn" :transformer isbn/to-isbn-uri) - "type" (equality "type" :transformer type-id/->index-id) + "issn" (equality "issn" :transformer issn/extract-issn) + "isbn" (equality "isbn" :transformer isbn/extract-isbn) + "type" (equality "type") "type-name" (equality "type") - "orcid" (equality "orcid" :transformer orcid/to-orcid-uri) + "orcid" (equality "contributor.orcid" :transformer orcid/extract-orcid) "assertion" (equality "assertion_name") "assertion-group" (equality "assertion_group_name") - "doi" (equality "doi_key" :transformer doi-id/to-long-doi-uri) + "doi" (equality "doi" :transformer doi-id/extract-long-doi) "group-title" (equality "hl_group_title") "container-title" (equality "publication") "category-name" (equality "category") diff --git a/src/cayenne/api/v1/query.clj b/src/cayenne/api/v1/query.clj index 3a11c9dd..a0b56df0 100644 --- a/src/cayenne/api/v1/query.clj +++ b/src/cayenne/api/v1/query.clj @@ -266,22 +266,26 @@ id-field nil filters {} count-only false}}] + (println (:filters query-context)) (let [metadata-query (str (:terms query-context) " " (:raw-terms query-context))] (cond-> {} (and (string/blank? metadata-query) - (nil? id-field)) + (nil? id-field) + (empty? (:filters query-context))) (assoc :match_all {}) (not (string/blank? metadata-query)) (assoc :match {:metadata-content metadata-query}) id-field - (assoc-in [:bool :must :term] {id-field (:id query-context)})))) + (assoc-in [:bool :must :term] {id-field (:id query-context)}) - ;; (not (empty? (:filters query-context))) - ;; (assoc-in [:bool :must] + ;; todo only considering first filter value + (-> query-context :filters empty? not) + (assoc-in [:bool :filter] (map #((-> % first name filters) (-> % second first)) + (:filters query-context)))))) (defn ->solr-query [query-context & {:keys [paged id-field filters count-only] diff --git a/src/cayenne/data/work.clj b/src/cayenne/data/work.clj index 7e8f1b56..5ca7ae00 100644 --- a/src/cayenne/data/work.clj +++ b/src/cayenne/data/work.clj @@ -122,7 +122,7 @@ (defn fetch [query-context & {:keys [id-field] :or {id-field nil}}] (let [response (-> (conf/get-service :elastic) (elastic/request - {:method :post :url "work/work/_search" + {:method :get :url "work/work/_search" :body {:query (query/->es-query query-context :id-field id-field :filters filter/std-filters)}})) @@ -158,7 +158,7 @@ [doi] (let [response (-> (conf/get-service :elastic) (elastic/request - {:method :post :url "work/work/_search" + {:method :get :url "work/work/_search" :body {:query (query/->es-query {:id doi} :id-field :doi)}}))] (when-let [doc (first (get-in response [:body :hits :hits]))] diff --git a/src/cayenne/elastic/convert.clj b/src/cayenne/elastic/convert.clj index 27b9f828..5101fa1f 100644 --- a/src/cayenne/elastic/convert.clj +++ b/src/cayenne/elastic/convert.clj @@ -370,4 +370,5 @@ :container-title :short-container-title :issue :volume :description :degree :update-policy :archive :type :prefix :owner-prefix :member-id]) + (assoc :DOI (get-in es-doc [:_source :doi])) (assoc :score (:_score es-doc)))) From 0fce1c8c410357d662553a07db40a94a6ed95d89 Mon Sep 17 00:00:00 2001 From: Karl Jonathan Ward Date: Wed, 1 Nov 2017 10:36:57 +0000 Subject: [PATCH 021/156] Mostly working ES filters, dates in ES to citeproc convertion --- src/cayenne/api/v1/filter.clj | 501 ++++++++++---------------------- src/cayenne/conf.clj | 4 +- src/cayenne/elastic/convert.clj | 41 ++- 3 files changed, 193 insertions(+), 353 deletions(-) diff --git a/src/cayenne/api/v1/filter.clj b/src/cayenne/api/v1/filter.clj index 2d56edac..b56aaae8 100644 --- a/src/cayenne/api/v1/filter.clj +++ b/src/cayenne/api/v1/filter.clj @@ -6,7 +6,6 @@ [cayenne.util :as util] [cayenne.conf :as conf] [cayenne.ids :as ids] - [cayenne.ids.fundref :as fundref] [cayenne.ids.type :as type-id] [cayenne.ids.prefix :as prefix] [cayenne.ids.issn :as issn] @@ -14,50 +13,12 @@ [cayenne.ids.orcid :as orcid] [cayenne.ids.doi :as doi-id] [cayenne.ids.ctn :as ctn] - [somnium.congomongo :as m] - [clojure.string :as string])) + [clojure.string :as string] + [cayenne.ids.member :as member-id])) -;; Solr filter helpers +;; Helpers ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -(defn field-is [field-name match] - (str field-name ":" match)) - -(defn field-is-esc [field-name match] - (str field-name ":\"" match "\"")) - -(defn field-gt [field-name val] - (str field-name ":[" (+ 1 val) " TO *]")) - -(defn field-gte [field-name val] - (str field-name ":[" val " TO *]")) - -(defn field-lt [field-name val] - (str field-name ":[* TO " (- val 1) "]")) - -(defn field-lte [field-name val] - (str field-name ":[* TO " val "]")) - -(defn q-or [& more] - (str "(" (string/join " " (interpose "OR" more)) ")")) - -(defn q-and [& more] - (str "(" (string/join " " (interpose "AND" more)) ")")) - -(defn field-lt-or-gt [field-name val end-point] - (cond - (= end-point :from) - (field-gt field-name val) - (= end-point :until) - (field-lt field-name val))) - -(defn field-lte-or-gte [field-name val end-point] - (cond - (= end-point :from) - (field-gte field-name val) - (= end-point :until) - (field-lte field-name val))) - (defn split-date [date-str] (let [date-parts (string/split date-str #"-")] {:year (Integer/parseInt (first date-parts)) @@ -84,335 +45,191 @@ ;; end of year (dt/plus d (dt/years 1)))))) -;; Solr filters +;; Elastic filters ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; - -(defn stamp-date [date-stamp-field direction] - (fn [val] - (let [d (obj-date val :direction direction)] - (if (= direction :from) - (str date-stamp-field ":[" d " TO *]") - (str date-stamp-field ":[* TO " d "]"))))) - -;; if year-month and month==12 and :until drop month -;; if year-month and month==1 and :from drop month -;; if year-month-day and day==ldom and :until drop day -;; if year-month-day and day==0 and :from drop day - -(defn alias-date - "Alias some split dates depending on whether this is an interval - start or end date. For example, the first day of a month, when - a start date, can drop the day of month. Allows us to, for example, - include a date specified as only yyyy-MM when filter specified as - yyyy-MM-last-day-of-MM." - [sd val direction] - (let [d (obj-date val) - sd-after-day - (cond (and (= (:day sd) 1) - (= direction :from)) - (assoc sd :day -1) - - (and (not= (:day sd) -1) - (dp/last-day-of-month? d) - (= direction :until)) - (assoc sd :day -1) - - :else - sd)] - (if (not= (:day sd-after-day) -1) - sd-after-day - (cond (and (= (:month sd-after-day) 1) - (= direction :from)) - (assoc sd-after-day :month -1) - - (and (= (:month sd-after-day) 12) - (= direction :until)) - (assoc sd-after-day :month -1) - - :else - sd-after-day)))) - -(defn particle-date [year-field month-field day-field end-point] - (fn [val] - (let [d (-> val split-date (alias-date val end-point))] - (cond (not= (:day d) -1) - (q-or - (field-lt-or-gt year-field (:year d) end-point) - (q-and (field-is year-field (:year d)) - (field-lt-or-gt month-field (:month d) end-point)) - (q-and (field-is year-field (:year d)) - (field-is month-field (:month d)) - (field-lte-or-gte day-field (:day d) end-point))) - (not= (:month d) -1) - (q-or - (field-lt-or-gt year-field (:year d) end-point) - (q-and (field-is year-field (:year d)) - (field-lte-or-gte month-field (:month d) end-point))) - (:year d) - (field-lte-or-gte year-field (:year d) end-point))))) (defn greater-than-zero [field] (fn [val] (cond (#{"t" "true" "1"} (.toLowerCase val)) - {:range {field {:gte 1}}} + {:occurrence :filter + :clause {:range {field {:gte 1}}}} (#{"f" "false" "0"} (.toLowerCase val)) - {:range {field {:lte 0}}}))) + {:occurrence :filter + :clause {:range {field {:lte 0}}}}))) (defn existence [field] (fn [val] (cond (#{"t" "true" "1"} (.toLowerCase val)) - {:exists {:field field}} + {:occurrence :filter + :clause {:exists {:field field}}} (#{"f" "false" "0"} (.toLowerCase val)) - {:missing {:field field}}))) + {:occurrence :must-not + :clause {:exists {:field field}}}))) (defn bool [field] (fn [val] (cond (#{"t" "true" "1"} (.toLowerCase val)) - {:term {field true}} + {:occurrence :filter + :clause {:term {field true}}} (#{"f" "false" "0"} (.toLowerCase val)) - {:term {field false}}))) + {:occurrence :filter + :clause {:term {field false}}}))) (defn equality [field & {:keys [transformer] :or {transformer identity}}] - (fn [val] {:term {field (transformer val)}})) - -(defn replace-keys [m kr] - (into {} (map (fn [[k v]] (if-let [replacement (get kr k)] [replacement v] [k v])) m))) - -(defn compound [prefix ordering & {:keys [transformers matchers aliases] - :or {transformers {} matchers {} aliases {}}}] - (fn [m] - (let [mr (replace-keys m aliases) - field-names (filter mr ordering) - field-name-parts (butlast field-names) - value-name-part (last field-names)] - (str prefix - "_" - (apply str (interpose "_" field-names)) - (when (not (empty? field-name-parts)) "_") - (apply str (->> field-name-parts - (map #(if (transformers %) - ((transformers %) (first (get mr %))) - (first (get mr %)))) - (interpose "_"))) - (if (matchers value-name-part) - ((matchers value-name-part) (first (get mr value-name-part))) - (str ":\"" (first (get mr value-name-part)) "\"")))))) - -(defn generated - "Generate a list of filter values from a single query-provided value." - [field & {:keys [generator]}] - (fn [val] - (->> (generator val) - (map #(field-is-esc field %)) - (apply q-or)))) - -(defn member-prefix-generator [value] - (let [val (Integer/parseInt value) - member-doc (m/with-mongo (conf/get-service :mongo) - (m/fetch-one "members" :where {:id val}))] - (if member-doc - (map prefix/to-prefix-uri (:prefixes member-doc)) - ["nothing"]))) ; 'nothing' forces filter to match nothing if we have no prefixes - - - -;;========= - (declare member-filters) - - (defn local-mongo-query [query-context - & {:keys [where filters id-field] - :or {where {} filters {} id-field nil}}] - (let [filter-where (into {} - (map (fn [[n v]] - ((filters (name n)) v)) - (:filters query-context)))] - (concat - [:where (merge - where - filter-where - (when id-field {id-field (:id query-context)}))] - (when (:sort query-context) - [:sort {(:sort query-context) - (if (= (:order query-context) :asc) 1 -1)}]) - (when (:rows query-context) - [:limit (:rows query-context)]) - (when (:offset query-context) - [:skip (:offset query-context)])))) - -(defn filter-prefixes [member val] - (doall(filter #(= val (:reference-visibility %)) (:prefix member )) ) -) + (fn [val] {:occurrence :filter :clause {:term {field (transformer val)}}})) -(defn multi-equality [field] +(defn date-range [field end-point] (fn [val] - (let [ - query-context {:filters {:reference-visibility val}} - mongo-query (local-mongo-query query-context - :filters member-filters) - docs (m/with-mongo (conf/get-service :mongo) - (apply m/fetch "members" mongo-query)) - result-count ( m/with-mongo (conf/get-service :mongo) - (apply m/fetch-count "members" mongo-query)) + (condp = end-point + :from + {:occurrence :filter + :clause {:range {field {:gte (.toString (obj-date val :direction end-point))}}}} + :until + {:occurrence :filter + :clause {:range {field {:lte (.toString (obj-date val :direction end-point))}}}}))) +(defn replace-keys [m kr] + (into {} (map (fn [[k v]] (if-let [replacement (get kr k)] [replacement v] [k v])) m))) - results (str "{!terms f=" field "}" - (apply str - (for [member docs] - (apply str - (for [prefix (filter-prefixes member val)] - (str "http://id.crossref.org/prefix/"(:value prefix) "," ) - )))))] -;; Helpfull debug print statements -;; (doseq [member docs] -;; ( doseq [px ( mikes-stuff member val ) ] -;; (println (str (:value px) " : " ( :reference-visibility px))))) -;; (println result-count " : " results) - - results ))) - - - -;;======= -;; Mongo filters -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; - -(defn mongo-stamp-date [field direction] - (fn [val] - (let [fval (if (sequential? val) (first val) val) - date-val (-> fval (obj-date :direction direction) dc/to-date)] - (cond (= direction :from) - {field {"$gte" date-val}} - (= direction :until) - {field {"$lte" date-val}})))) - -(defn mongo-equality [field & {:keys [transformer] :or {transformer identity}}] +;; todo handle multiple compound fields (only getting one at a time right now) +;; todo :transformers +(defn nested-terms [prefix suffixes & {:keys [transformers]}] (fn [val] - (if (sequential? val) - {field {"$in" (map transformer val)}} - {field (transformer val)}))) - -(defn mongo-bool [field] + (println val) + (let [field-name (->> val first (str (name prefix) ".") keyword)] + {:occurrence :filter + :clause + {:nested {:path prefix :query {:term {field-name (-> val second first)}}}}}))) + + ;; (letfn [(field-name [field] + ;; (keyword (str (name prefix) + ;; "." + ;; (-> (keyword field) suffixes name))))] + ;; (fn [m] + ;; (println m) + ;; (let [term-filters (map #(hash-map :terms {(field-name (first %)) + ;; (-> % second first)}) + ;; m)] + ;; {:nested {:path prefix :query {:bool {:filter term-filters}}}})))) + +(defn nested [filter-fn path] (fn [val] - (let [fval (if (sequential? val) (first val) val)] - (cond (#{"t" "true" "1"} (.toLowerCase fval)) - {field true} - (#{"f" "false" "0"} (.toLowerCase fval)) - {field false})))) + (let [filter-clause (filter-fn val)] + {:occurrence (:occurrence filter-clause) + :clause {:nested {:path path :query {:bool {:filter (:clause filter-clause)}}}}}))) ;; Filter definitions ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -(def compound-fields - {:full-text ["type" "application" "version"] - :license ["url" "version" "delay"] - :award ["funder_doi" "number"] - :relation ["type" "object_type" "object"]}) - (def std-filters - {"reference-visibility" (multi-equality "owner_prefix") - "from-update-date" (stamp-date "deposited_at" :from) - "until-update-date" (stamp-date "deposited_at" :until) - "from-index-date" (stamp-date "indexed_at" :from) - "until-index-date" (stamp-date "indexed_at" :until) - "from-deposit-date" (stamp-date "deposited_at" :from) - "until-deposit-date" (stamp-date "deposited_at" :until) - "from-created-date" (stamp-date "first_deposited_at" :from) - "until-created-date" (stamp-date "first_deposited_at" :until) - "from-pub-date" (particle-date "year" "month" "day" :from) - "until-pub-date" (particle-date "year" "month" "day" :until) - "from-issued-date" (particle-date "year" "month" "day" :from) - "until-issued-date" (particle-date "year" "month" "day" :until) - "from-online-pub-date" (particle-date "online_year" "online_month" "online_day" :from) - "until-online-pub-date" (particle-date "online_year" "online_month" "online_day" :until) - "from-print-pub-date" (particle-date "print_year" "print_month" "print_day" :from) - "until-print-pub-date" (particle-date "print_year" "print_month" "print_day" :until) - "from-posted-date" (particle-date "posted_year" "posted_month" "posted_day" :from) - "until-posted-date" (particle-date "posted_year" "posted_month" "posted_day" :until) - "from-accepted-date" (particle-date "accepted_year" "accepted_month" "accepted_day" :from) - "until-accepted-date" (particle-date "accepted_year" "accepted_month" "accepted_day" :until) - "from-event-start-date" (particle-date "event_start_year" "event_start_month" "event_start_day" :from) - "until-event-start-date" (particle-date "event_start_year" "event_start_month" "event_start_day" :until) - "from-event-end-date" (particle-date "event_end_year" "event_end_month" "event_end_day" :from) - "until-event-end-date" (particle-date "event_end_year" "event_end_month" "event_end_day" :until) - "from-approved-date" (particle-date "approved_year" "approved_month" "approved_day" :from) - "until-approved-date" (particle-date "approved_year" "approved_month" "approved_day" :until) - "has-event" (existence "event_name") - "is-update" (existence "update_doi") - "has-update" (existence "update_by_doi") - "content-domain" (equality "domains") - "has-content-domain" (existence "domains") - "has-domain-restriction" (bool "domain_exclusive") - "updates" (equality "update_doi" :transformer doi-id/extract-long-doi) - "update-type" (equality "update_type") - "has-abstract" (existence "abstract") - "has-full-text" (existence "full_text_url") - "has-license" (existence "license_url") - "has-references" (greater-than-zero "citation_count") - "has-update-policy" (existence "update_policy") - "has-archive" (existence "archive") - "has-orcid" (existence "contributor.orcid") - "has-authenticated-orcid" (bool "contributor.authenticated-orcid") - "has-affiliation" (existence "affiliation") - "has-funder" (existence "funder_name") - "has-funder-doi" (existence "funder_doi") - "has-award" (existence "award_number") - "has-relation" (existence "relation_type") - "funder-doi-asserted-by" (equality "funder_record_doi_asserted_by") - "has-assertion" (existence "assertion_name") - "has-clinical-trial-number" (existence "clinical_trial_number_ctn") - "full-text" (compound "full_text" (:full-text compound-fields) - :transformers {"type" util/slugify - "application" util/slugify}) - "license" (compound "license" (:license compound-fields) - :transformers {"url" util/slugify} - :matchers {"delay" #(str ":[* TO " % "]")}) - "directory" (equality "oa_status" :transformer string/upper-case) - ;; watch the above - oa_status field changing to directory soon - "archive" (equality "archive") - "article-number" (equality "article_number") - "issn" (equality "issn" :transformer issn/extract-issn) - "isbn" (equality "isbn" :transformer isbn/extract-isbn) - "type" (equality "type") - "type-name" (equality "type") - "orcid" (equality "contributor.orcid" :transformer orcid/extract-orcid) - "assertion" (equality "assertion_name") - "assertion-group" (equality "assertion_group_name") - "doi" (equality "doi" :transformer doi-id/extract-long-doi) - "group-title" (equality "hl_group_title") - "container-title" (equality "publication") - "category-name" (equality "category") - "clinical-trial-number" (equality "clinical_trial_number_proxy" :transformer ctn/ctn-proxy) - "alternative-id" (equality "supplementary_id" :transformer ids/to-supplementary-id-uri) - - ;; todo award_funder_doi_number should place funder_doi in value - "award" (compound "award" (:award compound-fields) - :transformers {"funder_doi" (comp util/slugify fundref/normalize-to-doi-uri)} - :matchers {"number" #(str ":\"" (-> % string/lower-case (string/replace #"[\s_\-]+" "")) "\"") - "funder_doi" #(str ":\"" (fundref/normalize-to-doi-uri %) "\"")} - :aliases {"funder" "funder_doi"}) - - "relation" (compound "relation" (:relation compound-fields)) - "member" (generated "owner_prefix" :generator member-prefix-generator) - "prefix" (equality "owner_prefix" :transformer prefix/to-prefix-uri) - "funder" (equality "funder_doi" :transformer fundref/normalize-to-doi-uri)}) - -(def deposit-filters - {"from-submission-time" (mongo-stamp-date "submitted-at" :from) - "until-submission-time" (mongo-stamp-date "submitted-at" :until) - "status" (mongo-equality "status") - "owner" (mongo-equality "owner") - "type" (mongo-equality "content-type") - "doi" (mongo-equality "dois" :transformer doi-id/normalize-long-doi) - "test" (mongo-bool "test")}) + {"from-update-date" (date-range :deposited :from) + "until-update-date" (date-range :deposited :until) + "from-index-date" (date-range :indexed :from) + "until-index-date" (date-range :indexed :until) + "from-deposit-date" (date-range :deposited :from) + "until-deposit-date" (date-range :deposited :until) + "from-created-date" (date-range :first-deposited :from) + "until-created-date" (date-range :first-deposited :until) + "from-pub-date" (date-range :published :from) + "until-pub-date" (date-range :published :until) + "from-issued-date" (date-range :published :from) + "until-issued-date" (date-range :published :until) + "from-online-pub-date" (date-range :published-online :from) + "until-online-pub-date" (date-range :published-online :until) + "from-print-pub-date" (date-range :published-print :from) + "until-print-pub-date" (date-range :published-print :until) + "from-posted-date" (date-range :posted :from) + "until-posted-date" (date-range :posted :until) + "from-accepted-date" (date-range :accepted :from) + "until-accepted-date" (date-range :accepted :until) + "from-event-start-date" (date-range :event.start :from) + "until-event-start-date" (date-range :event.start :until) + "from-event-end-date" (date-range :event.end :from) + "until-event-end-date" (date-range :event.end :until) + "from-approved-date" (date-range :approved :from) + "until-approved-date" (date-range :approved :until) + "has-event" (existence :event) + "is-update" (-> (existence :update-to) (nested :update-to)) + "has-update" (-> (existence :updated-by) (nested :updated-by)) + "content-domain" (equality :domain) + "has-content-domain" (existence :domain) + "has-domain-restriction" (bool :domain-exclusive) + "updates" (-> (equality :update.doi + :transformer doi-id/extract-long-doi) + (nested :update)) + "update-type" (-> (equality :update.type) + (nested :update)) + "has-abstract" (existence :abstract) + "has-full-text" (-> (existence :link) (nested :link)) + "has-license" (-> (existence :license) (nested :license)) + "has-references" (greater-than-zero :references-count) + "has-update-policy" (existence :update-policy) + "has-archive" (existence :archive) + "has-orcid" (-> (existence :contributor.orcid) (nested :contributor)) + "has-authenticated-orcid" (-> (bool :contributor.orcid-authenticated) + (nested :contributor)) + "has-affiliation" (-> (existence :contributor.affiliation) + (nested :contributor)) + "has-funder" (-> (existence :funder) (nested :funder)) + "has-funder-doi" (-> (existence :funder.doi) (nested :funder)) + "has-award" (-> (existence :funder.award) (nested :funder)) + "has-relation" (-> (existence :relation) (nested :relation)) + "funder-doi-asserted-by" (-> (equality :funder.doi-asserted-by) (nested :funder)) + "has-assertion" (-> (existence :assertion) (nested :assertion)) + "has-clinical-trial-number" (-> (existence :clinical-trial) (nested :clinical-trial)) + "full-text" (nested-terms :link {:type :content-type + :application :application + :version :version}) + "license" (nested-terms :license {:url :url + :version :version + :delay :delay} + :matchers {:delay #(str ":[* TO " % "]")}) + "archive" (equality :archive) + "article-number" (equality :article-number) + "issn" (equality :issn.value :transformer issn/extract-issn) + "isbn" (equality :isbn.value :transformer isbn/extract-isbn) + "type" (equality :type) + "type-name" (equality :type) + "orcid" (-> (equality :contributor.orcid + :transformer orcid/extract-orcid) + (nested :contriburor)) + "assertion" (-> (equality :assertion.name) (nested :assertion)) + "assertion-group" (-> (equality :assertion.group-name) (nested :assertion)) + "doi" (equality :doi :transformer doi-id/extract-long-doi) + "group-title" (equality :group-title) + "container-title" (equality :container-title) + "clinical-trial-number" (-> (equality :clinical-trial.number) + (nested :clinical-trial)) + "alternative-id" (equality :supplementary-id) + "award" (nested-terms :funder {:funder-doi :doi + :funder :doi + :number :award} + :transformers + {:funder-doi doi-id/with-funder-prefix + :funder doi-id/with-funder-prefix + :number #(-> % + string/lower-case + string/replace #"[\s_\-]+" "")}) + "relation" (nested-terms :relation {:type :type + :object-type :object-type + :object-ns :object-ns + :claimed-by :claimed-by + :object :object}) + "member" (equality :member-id + :transformer member-id/extract-member-id) + "journal" (equality :journal-id) + "prefix" (equality :owner-prefix + :transformer prefix/extract-prefix) + "funder" (equality :funder-doi + :transformer doi-id/with-funder-prefix)}) (def member-filters - {"prefix" (mongo-equality "prefixes") - "has-public-references" (mongo-bool "public-references") - "reference-visibility" (mongo-equality "prefix.reference-visibility") - "backfile-doi-count" (mongo-equality "counts.backfile-dois" - :transformer util/parse-int-safe) - "current-doi-count" (mongo-equality "counts.current-dois" - :transformer util/parse-int-safe)}) - + {"prefix" (equality :prefix.value) + "has-public-references" (bool :prefix.public-references)}) + (def funder-filters - {"location" (mongo-equality "country")}) + {"location" (equality :country) + "child" (equality :child :transformer doi-id/with-funder-prefix) + "ancestor" (equality :ancestor :transformer doi-id/with-funder-prefix) + "parent" (equality :parent :transformer doi-id/with-funder-prefix) + "descendant" (equality :descendant :transformer doi-id/with-funder-prefix)}) diff --git a/src/cayenne/conf.clj b/src/cayenne/conf.clj index 63ed9f1f..26f1b1e2 100644 --- a/src/cayenne/conf.clj +++ b/src/cayenne/conf.clj @@ -131,8 +131,8 @@ (set-param! [:id :isbn :path] "http://id.crossref.org/isbn/") (set-param! [:id :orcid :path] "http://orcid.org/") (set-param! [:id :owner-prefix :path] "http://id.crossref.org/prefix/") - (set-param! [:id :long-doi :path] "http://dx.doi.org/") - (set-param! [:id :short-doi :path] "http://doi.org/") + (set-param! [:id :long-doi :path] "https://doi.org/") + (set-param! [:id :short-doi :path] "https://doi.org/") (set-param! [:id :supplementary :path] "http://id.crossref.org/supp/") (set-param! [:id :contributor :path] "http://id.crossref.org/contributor/") (set-param! [:id :member :path] "http://id.crossref.org/member/") diff --git a/src/cayenne/elastic/convert.clj b/src/cayenne/elastic/convert.clj index 5101fa1f..0878605b 100644 --- a/src/cayenne/elastic/convert.clj +++ b/src/cayenne/elastic/convert.clj @@ -9,7 +9,9 @@ [cayenne.ids.member :as member-id] [cayenne.ids.orcid :as orcid-id] [cayenne.ids :as ids] - [clojure.string :as string])) + [clojure.string :as string] + [clj-time.format :as tf] + [clj-time.coerce :as tc])) (def contributions [:author :chair :editor :translator :contributor]) @@ -363,12 +365,33 @@ :event (item-events item) :standards-body (item-standards-body item)})) +(defn citeproc-date [date-str] + (when date-str + (let [instant (tf/parse (tf/formatters :date-time) date-str)] + {:date-parts [[(t/year instant) (t/month instant) (t/day instant)]] + :date-time (.toString instant) + :timestamp (tc/to-long instant)}))) + (defn es-doc->citeproc [es-doc] - (-> es-doc - (get :_source) - (select-keys [:title :short-title :original-title :group-title :subtitle - :container-title :short-container-title :issue :volume - :description :degree :update-policy :archive :type :prefix - :owner-prefix :member-id]) - (assoc :DOI (get-in es-doc [:_source :doi])) - (assoc :score (:_score es-doc)))) + (let [source-doc (:_source es-doc)] + (-> source-doc + (select-keys [:title :short-title :original-title :group-title :subtitle + :container-title :short-container-title :issue :volume + :description :degree :update-policy :archive :type :prefix + :owner-prefix :member-id]) + (assoc :DOI (:doi source-doc)) + (assoc :URL (-> source-doc :doi doi-id/to-long-doi-uri)) + (assoc :issued (-> source-doc :published citeproc-date)) + (assoc :published-print (-> source-doc :published-print citeproc-date)) + (assoc :published-online (-> source-doc :published-online citeproc-date)) + (assoc :published-other (-> source-doc :published-other citeproc-date)) + (assoc :posted (-> source-doc :posted citeproc-date)) + (assoc :accepted (-> source-doc :accepted citeproc-date)) + (assoc :approved (-> source-doc :approved citeproc-date)) + (assoc :indexed (-> source-doc :indexed citeproc-date)) + (assoc :deposited (-> source-doc :deposited citeproc-date)) + (assoc :first-deposited (-> source-doc :first-deposited citeproc-date)) + (assoc :content-created (-> source-doc :content-created citeproc-date)) + (assoc :content-updated (-> source-doc :content-updated citeproc-date)) + + (assoc :score (:_score es-doc))))) From 037d1cd44279c3d583c81a63844ed11b78f2358c Mon Sep 17 00:00:00 2001 From: Karl Jonathan Ward Date: Thu, 2 Nov 2017 11:32:44 +0000 Subject: [PATCH 022/156] Nested filters for nested document fields --- src/cayenne/api/v1/query.clj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/cayenne/api/v1/query.clj b/src/cayenne/api/v1/query.clj index a0b56df0..5c8b55d1 100644 --- a/src/cayenne/api/v1/query.clj +++ b/src/cayenne/api/v1/query.clj @@ -280,7 +280,7 @@ (assoc :match {:metadata-content metadata-query}) id-field - (assoc-in [:bool :must :term] {id-field (:id query-context)}) + (assoc-in [:bool :filter :term] {id-field (:id query-context)}) ;; todo only considering first filter value (-> query-context :filters empty? not) From 17bb9ca64fc5081f3e74614c127489c881acd2b2 Mon Sep 17 00:00:00 2001 From: Karl Jonathan Ward Date: Thu, 2 Nov 2017 11:33:02 +0000 Subject: [PATCH 023/156] Additional metadata in ES doc to citeproc conversion --- src/cayenne/elastic/convert.clj | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/src/cayenne/elastic/convert.clj b/src/cayenne/elastic/convert.clj index 0878605b..2fed75cd 100644 --- a/src/cayenne/elastic/convert.clj +++ b/src/cayenne/elastic/convert.clj @@ -372,15 +372,30 @@ :date-time (.toString instant) :timestamp (tc/to-long instant)}))) +(defn citeproc-pages [{:keys [first-page last-page]}] + (cond (and (not (string/blank? last-page)) + (not (string/blank? first-page))) + (str first-page "-" last-page) + (not (string/blank? first-page)) + first-page + :else + nil)) + (defn es-doc->citeproc [es-doc] (let [source-doc (:_source es-doc)] (-> source-doc (select-keys [:title :short-title :original-title :group-title :subtitle :container-title :short-container-title :issue :volume :description :degree :update-policy :archive :type :prefix - :owner-prefix :member-id]) + :owner-prefix :member-id :references-count :is-referenced-by-count]) + + (assoc :ISSN (->> source-doc :issn (map :value))) + (assoc :ISBN (->> source-doc :isbn (map :value))) + (assoc :issn-type (:issn source-doc)) + (assoc :isbn-type (:isbn source-doc)) (assoc :DOI (:doi source-doc)) (assoc :URL (-> source-doc :doi doi-id/to-long-doi-uri)) + (assoc :page (citeproc-pages source-doc)) (assoc :issued (-> source-doc :published citeproc-date)) (assoc :published-print (-> source-doc :published-print citeproc-date)) (assoc :published-online (-> source-doc :published-online citeproc-date)) From 3638f7e53d7c09a955b314455a06eb365ffbb04f Mon Sep 17 00:00:00 2001 From: Karl Jonathan Ward Date: Thu, 2 Nov 2017 15:46:36 +0000 Subject: [PATCH 024/156] Add journal id to work mapping --- src/cayenne/elastic/convert.clj | 4 +++- src/cayenne/elastic/mappings.clj | 1 + src/cayenne/formats/unixsd.clj | 7 ++++++- 3 files changed, 10 insertions(+), 2 deletions(-) diff --git a/src/cayenne/elastic/convert.clj b/src/cayenne/elastic/convert.clj index 2fed75cd..553c1ed1 100644 --- a/src/cayenne/elastic/convert.clj +++ b/src/cayenne/elastic/convert.clj @@ -301,6 +301,7 @@ :prefix (doi-id/extract-long-prefix doi) :owner-prefix (item-owner-prefix publisher) :member-id (item-member-id publisher) + :journal-id (:journal-id publisher) :supplementary-id (itree/get-item-ids item :supplementary) :published (item-issued-date item) @@ -387,7 +388,8 @@ (select-keys [:title :short-title :original-title :group-title :subtitle :container-title :short-container-title :issue :volume :description :degree :update-policy :archive :type :prefix - :owner-prefix :member-id :references-count :is-referenced-by-count]) + :owner-prefix :member-id :journal-id + :references-count :is-referenced-by-count]) (assoc :ISSN (->> source-doc :issn (map :value))) (assoc :ISBN (->> source-doc :isbn (map :value))) diff --git a/src/cayenne/elastic/mappings.clj b/src/cayenne/elastic/mappings.clj index 9729a0a9..09cdb304 100644 --- a/src/cayenne/elastic/mappings.clj +++ b/src/cayenne/elastic/mappings.clj @@ -112,6 +112,7 @@ :prefix {:type "keyword"} :owner-prefix {:type "keyword"} :member-id {:type "integer"} + :journal-id {:type "integer"} :supplementary-id {:type "keyword"} :title {:type "text"} :original-title {:type "text"} diff --git a/src/cayenne/formats/unixsd.clj b/src/cayenne/formats/unixsd.clj index c3206346..7d205384 100644 --- a/src/cayenne/formats/unixsd.clj +++ b/src/cayenne/formats/unixsd.clj @@ -10,7 +10,8 @@ [clj-time.core :as t] [clj-time.format :as tf] [clojure.string :as str] - [taoensso.timbre :as timbre :refer [error info]])) + [taoensso.timbre :as timbre :refer [error info]] + [clojure.string :as string])) (defn parse-crm-item-date [s] (when-not (str/blank? s) @@ -30,6 +31,10 @@ :> "crm-item" [:= "name" "publisher-name"] :text)) + (itree/add-property :journal-id (-> oai-record + (xml/xselect1 :> "crm-item" + [:= "name" "journal-id"] :text) + string/trim)) (itree/add-id (-> oai-record (xml/xselect1 :> "crm-item" [:= "name" "member-id"] :text) From da4be757b0b6b5aa8848f40c1c377da01ee6caa7 Mon Sep 17 00:00:00 2001 From: Karl Jonathan Ward Date: Tue, 7 Nov 2017 13:32:05 +0000 Subject: [PATCH 025/156] Working select parameter for ES --- src/cayenne/api/v1/query.clj | 220 ++++++++++++++++--------------- src/cayenne/data/work.clj | 10 +- src/cayenne/elastic/convert.clj | 4 +- src/cayenne/elastic/mappings.clj | 2 +- 4 files changed, 123 insertions(+), 113 deletions(-) diff --git a/src/cayenne/api/v1/query.clj b/src/cayenne/api/v1/query.clj index 5c8b55d1..5c9f4219 100644 --- a/src/cayenne/api/v1/query.clj +++ b/src/cayenne/api/v1/query.clj @@ -11,9 +11,6 @@ [taoensso.timbre :as timbre :refer [info error]]) (:import [org.apache.solr.client.solrj SolrQuery SolrQuery$ORDER])) -;; todo complete validation of query context params -;; and error response on invalid params - (def default-offset 0) (def default-rows 20) (def max-rows 1000) @@ -22,7 +19,82 @@ (def default-facet-rows 20) (def max-facet-rows 1000) -(defn clean-terms [terms & {:keys [remove-syntax] :or {remove-syntax false}}] +;; todo this should be passed in to ->query-context +(def sort-fields + {"score" [:score] + "relevance" [:score] + "updated" [:deposited] + "deposited" [:deposited] + "indexed" [:indexed] + "created" [:first-deposited] + "published-print" [:published-print] + "published-online" [:published-online] + "published" [:published] + "issued" [:published] + "is-referenced-by-count" [:is-referenced-by-count] + "references-count" [:references-count] + + ;; for deposits (todo separate these out) + "submitted" :submitted-at}) + +;; todo this should be passed in to ->query-context +(def select-fields + {"DOI" [:doi] + "member" [:member-id] + "prefix" [:owner-prefix] + "URL" [:doi] + "issued" [:published] + "created" [:first-deposited] + "deposited" [:deposited] + "indexed" [:indexed] + "publisher" [:publisher] + "references-count" [:references-count] + "is-referenced-by-count" [:is-referenced-by-count] + "type" [:type] + "content-domain" [:domain :domain-exclusive] + "relation" [:reference.* :relation.*] + "published-online" [:published-online] + "published-print" [:published-print] + "posted" [:posted] + "accepted" [:accepted] + "content-created" [:content-created] + "approved" [:approved] + "publisher-location" [:publisher-location] + "abstract" [:abstract-xml] + "article-number" [:article-number] + "volume" [:volume] + "issue" [:issue] + "ISBN" [:isbn.*] + "ISSN" [:issn.*] + "degree" [:degree] + "alternative-id" [:supplementary-id] + "title" [:title] + "short-title" [:short-title] + "original-title" [:original-title] + "subtitle" [:subtitle] + "container-title" [:container-title] + "short-container-title" [:short-container-title] + "group-title" [:group-title] + "archive" [:archive] + "update-policy" [:update-policy] + "update-to" [:update-to.*] + "updated-by" [:updated-by.*] + "license" [:license.*] + "link" [:link.*] + "page" [:first-page :last-page] + "funder" [:funder.*] + "assertion" [:assertion.*] + "clinical-trial-number" [:clinical-trial.*] + "issn-type" [:issn.*] + "event" [:event.*] + "reference" [:refernece.*] + "author" [:contributor.*] + "editor" [:contributor.*] + "chair" [:contributor.*] + "translator" [:contributor.*] + "standards-body" [:standards-body.*]}) + +(defn clean-terms [terms & {:keys [remove-syntax] :or {remove-syntax false}}] (if-not remove-syntax terms (-> terms @@ -118,84 +190,7 @@ :else :desc)) :desc)) - -;; todo this should be passed in to ->query-context -(def sort-fields - {"score" [:score] - "relevance" [:score] - "updated" [:deposited] - "deposited" [:deposited] - "indexed" [:indexed] - "created" [:first-deposited] - "published-print" [:published-print] - "published-online" [:published-online] - "published" [:published] - "issued" [:published] - "is-referenced-by-count" [:is-referenced-by-count] - "references-count" [:references-count] - - ;; for deposits (todo separate these out) - "submitted" :submitted-at}) - -;; todo this should be passed in to ->query-context -(def select-fields - {"DOI" ["doi"] - "score" ["score"] - "member" ["member_id"] - "prefix" ["owner_prefix"] - "URL" ["doi"] - "issued" ["year" "month" "day"] - "created" ["first_deposited_at"] - "deposited" ["deposited_at"] - "indexed" ["indexed_at"] - "publisher" ["publisher"] - "references-count" ["citation_count"] - "is-referenced-by-count" ["cited_by_count"] - "type" ["type"] - "content-domain" ["domains" "domain_exclusive"] - "relation" ["citation_*" "relation_*"] - "published-online" ["online_*"] - "published-print" ["print_*"] - "posted" ["posted_*"] - "accepted" ["accepted_*"] - "content-created" ["content_created_*"] - "approved" ["approved_*"] - "publisher-location" ["publisher_location"] - "abstract" ["abstract_xml"] - "article-number" ["article_number"] - "volume" ["hl_volume"] - "issue" ["hl_issue"] - "ISBN" ["isbn"] - "ISSN" ["issn"] - "degree" ["degree"] - "alternative-id" ["supplementary_id"] - "title" ["hl_title"] - "short-title" ["hl_short_title"] - "original-title" ["hl_original_title"] - "subtitle" ["hl_subtitle"] - "container-title" ["hl_publication"] - "short-container-title" ["hl_short_publication"] - "group-title" ["hl_group_title"] - "subject" ["category"] - "archive" ["archive"] - "update-policy" ["update_policy"] - "update-to" ["update_*"] - "updated-by" ["update_by_*"] - "license" ["license_*"] - "link" ["full_text_*"] - "page" ["hl_first_page" "hl_last_page"] - "funder" ["award_*" "funder_*"] - "assertion" ["assertion_*"] - "clinical-trial-number" ["clinical_trial_number_*"] - "issn-type" ["issn_type_*"] - "event" ["event_*"] - "reference" ["citation_*"] - "author" ["contributor_*"] - "editor" ["contributor_*"] - "chair" ["contributor_*"] - "translator" ["contributor_*"] - "standards-body" ["standards_body_*"]}) - + (defn parse-sort [params] (when-let [sort-params (get params :sort)] (-> sort-params @@ -251,41 +246,56 @@ :else "*:*")) -(defn set-query-fields [query-context solr-query] +(defn with-source-fields [es-body query-context] (if (empty? (:select query-context)) - (doto solr-query - (.addField "*") - (.addField "score")) - (doseq [select-name (:select query-context)] - (doseq [field-name (select-fields select-name)] - (doto solr-query (.addField field-name))))) - solr-query) + es-body + (assoc es-body :_source (->> (:select query-context) + (map select-fields) + (apply concat))))) -(defn ->es-query [query-context & {:keys [paged id-field filters count-only] - :or {paged true - id-field nil - filters {} - count-only false}}] - (println (:filters query-context)) +(defn with-query [es-body query-context & {:keys [id-field filters]}] (let [metadata-query (str (:terms query-context) " " (:raw-terms query-context))] - (cond-> {} + (cond-> es-body (and (string/blank? metadata-query) (nil? id-field) (empty? (:filters query-context))) - (assoc :match_all {}) - + (assoc-in [:query :match_all] {}) + (not (string/blank? metadata-query)) - (assoc :match {:metadata-content metadata-query}) - + (assoc-in [:query :match] {:metadata-content metadata-query}) + id-field - (assoc-in [:bool :filter :term] {id-field (:id query-context)}) - + (assoc-in [:query :bool :filter :term] {id-field (:id query-context)}) + ;; todo only considering first filter value (-> query-context :filters empty? not) - (assoc-in [:bool :filter] (map #((-> % first name filters) (-> % second first)) - (:filters query-context)))))) + (assoc-in [:query :bool :filter] (map #((-> % first name filters) (-> % second first)) + (:filters query-context)))))) + +(defn with-paging [es-body query-context & {:keys [paged count-only]}] + (cond + paged + (-> es-body + (assoc :from (:offset query-context)) + (assoc :size (:rows query-context))) + + count-only + (assoc :size 0) + + :else + es-body)) + +(defn ->es-query [query-context & {:keys [paged id-field filters count-only] + :or {paged true + id-field nil + filters {} + count-only false}}] + (-> {} + (with-source-fields query-context) + (with-query query-context :id-field id-field :filters filters) + (with-paging query-context :paged paged :count-only count-only))) (defn ->solr-query [query-context & {:keys [paged id-field filters count-only] diff --git a/src/cayenne/data/work.clj b/src/cayenne/data/work.clj index 5ca7ae00..60a9b8a0 100644 --- a/src/cayenne/data/work.clj +++ b/src/cayenne/data/work.clj @@ -123,9 +123,9 @@ (let [response (-> (conf/get-service :elastic) (elastic/request {:method :get :url "work/work/_search" - :body {:query (query/->es-query query-context - :id-field id-field - :filters filter/std-filters)}})) + :body (query/->es-query query-context + :id-field id-field + :filters filter/std-filters)})) doc-list (get-in response [:body :hits :hits])] (-> (r/api-response :work-list) ;; (r/with-debug-info response query-context) @@ -159,8 +159,8 @@ (let [response (-> (conf/get-service :elastic) (elastic/request {:method :get :url "work/work/_search" - :body {:query (query/->es-query {:id doi} - :id-field :doi)}}))] + :body (query/->es-query {:id doi} + :id-field :doi)}))] (when-let [doc (first (get-in response [:body :hits :hits]))] (r/api-response :work :content (-> doc convert/es-doc->citeproc diff --git a/src/cayenne/elastic/convert.clj b/src/cayenne/elastic/convert.clj index 553c1ed1..20d80bd9 100644 --- a/src/cayenne/elastic/convert.clj +++ b/src/cayenne/elastic/convert.clj @@ -228,7 +228,7 @@ :volume-title :journal-title]) $))) -(defn item-update-ofs [item] +(defn item-update-tos [item] (map #(hash-map :doi (:value %) @@ -357,7 +357,7 @@ :reference (item-references item) :license (item-licenses item) :link (item-links item) - :update-of (item-update-ofs item) + :update-to (item-update-tos item) :assertion (item-assertions item) :relation (item-relations item) :contributor (item-contributors item) diff --git a/src/cayenne/elastic/mappings.clj b/src/cayenne/elastic/mappings.clj index 09cdb304..de17bf1c 100644 --- a/src/cayenne/elastic/mappings.clj +++ b/src/cayenne/elastic/mappings.clj @@ -162,7 +162,7 @@ :contributor {:type "nested" :properties contributor-properties} :funder {:type "nested" :properties funder-properties} :updated-by {:type "nested" :properties update-properties} - :update-of {:type "nested" :properties update-properties} + :update-to {:type "nested" :properties update-properties} :clinical-trial {:type "nested" :properties clinical-trial-properties} :event {:type "object" :properties event-properties} :link {:type "nested" :properties link-properties} From 060b534b6fc9cbce2262de052585c79fbcd2d2de Mon Sep 17 00:00:00 2001 From: Karl Jonathan Ward Date: Tue, 7 Nov 2017 14:04:13 +0000 Subject: [PATCH 026/156] Sorting for ES queries and re-enable debug parameter --- src/cayenne/api/v1/query.clj | 7 +++++++ src/cayenne/api/v1/response.clj | 5 +++-- src/cayenne/data/work.clj | 11 ++++++----- 3 files changed, 16 insertions(+), 7 deletions(-) diff --git a/src/cayenne/api/v1/query.clj b/src/cayenne/api/v1/query.clj index 5c9f4219..4e7942c5 100644 --- a/src/cayenne/api/v1/query.clj +++ b/src/cayenne/api/v1/query.clj @@ -287,6 +287,12 @@ :else es-body)) +(defn with-sort-fields [es-body query-context] + (if (-> query-context :sort empty?) + es-body + (assoc es-body :sort (map #(hash-map % {:order (:order query-context)}) + (:sort query-context))))) + (defn ->es-query [query-context & {:keys [paged id-field filters count-only] :or {paged true id-field nil @@ -294,6 +300,7 @@ count-only false}}] (-> {} (with-source-fields query-context) + (with-sort-fields query-context) (with-query query-context :id-field id-field :filters filters) (with-paging query-context :paged paged :count-only count-only))) diff --git a/src/cayenne/api/v1/response.clj b/src/cayenne/api/v1/response.clj index 7a85c953..a43bb4bd 100644 --- a/src/cayenne/api/v1/response.clj +++ b/src/cayenne/api/v1/response.clj @@ -2,13 +2,14 @@ (:require [clojure.string :as str] [cayenne.util :refer [?>]])) -(defn with-debug-info [response solr-response query-context] +(defn with-debug-info [response solr-response query-context query-body] (if-not (:debug query-context) response (-> response (assoc-in [:debug :instance-hostname] (.getCanonicalHostName (java.net.InetAddress/getLocalHost))) - (assoc-in [:debug :solr-response-header] (.getHeader solr-response))))) + (assoc-in [:debug :query-body] query-body) + (assoc-in [:debug :query-context] query-context)))) (defn with-page-info [response offset per-page] (-> response diff --git a/src/cayenne/data/work.clj b/src/cayenne/data/work.clj index 60a9b8a0..7ecccdf3 100644 --- a/src/cayenne/data/work.clj +++ b/src/cayenne/data/work.clj @@ -120,15 +120,16 @@ (drop 20 records)))) (defn fetch [query-context & {:keys [id-field] :or {id-field nil}}] - (let [response (-> (conf/get-service :elastic) + (let [es-body (query/->es-query query-context + :id-field id-field + :filters filter/std-filters) + response (-> (conf/get-service :elastic) (elastic/request {:method :get :url "work/work/_search" - :body (query/->es-query query-context - :id-field id-field - :filters filter/std-filters)})) + :body es-body})) doc-list (get-in response [:body :hits :hits])] (-> (r/api-response :work-list) - ;; (r/with-debug-info response query-context) + (r/with-debug-info response query-context es-body) ;; (r/with-result-facets (facet/->response-facets response)) (r/with-result-items (get-in response [:body :hits :total]) From ecb1344c34028edcf4054617ee7520fddd34edb1 Mon Sep 17 00:00:00 2001 From: Karl Jonathan Ward Date: Tue, 7 Nov 2017 14:11:56 +0000 Subject: [PATCH 027/156] Report elastic client config on debug=true --- src/cayenne/api/v1/response.clj | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/src/cayenne/api/v1/response.clj b/src/cayenne/api/v1/response.clj index a43bb4bd..02bb5612 100644 --- a/src/cayenne/api/v1/response.clj +++ b/src/cayenne/api/v1/response.clj @@ -1,14 +1,16 @@ (ns cayenne.api.v1.response - (:require [clojure.string :as str] - [cayenne.util :refer [?>]])) + (:require [clojure.string :as string] + [cayenne.util :refer [?>]] + [cayenne.conf :as conf])) -(defn with-debug-info [response solr-response query-context query-body] +(defn with-debug-info [response solr-response query-context es-body] (if-not (:debug query-context) response (-> response (assoc-in [:debug :instance-hostname] (.getCanonicalHostName (java.net.InetAddress/getLocalHost))) - (assoc-in [:debug :query-body] query-body) + (assoc-in [:debug :elastic-request-body] es-body) + (assoc-in [:debug :elastic-client-config] (conf/get-param [:service :elastic])) (assoc-in [:debug :query-context] query-context)))) (defn with-page-info [response offset per-page] @@ -27,7 +29,7 @@ (defn with-result-items [response total items & {:keys [next-cursor]}] (-> response - (?> (not (str/blank? next-cursor)) + (?> (not (string/blank? next-cursor)) assoc-in [:message :next-cursor] next-cursor) (assoc-in [:message :total-results] total) (assoc-in [:message :items] items))) From 440897a853e6bf477ca4f6c6dd93e8f2ff371a67 Mon Sep 17 00:00:00 2001 From: Karl Jonathan Ward Date: Tue, 7 Nov 2017 15:47:41 +0000 Subject: [PATCH 028/156] Port work filters to ES --- src/cayenne/api/v1/query.clj | 20 -------------------- 1 file changed, 20 deletions(-) diff --git a/src/cayenne/api/v1/query.clj b/src/cayenne/api/v1/query.clj index 4e7942c5..5310bb95 100644 --- a/src/cayenne/api/v1/query.clj +++ b/src/cayenne/api/v1/query.clj @@ -226,26 +226,6 @@ :filters (merge filters (get-filters params)) :debug (:debug params)})) -;; todo get selectors and get filters handle json input - -(defn make-query-string [query-context] - (cond (and (not (string/blank? (:terms query-context))) - (not (string/blank? (:raw-terms query-context)))) - (str (-> query-context :terms (clean-terms :remove-syntax true)) - " " - (-> query-context :raw-terms)) - - (not (string/blank? (:terms query-context))) - (-> query-context :terms (clean-terms :remove-syntax true)) - - (not (string/blank? (:raw-terms query-context))) - (-> query-context :raw-terms) - - (> (count (:field-terms query-context)) 0) ;don't return *:* if we have field-terms - nil - :else - "*:*")) - (defn with-source-fields [es-body query-context] (if (empty? (:select query-context)) es-body From e020d6cb96d8f7064db79cbd5e8dfd44d5e998bf Mon Sep 17 00:00:00 2001 From: Karl Jonathan Ward Date: Thu, 9 Nov 2017 14:37:07 +0000 Subject: [PATCH 029/156] Working work facets in ES --- src/cayenne/api/v1/facet.clj | 124 ++++++++++++++----------------- src/cayenne/api/v1/query.clj | 5 +- src/cayenne/data/work.clj | 4 +- src/cayenne/elastic/mappings.clj | 18 ++--- 4 files changed, 72 insertions(+), 79 deletions(-) diff --git a/src/cayenne/api/v1/facet.clj b/src/cayenne/api/v1/facet.clj index 66fde945..49416729 100644 --- a/src/cayenne/api/v1/facet.clj +++ b/src/cayenne/api/v1/facet.clj @@ -2,42 +2,39 @@ (:require [clojure.string :as string])) (def std-facets - {"type" {:external-field "type-name" - :allow-unlimited-values true} - "year" {:external-field "published" - :allow-unlimited-values true} - "publication" {:external-field "container-title"} - "category" {:external-field "category-name" - :allow-unlimited-values true} - "funder_name" {:external-field "funder-name" - :allow-unlimited-values true} - "funder_doi" {:external-field "funder-doi" - :allow-unlimited-values true} - "orcid" {:external-field "orcid" - :allow-unlimited-values true} - "issn" {:external-field "issn" - :allow-unlimited-values true} - "source" {:external-field "source"} - "publisher_str" {:external-field "publisher-name" - :allow-unlimited-values true} - "license_url" {:external-field "license" - :allow-unlimited-values true} - "archive" {:external-field "archive" - :allow-unlimited-values true} - "update_type" {:external-field "update-type" - :allow-unlimited-values true} - "relation_type" {:external-field "relation-type" - :allow-unlimited-values true} - "affiliation" {:external-field "affiliation" - :allow-unlimited-values true} - "assertion_name" {:external-field "assertion" - :allow-unlimited-values true} - "assertion_group_name" {:external-field "assertion-group" - :allow-unlimited-values true} - "hl_volume" {:external-field "journal-volume" - :allow-unlimited-values true} - "hl_issue" {:external-field "journal-issue" - :allow-unlimited-values true}}) + {"type" {:external-field "type-name" + :allow-unlimited-values true} + "published" {:external-field "published" + :allow-unlimited-values true} + "container-title" {:external-field "container-title"} + "funder.name" {:external-field "funder-name" + :allow-unlimited-values true} + "funder.doi" {:external-field "funder-doi" + :allow-unlimited-values true} + "contributor.orcid" {:external-field "orcid" + :allow-unlimited-values true} + "issn.value" {:external-field "issn" + :allow-unlimited-values true} + "publisher" {:external-field "publisher-name" + :allow-unlimited-values true} + "license.url" {:external-field "license" + :allow-unlimited-values true} + "archive" {:external-field "archive" + :allow-unlimited-values true} + "update.type" {:external-field "update-type" + :allow-unlimited-values true} + "relation.type" {:external-field "relation-type" + :allow-unlimited-values true} + "contributor.affiliation" {:external-field "affiliation" + :allow-unlimited-values true} + "assertion.name" {:external-field "assertion" + :allow-unlimited-values true} + "assertion.group-name" {:external-field "assertion-group" + :allow-unlimited-values true} + "volume" {:external-field "journal-volume" + :allow-unlimited-values true} + "issue" {:external-field "journal-issue" + :allow-unlimited-values true}}) (def external->internal-name (into {} @@ -46,41 +43,34 @@ (defn facet-value-limit [field specified-limit] (cond (and (= specified-limit "*") (get-in std-facets [field :allow-unlimited-values])) - -1 + 100000 (= specified-limit "*") 1000 :else specified-limit)) -(defn apply-facets [solr-query facets] - (doseq [{:keys [field count]} facets] - (let [internal-field-name (external->internal-name field) - limited-count (facet-value-limit internal-field-name count)] - (if (some #{(string/lower-case field)} ["*" "t" "true" "1"]) - (do - (.setFacetLimit solr-query (int limited-count)) - (.addFacetField solr-query (into-array String (keys std-facets)))) - (do - (.addFacetField solr-query (into-array String [internal-field-name])) - (.setParam solr-query - (str "f." internal-field-name ".facet.limit") - (into-array String [(str limited-count)])))))) - (doto solr-query - (.setFacet true) - (.setFacetMinCount (int 1)))) +(defn with-aggregations [es-body {:keys [facets]}] + (reduce + (fn [es-body {:keys [field count]}] + (let [internal-field-name (external->internal-name field) + limited-count (facet-value-limit internal-field-name count)] + (assoc-in + es-body + [:aggs internal-field-name] + {:terms {:field internal-field-name + :size limited-count}}))) + es-body + facets)) -(defn ->response-facet [solr-facet] - (let [external-name (get-in std-facets [(.getName solr-facet) :external-field]) - vals (->> (.getValues solr-facet) - (map #(vector (.getName %) (.getCount %))) - (filter (fn [[_ val]] (not (zero? val)))) - (sort-by second) - reverse - flatten - (apply array-map))] - [external-name - {:value-count (count vals) - :values vals}])) +(defn ->response-facet [aggregation] + (let [internal-field-name (first aggregation) + buckets (-> aggregation second :buckets)] + [(get-in std-facets [(name internal-field-name) :external-field]) + {:value-count (count buckets) + :values (into {} + (map + #(vector (:key %) (:doc_count %)) + buckets))}])) -(defn ->response-facets [solr-response] - (into {} (map ->response-facet (.getFacetFields solr-response)))) +(defn ->response-facets [aggregations] + (into {} (map ->response-facet aggregations))) diff --git a/src/cayenne/api/v1/query.clj b/src/cayenne/api/v1/query.clj index 5310bb95..6efd7516 100644 --- a/src/cayenne/api/v1/query.clj +++ b/src/cayenne/api/v1/query.clj @@ -21,8 +21,8 @@ ;; todo this should be passed in to ->query-context (def sort-fields - {"score" [:score] - "relevance" [:score] + {"score" [:_score] + "relevance" [:_score] "updated" [:deposited] "deposited" [:deposited] "indexed" [:indexed] @@ -279,6 +279,7 @@ filters {} count-only false}}] (-> {} + (facet/with-aggregations query-context) (with-source-fields query-context) (with-sort-fields query-context) (with-query query-context :id-field id-field :filters filters) diff --git a/src/cayenne/data/work.clj b/src/cayenne/data/work.clj index 7ecccdf3..0a4f751e 100644 --- a/src/cayenne/data/work.clj +++ b/src/cayenne/data/work.clj @@ -130,7 +130,9 @@ doc-list (get-in response [:body :hits :hits])] (-> (r/api-response :work-list) (r/with-debug-info response query-context es-body) - ;; (r/with-result-facets (facet/->response-facets response)) + (r/with-result-facets (-> response + (get-in [:body :aggregations]) + facet/->response-facets)) (r/with-result-items (get-in response [:body :hits :total]) (-> (map render-record (repeat query-context) doc-list) diff --git a/src/cayenne/elastic/mappings.clj b/src/cayenne/elastic/mappings.clj index de17bf1c..bd647e4b 100644 --- a/src/cayenne/elastic/mappings.clj +++ b/src/cayenne/elastic/mappings.clj @@ -9,7 +9,7 @@ :prefix {:type "text"} :suffix {:type "text"} :orcid {:type "keyword"} - :affiliation {:type "text"} + :affiliation {:type "keyword"} :authenticated-orcid {:type "boolean"}}) (def issn-properties @@ -21,7 +21,7 @@ :type {:type "keyword"}}) (def funder-properties - {:name {:type "text"} + {:name {:type "keyword"} :doi {:type "keyword"} :doi-asserted-by {:type "keyword"} :award {:type "text"}}) @@ -114,13 +114,13 @@ :member-id {:type "integer"} :journal-id {:type "integer"} :supplementary-id {:type "keyword"} - :title {:type "text"} - :original-title {:type "text"} - :container-title {:type "text"} - :short-container-title {:type "text"} - :short-title {:type "text"} - :group-title {:type "text"} - :subtitle {:type "text"} + :title {:type "keyword"} + :original-title {:type "keyword"} + :container-title {:type "keyword"} + :short-container-title {:type "keyword"} + :short-title {:type "keyword"} + :group-title {:type "keyword"} + :subtitle {:type "keyword"} :volume {:type "keyword"} :issue {:type "keyword"} :first-page {:type "keyword"} From 4fc22ab094fec724218e196343450537fa7d5502 Mon Sep 17 00:00:00 2001 From: Karl Jonathan Ward Date: Thu, 9 Nov 2017 15:08:17 +0000 Subject: [PATCH 030/156] Include published-year work field for published facet --- src/cayenne/api/v1/facet.clj | 2 +- src/cayenne/elastic/convert.clj | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/src/cayenne/api/v1/facet.clj b/src/cayenne/api/v1/facet.clj index 49416729..aae5fe44 100644 --- a/src/cayenne/api/v1/facet.clj +++ b/src/cayenne/api/v1/facet.clj @@ -4,7 +4,7 @@ (def std-facets {"type" {:external-field "type-name" :allow-unlimited-values true} - "published" {:external-field "published" + "published" {:external-field "published-year" :allow-unlimited-values true} "container-title" {:external-field "container-title"} "funder.name" {:external-field "funder-name" diff --git a/src/cayenne/elastic/convert.clj b/src/cayenne/elastic/convert.clj index 20d80bd9..71edd691 100644 --- a/src/cayenne/elastic/convert.clj +++ b/src/cayenne/elastic/convert.clj @@ -303,6 +303,7 @@ :member-id (item-member-id publisher) :journal-id (:journal-id publisher) :supplementary-id (itree/get-item-ids item :supplementary) + :published-year (t/year (item-issued-date item)) :published (item-issued-date item) :published-online (item-date item :published-online) From cad75d56f5e83d960f6eb60d458769470e2819e9 Mon Sep 17 00:00:00 2001 From: Karl Jonathan Ward Date: Thu, 9 Nov 2017 15:08:41 +0000 Subject: [PATCH 031/156] Make all work fields keywords except those ending in .text --- src/cayenne/api/v1/query.clj | 2 +- src/cayenne/elastic/convert.clj | 5 +- src/cayenne/elastic/mappings.clj | 134 ++++++++++++++++--------------- 3 files changed, 73 insertions(+), 68 deletions(-) diff --git a/src/cayenne/api/v1/query.clj b/src/cayenne/api/v1/query.clj index 6efd7516..d69e55d4 100644 --- a/src/cayenne/api/v1/query.clj +++ b/src/cayenne/api/v1/query.clj @@ -244,7 +244,7 @@ (assoc-in [:query :match_all] {}) (not (string/blank? metadata-query)) - (assoc-in [:query :match] {:metadata-content metadata-query}) + (assoc-in [:query :match] {:metadata-content.text metadata-query}) id-field (assoc-in [:query :bool :filter :term] {id-field (:id query-context)}) diff --git a/src/cayenne/elastic/convert.clj b/src/cayenne/elastic/convert.clj index 71edd691..0145685b 100644 --- a/src/cayenne/elastic/convert.clj +++ b/src/cayenne/elastic/convert.clj @@ -350,8 +350,9 @@ :abstract (item-plain-abstract item) :abstract-xml (item-xml-abstract item) - :metadata-content (item-metadata-content item) - :bibliographic-content (item-bibliographic-content item) + + :metadata-content.text (item-metadata-content item) + :bibliographic-content.text (item-bibliographic-content item) :isbn (item-isbns item) :issn (item-issns item) diff --git a/src/cayenne/elastic/mappings.clj b/src/cayenne/elastic/mappings.clj index bd647e4b..a8a153fe 100644 --- a/src/cayenne/elastic/mappings.clj +++ b/src/cayenne/elastic/mappings.clj @@ -105,71 +105,75 @@ ;; todo content, citation_content (def work-properties - {:metadata-content {:type "text"} - :bibliographic-content {:type "text"} - :type {:type "keyword"} - :doi {:type "keyword"} - :prefix {:type "keyword"} - :owner-prefix {:type "keyword"} - :member-id {:type "integer"} - :journal-id {:type "integer"} - :supplementary-id {:type "keyword"} - :title {:type "keyword"} - :original-title {:type "keyword"} - :container-title {:type "keyword"} - :short-container-title {:type "keyword"} - :short-title {:type "keyword"} - :group-title {:type "keyword"} - :subtitle {:type "keyword"} - :volume {:type "keyword"} - :issue {:type "keyword"} - :first-page {:type "keyword"} - :last-page {:type "keyword"} - :description {:type "text"} - :is-referenced-by-count {:type "long"} - :references-count {:type "long"} - :article-number {:type "text"} - :first-deposited {:type "date"} - :deposited {:type "date"} - :indexed {:type "date"} - :published {:type "date"} - :published-online {:type "date"} - :published-print {:type "date"} - :published-other {:type "date"} - :posted {:type "date"} - :accepted {:type "date"} - :content-created {:type "date"} - :content-updated {:type "date"} - :approved {:type "date"} - :subject {:type "keyword"} - :publication {:type "text"} - :archive {:type "keyword"} - :publisher {:type "text"} - :publisher-location {:type "text"} - :degree {:type "text"} - :edition-number {:type "keyword"} - :part-number {:type "keyword"} - :component-number {:type "keyword"} - :update-policy {:type "keyword"} - :domain {:type "keyword"} - :domain-exclusive {:type "boolean"} - :abstract {:type "text"} - :abstract-xml {:type "text"} - :index-context {:type "keyword"} - :standards-body {:type "object" :properties standards-body-properties} - :issn {:type "object" :properties issn-properties} - :isbn {:type "object" :properties isbn-properties} - :contributor {:type "nested" :properties contributor-properties} - :funder {:type "nested" :properties funder-properties} - :updated-by {:type "nested" :properties update-properties} - :update-to {:type "nested" :properties update-properties} - :clinical-trial {:type "nested" :properties clinical-trial-properties} - :event {:type "object" :properties event-properties} - :link {:type "nested" :properties link-properties} - :license {:type "nested" :properties license-properties} - :assertion {:type "nested" :properties assertion-properties} - :relation {:type "nested" :properties relation-properties} - :reference {:type "object" :properties reference-properties}}) + {:metadata-content.text {:type "text"} + :bibliographic-content.text {:type "text"} + :title.text {:type "text"} + :container-title.text {:type "text"} + :abstract {:type "keyword" :indexed false} + :abstract-xml {:type "keyword" :indexed false} + :type {:type "keyword"} + :doi {:type "keyword"} + :prefix {:type "keyword"} + :owner-prefix {:type "keyword"} + :member-id {:type "integer"} + :journal-id {:type "integer"} + :supplementary-id {:type "keyword"} + :published-year {:type "integer"} + :title {:type "keyword" :copy_to :title.text} + :original-title {:type "keyword" :copy_to :title.text} + :container-title {:type "keyword" :copy_to :container-title.text} + :short-container-title {:type "keyword" :copy_to :container-title.text} + :short-title {:type "keyword" :copy_to :title.text} + :group-title {:type "keyword" :copy_to :container-title.text} + :subtitle {:type "keyword" :copy_to :title.text} + :volume {:type "keyword"} + :issue {:type "keyword"} + :first-page {:type "keyword"} + :last-page {:type "keyword"} + :description {:type "keyword"} + :is-referenced-by-count {:type "long"} + :references-count {:type "long"} + :article-number {:type "text"} + :first-deposited {:type "date"} + :deposited {:type "date"} + :indexed {:type "date"} + :published {:type "date"} + :published-online {:type "date"} + :published-print {:type "date"} + :published-other {:type "date"} + :posted {:type "date"} + :accepted {:type "date"} + :content-created {:type "date"} + :content-updated {:type "date"} + :approved {:type "date"} + :subject {:type "keyword"} + :publication {:type "keyword"} + :archive {:type "keyword"} + :publisher {:type "keyword"} + :publisher-location {:type "keyword"} + :degree {:type "keyword"} + :edition-number {:type "keyword"} + :part-number {:type "keyword"} + :component-number {:type "keyword"} + :update-policy {:type "keyword"} + :domain {:type "keyword"} + :domain-exclusive {:type "boolean"} + :index-context {:type "keyword"} + :standards-body {:type "object" :properties standards-body-properties} + :issn {:type "object" :properties issn-properties} + :isbn {:type "object" :properties isbn-properties} + :contributor {:type "nested" :properties contributor-properties} + :funder {:type "nested" :properties funder-properties} + :updated-by {:type "nested" :properties update-properties} + :update-to {:type "nested" :properties update-properties} + :clinical-trial {:type "nested" :properties clinical-trial-properties} + :event {:type "object" :properties event-properties} + :link {:type "nested" :properties link-properties} + :license {:type "nested" :properties license-properties} + :assertion {:type "nested" :properties assertion-properties} + :relation {:type "nested" :properties relation-properties} + :reference {:type "object" :properties reference-properties + :indexed false}}) (def prefix-properties {:value {:type "keyword"} From ba7ae13281e21f60717d5c687641df5f87706e52 Mon Sep 17 00:00:00 2001 From: Karl Jonathan Ward Date: Thu, 9 Nov 2017 17:19:39 +0000 Subject: [PATCH 032/156] Specific field queries for ES --- src/cayenne/api/v1/facet.clj | 2 +- src/cayenne/api/v1/fields.clj | 69 ++++++++++----------- src/cayenne/api/v1/query.clj | 42 ++++++------- src/cayenne/elastic/convert.clj | 28 +++++++-- src/cayenne/elastic/mappings.clj | 101 +++++++++++++++++-------------- 5 files changed, 132 insertions(+), 110 deletions(-) diff --git a/src/cayenne/api/v1/facet.clj b/src/cayenne/api/v1/facet.clj index aae5fe44..ab1015ff 100644 --- a/src/cayenne/api/v1/facet.clj +++ b/src/cayenne/api/v1/facet.clj @@ -4,7 +4,7 @@ (def std-facets {"type" {:external-field "type-name" :allow-unlimited-values true} - "published" {:external-field "published-year" + "published-year" {:external-field "published" :allow-unlimited-values true} "container-title" {:external-field "container-title"} "funder.name" {:external-field "funder-name" diff --git a/src/cayenne/api/v1/fields.clj b/src/cayenne/api/v1/fields.clj index d1735e21..cb5cd8a7 100644 --- a/src/cayenne/api/v1/fields.clj +++ b/src/cayenne/api/v1/fields.clj @@ -1,41 +1,34 @@ -(ns cayenne.api.v1.fields - (:require [clojure.string :as str])) - -(defn any-of [& fields] - (fn [query-value] - (let [field-strs (map #(str % ":(" query-value ")") fields)] - (str "(" (str/join " OR " field-strs) ")")))) +(ns cayenne.api.v1.fields) (def work-fields - {"bibliographic" (any-of "content_citation") - "title" (any-of "hl_title" "hl_subtitle") - "container-title" (any-of "hl_publication") - "event-name" (any-of "event_name") - "event-theme" (any-of "event_theme") - "event-location" (any-of "event_location") - "event-sponsor" (any-of "event_sponsor") - "event-acronym" (any-of "event_acronym") - "standards-body-name" (any-of "standards_body_name") - "standards-body-acronym" (any-of "standards_body_acronym") - "degree" (any-of "degree") - "affiliation" (any-of "affiliation") - "publisher-name" (any-of "publisher") - "publisher-location" (any-of "publisher_location") - "funder-name" (any-of "hl_funder_name") - "author" (any-of "hl_authors") - "editor" (any-of "hl_editors") - "chair" (any-of "hl_chairs") - "translator" (any-of "hl_translators") - "contributor" (any-of "hl_authors" - "hl_editors" - "hl_chairs" - "hl_translators")}) + {"bibliographic" :bibliographic-content-text + "title" :title-text + "container-title" :container-title-text + "event-name" :event.name + "event-theme" :event.theme + "event-location" :event.location + "event-sponsor" :event.sponsor + "event-acronym" :event.acronym + "standards-body-name" :standards-body.name + "standards-body-acronym" :standards-body.acronym + "degree" :degree-text + "affiliation" :affiliation-text + "publisher-name" :publisher-text + "publisher-location" :publisher-location-text + "funder-name" :funder-name-text + "author" :author-text + "editor" :editor-text + "chair" :chair-text + "translator" :translator-text + "contributor" :contributor-text}) -(defn apply-field-queries [base-query field-queries] - (if (empty? field-queries) - base-query - (let [field-query-parts - (map #((work-fields (first %)) (second %)) field-queries)] - (if base-query ;don't add a query term if base-query is empty - (str "(" base-query ") AND " (str/join " AND " field-query-parts)) - (str (str/join " AND " field-query-parts)))))) +(defn with-field-queries [es-body {:keys [field-terms]}] + (update-in + es-body + [:query :bool :should] + (fn [shoulds] + (concat + shoulds + (map #(hash-map :term {(-> % first work-fields) + (-> % second)}) + field-terms))))) diff --git a/src/cayenne/api/v1/query.clj b/src/cayenne/api/v1/query.clj index d69e55d4..53086c80 100644 --- a/src/cayenne/api/v1/query.clj +++ b/src/cayenne/api/v1/query.clj @@ -234,25 +234,24 @@ (apply concat))))) (defn with-query [es-body query-context & {:keys [id-field filters]}] - (let [metadata-query (str (:terms query-context) - " " - (:raw-terms query-context))] - (cond-> es-body - (and (string/blank? metadata-query) - (nil? id-field) - (empty? (:filters query-context))) - (assoc-in [:query :match_all] {}) - - (not (string/blank? metadata-query)) - (assoc-in [:query :match] {:metadata-content.text metadata-query}) - - id-field - (assoc-in [:query :bool :filter :term] {id-field (:id query-context)}) - - ;; todo only considering first filter value - (-> query-context :filters empty? not) - (assoc-in [:query :bool :filter] (map #((-> % first name filters) (-> % second first)) - (:filters query-context)))))) + (cond-> es-body + (and (string/blank? (:terms query-context)) + (nil? id-field) + (empty? (:field-terms query-context)) + (empty? (:filters query-context))) + (assoc-in [:query :match_all] {}) + + (not (string/blank? (:terms query-context))) + (assoc-in [:query :bool :should] + [{:term {:metadata-content-text (:terms query-context)}}]) + + id-field + (assoc-in [:query :bool :filter :term] {id-field (:id query-context)}) + + ;; todo only considering first filter value + (-> query-context :filters empty? not) + (assoc-in [:query :bool :filter] (map #((-> % first name filters) (-> % second first)) + (:filters query-context))))) (defn with-paging [es-body query-context & {:keys [paged count-only]}] (cond @@ -279,11 +278,12 @@ filters {} count-only false}}] (-> {} - (facet/with-aggregations query-context) (with-source-fields query-context) (with-sort-fields query-context) (with-query query-context :id-field id-field :filters filters) - (with-paging query-context :paged paged :count-only count-only))) + (with-paging query-context :paged paged :count-only count-only) + (facet/with-aggregations query-context) + (fields/with-field-queries query-context))) (defn ->solr-query [query-context & {:keys [paged id-field filters count-only] diff --git a/src/cayenne/elastic/convert.clj b/src/cayenne/elastic/convert.clj index 0145685b..cc9e7f08 100644 --- a/src/cayenne/elastic/convert.clj +++ b/src/cayenne/elastic/convert.clj @@ -28,6 +28,12 @@ :else (t/date-time year)))) +(defn maybe-int [int-as-string] + (try + (Integer/parseInt int-as-string) + (catch NumberFormatException e + nil))) + (defn item-id [item id-type & {:keys [converter] :or {converter identity}}] (when-let [id (-> item (itree/get-item-ids id-type) first)] @@ -291,6 +297,15 @@ (concat (mapcat itree/get-item-ids (itree/get-tree-rel item :awarded))) ; grant numbers (concat (map :name (itree/get-tree-rel item :funder)))))) ; funder names +(defn item-contributor-names [item & {:keys [contribution]}] + (cond->> (item-contributors item) + (not (nil? contribution)) + (filter #(= (name contribution) (:contribution %))) + :always + (mapcat #(vector (:given-name %) (:family-name %) + (:org-name %) (:prefix %) + (:suffix %))))) + (defn item->es-doc [item] (let [doi (item-doi item) publisher (-> item (itree/get-tree-rel :publisher) first) @@ -300,8 +315,8 @@ :type (item-type item) :prefix (doi-id/extract-long-prefix doi) :owner-prefix (item-owner-prefix publisher) - :member-id (item-member-id publisher) - :journal-id (:journal-id publisher) + :member-id (maybe-int (item-member-id publisher)) + :journal-id (maybe-int (:journal-id publisher)) :supplementary-id (itree/get-item-ids item :supplementary) :published-year (t/year (item-issued-date item)) @@ -351,8 +366,13 @@ :abstract (item-plain-abstract item) :abstract-xml (item-xml-abstract item) - :metadata-content.text (item-metadata-content item) - :bibliographic-content.text (item-bibliographic-content item) + :metadata-content-text (item-metadata-content item) + :bibliographic-content-text (item-bibliographic-content item) + :author-text (item-contributor-names item :contribution :author) + :editor-text (item-contributor-names item :contribution :editor) + :chair-text (item-contributor-names item :contribution :chair) + :translator-text (item-contributor-names item :contribution :translator) + :contributor-text (item-contributor-names item) :isbn (item-isbns item) :issn (item-issns item) diff --git a/src/cayenne/elastic/mappings.clj b/src/cayenne/elastic/mappings.clj index a8a153fe..eda56f59 100644 --- a/src/cayenne/elastic/mappings.clj +++ b/src/cayenne/elastic/mappings.clj @@ -9,7 +9,7 @@ :prefix {:type "text"} :suffix {:type "text"} :orcid {:type "keyword"} - :affiliation {:type "keyword"} + :affiliation {:type "keyword" :copy_to :affiliation-text} :authenticated-orcid {:type "boolean"}}) (def issn-properties @@ -20,8 +20,8 @@ {:value {:type "keyword"} :type {:type "keyword"}}) -(def funder-properties - {:name {:type "keyword"} +(def work-funder-properties + {:name {:type "keyword" :copy_to :funder-name-text} :doi {:type "keyword"} :doi-asserted-by {:type "keyword"} :award {:type "text"}}) @@ -78,26 +78,26 @@ (def reference-properties {:key {:type "keyword"} - :issn {:type "keyword"} - :issn-type {:type "keyword"} - :author {:type "text"} - :issue {:type "text"} - :first-page {:type "text"} - :year {:type "integer"} - :isbn {:type "keyword"} - :isbn-type {:type "keyword"} - :series-title {:type "text"} - :volume-title {:type "text"} - :edition {:type "keyword"} - :component {:type "keyword"} - :volume {:type "keyword"} - :article-title {:type "text"} - :journal-title {:type "text"} - :standards-body {:type "text"} - :standards-designator {:type "keyword"} - :unstructured {:type "text"} + :doi {:type "keyword"} :doi-asserted-by {:type "keyword"} - :doi {:type "keyword"}}) + :issn {:type "keyword" :index false} + :issn-type {:type "keyword" :index false} + :author {:type "text" :index false} + :issue {:type "text" :index false} + :first-page {:type "text" :index false} + :year {:type "integer" :index false} + :isbn {:type "keyword" :index false} + :isbn-type {:type "keyword" :index false} + :series-title {:type "text" :index false} + :volume-title {:type "text" :index false} + :edition {:type "keyword" :index false} + :component {:type "keyword" :index false} + :volume {:type "keyword" :index false} + :article-title {:type "text" :index false} + :journal-title {:type "text" :index false} + :standards-body {:type "text" :index false} + :standards-designator {:type "keyword" :index false} + :unstructured {:type "text" :index false}}) (def standards-body-properties {:name {:type "text"} @@ -105,12 +105,22 @@ ;; todo content, citation_content (def work-properties - {:metadata-content.text {:type "text"} - :bibliographic-content.text {:type "text"} - :title.text {:type "text"} - :container-title.text {:type "text"} - :abstract {:type "keyword" :indexed false} - :abstract-xml {:type "keyword" :indexed false} + {:metadata-content-text {:type "text"} + :bibliographic-content-text {:type "text"} + :title-text {:type "text"} + :container-title-text {:type "text"} + :author-text {:type "text"} + :editor-text {:type "text"} + :chair-text {:type "text"} + :translator-text {:type "text"} + :contributor-text {:type "text"} + :publisher-text {:type "text"} + :publisher-location-text {:type "text"} + :degree-text {:type "text"} + :affiliation-text {:type "text"} + :funder-name-text {:type "text"} + :abstract {:type "keyword" :index false} + :abstract-xml {:type "keyword" :index false} :type {:type "keyword"} :doi {:type "keyword"} :prefix {:type "keyword"} @@ -119,13 +129,13 @@ :journal-id {:type "integer"} :supplementary-id {:type "keyword"} :published-year {:type "integer"} - :title {:type "keyword" :copy_to :title.text} - :original-title {:type "keyword" :copy_to :title.text} - :container-title {:type "keyword" :copy_to :container-title.text} - :short-container-title {:type "keyword" :copy_to :container-title.text} - :short-title {:type "keyword" :copy_to :title.text} - :group-title {:type "keyword" :copy_to :container-title.text} - :subtitle {:type "keyword" :copy_to :title.text} + :title {:type "keyword" :copy_to :title-text} + :original-title {:type "keyword" :copy_to :title-text} + :container-title {:type "keyword" :copy_to :container-title-text} + :short-container-title {:type "keyword" :copy_to :container-title-text} + :short-title {:type "keyword" :copy_to :title-text} + :group-title {:type "keyword" :copy_to :container-title-text} + :subtitle {:type "keyword" :copy_to :title-text} :volume {:type "keyword"} :issue {:type "keyword"} :first-page {:type "keyword"} @@ -149,9 +159,9 @@ :subject {:type "keyword"} :publication {:type "keyword"} :archive {:type "keyword"} - :publisher {:type "keyword"} - :publisher-location {:type "keyword"} - :degree {:type "keyword"} + :publisher {:type "keyword" :copy_to :publisher-text} + :publisher-location {:type "keyword" :copy_to :publisher-location-text} + :degree {:type "keyword" :copy_to :degree-text} :edition-number {:type "keyword"} :part-number {:type "keyword"} :component-number {:type "keyword"} @@ -163,7 +173,7 @@ :issn {:type "object" :properties issn-properties} :isbn {:type "object" :properties isbn-properties} :contributor {:type "nested" :properties contributor-properties} - :funder {:type "nested" :properties funder-properties} + :funder {:type "nested" :properties work-funder-properties} :updated-by {:type "nested" :properties update-properties} :update-to {:type "nested" :properties update-properties} :clinical-trial {:type "nested" :properties clinical-trial-properties} @@ -172,8 +182,7 @@ :license {:type "nested" :properties license-properties} :assertion {:type "nested" :properties assertion-properties} :relation {:type "nested" :properties relation-properties} - :reference {:type "object" :properties reference-properties - :indexed false}}) + :reference {:type "object" :properties reference-properties}}) (def prefix-properties {:value {:type "keyword"} @@ -226,11 +235,11 @@ "journal" {"_all" {:enabled false} :properties journal-properties}}) (def index-settings - {"work" {:number_of_shards 24 :number_of_replicas 3 "index.mapper.dynamic" false} - "member" {:number_of_shards 1 :number_of_replicas 3 "index.mapper.dynamic" false} - "funder" {:number_of_shards 1 :number_of_replicas 3 "index.mapper.dynamic" false} - "subject" {:number_of_shards 1 :number_of_replicas 3 "index.mapper.dynamic" false} - "journal" {:number_of_shards 1 :number_of_replicas 3 "index.mapper.dynamic" false}}) + {"work" {:number_of_shards 24 :number_of_replicas 3} + "member" {:number_of_shards 1 :number_of_replicas 3} + "funder" {:number_of_shards 1 :number_of_replicas 3} + "subject" {:number_of_shards 1 :number_of_replicas 3} + "journal" {:number_of_shards 1 :number_of_replicas 3}}) (defn create-indexes "Creates an index per top-level document type - in preparation for ES 6+ From 820d2c46bf2f15f5c454ecf8b10c84b573653cc0 Mon Sep 17 00:00:00 2001 From: Karl Jonathan Ward Date: Thu, 9 Nov 2017 17:36:02 +0000 Subject: [PATCH 033/156] Reverse work look ups for ES --- src/cayenne/data/work.clj | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/src/cayenne/data/work.clj b/src/cayenne/data/work.clj index 0a4f751e..82f99906 100644 --- a/src/cayenne/data/work.clj +++ b/src/cayenne/data/work.clj @@ -141,20 +141,20 @@ (r/with-query-context-info query-context)))) (defn fetch-reverse [query-context] - (let [terms (query/clean-terms (:terms query-context) :remove-syntax true) - q (str "content_citation:(" terms ")") - response (-> (conf/get-service :solr) - (.query (query/->solr-query {:raw-terms q - :rows (int 1)}))) - doc-list (.getResults response)] - (if (partial-response? response) - (throw (RuntimeException. "Solr returned a partial result set")) - (if (zero? (.getNumFound doc-list)) - (r/api-response :nothing) - (let [doc (-> doc-list first convert/es-doc->citeproc)] - (if (or (< (count (string/split terms #"\s")) 4) (< (:score doc) 2)) - (r/api-response :nothing) - (r/api-response :work :content doc))))))) + (let [terms (:terms query-context) + es-body (query/->es-query {:field-terms {"bibliographic" terms} + :rows 1}) + response (-> (conf/get-service :elastic) + (elastic/request + {:method :get :url "work/work/_search" + :body es-body})) + doc-list (get-in response [:body :hits :hits])] + (if (zero? (count doc-list)) + (r/api-response :nothing) + (let [doc (-> doc-list first convert/es-doc->citeproc)] + (if (or (< (count (string/split terms #"\s")) 4) (< (:_score doc) 2)) + (r/api-response :nothing) + (r/api-response :work :content doc)))))) (defn fetch-one "Fetch a known DOI." From 5c80b0309b0d6b7acfc9652cc1446ff119f12acf Mon Sep 17 00:00:00 2001 From: Karl Jonathan Ward Date: Fri, 10 Nov 2017 11:32:46 +0000 Subject: [PATCH 034/156] Working sample paramter for ES --- src/cayenne/api/v1/query.clj | 28 ++++++++++++++++++---------- src/cayenne/elastic/convert.clj | 4 +--- 2 files changed, 19 insertions(+), 13 deletions(-) diff --git a/src/cayenne/api/v1/query.clj b/src/cayenne/api/v1/query.clj index 53086c80..6ca4b9f7 100644 --- a/src/cayenne/api/v1/query.clj +++ b/src/cayenne/api/v1/query.clj @@ -8,8 +8,9 @@ [clojure.string :as string] [clojure.data.json :as json] [clojure.java.io :as io] - [taoensso.timbre :as timbre :refer [info error]]) - (:import [org.apache.solr.client.solrj SolrQuery SolrQuery$ORDER])) + [taoensso.timbre :as timbre :refer [info error]] + [clj-time.core :as t] + [clj-time.coerce :as tc])) (def default-offset 0) (def default-rows 20) @@ -235,13 +236,7 @@ (defn with-query [es-body query-context & {:keys [id-field filters]}] (cond-> es-body - (and (string/blank? (:terms query-context)) - (nil? id-field) - (empty? (:field-terms query-context)) - (empty? (:filters query-context))) - (assoc-in [:query :match_all] {}) - - (not (string/blank? (:terms query-context))) + (-> query-context :terms string/blank? not) (assoc-in [:query :bool :should] [{:term {:metadata-content-text (:terms query-context)}}]) @@ -272,6 +267,18 @@ (assoc es-body :sort (map #(hash-map % {:order (:order query-context)}) (:sort query-context))))) +(defn with-random-sort [es-body query-context] + (if (and (:sample query-context) (not= 0 (:sample query-context))) + (let [current-query (:query es-body)] + (-> es-body + (dissoc :query) + (assoc-in [:query :function_score :query] current-query) + (assoc-in [:query :function_score :functions] + [{:random_score {:seed (tc/to-long (t/now))}}]) + (assoc :from 0) + (assoc :size (:sample query-context)))) + es-body)) + (defn ->es-query [query-context & {:keys [paged id-field filters count-only] :or {paged true id-field nil @@ -283,7 +290,8 @@ (with-query query-context :id-field id-field :filters filters) (with-paging query-context :paged paged :count-only count-only) (facet/with-aggregations query-context) - (fields/with-field-queries query-context))) + (fields/with-field-queries query-context) + (with-random-sort query-context))) (defn ->solr-query [query-context & {:keys [paged id-field filters count-only] diff --git a/src/cayenne/elastic/convert.clj b/src/cayenne/elastic/convert.clj index cc9e7f08..60a1d572 100644 --- a/src/cayenne/elastic/convert.clj +++ b/src/cayenne/elastic/convert.clj @@ -302,9 +302,7 @@ (not (nil? contribution)) (filter #(= (name contribution) (:contribution %))) :always - (mapcat #(vector (:given-name %) (:family-name %) - (:org-name %) (:prefix %) - (:suffix %))))) + (mapcat #(vector (:given-name %) (:family-name %) (:org-name %))))) (defn item->es-doc [item] (let [doi (item-doi item) From afbf96276a490a45a48598f6096fecbaf3ec82b6 Mon Sep 17 00:00:00 2001 From: Karl Jonathan Ward Date: Fri, 10 Nov 2017 11:37:55 +0000 Subject: [PATCH 035/156] Include _seq_no field for random sort (without field is deprecated) --- src/cayenne/api/v1/query.clj | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/cayenne/api/v1/query.clj b/src/cayenne/api/v1/query.clj index 6ca4b9f7..2c1ee7e9 100644 --- a/src/cayenne/api/v1/query.clj +++ b/src/cayenne/api/v1/query.clj @@ -274,7 +274,8 @@ (dissoc :query) (assoc-in [:query :function_score :query] current-query) (assoc-in [:query :function_score :functions] - [{:random_score {:seed (tc/to-long (t/now))}}]) + [{:random_score {:seed (tc/to-long (t/now)) + :field :_seq_no}}]) (assoc :from 0) (assoc :size (:sample query-context)))) es-body)) From dc39e044732ba566eea0d1229963588399105661 Mon Sep 17 00:00:00 2001 From: Karl Jonathan Ward Date: Fri, 10 Nov 2017 12:47:24 +0000 Subject: [PATCH 036/156] API cursors using ES scroll function --- src/cayenne/api/v1/query.clj | 50 ++++++++++++++++++++++++--------- src/cayenne/api/v1/response.clj | 4 +-- src/cayenne/data/work.clj | 34 +++++++++------------- 3 files changed, 52 insertions(+), 36 deletions(-) diff --git a/src/cayenne/api/v1/query.clj b/src/cayenne/api/v1/query.clj index 2c1ee7e9..25c040dd 100644 --- a/src/cayenne/api/v1/query.clj +++ b/src/cayenne/api/v1/query.clj @@ -278,21 +278,43 @@ :field :_seq_no}}]) (assoc :from 0) (assoc :size (:sample query-context)))) - es-body)) + es-body)) + +(defn with-scroll [es-body query-context] + (cond + (-> query-context :cursor string/blank?) + es-body + + (-> query-context :cursor (= "*")) + (assoc es-body :sort [:_doc]) + + (and (-> query-context :cursor string/blank? not) + (-> query-context :cursor (not= "*"))) + {:scroll "1m" + :scroll_id (:cursor query-context)})) -(defn ->es-query [query-context & {:keys [paged id-field filters count-only] - :or {paged true - id-field nil - filters {} - count-only false}}] - (-> {} - (with-source-fields query-context) - (with-sort-fields query-context) - (with-query query-context :id-field id-field :filters filters) - (with-paging query-context :paged paged :count-only count-only) - (facet/with-aggregations query-context) - (fields/with-field-queries query-context) - (with-random-sort query-context))) +(defn ->es-request [query-context + & {:keys [paged id-field filters count-only] + :or {paged true id-field nil filters {} count-only false}}] + {:method :get + :url (cond + (-> query-context :cursor string/blank?) + "/work/work/_search" + (and (-> query-context :cursor string/blank? not) + (-> query-context :cursor (not= "*"))) + "/_search/scroll" + (-> query-context :cursor (= "*")) + "/work/work/_search?scroll=1m") + :body + (-> {} + (with-source-fields query-context) + (with-sort-fields query-context) + (with-query query-context :id-field id-field :filters filters) + (with-paging query-context :paged paged :count-only count-only) + (facet/with-aggregations query-context) + (fields/with-field-queries query-context) + (with-random-sort query-context) + (with-scroll query-context))}) (defn ->solr-query [query-context & {:keys [paged id-field filters count-only] diff --git a/src/cayenne/api/v1/response.clj b/src/cayenne/api/v1/response.clj index 02bb5612..68ee7af5 100644 --- a/src/cayenne/api/v1/response.clj +++ b/src/cayenne/api/v1/response.clj @@ -3,13 +3,13 @@ [cayenne.util :refer [?>]] [cayenne.conf :as conf])) -(defn with-debug-info [response solr-response query-context es-body] +(defn with-debug-info [response solr-response query-context es-request] (if-not (:debug query-context) response (-> response (assoc-in [:debug :instance-hostname] (.getCanonicalHostName (java.net.InetAddress/getLocalHost))) - (assoc-in [:debug :elastic-request-body] es-body) + (assoc-in [:debug :elastic-request] es-request) (assoc-in [:debug :elastic-client-config] (conf/get-param [:service :elastic])) (assoc-in [:debug :query-context] query-context)))) diff --git a/src/cayenne/data/work.clj b/src/cayenne/data/work.clj index 82f99906..6bdaa359 100644 --- a/src/cayenne/data/work.clj +++ b/src/cayenne/data/work.clj @@ -120,16 +120,13 @@ (drop 20 records)))) (defn fetch [query-context & {:keys [id-field] :or {id-field nil}}] - (let [es-body (query/->es-query query-context - :id-field id-field - :filters filter/std-filters) - response (-> (conf/get-service :elastic) - (elastic/request - {:method :get :url "work/work/_search" - :body es-body})) + (let [es-request (query/->es-request query-context + :id-field id-field + :filters filter/std-filters) + response (elastic/request (conf/get-service :elastic) es-request) doc-list (get-in response [:body :hits :hits])] (-> (r/api-response :work-list) - (r/with-debug-info response query-context es-body) + (r/with-debug-info response query-context es-request) (r/with-result-facets (-> response (get-in [:body :aggregations]) facet/->response-facets)) @@ -137,17 +134,14 @@ (get-in response [:body :hits :total]) (-> (map render-record (repeat query-context) doc-list) reordered-preprints) - :next-cursor "todo") + :next-cursor (get-in response [:body :_scroll_id])) (r/with-query-context-info query-context)))) (defn fetch-reverse [query-context] (let [terms (:terms query-context) - es-body (query/->es-query {:field-terms {"bibliographic" terms} - :rows 1}) - response (-> (conf/get-service :elastic) - (elastic/request - {:method :get :url "work/work/_search" - :body es-body})) + es-request (query/->es-request {:field-terms {"bibliographic" terms} + :rows 1}) + response (elastic/request (conf/get-service :elastic) es-request) doc-list (get-in response [:body :hits :hits])] (if (zero? (count doc-list)) (r/api-response :nothing) @@ -159,11 +153,11 @@ (defn fetch-one "Fetch a known DOI." [doi] - (let [response (-> (conf/get-service :elastic) - (elastic/request - {:method :get :url "work/work/_search" - :body (query/->es-query {:id doi} - :id-field :doi)}))] + (let [response (elastic/request + (conf/get-service :elastic) + (query/->es-request {:id doi} + :id-field :doi + :paged false))] (when-let [doc (first (get-in response [:body :hits :hits]))] (r/api-response :work :content (-> doc convert/es-doc->citeproc From 642972f77f4fa277e101c8c37fd6551d2ae881e0 Mon Sep 17 00:00:00 2001 From: Karl Jonathan Ward Date: Fri, 10 Nov 2017 16:12:51 +0000 Subject: [PATCH 037/156] Store member and journal coverage data in ES Now record historic data --- src/cayenne/api/v1/query.clj | 2 +- src/cayenne/api/v1/validate.clj | 1 + src/cayenne/elastic/mappings.clj | 34 +++++++--- src/cayenne/schedule.clj | 4 +- src/cayenne/tasks/coverage.clj | 112 +++++++++++++++++-------------- src/cayenne/tasks/journal.clj | 4 +- 6 files changed, 91 insertions(+), 66 deletions(-) diff --git a/src/cayenne/api/v1/query.clj b/src/cayenne/api/v1/query.clj index 25c040dd..33b9f029 100644 --- a/src/cayenne/api/v1/query.clj +++ b/src/cayenne/api/v1/query.clj @@ -252,7 +252,7 @@ (cond paged (-> es-body - (assoc :from (:offset query-context)) + (assoc :from (or (:offset query-context) 0)) (assoc :size (:rows query-context))) count-only diff --git a/src/cayenne/api/v1/validate.clj b/src/cayenne/api/v1/validate.clj index 2850a7d0..cb4a8b22 100644 --- a/src/cayenne/api/v1/validate.clj +++ b/src/cayenne/api/v1/validate.clj @@ -241,6 +241,7 @@ :container-title string-validator :category-name string-validator :member integer-validator + :journal integer-validator :prefix prefix-validator :funder funder-id-validator :alternative-id string-validator diff --git a/src/cayenne/elastic/mappings.clj b/src/cayenne/elastic/mappings.clj index eda56f59..bd2bb694 100644 --- a/src/cayenne/elastic/mappings.clj +++ b/src/cayenne/elastic/mappings.clj @@ -217,7 +217,6 @@ :code {:type "integer"} :name {:type "keyword"}}) -;; todo metadata coverage fields (def journal-properties {:title {:type "text"} :token {:type "keyword"} @@ -226,20 +225,33 @@ :publisher {:type "text"} :subject {:type "object" :properties subject-properties} :issn {:type "object" :properties issn-properties}}) + +(def coverage-properties + {:subject-type {:type "keyword"} + :subject-id {:type "long"} + :started {:type "date"} + :finished {:type "date"} + :total-dois {:type "long"} + :backfile-dois {:type "long"} + :current-dois {:type "long"} + :breakdowns {:type "object"} + :coverage {:type "object"}}) (def index-mappings - {"work" {"_all" {:enabled false} :properties work-properties} - "member" {"_all" {:enabled false} :properties member-properties} - "funder" {"_all" {:enabled false} :properties funder-properties} - "subject" {"_all" {:enabled false} :properties subject-properties} - "journal" {"_all" {:enabled false} :properties journal-properties}}) + {"work" {"_all" {:enabled false} :properties work-properties} + "member" {"_all" {:enabled false} :properties member-properties} + "funder" {"_all" {:enabled false} :properties funder-properties} + "subject" {"_all" {:enabled false} :properties subject-properties} + "coverage" {"_all" {:enabled false} :properties coverage-properties} + "journal" {"_all" {:enabled false} :properties journal-properties}}) (def index-settings - {"work" {:number_of_shards 24 :number_of_replicas 3} - "member" {:number_of_shards 1 :number_of_replicas 3} - "funder" {:number_of_shards 1 :number_of_replicas 3} - "subject" {:number_of_shards 1 :number_of_replicas 3} - "journal" {:number_of_shards 1 :number_of_replicas 3}}) + {"work" {:number_of_shards 24 :number_of_replicas 3} + "member" {:number_of_shards 1 :number_of_replicas 3} + "funder" {:number_of_shards 1 :number_of_replicas 3} + "subject" {:number_of_shards 1 :number_of_replicas 3} + "coverage" {:number_of_shards 1 :number_of_replicas 3} + "journal" {:number_of_shards 1 :number_of_replicas 3}}) (defn create-indexes "Creates an index per top-level document type - in preparation for ES 6+ diff --git a/src/cayenne/schedule.clj b/src/cayenne/schedule.clj index 51ecc5af..9ba1231a 100644 --- a/src/cayenne/schedule.clj +++ b/src/cayenne/schedule.clj @@ -82,7 +82,7 @@ (catch Exception e (error e "Failed to update members collection"))) (try (info "Updating member flags and coverage values") - (coverage/check-members "members") + (coverage/check-members) (catch Exception e (error e "Failed to update member flags and coverage values")))) (defjob update-journals [ctx] @@ -92,7 +92,7 @@ (catch Exception e (error e "Failed to update journals collection"))) (try (info "Updating journal flags and coverage values") - (coverage/check-journals "journals") + (coverage/check-journals) (catch Exception e (error e "Failed to update journal flags and coverage values")))) ;; Thu, 17 Sep 2015 20:59:19 GMT diff --git a/src/cayenne/tasks/coverage.clj b/src/cayenne/tasks/coverage.clj index 4898a855..20128d75 100644 --- a/src/cayenne/tasks/coverage.clj +++ b/src/cayenne/tasks/coverage.clj @@ -8,7 +8,9 @@ [clj-time.format :as df] [clj-time.coerce :as dc] [taoensso.timbre :as timbre :refer [error]] - [somnium.congomongo :as m])) + [qbits.spandex :as elastic] + [cayenne.elastic.util :as elastic-util]) + (:import [java.util UUID])) (def date-format (df/formatter "yyyy-MM-dd")) @@ -17,9 +19,9 @@ (defn make-id-filter [type id] (cond (= type :member) - {:member (str id)} - (= type :issn) - {:issn (map issn-id/to-issn-uri id)})) + {:member [(str id)]} + (= type :journal) + {:journal [(str id)]})) (defn get-work-count "Get a count of works, with optional filters. timing may be one of :current, @@ -28,8 +30,8 @@ (let [combined-filters (-> (make-id-filter type id) (?> filters merge filters) - (?> (= timing :current) assoc :from-pub-date (back-file-cut-off)) - (?> (= timing :backfile) assoc :until-pub-date (back-file-cut-off)))] + (?> (= timing :current) assoc :from-pub-date [(back-file-cut-off)]) + (?> (= timing :backfile) assoc :until-pub-date [(back-file-cut-off)]))] (-> (assoc {:rows (int 0)} :filters combined-filters) (works/fetch) (get-in [:message :total-results])))) @@ -44,8 +46,12 @@ (let [total-count (get-work-count type id) total-back-file-count (get-work-count type id :timing :backfile) total-current-count (get-work-count type id :timing :current) - filter-back-file-count (get-work-count type id :filters {filter-name filter-value} :timing :backfile) - filter-current-count (get-work-count type id :filters {filter-name filter-value} :timing :current)] + filter-back-file-count (get-work-count type id + :filters {filter-name [filter-value]} + :timing :backfile) + filter-current-count (get-work-count type id + :filters {filter-name [filter-value]} + :timing :current)] {:flags {(keyword (str member-action "-" check-name "-current")) (not (zero? filter-current-count)) (keyword (str member-action "-" check-name "-backfile")) @@ -65,7 +71,7 @@ (defn check-deposits-articles [type id] {:flags {:deposits-articles - (-> (get-work-count type id :filters {:type "journal-article"}) + (-> (get-work-count type id :filters {:type ["journal-article"]}) (zero?) (not))}}) @@ -83,12 +89,11 @@ (make-filter-check "deposits" "funders" :has-funder "true")]) (defn check-record-coverage [record & {:keys [type id-field]}] - (-> {:last-status-check-time (dc/to-long (dt/now))} + (-> {} (merge (reduce (fn [rslt chk-fn] (let [check-result (chk-fn type (get record id-field))] - {:last-status-check-time (dc/to-long (dt/now)) - :flags (merge (:flags rslt) (:flags check-result)) + {:flags (merge (:flags rslt) (:flags check-result)) :coverage (merge (:coverage rslt) (:coverage check-result))})) {} checkles)))) @@ -110,41 +115,48 @@ (let [record-id (get record id-field) backfile-count (get-work-count type record-id :timing :backfile) current-count (get-work-count type record-id :timing :current)] - {:counts - {:backfile-dois backfile-count - :current-dois current-count - :total-dois (+ backfile-count current-count)}})) - -(defn check-members - "Calculate and insert member metadata coverage metrics into a collection." - [collection] - (m/with-mongo (conf/get-service :mongo) - (doseq [member (m/fetch collection :options [:notimeout])] - (try - (m/update! - collection - {:id (:id member)} - (merge member - (check-breakdowns member :type :member :id-field :id) - (check-record-coverage member :type :member :id-field :id) - (check-record-counts member :type :member :id-field :id))) - (catch Exception e - (error e "Failed to update coverage for member with ID " (:id member))))))) - -(defn check-journals - "Calculate and insert journal metadata coverage metrics into a collection. Only consider - journals that have an ISSN." - [collection] - (m/with-mongo (conf/get-service :mongo) - (doseq [journal (m/fetch collection :where {:issn {:$exists true :$ne []}} :options [:notimeout])] - (try - (m/update! - collection - {:id (:id journal)} - (merge journal - (check-breakdowns journal :type :issn :id-field :issn) - (check-record-coverage journal :type :issn :id-field :issn) - (check-record-counts journal :type :issn :id-field :issn))) - (catch Exception e - (error e "Failed to update coverage for journal with ID " (:id journal))))))) - + {:backfile-dois backfile-count + :current-dois current-count + :total-dois (+ backfile-count current-count)})) + +(defn index-coverage-command [record & {:keys [type id-field]}] + (let [started-date (dt/now) + record-source (:_source record) + record-counts (check-record-counts record-source :type type :id-field id-field) + breakdowns (check-breakdowns record-source :type type :id-field id-field) + coverage (check-record-coverage record-source :type type :id-field id-field)] + [{:index {:_id (.toString (UUID/randomUUID))}} + {:subject-type (name type) + :subject-id (get record-source id-field) + :started started-date + :finished (dt/now) + :total-dois (:total-dois record-counts) + :backfile-dois (:backfile-dois record-counts) + :current-dois (:current-dois record-counts) + :breakdowns breakdowns + :coverage coverage}])) + +;; todo use scroll +(defn check-index [index-name id-field] + (doseq [some-records + (as-> + (elastic/request + (conf/get-service :elastic) + {:method :get + :url (str "/" (name index-name) "/" (name index-name) "/_search") + :body {:_source [id-field] :query {:match_all {}} :size 10000}}) + $ + (get-in $ [:body :hits :hits]) + (partition-all 100 $))] + (elastic/request + (conf/get-service :elastic) + {:method :post + :url "/coverage/coverage/_bulk" + :body (->> some-records + (map #(index-coverage-command % :type index-name :id-field id-field)) + flatten + elastic-util/raw-jsons)}))) + +(defn check-members [] (check-index :member :id)) + +(defn check-journals [] (check-index :journal :id)) diff --git a/src/cayenne/tasks/journal.clj b/src/cayenne/tasks/journal.clj index fe9f8d05..f1be42b2 100644 --- a/src/cayenne/tasks/journal.clj +++ b/src/cayenne/tasks/journal.clj @@ -32,10 +32,10 @@ (defn index-command [csv-row] (let [title (nth csv-row title-column) journal-id (nth csv-row id-column)] - [{:index {:_id journal-id}} + [{:index {:_id (Long/parseLong journal-id)}} {:title title :token (util/tokenize-name title) - :id journal-id + :id (Long/parseLong journal-id) :doi (-> csv-row (nth doi-column) doi-id/normalize-long-doi) :publisher (nth csv-row publisher-column) :issn (issns csv-row)}])) From e22d924a445c6d51112df8f11976a10eca420923 Mon Sep 17 00:00:00 2001 From: Karl Jonathan Ward Date: Fri, 10 Nov 2017 17:12:02 +0000 Subject: [PATCH 038/156] Rename published to issued and published-year to issued-year --- src/cayenne/api/v1/facet.clj | 2 +- src/cayenne/elastic/convert.clj | 6 +++--- src/cayenne/elastic/mappings.clj | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/cayenne/api/v1/facet.clj b/src/cayenne/api/v1/facet.clj index ab1015ff..163da221 100644 --- a/src/cayenne/api/v1/facet.clj +++ b/src/cayenne/api/v1/facet.clj @@ -4,7 +4,7 @@ (def std-facets {"type" {:external-field "type-name" :allow-unlimited-values true} - "published-year" {:external-field "published" + "issued-year" {:external-field "published" :allow-unlimited-values true} "container-title" {:external-field "container-title"} "funder.name" {:external-field "funder-name" diff --git a/src/cayenne/elastic/convert.clj b/src/cayenne/elastic/convert.clj index 60a1d572..31a46157 100644 --- a/src/cayenne/elastic/convert.clj +++ b/src/cayenne/elastic/convert.clj @@ -316,9 +316,9 @@ :member-id (maybe-int (item-member-id publisher)) :journal-id (maybe-int (:journal-id publisher)) :supplementary-id (itree/get-item-ids item :supplementary) - :published-year (t/year (item-issued-date item)) + :issued-year (t/year (item-issued-date item)) - :published (item-issued-date item) + :issued (item-issued-date item) :published-online (item-date item :published-online) :published-print (item-date item :published-print) :published-other (item-date item :published-other) @@ -418,7 +418,7 @@ (assoc :DOI (:doi source-doc)) (assoc :URL (-> source-doc :doi doi-id/to-long-doi-uri)) (assoc :page (citeproc-pages source-doc)) - (assoc :issued (-> source-doc :published citeproc-date)) + (assoc :issued (-> source-doc :issued citeproc-date)) (assoc :published-print (-> source-doc :published-print citeproc-date)) (assoc :published-online (-> source-doc :published-online citeproc-date)) (assoc :published-other (-> source-doc :published-other citeproc-date)) diff --git a/src/cayenne/elastic/mappings.clj b/src/cayenne/elastic/mappings.clj index bd2bb694..f3ad3383 100644 --- a/src/cayenne/elastic/mappings.clj +++ b/src/cayenne/elastic/mappings.clj @@ -128,7 +128,7 @@ :member-id {:type "integer"} :journal-id {:type "integer"} :supplementary-id {:type "keyword"} - :published-year {:type "integer"} + :issued-year {:type "integer"} :title {:type "keyword" :copy_to :title-text} :original-title {:type "keyword" :copy_to :title-text} :container-title {:type "keyword" :copy_to :container-title-text} @@ -147,7 +147,7 @@ :first-deposited {:type "date"} :deposited {:type "date"} :indexed {:type "date"} - :published {:type "date"} + :issued {:type "date"} :published-online {:type "date"} :published-print {:type "date"} :published-other {:type "date"} From 7b2202bb54207327798d99cb29cc87a892db6241 Mon Sep 17 00:00:00 2001 From: Karl Jonathan Ward Date: Mon, 13 Nov 2017 13:02:11 +0000 Subject: [PATCH 039/156] Index subjects into journal mappings --- src/cayenne/tasks/category.clj | 108 ++++++++++++++++++--------------- 1 file changed, 60 insertions(+), 48 deletions(-) diff --git a/src/cayenne/tasks/category.clj b/src/cayenne/tasks/category.clj index 152941a6..6cd6509b 100644 --- a/src/cayenne/tasks/category.clj +++ b/src/cayenne/tasks/category.clj @@ -7,7 +7,10 @@ [cayenne.conf :as conf] [clojure.string :as string] [qbits.spandex :as elastic] - [cayenne.elastic.util :as elastic-util])) + [cayenne.elastic.util :as elastic-util] + [cayenne.ids.issn :as issn-id])) + +;; todo remove below (defn get-category-name [category] (let [code (String/valueOf category)] @@ -41,6 +44,8 @@ ([id item] [id (apply-to item)])) +;; end todo remove below + (defn normalize-journal [m] (cond-> (-> m @@ -61,12 +66,9 @@ (defn index-subject-command [subject] (let [code (-> subject :code int)] [{:index {:_id code}} - {:code code - :high-code (-> code (/ 100) int (* 100)) - :name (-> subject :name string/trim)}])) - -(defn update-journal-command [subject] - ()) + {:code code + :high-code (-> code (/ 100) int (* 100)) + :name (-> subject :name string/trim)}])) (defn index-subjects [& {:keys [xls-location journals-sheet-name @@ -74,18 +76,10 @@ :or {xls-location (-> (conf/get-param [:location :scopus-title-list]) (java.net.URL.)) - journals-sheet-name - "Scopus Sources October 2017" categories-sheet-name "ASJC classification codes"}}] (with-open [xls-in (clojure.java.io/input-stream xls-location)] (let [doc (sheet/load-workbook-from-stream xls-in) - journals (->> doc - (sheet/select-sheet journals-sheet-name) - (sheet/select-columns {:C :p_issn - :D :e_issn - :AD :categories}) - (drop 1)) subjects (->> doc (sheet/select-sheet categories-sheet-name) (sheet/select-columns {:A :code :B :name}) @@ -94,49 +88,67 @@ (elastic/request (conf/get-service :elastic) {:method :post - :url "category/category/_bulk" + :url "/subject/subject/_bulk" :body (->> subjects (map index-subject-command) flatten elastic-util/raw-jsons)})))) +(defn journal-id [issns] + (-> (elastic/request + (conf/get-service :elastic) + {:method :get + :url "/journal/journal/_search" + :body (assoc-in + {:_source [:id]} + [:query :bool :should] + (map #(hash-map :term {:issn.value %}) issns))}) + (get-in [:body :hits :hits]) + first + (get-in [:_source :id]))) + +(defn update-journal-subjects [& {:keys [xls-location + journals-sheet-name] + :or {xls-location + (-> (conf/get-param [:location :scopus-title-list]) + (java.net.URL.)) + journals-sheet-name + "Scopus Sources October 2017"}}] + (with-open [xls-in (clojure.java.io/input-stream xls-location)] + (doseq [journal (->> xls-in + sheet/load-workbook-from-stream + (sheet/select-sheet journals-sheet-name) + (sheet/select-columns {:C :p-issn + :D :e-issn + :AE :subjects}) + (drop 1))] + (let [p-issn (-> journal :p-issn str issn-id/normalize-issn) + e-issn (-> journal :e-issn str issn-id/normalize-issn) + issns (cond-> [] + (-> p-issn nil? not) + (conj p-issn) + (-> e-issn nil? not) + (conj e-issn)) + subject-codes (->> (string/split (:subjects journal) #";") + (map string/trim) + (filter (complement string/blank?))) + subjects (map + #(hash-map + :code (-> % str Integer/parseInt) + :high-code (-> % str Integer/parseInt (/ 100) int (* 100))) + subject-codes)] + (when-let [jid (journal-id issns)] + (elastic/request + (conf/get-service :elastic) + {:method :post + :url (str "/journal/journal/" jid "/_update") + :body {:doc {:subject subjects}}})))))) + (defn workbook-sheet-names [xls-file] (->> xls-file sheet/load-workbook sheet/sheet-seq (map #(.getSheetName %)))) - - ;; (->> subjects (map index-subject-command) flatten) - - - ;; (m/with-mongo (conf/get-service :mongo) - ;; (doseq [category categories] - ;; (try - ;; (let [n-category (normalize-category category)] - ;; (m/update! :categories - ;; {:code (:code n-category)} - ;; n-category - ;; :upsert true)) - ;; (catch Exception e - ;; (println "Exception on insert of " category) - ;; (println e)))) - ;; (doseq [journal journals] - ;; (try - ;; (let [n-journal (normalize-journal journal)] - ;; (m/update! :issns - ;; {:p_issn (:p_issn n-journal)} - ;; n-journal - ;; :upsert true) - ;; (m/update! :issns - ;; {:e_issn (:e_issn n-journal)} - ;; n-journal - ;; :upsert true)) - ;; (catch Exception e - ;; (println "Exception on insert of " journal) - ;; (println e))))))) - - - From 6abf57ea7e23773fd5b524d9966eca6361bd64c1 Mon Sep 17 00:00:00 2001 From: Karl Jonathan Ward Date: Mon, 13 Nov 2017 15:11:48 +0000 Subject: [PATCH 040/156] Handle case of no print publication date --- src/cayenne/api/v1/query.clj | 71 --------------------------------- src/cayenne/data/member.clj | 24 +++++------ src/cayenne/elastic/convert.clj | 29 ++++++++------ 3 files changed, 28 insertions(+), 96 deletions(-) diff --git a/src/cayenne/api/v1/query.clj b/src/cayenne/api/v1/query.clj index 33b9f029..47d31283 100644 --- a/src/cayenne/api/v1/query.clj +++ b/src/cayenne/api/v1/query.clj @@ -316,77 +316,6 @@ (with-random-sort query-context) (with-scroll query-context))}) -(defn ->solr-query [query-context & - {:keys [paged id-field filters count-only] - :or {paged true - id-field nil - filters {} - count-only false}}] - (let [query (set-query-fields - query-context - (doto (SolrQuery.) - (.setQuery (-> query-context - make-query-string - (fields/apply-field-queries (:field-terms query-context)))) - (.setHighlight false)))] - (when id-field - (let [ids (if (vector? (:id query-context)) - (:id query-context) - [(:id query-context)]) - fl-str (->> ids - (map #(str id-field ":\"" % "\"")) - (apply filter/q-or))] - (.addFilterQuery query - (into-array String [fl-str])))) - (doseq [[filter-name filter-val] (:filters query-context)] - (let [filter-name-s (name filter-name)] - (when (filters filter-name-s) - (if (not (sequential? filter-val)) - (doto query - (.addFilterQuery (into-array String [((filters filter-name-s) filter-val)] ))) - - (let [filter-fn (filters filter-name-s) - filter-query-str (->> filter-val - (map filter-fn) - (string/join " OR "))] - (doto query - (.addFilterQuery (into-array String [(str "(" filter-query-str ")")])))))))) - - (when (:raw-filter query-context) - (doto query - (.addFilterQuery (into-array String [(:raw-filter query-context)])))) - (when paged - (doto query - (.setStart (:offset query-context)) - (.setRows (:rows query-context)))) - (when (and (:sample query-context) (not= 0 (:sample query-context))) - (doto query - (.setStart (int 0)) - (.setRows (:sample query-context)) - (.setSort (random-field) SolrQuery$ORDER/asc))) - (when (:sort query-context) - (doseq [sort-field (:sort query-context)] - (let [sort-order (if (= (:order query-context) :desc) - SolrQuery$ORDER/desc - SolrQuery$ORDER/asc)] - (.addSort query sort-field sort-order)))) - (when (:cursor query-context) - (doto query - (.setStart (int 0)) - (.addSort "indexed_at" SolrQuery$ORDER/asc) - (.addSort "doi_key" SolrQuery$ORDER/asc) - (.setParam "cursorMark" (into-array [(:cursor query-context)])))) - (when-not (empty? (:facets query-context)) - (.setFacet query true) - (facet/apply-facets query (:facets query-context))) - (when count-only - (doto query - (.setRows (int 0)))) - (when (pos? (or (.getRows query) 0)) ;only add the boost query when we want rows - (.setParam query "bq" (into-array String ["(*:* -type:\"Posted Content\")"]))) - - query)) - (defn ->mongo-query [query-context & {:keys [where filters id-field] :or {where {} filters {} id-field nil}}] diff --git a/src/cayenne/data/member.clj b/src/cayenne/data/member.clj index bf8a86fd..5f5f9e71 100644 --- a/src/cayenne/data/member.clj +++ b/src/cayenne/data/member.clj @@ -33,17 +33,17 @@ (member-id/extract-member-id) (Integer/parseInt))) -(defn expand-context-for-prefixes [query-context] - (let [member-doc (m/with-mongo (conf/get-service :mongo) - (m/fetch-one - "members" - :where {:id (get-id-from-context query-context)})) - prefixes (:prefixes member-doc) - prefixes-filter (->> prefixes - (map prefix-id/to-prefix-uri) - (map #(filter/field-is-esc solr-publisher-id-field %)) - (apply filter/q-or))] - (assoc query-context :raw-filter prefixes-filter))) +;; (defn expand-context-for-prefixes [query-context] +;; (let [member-doc (m/with-mongo (conf/get-service :mongo) +;; (m/fetch-one +;; "members" +;; :where {:id (get-id-from-context query-context)})) +;; prefixes (:prefixes member-doc) +;; prefixes-filter (->> prefixes +;; (map prefix-id/to-prefix-uri) +;; (map #(filter/field-is-esc solr-publisher-id-field %)) +;; (apply filter/q-or))] +;; (assoc query-context :raw-filter prefixes-filter))) (defn ->response-doc [pub-doc] {:id (:id pub-doc) @@ -80,7 +80,7 @@ (defn fetch-works [query-context] (-> query-context - expand-context-for-prefixes + ; expand-context-for-prefixes work/fetch)) ;; todo handle rows and offset propery (not using either of them) diff --git a/src/cayenne/elastic/convert.clj b/src/cayenne/elastic/convert.clj index 31a46157..b6dda03c 100644 --- a/src/cayenne/elastic/convert.clj +++ b/src/cayenne/elastic/convert.clj @@ -263,19 +263,22 @@ (:family-name contributor))))) (defn item-base-content [item] - (->> - (vector - (t/year (item-issued-date item)) - (t/year (item-date item :published-print)) - (journal-issue item) - (journal-volume item) - (:first-page item) - (:last-page item)) - (concat (map :value (item-issns item))) - (concat (map :value (item-isbns item))) - (concat (item-titles item)) - (concat (item-container-titles item)) - (string/join " "))) + (let [published-year (if-not (nil? (item-date item :published-print)) + (t/year (item-date item :published-print)) + nil)] + (->> + (vector + (t/year (item-issued-date item)) + published-year + (journal-issue item) + (journal-volume item) + (:first-page item) + (:last-page item)) + (concat (map :value (item-issns item))) + (concat (map :value (item-isbns item))) + (concat (item-titles item)) + (concat (item-container-titles item)) + (string/join " ")))) (defn item-bibliographic-content "Fields related to bibliographic citation look up" From 73353bc757f03dc02a84a700b9fd37a6040e7329 Mon Sep 17 00:00:00 2001 From: Karl Jonathan Ward Date: Mon, 13 Nov 2017 17:05:39 +0000 Subject: [PATCH 041/156] Query for and display members from ES --- src/cayenne/api/v1/query.clj | 17 ++-- src/cayenne/api/v1/response.clj | 2 +- src/cayenne/api/v1/routes.clj | 6 +- src/cayenne/data/member.clj | 129 +++++++++++++++---------------- src/cayenne/data/work.clj | 2 +- src/cayenne/elastic/mappings.clj | 2 - 6 files changed, 80 insertions(+), 78 deletions(-) diff --git a/src/cayenne/api/v1/query.clj b/src/cayenne/api/v1/query.clj index 47d31283..5577ba89 100644 --- a/src/cayenne/api/v1/query.clj +++ b/src/cayenne/api/v1/query.clj @@ -239,7 +239,13 @@ (-> query-context :terms string/blank? not) (assoc-in [:query :bool :should] [{:term {:metadata-content-text (:terms query-context)}}]) - + + (-> query-context :prefix-terms string/blank? not) + (assoc-in [:query :bool :should] + [{:match_phrase_prefix + {(:prefix-field query-context) (:prefix-terms query-context)}}]) + + ;; todo could be rewritten to use /type/type/id id-field (assoc-in [:query :bool :filter :term] {id-field (:id query-context)}) @@ -294,17 +300,18 @@ :scroll_id (:cursor query-context)})) (defn ->es-request [query-context - & {:keys [paged id-field filters count-only] - :or {paged true id-field nil filters {} count-only false}}] + & {:keys [index paged id-field filters count-only] + :or {index "work" paged true id-field nil filters {} + count-only false}}] {:method :get :url (cond (-> query-context :cursor string/blank?) - "/work/work/_search" + (str "/" index "/" index "/_search") (and (-> query-context :cursor string/blank? not) (-> query-context :cursor (not= "*"))) "/_search/scroll" (-> query-context :cursor (= "*")) - "/work/work/_search?scroll=1m") + (str "/" index "/" index "/_search?scroll=1m")) :body (-> {} (with-source-fields query-context) diff --git a/src/cayenne/api/v1/response.clj b/src/cayenne/api/v1/response.clj index 68ee7af5..b1aadac3 100644 --- a/src/cayenne/api/v1/response.clj +++ b/src/cayenne/api/v1/response.clj @@ -3,7 +3,7 @@ [cayenne.util :refer [?>]] [cayenne.conf :as conf])) -(defn with-debug-info [response solr-response query-context es-request] +(defn with-debug-info [response query-context es-request] (if-not (:debug query-context) response (-> response diff --git a/src/cayenne/api/v1/routes.clj b/src/cayenne/api/v1/routes.clj index def0c018..663ebb37 100644 --- a/src/cayenne/api/v1/routes.clj +++ b/src/cayenne/api/v1/routes.clj @@ -357,7 +357,7 @@ :allowed-methods [:get :options :head] :available-media-types t/json :exists? #(when-let [m (member/fetch-one - (q/->query-context % :id (member-id/to-member-id-uri id)))] + (q/->query-context % :id id))] {:member m}) :handle-ok :member) @@ -373,9 +373,9 @@ :allowed-methods [:get :options :head] :available-media-types t/json :exists? #(when-let [m (member/fetch-one - (q/->query-context % :id (member-id/to-member-id-uri id)))] + (q/->query-context % :id id))] {:member m}) - :handle-ok #(member/fetch-works (q/->query-context % :id (member-id/to-member-id-uri id)))) + :handle-ok #(member/fetch-works (q/->query-context % :id id))) (defresource journals-resource :malformed? (v/malformed? :unlimited-offset true) diff --git a/src/cayenne/data/member.clj b/src/cayenne/data/member.clj index 5f5f9e71..ee26ca27 100644 --- a/src/cayenne/data/member.clj +++ b/src/cayenne/data/member.clj @@ -10,9 +10,9 @@ [cayenne.ids.prefix :as prefix-id] [cayenne.formats.citeproc :as citeproc] [somnium.congomongo :as m] - [clojure.string :as string])) - -(def solr-publisher-id-field "owner_prefix") + [clojure.string :as string] + [clj-time.coerce :as dc] + [qbits.spandex :as elastic])) (defn get-solr-works [query-context] (-> (conf/get-service :solr) @@ -27,79 +27,76 @@ (.getResults) (.getNumFound))) -(defn get-id-from-context [query-context] - (-> query-context - (:id) - (member-id/extract-member-id) - (Integer/parseInt))) - -;; (defn expand-context-for-prefixes [query-context] -;; (let [member-doc (m/with-mongo (conf/get-service :mongo) -;; (m/fetch-one -;; "members" -;; :where {:id (get-id-from-context query-context)})) -;; prefixes (:prefixes member-doc) -;; prefixes-filter (->> prefixes -;; (map prefix-id/to-prefix-uri) -;; (map #(filter/field-is-esc solr-publisher-id-field %)) -;; (apply filter/q-or))] -;; (assoc query-context :raw-filter prefixes-filter))) +(defn ->response-doc [member-doc & {:keys [coverage-doc]}] + (cond-> {:id (:id member-doc) + :primary-name (:primary-name member-doc) + :names (map :name (:prefix member-doc)) + :prefixes (map :value (:prefix member-doc)) + :prefix (:prefix member-doc) + :location (:location member-doc) + :tokens (:token member-doc)} + (not (nil? coverage-doc)) + (merge + {:flags (get-in coverage-doc [:coverage :flags]) + :coverage (get-in coverage-doc [:coverage :coverage]) + :counts (select-keys coverage-doc [:current-dois + :backfile-dois + :total-dois]) + :last-status-check-time (-> coverage-doc :finished dc/to-long)}))) -(defn ->response-doc [pub-doc] - {:id (:id pub-doc) - :primary-name (:primary-name pub-doc) - :names (:names pub-doc) - :prefixes (:prefixes pub-doc) - :prefix (:prefix pub-doc) - :location (:location pub-doc) - :flags (:flags pub-doc) - :coverage (:coverage pub-doc) - :breakdowns (:breakdowns pub-doc) - :counts (:counts pub-doc) - :last-status-check-time (:last-status-check-time pub-doc) - :tokens (:tokens pub-doc)}) - -(defn parse-query-terms - "Split query terms." - [terms] - (when terms - (-> terms - (string/lower-case) - (string/replace #"[,\.\-\'\"]" "") - (string/split #"\s+")))) +(defn get-coverage [subject-type subject-id] + (-> (elastic/request + (conf/get-service :elastic) + {:method :get + :url "/coverage/coverage/_search" + :body (-> {} + (assoc-in [:query :bool :must] + [{:term {:subject-type subject-type}} + {:term {:subject-id subject-id}}]) + (assoc :size 1) + (assoc :sort {:finished :desc}))}) + (get-in [:body :hits :hits]) + first + :_source)) (defn fetch-one [query-context] - (let [pub-doc (m/with-mongo (conf/get-service :mongo) - (m/fetch-one - "members" - :where {:id (get-id-from-context query-context)}))] - (when pub-doc + (let [response (elastic/request + (conf/get-service :elastic) + (query/->es-request query-context + :id-field :id + :index "member"))] + (when-let [member-doc (-> response + (get-in [:body :hits :hits]) + first + :_source)] (r/api-response :member :content - (->response-doc pub-doc))))) + (->response-doc member-doc + :coverage-doc + (get-coverage :member (:id member-doc))))))) (defn fetch-works [query-context] - (-> query-context - ; expand-context-for-prefixes - work/fetch)) + (work/fetch query-context :id-field :member-id)) -;; todo handle rows and offset propery (not using either of them) +(defn prefix-query-context [query-context] + (-> query-context + (assoc :prefix-terms (:terms query-context)) + (assoc :prefix-field :primary-name) + (dissoc :terms))) (defn fetch [query-context] - (let [parsed-terms (or (parse-query-terms (:terms query-context)) []) - and-list (map #(hash-map "tokens" {"$regex" (str "^" %)}) parsed-terms) - where-clause (if (empty? and-list) {} {"$and" and-list}) - mongo-query (query/->mongo-query query-context - :filters filter/member-filters - :where where-clause - :sort {:id 1}) - docs (if (and (:rows query-context) (zero? (:rows query-context))) - [] - (m/with-mongo (conf/get-service :mongo) - (apply m/fetch "members" mongo-query))) - result-count (m/with-mongo (conf/get-service :mongo) - (apply m/fetch-count "members" mongo-query))] + (let [es-request (query/->es-request (prefix-query-context query-context) + :index "member" + :filters filter/member-filters) + response (elastic/request + (conf/get-service :elastic) + es-request) + docs (->> (get-in response [:body :hits :hits]) + (map :_source))] (-> (r/api-response :member-list) (r/with-query-context-info query-context) - (r/with-result-items result-count (map ->response-doc docs))))) + (r/with-debug-info query-context es-request) + (r/with-result-items + (get-in response [:body :hits :total]) + (map ->response-doc docs))))) diff --git a/src/cayenne/data/work.clj b/src/cayenne/data/work.clj index 6bdaa359..b2fe7921 100644 --- a/src/cayenne/data/work.clj +++ b/src/cayenne/data/work.clj @@ -126,7 +126,7 @@ response (elastic/request (conf/get-service :elastic) es-request) doc-list (get-in response [:body :hits :hits])] (-> (r/api-response :work-list) - (r/with-debug-info response query-context es-request) + (r/with-debug-info query-context es-request) (r/with-result-facets (-> response (get-in [:body :aggregations]) facet/->response-facets)) diff --git a/src/cayenne/elastic/mappings.clj b/src/cayenne/elastic/mappings.clj index f3ad3383..b65aa0ba 100644 --- a/src/cayenne/elastic/mappings.clj +++ b/src/cayenne/elastic/mappings.clj @@ -191,7 +191,6 @@ :location {:type "text"} :name {:type "text"}}) -;; todo metadata coverage fields (def member-properties {:primary-name {:type "text"} :location {:type "text"} @@ -199,7 +198,6 @@ :token {:type "keyword"} :prefix {:type "object" :properties prefix-properties}}) -;; todo metadata coverage fields (def funder-properties {:doi {:type "keyword"} :parent {:type "keyword"} From baa10d22261487ee0ce9a5cfd96808c833577264 Mon Sep 17 00:00:00 2001 From: Karl Jonathan Ward Date: Mon, 13 Nov 2017 17:31:07 +0000 Subject: [PATCH 042/156] Journal query and display for ES --- src/cayenne/api/v1/query.clj | 3 + src/cayenne/data/journal.clj | 119 ++++++++++++++++++----------------- src/cayenne/data/member.clj | 14 ----- 3 files changed, 63 insertions(+), 73 deletions(-) diff --git a/src/cayenne/api/v1/query.clj b/src/cayenne/api/v1/query.clj index 5577ba89..a13d2450 100644 --- a/src/cayenne/api/v1/query.clj +++ b/src/cayenne/api/v1/query.clj @@ -323,6 +323,9 @@ (with-random-sort query-context) (with-scroll query-context))}) +(defn ->solr-query [& args] + ()) + (defn ->mongo-query [query-context & {:keys [where filters id-field] :or {where {} filters {} id-field nil}}] diff --git a/src/cayenne/data/journal.clj b/src/cayenne/data/journal.clj index 8fcad5e7..68ccb5ca 100644 --- a/src/cayenne/data/journal.clj +++ b/src/cayenne/data/journal.clj @@ -5,74 +5,75 @@ [cayenne.ids.issn :as issn-id] [cayenne.api.v1.query :as query] [cayenne.api.v1.response :as r] - [somnium.congomongo :as m])) + [qbits.spandex :as elastic] + [clj-time.coerce :as dc] + [cayenne.api.v1.filter :as filter])) -(defn ->issn-types [journal-doc] - (cond-> [] - (:eissn journal-doc) - (conj {:value (:eissn journal-doc) :type "electronic"}) +(defn ->response-doc [journal-doc & {:keys [coverage-doc]}] + (cond-> {:title (:title journal-doc) + :publisher (:publisher journal-doc) + :ISSN (map :value (:issn journal-doc)) + :issn-type (:issn journal-doc) + :subjects (:subject journal-doc)} ;; todo {:ASJC :name} + (not (nil? coverage-doc)) + (merge + {:flags (get-in coverage-doc [:coverage :flags]) + :coverage (get-in coverage-doc [:coverage :coverage]) + :counts (select-keys coverage-doc [:current-dois + :backfile-dois + :total-dois]) + :last-status-check-time (-> coverage-doc :finished dc/to-long)}))) - (:pissn journal-doc) - (conj {:value (:pissn journal-doc) :type "print"}))) - -(defn ->response-doc [journal-doc subject-docs] - {:title (:title journal-doc) - :publisher (:publisher journal-doc) - :ISSN (:issn journal-doc) - :issn-type (->issn-types journal-doc) - :subjects (map #(hash-map :ASJC (Integer/parseInt (:code %)) - :name (:name %)) - subject-docs) - :flags (:flags journal-doc) - :coverage (:coverage journal-doc) - :breakdowns (:breakdowns journal-doc) - :counts (:counts journal-doc) - :last-status-check-time (:last-status-check-time journal-doc)}) - -(defn issn-doc->subjects [issn-doc] - (m/with-mongo (conf/get-service :mongo) - (m/fetch "categories" :where {:code {:$in (or (:categories issn-doc) [])}}))) - -(defn get-subject-docs [issns] - (let [query-issns (or issns []) - issn-docs (m/with-mongo (conf/get-service :mongo) - (m/fetch "issns" - :where {:$or [{:p_issn {:$in query-issns}} - {:e_issn {:$in query-issns}}]}))] - (mapcat issn-doc->subjects issn-docs))) +(defn get-coverage [subject-type subject-id] + (-> (elastic/request + (conf/get-service :elastic) + {:method :get + :url "/coverage/coverage/_search" + :body (-> {} + (assoc-in [:query :bool :must] + [{:term {:subject-type subject-type}} + {:term {:subject-id subject-id}}]) + (assoc :size 1) + (assoc :sort {:finished :desc}))}) + (get-in [:body :hits :hits]) + first + :_source)) (defn fetch-one [query-context] - (when-let [journal-doc (m/with-mongo (conf/get-service :mongo) - (m/fetch-one "journals" - :where {:issn (:id query-context)}))] - (r/api-response - :journal - :content (->response-doc journal-doc - (get-subject-docs (:issn journal-doc)))))) + (when-let [journal-doc (-> (elastic/request + (conf/get-service :elastic) + (query/->es-request query-context + :id-field :issn.value + :index "journal")) + (get-in [:body :hits :hits]) + first + :_source)] + (r/api-response :journal + :content + (->response-doc journal-doc + :coverage-doc + (get-coverage :journal (:id journal-doc)))))) -(defn ->search-terms [query-context] - (if (:terms query-context) - (util/tokenize-name (:terms query-context)) - [])) +(defn prefix-query-context [query-context] + (-> query-context + (assoc :prefix-terms (:terms query-context)) + (assoc :prefix-field :title) + (dissoc :terms))) (defn fetch [query-context] - (let [search-terms (->search-terms query-context) - and-list (map #(hash-map "token" {"$regex" (str "^" %)}) search-terms) - where-clause (if (empty? and-list) {} {"$and" and-list}) - mongo-query (query/->mongo-query query-context :where where-clause) - docs (if (and (:rows query-context) (zero? (:rows query-context))) - [] - (m/with-mongo (conf/get-service :mongo) - (apply m/fetch "journals" mongo-query))) - result-count (m/with-mongo (conf/get-service :mongo) - (apply m/fetch-count "journals" mongo-query))] + (let [es-request (query/->es-request (prefix-query-context query-context) + :index "journal") + response (elastic/request + (conf/get-service :elastic) + es-request) + docs (->> (get-in response [:body :hits :hits]) + (map :_source))] (-> (r/api-response :journal-list) (r/with-query-context-info query-context) + (r/with-debug-info query-context es-request) (r/with-result-items - result-count - (map #(->response-doc % (get-subject-docs (:issn %))) docs))))) + (get-in response [:body :hits :total]) + (map ->response-doc docs))))) (defn fetch-works [query-context] - (-> query-context - (assoc-in [:filters :issn] (issn-id/to-issn-uri (:id query-context))) - work/fetch)) + (work/fetch query-context :id-field :issn.value)) diff --git a/src/cayenne/data/member.clj b/src/cayenne/data/member.clj index ee26ca27..0a289f68 100644 --- a/src/cayenne/data/member.clj +++ b/src/cayenne/data/member.clj @@ -9,24 +9,10 @@ [cayenne.ids.member :as member-id] [cayenne.ids.prefix :as prefix-id] [cayenne.formats.citeproc :as citeproc] - [somnium.congomongo :as m] [clojure.string :as string] [clj-time.coerce :as dc] [qbits.spandex :as elastic])) -(defn get-solr-works [query-context] - (-> (conf/get-service :solr) - (.query (query/->solr-query query-context - :filters filter/std-filters)))) - -(defn get-solr-work-count [query-context] - (-> (conf/get-service :solr) - (.query (query/->solr-query query-context - :paged false - :count-only true)) - (.getResults) - (.getNumFound))) - (defn ->response-doc [member-doc & {:keys [coverage-doc]}] (cond-> {:id (:id member-doc) :primary-name (:primary-name member-doc) From 715c98ad94c72369d51e5e25dc997dde39fde298 Mon Sep 17 00:00:00 2001 From: Karl Jonathan Ward Date: Mon, 13 Nov 2017 17:45:40 +0000 Subject: [PATCH 043/156] Prefix search and display for ES --- src/cayenne/api/v1/routes.clj | 4 ++-- src/cayenne/data/prefix.clj | 44 ++++++++++++++--------------------- 2 files changed, 20 insertions(+), 28 deletions(-) diff --git a/src/cayenne/api/v1/routes.clj b/src/cayenne/api/v1/routes.clj index 663ebb37..53fbac6a 100644 --- a/src/cayenne/api/v1/routes.clj +++ b/src/cayenne/api/v1/routes.clj @@ -326,7 +326,7 @@ :allowed-methods [:get :options :head] :available-media-types t/json :exists? #(when-let [p (prefix/fetch-one - (q/->query-context % :id (prefix-id/to-prefix-uri px)))] + (q/->query-context % :id (prefix-id/normalize-prefix px)))] {:publisher p}) :handle-ok :publisher) @@ -341,7 +341,7 @@ :handle-malformed :validation-result :allowed-methods [:get :options :head] :available-media-types t/json - :handle-ok #(prefix/fetch-works (q/->query-context % :id (prefix-id/to-prefix-uri px)))) + :handle-ok #(prefix/fetch-works (q/->query-context % :id (prefix-id/normalize-prefix px)))) (defresource members-resource :malformed? (v/malformed? :filter-validator v/validate-member-filters diff --git a/src/cayenne/data/prefix.clj b/src/cayenne/data/prefix.clj index 69714396..b6751f67 100644 --- a/src/cayenne/data/prefix.clj +++ b/src/cayenne/data/prefix.clj @@ -2,34 +2,26 @@ (:require [cayenne.conf :as conf] [cayenne.api.v1.response :as r] [cayenne.api.v1.query :as query] - [cayenne.api.v1.filter :as filter] - [cayenne.api.v1.facet :as facet] [cayenne.data.work :as work] - [cayenne.formats.citeproc :as citeproc] - [cayenne.ids.member :as member-id] - [cayenne.ids.prefix :as prefix-id] - [clojure.string :as string] - [somnium.congomongo :as m])) - -(def solr-prefix-id-field "owner_prefix") - -(defn get-solr-work-count [query-context] - (-> (conf/get-service :solr) - (.query (query/->solr-query query-context - :id-field solr-prefix-id-field - :paged false - :count-only true)) - (.getResults) - (.getNumFound))) + [qbits.spandex :as elastic])) (defn fetch-works [query-context] - (work/fetch query-context :id-field solr-prefix-id-field)) + (work/fetch query-context :id-field :owner-prefix)) (defn fetch-one [query-context] - (when-let [member-doc (m/with-mongo (conf/get-service :mongo) - (m/fetch-one - "members" - :where {:prefixes (prefix-id/extract-prefix (:id query-context))}))] - (r/api-response :prefix :content {:member (member-id/to-member-id-uri (:id member-doc)) - :name (:primary-name member-doc) - :prefix (prefix-id/to-prefix-uri (:id query-context))}))) + (when-let [member-doc (-> (elastic/request + (conf/get-service :elastic) + (query/->es-request query-context + :id-field :prefix.value + :index "member")) + (get-in [:body :hits :hits]) + first + :_source)] + (let [prefix (->> member-doc + :prefix + (filter #(= (:value %) (:id query-context))) + first)] + (r/api-response :prefix :content {:member (:id member-doc) + :name (:name prefix) + :public-references (:public-references prefix) + :prefix (:value prefix)})))) From 9898fe274a64f2f95f1d5ca46479190b38fef1a0 Mon Sep 17 00:00:00 2001 From: Karl Jonathan Ward Date: Mon, 13 Nov 2017 18:01:04 +0000 Subject: [PATCH 044/156] Remove old code for citation checking --- src/cayenne/action.clj | 40 ++-------- src/cayenne/tasks/category.clj | 40 +--------- src/cayenne/tasks/citation.clj | 140 --------------------------------- 3 files changed, 7 insertions(+), 213 deletions(-) delete mode 100644 src/cayenne/tasks/citation.clj diff --git a/src/cayenne/action.clj b/src/cayenne/action.clj index 65475fca..ea0e4867 100644 --- a/src/cayenne/action.clj +++ b/src/cayenne/action.clj @@ -3,7 +3,6 @@ (:use [cayenne.conf] [cayenne.sources.wok] [cayenne.tasks.dump] - [cayenne.tasks.citation] [clojure.tools.trace] [cayenne.formats.unixref :only [unixref-record-parser unixref-citation-parser]] [cayenne.formats.unixsd :only [unixsd-record-parser]] @@ -14,7 +13,6 @@ [cayenne.oai :as oai] [cayenne.job :as job] [cayenne.html :as html] - [cayenne.tasks.category :as cat] [cayenne.tasks.doaj :as doaj] [cayenne.tasks.funder :as funder] [cayenne.tasks.mongo :as mongo] @@ -90,8 +88,7 @@ (comp (record-json-writer "out.txt") #(apply funder/apply-to %) - #(apply doaj/apply-to %) - #(apply cat/apply-to %))) + #(apply doaj/apply-to %))) (def dump-solr-docs (comp @@ -100,8 +97,7 @@ #(assoc % :source "CrossRef") #(apply itree/centre-on %) #(apply funder/apply-to %) - #(apply doaj/apply-to %) - #(apply cat/apply-to %))) + #(apply doaj/apply-to %))) (def dump-plain-es-docs (comp @@ -123,8 +119,7 @@ #(assoc % :source "CrossRef") #(apply itree/centre-on %) #(apply funder/apply-to %) - #(apply doaj/apply-to %) - #(apply cat/apply-to %))) + #(apply doaj/apply-to %))) (def print-solr-docs (comp @@ -133,8 +128,7 @@ #(assoc % :source "CrossRef") #(apply itree/centre-on %) #(apply funder/apply-to %) - #(apply doaj/apply-to %) - #(apply cat/apply-to %))) + #(apply doaj/apply-to %))) (def index-solr-docs (comp @@ -142,8 +136,7 @@ #(assoc % :source "CrossRef") #(apply itree/centre-on %) #(apply funder/apply-to %) - #(apply doaj/apply-to %) - #(apply cat/apply-to %))) + #(apply doaj/apply-to %))) (def index-es-docs (comp @@ -156,8 +149,7 @@ #(assoc % :source "CrossRef") #(apply itree/centre-on %) #(apply funder/apply-to %) - #(apply doaj/apply-to %) - #(apply cat/apply-to %))) + #(apply doaj/apply-to %))) (defn parse-unixref-records [file-or-dir using] (oai/process file-or-dir @@ -297,26 +289,6 @@ [doi-list-loc] (into {} (map find-doi (-> doi-list-loc (line-seq) (distinct))))) -(defn check-url-citations [file-or-dir] - (oai/process - file-or-dir - :parser unixref-record-parser - :task (full-url-citation-checker "check.log.txt"))) - -(defn find-citations-like [file-or-dir patt] - (oai/process - file-or-dir - :parser unixref-citation-parser - :task (matching-citation-finder "match.log.txt" patt))) - -(defn find-standards-citations [file-or-dir] - (let [patt #"^(ASTM [A-G]|ISO |IEC |ISO/IEC |EN |EN ISO |BS |BS ISO |BS EN ISO |IEEE [A-Z]?)[0-9]+((\.|-)[0-9]+)? ((\.|-)[0-9]+)?(:[0-9]{4})?"] - (find-citations-like file-or-dir patt))) - -(defn find-standards-citations-loose [file-or-dir] - (let [patt #"(ASTM [A-G]|ISO |IEC |ISO/IEC |EN |EN ISO |BS |BS ISO |BS EN ISO |IEEE [A-Z]?)[0-9]+((\.|-)[0-9]+)? ((\.|-)[0-9]+)?(:[0-9]{4})?"] - (find-citations-like file-or-dir patt))) - (defn update-member-solr-docs [id offset to-be-updated?] (let [data (-> (java.net.URL. (str "http://api.crossref.org/v1/members/" id diff --git a/src/cayenne/tasks/category.clj b/src/cayenne/tasks/category.clj index 6cd6509b..4b4f64bd 100644 --- a/src/cayenne/tasks/category.clj +++ b/src/cayenne/tasks/category.clj @@ -1,51 +1,13 @@ (ns cayenne.tasks.category (:use [cayenne.ids.issn :only [normalize-issn]] [cayenne.item-tree]) - (:require [somnium.congomongo :as m] - [clojure.core.memoize :as memoize] - [dk.ative.docjure.spreadsheet :as sheet] + (:require [dk.ative.docjure.spreadsheet :as sheet] [cayenne.conf :as conf] [clojure.string :as string] [qbits.spandex :as elastic] [cayenne.elastic.util :as elastic-util] [cayenne.ids.issn :as issn-id])) -;; todo remove below - -(defn get-category-name [category] - (let [code (String/valueOf category)] - (m/with-mongo (conf/get-service :mongo) - (-> (m/fetch-one :categories :where {:code code}) (:name))))) - -(defn get-issn-categories [issn] - (let [norm-issn (normalize-issn issn)] - (m/with-mongo (conf/get-service :mongo) - (->> (m/fetch-one :issns :where {"$or" [{:p_issn norm-issn} {:e_issn norm-issn}]}) - (:categories) - (map #(Integer/parseInt %)))))) - -(def get-category-name-memo (memoize/lru get-category-name :lru/threshold 100)) - -(def get-issn-categories-memo (memoize/lru get-issn-categories :lru/threshold 100)) - -(defn clear! [] - (memoize/memo-clear! get-category-name-memo) - (memoize/memo-clear! get-issn-categories-memo)) - -(defn apply-to - "Merge categories into an item if it is a journal item." - ([item] - (if (= :journal (get-item-subtype item)) - (do - (let [issns (map normalize-issn (get-item-ids item :issn)) - categories (set (mapcat get-issn-categories-memo issns))] - (assoc item :category (map get-category-name-memo categories)))) - item)) - ([id item] - [id (apply-to item)])) - -;; end todo remove below - (defn normalize-journal [m] (cond-> (-> m diff --git a/src/cayenne/tasks/citation.clj b/src/cayenne/tasks/citation.clj deleted file mode 100644 index cebb5ea5..00000000 --- a/src/cayenne/tasks/citation.clj +++ /dev/null @@ -1,140 +0,0 @@ -(ns cayenne.tasks.citation - (:import [java.io StringWriter PrintWriter]) - (:use [cayenne.util]) - (:require [clojure.java.io :as io] - [clojure.data.csv :as csv] - [clojure.string :as string] - [cayenne.item-tree :as itree] - [cayenne.url :as url] - [cayenne.conf :as conf] - [cayenne.tasks.category :as cat] - [cayenne.ids.issn :as issn] - [somnium.congomongo :as m])) - -(def hit-count (atom 0)) -(def miss-count (atom 0)) -(def citations-scanned (atom 0)) -(def records-scanned (atom 0)) - -(defn matching-citation-finder - "Count unstructured citations matching a particular regex pattern. Expects - input in the form produced by unixref-citation-parser." - [log-file patt] - (reset! hit-count 0) - (reset! miss-count 0) - (let [wrtr (PrintWriter. (io/writer log-file))] - (fn [citations] - (doseq [citation citations] - (when-let [citation-text (:unstructured citation)] - (if (re-find patt (.trim citation-text)) - (do - (swap! hit-count inc) - (.println wrtr (str citation-text)) - (.flush wrtr)) - (swap! miss-count inc))))))) - -(defn to-csv-line [categories year citation url] - (if url - [(nth categories 0 nil) - (nth categories 1 nil) - (nth categories 2 nil) - (nth categories 3 nil) - (nth categories 4 nil) - (nth categories 5 nil) - year - true - (:valid url) - (:resolves url) - (:root url) - (:tld url) - (:url url)] - [(nth categories 0 nil) - (nth categories 1 nil) - (nth categories 2 nil) - (nth categories 3 nil) - (nth categories 4 nil) - (nth categories 5 nil) - year - false - false - false - nil - nil - nil])) - -(defn to-short-csv-line [citing-doi url] - (if (:url url) - [citing-doi ;; Citing DOI - (:year url) ;; Citing DOI year of publication - true ;; Has unstructured text? - true ;; Has URI? - (:valid url) ;; Has valid URI? - (:root url) ;; URI root - (:tld url) ;; URI tld - (:url url) ;; URI - (:original-text url)] ;; Original citation text - [citing-doi ;; Citing DOI - (:year url) ;; Citing DOI year of publication - (if (:original-text url) true false) ;; Has unstructured text? - false ;; Has URI? - false ;; Has valid URI? - nil ;; URI root - nil ;; URI tld - nil ;; URI - (:original-text url)])) ;; Original citation text - -(defn simple-url-citation-checker - "Like the full url citation checker, except does not try to resolve - URL and does not consider citing DOI's ISSN and science categories." - [out-file] - (reset! citations-scanned 0) - (reset! records-scanned 0) - (let [wrtr (conf/file-writer out-file)] - (fn [item] - (swap! records-scanned inc) - (let [article (itree/find-item-of-subtype (second item) :journal-article) - citations (itree/get-item-rel article :citation) - doi (first (itree/get-item-ids article :long-doi)) - year (-> (concat (get-in article [:rel :published-online]) - (get-in article [:rel :published-print])) - first - :year)] - (when citations - (swap! citations-scanned + (count citations)) - (let [lines (->> citations - (map :unstructured) - (map #(merge {:original-text % :year year} - (if % - (url/locate-without-resolve %) - {}))) - (map (partial to-short-csv-line doi)))] - (with-open [str-wrtr (StringWriter.)] - (csv/write-csv str-wrtr lines) - (conf/write-to wrtr (.toString str-wrtr))))))))) - -(defn full-url-citation-checker - "Finds URLs in citations. Will pull out year and science categories - of the citing work if available. Finally will try to resolve - any extracted URLs." - [out-file] - (reset! citations-scanned 0) - (reset! records-scanned 0) - (let [wrtr (conf/file-writer out-file)] - (fn [item] - (let [journal (itree/find-item-of-subtype (second item) :journal) - article (itree/find-item-of-subtype (second item) :journal-article) - year (:year (first (or - (get-in article [:rel :published-online]) - (get-in article [:rel :published-print])))) - issn (issn/normalize-issn - (first - (filter (comp issn/is-issn? issn/normalize-issn) (:id journal)))) - categories (cat/get-issn-categories-memo issn) - citations (get-in article [:rel :citation]) - citation-texts (map :unstructured (filter :unstructured citations)) - urls (map url/locate citation-texts)] - (with-open [str-wrtr (StringWriter.)] - (csv/write-csv str-wrtr (map (partial to-csv-line categories year) citation-texts urls)) - (conf/write-to wrtr (.toString str-wrtr))))))) - - From 95ab0d24874ff7a6b5da386a2ab3952e52951c42 Mon Sep 17 00:00:00 2001 From: Karl Jonathan Ward Date: Mon, 13 Nov 2017 18:11:05 +0000 Subject: [PATCH 045/156] Citation display decision fed by ES member data --- src/cayenne/api/v1/feed.clj | 2 -- src/cayenne/data/work.clj | 58 +++++++++++------------------------ src/cayenne/tasks/journal.clj | 1 - 3 files changed, 18 insertions(+), 43 deletions(-) diff --git a/src/cayenne/api/v1/feed.clj b/src/cayenne/api/v1/feed.clj index 6f5747eb..2bea40a1 100644 --- a/src/cayenne/api/v1/feed.clj +++ b/src/cayenne/api/v1/feed.clj @@ -6,7 +6,6 @@ [cayenne.item-tree :as itree] [cayenne.tasks.funder :as funder] [cayenne.tasks.doaj :as doaj] - [cayenne.tasks.category :as category] [cayenne.tasks.solr :as solr] [cayenne.api.v1.types :as types] [cayenne.api.v1.response :as r] @@ -155,7 +154,6 @@ (fn [rdr] (let [f #(let [parsed (->> % unixsd/unixsd-record-parser - (apply category/apply-to) (apply doaj/apply-to) (apply funder/apply-to) (apply itree/centre-on)) diff --git a/src/cayenne/data/work.clj b/src/cayenne/data/work.clj index b2fe7921..8067b7c2 100644 --- a/src/cayenne/data/work.clj +++ b/src/cayenne/data/work.clj @@ -9,7 +9,6 @@ [cayenne.ids.prefix :as prefix-id] [cayenne.ids.member :as member-id] [cayenne.formats.citeproc :as citeproc] - [somnium.congomongo :as m] [org.httpkit.client :as http] [clojure.string :as string] [clojure.data.json :as json] @@ -20,51 +19,30 @@ (:import [java.lang RuntimeException] [java.net URLEncoder])) -;; todo eventually produce citeproc from more detailed data stored in mongo -;; for each DOI that comes back from solr. For now, covert the solr fields -;; to some (occasionally ambiguous) citeproc structures. - -;; todo API links - orcids, subject ids, doi, issn, isbn, owner prefix - -;; todo conneg. currently returning two different formats - item-tree -;; where a DOI is known, citeproc for search results. - -;; todo should be included in solr data -(defn get-id-for-prefix [collection prefix] - (m/with-mongo (conf/get-service :mongo) - (-> collection - (m/fetch-one :where {:prefixes (prefix-id/extract-prefix prefix)}) - :id - member-id/to-member-id-uri))) - -(defn get-member-prefix-info [collection id] - (m/with-mongo (conf/get-service :mongo) - (-> collection - (m/fetch-one :where {:id (Integer/parseInt (member-id/extract-member-id id))}) - :prefix))) - (defn display-citations? [metadata] (when (:member metadata) - (let [prefix (prefix-id/extract-prefix (:prefix metadata)) - member-id (member-id/extract-member-id (:member metadata)) - member-prefix-info (get-member-prefix-info "members" member-id)] + (when-let [member-doc (-> (elastic/request + (conf/get-service :elastic) + {:method :get + :url "/members/members/_search" + :body (-> {:size 1} + (assoc-in + [:query :bool :filter] + [{:term {:id (:member metadata)}}]))}) + (get-in [:body :hits :hits]) + first + :_source)] (not (empty? - (filter #(and (= (:value %) prefix) + (filter #(and (= (:value %) (:prefix metadata)) (:public-references %)) - member-prefix-info)))))) - -;; (defn with-citations [metadata] -;; (if (display-citations? metadata) -;; metadata -;; (-> metadata -;; (dissoc :reference) -;; (update-in [:relation] dissoc :cites)))) - -(defn with-citations [metadata] metadata) + (:prefix member-doc))))))) -(defn partial-response? [query-response] - (.. query-response (getResponseHeader) (get "partialResults"))) +(defn with-citations [metadata] + (if (display-citations? metadata) + metadata + (-> metadata + (dissoc :reference)))) (defn render-record [query-context doc] (into diff --git a/src/cayenne/tasks/journal.clj b/src/cayenne/tasks/journal.clj index f1be42b2..a5c9cf00 100644 --- a/src/cayenne/tasks/journal.clj +++ b/src/cayenne/tasks/journal.clj @@ -2,7 +2,6 @@ (:require [clojure.data.csv :as csv] [clojure.java.io :as io] [clojure.string :as string] - [somnium.congomongo :as m] [cayenne.conf :as conf] [cayenne.ids.issn :as issn-id] [cayenne.util :as util] From 51a02e8e56ff0c1a2a8af15a7dc52ea271d78a51 Mon Sep 17 00:00:00 2001 From: Karl Jonathan Ward Date: Mon, 13 Nov 2017 18:23:51 +0000 Subject: [PATCH 046/156] Remove old doaj code --- src/cayenne/action.clj | 19 ++++++------------- src/cayenne/api/v1/feed.clj | 2 -- src/cayenne/schedule.clj | 1 - src/cayenne/tasks/doaj.clj | 34 ---------------------------------- src/cayenne/user.clj | 14 +------------- 5 files changed, 7 insertions(+), 63 deletions(-) delete mode 100644 src/cayenne/tasks/doaj.clj diff --git a/src/cayenne/action.clj b/src/cayenne/action.clj index ea0e4867..3dd0ff6b 100644 --- a/src/cayenne/action.clj +++ b/src/cayenne/action.clj @@ -13,7 +13,6 @@ [cayenne.oai :as oai] [cayenne.job :as job] [cayenne.html :as html] - [cayenne.tasks.doaj :as doaj] [cayenne.tasks.funder :as funder] [cayenne.tasks.mongo :as mongo] [cayenne.item-tree :as itree] @@ -87,8 +86,7 @@ (def dump-annotated-docs (comp (record-json-writer "out.txt") - #(apply funder/apply-to %) - #(apply doaj/apply-to %))) + #(apply funder/apply-to %))) (def dump-solr-docs (comp @@ -96,8 +94,7 @@ solr/as-solr-document #(assoc % :source "CrossRef") #(apply itree/centre-on %) - #(apply funder/apply-to %) - #(apply doaj/apply-to %))) + #(apply funder/apply-to %))) (def dump-plain-es-docs (comp @@ -118,8 +115,7 @@ es-index/index-command #(assoc % :source "CrossRef") #(apply itree/centre-on %) - #(apply funder/apply-to %) - #(apply doaj/apply-to %))) + #(apply funder/apply-to %))) (def print-solr-docs (comp @@ -127,16 +123,14 @@ solr/as-solr-document #(assoc % :source "CrossRef") #(apply itree/centre-on %) - #(apply funder/apply-to %) - #(apply doaj/apply-to %))) + #(apply funder/apply-to %))) (def index-solr-docs (comp solr/insert-item #(assoc % :source "CrossRef") #(apply itree/centre-on %) - #(apply funder/apply-to %) - #(apply doaj/apply-to %))) + #(apply funder/apply-to %))) (def index-es-docs (comp @@ -148,8 +142,7 @@ (partial mongo/insert-item "items") #(assoc % :source "CrossRef") #(apply itree/centre-on %) - #(apply funder/apply-to %) - #(apply doaj/apply-to %))) + #(apply funder/apply-to %))) (defn parse-unixref-records [file-or-dir using] (oai/process file-or-dir diff --git a/src/cayenne/api/v1/feed.clj b/src/cayenne/api/v1/feed.clj index 2bea40a1..01a50a8d 100644 --- a/src/cayenne/api/v1/feed.clj +++ b/src/cayenne/api/v1/feed.clj @@ -5,7 +5,6 @@ [cayenne.formats.datacite :as datacite] [cayenne.item-tree :as itree] [cayenne.tasks.funder :as funder] - [cayenne.tasks.doaj :as doaj] [cayenne.tasks.solr :as solr] [cayenne.api.v1.types :as types] [cayenne.api.v1.response :as r] @@ -154,7 +153,6 @@ (fn [rdr] (let [f #(let [parsed (->> % unixsd/unixsd-record-parser - (apply doaj/apply-to) (apply funder/apply-to) (apply itree/centre-on)) with-source (assoc parsed diff --git a/src/cayenne/schedule.clj b/src/cayenne/schedule.clj index 9ba1231a..e357bb71 100644 --- a/src/cayenne/schedule.clj +++ b/src/cayenne/schedule.clj @@ -4,7 +4,6 @@ [cayenne.tasks.solr :as solr] [cayenne.tasks.prefix :as prefix] [cayenne.tasks.funder :as funder] - [cayenne.tasks.doaj :as doaj] [cayenne.tasks.category :as category] [cayenne.tasks.solr :as solr] [cayenne.tasks.publisher :as publisher] diff --git a/src/cayenne/tasks/doaj.clj b/src/cayenne/tasks/doaj.clj deleted file mode 100644 index d756ddd4..00000000 --- a/src/cayenne/tasks/doaj.clj +++ /dev/null @@ -1,34 +0,0 @@ -(ns cayenne.tasks.doaj - (:use [cayenne.ids.issn :only [normalize-issn]] - [cayenne.item-tree]) - (:require [somnium.congomongo :as m] - [clojure.core.memoize :as memoize] - [cayenne.conf :as conf])) - -;; Right now we take DOAJ info from the old mongo collections. -;; At some point should be periodically downloading DOAJ info. - -(defn get-oa-status [issn] - (if-not issn - "Other" - (let [norm-issn (normalize-issn issn) - result (m/with-mongo (conf/get-service :mongo) - (m/fetch-one :issns :where {"$or" [{:p_issn norm-issn} {:e_issn norm-issn}]}))] - (cond - (not result) "Other" - (= "doaj" (:oa_info result)) "DOAJ" - :else "Other")))) - -(def get-oa-status-memo (memoize/lru get-oa-status)) - -(defn clear! [] (memoize/memo-clear! get-oa-status-memo)) - -(defn apply-to - ([item] - (if (= (get-item-subtype item) :journal) - (let [issn (first (map normalize-issn (get-item-ids item :issn)))] - (assoc item :oa-status (get-oa-status-memo issn))) - (assoc item :oa-status "Other"))) - ([id item] - [id (apply-to item)])) - diff --git a/src/cayenne/user.clj b/src/cayenne/user.clj index 07516424..e8cd697e 100644 --- a/src/cayenne/user.clj +++ b/src/cayenne/user.clj @@ -5,14 +5,12 @@ [cayenne.schedule :as schedule] [cayenne.api.route :as route] [cayenne.action :as action] - [taoensso.timbre.appenders.irc :as irc-appender] [taoensso.timbre :as timbre] [cayenne.tasks.category :as category] [cayenne.tasks.journal :as journal] [cayenne.tasks.publisher :as publisher] [cayenne.tasks.funder :as funder] - [cayenne.data.member :as member]) - (:import [org.apache.solr.client.solrj SolrQuery])) + [cayenne.data.member :as member])) (defn begin [& profiles] (timbre/set-config! [:appenders :standard-out :enabled?] false) @@ -34,16 +32,6 @@ (get-in [conf/*core-name* :services]) keys))))) -(defn print-solr-doi [doi] - (-> (conf/get-service :solr) - (.query - (doto (SolrQuery.) - (.setQuery (str "doi_key:\"" (doi-id/to-long-doi-uri doi) "\"")))) - (.getResults) - first - prn) - nil) - (defn index-ancillary [] (category/index-subjects) (publisher/index-members) From e8e29162106c1a97ba156d140bdfc7acc59aebbc Mon Sep 17 00:00:00 2001 From: Karl Jonathan Ward Date: Mon, 13 Nov 2017 18:33:07 +0000 Subject: [PATCH 047/156] Remove old patent deposit code (now handled by event data) --- src/cayenne/api/deposit.clj | 49 ------------------------ src/cayenne/tasks/patent.clj | 74 ------------------------------------ 2 files changed, 123 deletions(-) delete mode 100644 src/cayenne/tasks/patent.clj diff --git a/src/cayenne/api/deposit.clj b/src/cayenne/api/deposit.clj index 4d2dbd2a..752eb13d 100644 --- a/src/cayenne/api/deposit.clj +++ b/src/cayenne/api/deposit.clj @@ -3,7 +3,6 @@ [clojure.data.json :as json] [cayenne.conf :as conf] [cayenne.ids.doi :as doi-id] - [cayenne.tasks.patent :as patent] [cayenne.data.deposit :as deposit-data] [cayenne.data.work :as work] [cayenne.api.v1.query :as q] @@ -184,24 +183,6 @@ TimeUnit/MILLISECONDS))) context) -(defn perform-patent-citation-deposit [context separator] - (let [batch-id (:batch-id context) - test? (:test context)] - (try - (let [data-object (if (:deflate? context) - (GZIPInputStream. - (deposit-data/fetch-data {:id (:batch-id context)})) - (deposit-data/fetch-data {:id (:batch-id context)}))] - (deposit-data/begin-handoff! batch-id) - (with-open [rdr (clojure.java.io/reader data-object)] - (patent/load-citation-csv rdr - :consume (not test?) - :separator separator)) - (deposit-data/end-handoff! batch-id) - (deposit-data/complete! batch-id)) - (catch Exception e - (deposit-data/failed! batch-id :exception e))))) - (defn matched-citations [citations] (map #(let [clean-text (string/replace (:text %) #"(?U)[^\w]+" " ") @@ -299,36 +280,6 @@ perform-xml-deposit) (:batch-id context)) -(defmethod deposit! "application/vnd.crossref.patent-citations+csv" [context] - (-> context - download-object - create-deposit - (perform-patent-citation-deposit \,)) - (:batch-id context)) - -(defmethod deposit! "application/vnd.crossref.patent-citations+csv+g-zip" [context] - (-> context - download-object - create-deposit - deflate-object - (perform-patent-citation-deposit \,)) - (:batch-id context)) - -(defmethod deposit! "application/vnd.crossref.patent-citations+tab-separated-values" [context] - (-> context - download-object - create-deposit - (perform-patent-citation-deposit \tab)) - (:batch-id context)) - -(defmethod deposit! "application/vnd.crossref.patent-citations+tab-separated-values+g-zip" [context] - (-> context - download-object - create-deposit - deflate-object - (perform-patent-citation-deposit \tab)) - (:batch-id context)) - (defmethod deposit! "application/pdf" [context] (-> context download-object diff --git a/src/cayenne/tasks/patent.clj b/src/cayenne/tasks/patent.clj deleted file mode 100644 index 294d8fb3..00000000 --- a/src/cayenne/tasks/patent.clj +++ /dev/null @@ -1,74 +0,0 @@ -(ns cayenne.tasks.patent - (:require [somnium.congomongo :as m] - [org.httpkit.client :as hc] - [cayenne.conf :as conf] - [cayenne.ids.doi :as doi-id] - [cayenne.util :as util] - [cayenne.data.work :as work] - [cayenne.ids.doi :as doi-id] - [clojure.java.io :as io] - [clojure.data.csv :as csv] - [clojure.data.json :as json] - [clojure.string :as string])) - -(defn load-citation-csv [input & {:keys [consume separator batch-id] - :or {consume true separator \, batch-id nil}}] - (doseq [citation-line (csv/read-csv input :separator separator)] - (m/with-mongo (conf/get-service :mongo) - (let [cell-count (count citation-line) - patent-key (-> citation-line first string/upper-case string/trim) - doi (-> citation-line second doi-id/normalize-long-doi) - language (-> citation-line (nth 2) string/lower-case string/trim) - patent-title (-> citation-line (nth 3) string/trim) - citation (when (> cell-count 4) - (-> citation-line (nth 4) string/trim)) - match-score (when (> cell-count 5) - (-> citation-line (nth 5) util/parse-float-safe))] - (when consume - (when-not (m/fetch-one "citations" :where {"from.id" patent-key - "to.id" doi}) - (m/insert! "citations" - {:from {:type :patent :id patent-key :authority :cambia} - :to {:type :doi :id doi :authority :crossref} - :batch-id batch-id - :citation citation - :likelihood match-score})) - (when-not (m/fetch-one "patents" :where {"patent_key" patent-key}) - (m/insert! "patents" - {:patent_key patent-key - :pub_key patent-key - :lang language - :title patent-title}))))))) - -(defn find-patent-citations [mid] - (m/with-mongo (conf/get-service :mongo) - (with-open [out-file (io/writer "patent-citations.csv")] - (doseq [citation (m/fetch :citations)] - (let [doi-info (-> citation - (get-in [:to :id]) - doi-id/to-long-doi-uri - work/fetch-one - :message)] - (when (and (:member doi-info) - (= mid (last (string/split (:member doi-info) #"/")))) - (csv/write-csv out-file - [[(:DOI doi-info) - (get-in citation [:from :id]) - (:citation citation)]]))))))) - - - - - - - - - - - - - - - - - From 2eb646cff3fe449acae6f1aadc9df0e83d02ee39 Mon Sep 17 00:00:00 2001 From: Karl Jonathan Ward Date: Mon, 13 Nov 2017 18:41:28 +0000 Subject: [PATCH 048/156] Remove mongo configuration --- src/cayenne/conf.clj | 8 -------- 1 file changed, 8 deletions(-) diff --git a/src/cayenne/conf.clj b/src/cayenne/conf.clj index 26f1b1e2..5e452304 100644 --- a/src/cayenne/conf.clj +++ b/src/cayenne/conf.clj @@ -7,7 +7,6 @@ [clojure.data.json :as json] [clojure.java.io :as io] [clojure.tools.trace :as trace] - [somnium.congomongo :as m] [qbits.spandex :as elastic] [clj-http.conn-mgr :as conn] [clojure.tools.nrepl.server :as nrepl] @@ -111,9 +110,6 @@ (set-param! [:dir :tmp] (str (get-param [:dir :home]) "/tmp")) (set-param! [:service :elastic :urls] ["http://localhost:9200"]) - (set-param! [:service :mongo :db] "crossref") - (set-param! [:service :mongo :host] "localhost") - (set-param! [:service :datomic :url] "datomic:mem://test") (set-param! [:service :api :port] 3000) (set-param! [:service :queue :host] "5.9.51.150") (set-param! [:service :logstash :host] "5.9.51.2") @@ -174,10 +170,6 @@ (Executors/newScheduledThreadPool 20)) (set-service! :conn-mgr (conn/make-reusable-conn-manager {:timeout 120 :threads 10})) - (set-service! :mongo - (m/make-connection - (get-param [:service :mongo :db]) - :host (get-param [:service :mongo :host]))) (set-service! :elastic (elastic/client {:hosts (get-param [:service :elastic :urls])}))))) From c60260f92a4d1cf5b8579ee4189bb6fc7820c8fe Mon Sep 17 00:00:00 2001 From: Karl Jonathan Ward Date: Mon, 13 Nov 2017 22:10:18 +0000 Subject: [PATCH 049/156] Use ES to serve /types/:type-id/works --- src/cayenne/data/type.clj | 6 +----- src/cayenne/ids/type.clj | 4 ---- 2 files changed, 1 insertion(+), 9 deletions(-) diff --git a/src/cayenne/data/type.clj b/src/cayenne/data/type.clj index 3daa5153..f84fb003 100644 --- a/src/cayenne/data/type.clj +++ b/src/cayenne/data/type.clj @@ -12,8 +12,6 @@ {:id id :label (:label t)}) -(def solr-type-id-field "type") - (defn fetch-all [] (-> (r/api-response :type-list) (r/with-result-items @@ -31,6 +29,4 @@ (r/api-response :type :content))))) (defn fetch-works [query-context] - (-> query-context - (update-in [:id] type-id/->index-id) - (work/fetch :id-field solr-type-id-field))) + (work/fetch query-context :id-field :type)) diff --git a/src/cayenne/ids/type.clj b/src/cayenne/ids/type.clj index ce823777..5fea0923 100644 --- a/src/cayenne/ids/type.clj +++ b/src/cayenne/ids/type.clj @@ -75,7 +75,3 @@ (defn ->type-id [index-str] (get reverse-dictionary index-str)) - -(defn ->index-id [id] - (when-let [t (get type-dictionary (keyword id))] - (:index-id t))) From b65511c28dc41019a83fb007437a5da183c576fa Mon Sep 17 00:00:00 2001 From: Karl Jonathan Ward Date: Mon, 13 Nov 2017 22:10:41 +0000 Subject: [PATCH 050/156] Index feed documents into ES --- src/cayenne/api/v1/feed.clj | 29 ++++++++++++----------------- 1 file changed, 12 insertions(+), 17 deletions(-) diff --git a/src/cayenne/api/v1/feed.clj b/src/cayenne/api/v1/feed.clj index 01a50a8d..1c50e4fe 100644 --- a/src/cayenne/api/v1/feed.clj +++ b/src/cayenne/api/v1/feed.clj @@ -19,7 +19,8 @@ [nio2.dir-seq :refer [dir-seq-glob]] [nio2.io :refer [path]] [clj-time.core :as dt] - [clojure.core.async :refer [chan buffer go go-loop !!]]) + [clojure.core.async :refer [chan buffer go go-loop !!]] + [cayenne.elastic.index :as es-index]) (:import [java.util UUID] [java.io File] [java.util.concurrent TimeUnit])) @@ -138,27 +139,20 @@ (defmethod process! "application/vnd.datacite.datacite+xml" [feed-context] (process-with (fn [rdr] - (let [f #(let [parsed (->> % - datacite/datacite-record-parser - (apply itree/centre-on)) - with-source (assoc parsed - :source - (-> feed-context :provider provider-names))] - (solr/insert-item with-source))] + (let [f #(->> % + datacite/datacite-record-parser + (apply itree/centre-on) + es-index/index-item)] (xml/process-xml rdr "record" f))) feed-context)) (defmethod process! "application/vnd.crossref.unixsd+xml" [feed-context] (process-with (fn [rdr] - (let [f #(let [parsed (->> % - unixsd/unixsd-record-parser - (apply funder/apply-to) - (apply itree/centre-on)) - with-source (assoc parsed - :source - (-> feed-context :provider provider-names))] - (solr/insert-item with-source))] + (let [f #(->> % + unixsd/unixsd-record-parser + (apply itree/centre-on) + es-index/index-item)] (xml/process-xml rdr "crossref_result" f))) feed-context)) @@ -209,7 +203,8 @@ (make-feed-context provider) (record! (get-in % [:request :body])))] (assoc % :digest (:digest result))) - :handle-created #(r/api-response :feed-file-creation :content {:digest (:digest %)})) + :handle-created #(r/api-response :feed-file-creation + :content {:digest (:digest %)})) (defroutes feed-api-routes (ANY "/:provider" [provider] From 4859b6e050305fa74166d8185ffe37a48393c85d Mon Sep 17 00:00:00 2001 From: Karl Jonathan Ward Date: Tue, 14 Nov 2017 10:51:49 +0000 Subject: [PATCH 051/156] Removal of old, unused code Removed a lot of old code including: - OAI harvester - Datomic-backed graph API - HTML landing page interrogation - Datacite XML parser - DOI metadata quality checker - Web of Knowledge parser - Resolution URL checker - Citation analysis --- project.clj | 5 +- src/cayenne/action.clj | 328 ++--------------- src/cayenne/api/route.clj | 24 +- src/cayenne/api/v1/feed.clj | 19 +- src/cayenne/api/v1/graph.clj | 325 ----------------- src/cayenne/api/v1/routes.clj | 10 - src/cayenne/conf.clj | 10 - src/cayenne/data/quality.clj | 175 --------- src/cayenne/formats/datacite.clj | 105 ------ src/cayenne/html.clj | 46 --- src/cayenne/job.clj | 62 ---- src/cayenne/oai.clj | 181 ---------- src/cayenne/schedule.clj | 35 +- src/cayenne/sources/wok.clj | 23 -- src/cayenne/tasks/datomic.clj | 588 ------------------------------- src/cayenne/tasks/doi.clj | 51 --- src/cayenne/tasks/dump.clj | 76 ---- src/cayenne/tasks/mongo.clj | 40 --- src/cayenne/url.clj | 85 ----- 19 files changed, 32 insertions(+), 2156 deletions(-) delete mode 100644 src/cayenne/api/v1/graph.clj delete mode 100644 src/cayenne/data/quality.clj delete mode 100644 src/cayenne/formats/datacite.clj delete mode 100644 src/cayenne/html.clj delete mode 100644 src/cayenne/job.clj delete mode 100644 src/cayenne/oai.clj delete mode 100644 src/cayenne/sources/wok.clj delete mode 100644 src/cayenne/tasks/datomic.clj delete mode 100644 src/cayenne/tasks/doi.clj delete mode 100644 src/cayenne/tasks/dump.clj delete mode 100644 src/cayenne/tasks/mongo.clj delete mode 100644 src/cayenne/url.clj diff --git a/project.clj b/project.clj index 553a4a37..06f37369 100644 --- a/project.clj +++ b/project.clj @@ -17,9 +17,7 @@ :creds :gpg}} :dependencies [[com.datomic/datomic-pro "0.9.4894" :exclusions [org.slf4j/log4j-over-slf4j]]]}} - :dependencies [[com.datomic/datomic-free "0.9.4880.2" - :exclusions [org.slf4j/log4j-over-slf4j]] - [org.clojure/clojure "1.8.0"] + :dependencies [[org.clojure/clojure "1.8.0"] [org.clojure/core.async "0.2.395"] [org.clojure/tools.nrepl "0.2.3"] [org.clojure/tools.trace "0.7.8"] @@ -37,7 +35,6 @@ [clojurewerkz/quartzite "1.0.1"] [congomongo "0.5.0"] [enlive "1.1.1"] - [htmlcleaner "2.2.4"] [org.apache.jena/jena-core "2.10.1"] [xom "1.2.5"] [clj-http "0.7.2"] diff --git a/src/cayenne/action.clj b/src/cayenne/action.clj index 3dd0ff6b..d3fd1577 100644 --- a/src/cayenne/action.clj +++ b/src/cayenne/action.clj @@ -1,342 +1,58 @@ (ns cayenne.action (:import [java.net URLEncoder]) - (:use [cayenne.conf] - [cayenne.sources.wok] - [cayenne.tasks.dump] - [clojure.tools.trace] - [cayenne.formats.unixref :only [unixref-record-parser unixref-citation-parser]] - [cayenne.formats.unixsd :only [unixsd-record-parser]] - [cayenne.formats.datacite :only [datacite-record-parser]]) (:require [clojure.java.io :as io] [clojure.data.json :as json] [clojure.string :as string] - [cayenne.oai :as oai] - [cayenne.job :as job] - [cayenne.html :as html] - [cayenne.tasks.funder :as funder] - [cayenne.tasks.mongo :as mongo] - [cayenne.item-tree :as itree] - [cayenne.tasks.solr :as solr] [cayenne.conf :as conf] + [cayenne.item-tree :as itree] [cayenne.ids.doi :as doi] + [cayenne.xml :as xml] [cayenne.elastic.index :as es-index] + [cayenne.formats.unixsd :refer [unixsd-record-parser]] [taoensso.timbre :as timbre :refer [info error]])) -(conf/with-core :default - (conf/set-param! [:oai :crossref-test :dir] (str (get-param [:dir :data]) "/oai/crossref-test")) - (conf/set-param! [:oai :crossref-test :url] "http://oai.crossref.org/OAIHandler") - (conf/set-param! [:oai :crossref-test :type] "cr_unixsd") - (conf/set-param! [:oai :crossref-test :set-spec] "J:10.5555") - - (conf/set-param! [:oai :crossref-journals :dir] (str (get-param [:dir :data]) "/oai/crossref-journals")) - (conf/set-param! [:oai :crossref-journals :url] "http://oai.crossref.org/OAIHandler") - (conf/set-param! [:oai :crossref-journals :type] "cr_unixsd") - (conf/set-param! [:oai :crossref-journals :set-spec] "J") - (conf/set-param! [:oai :crossref-journals :interval] 7) - (conf/set-param! [:oai :crossref-journals :split] "record") - (conf/set-param! [:oai :crossref-journals :parser] cayenne.formats.unixsd/unixsd-record-parser) - - (conf/set-param! [:oai :crossref-books :dir] (str (get-param [:dir :data]) "/oai/crossref-books")) - (conf/set-param! [:oai :crossref-books :url] "http://oai.crossref.org/OAIHandler") - (conf/set-param! [:oai :crossref-books :type] "cr_unixsd") - (conf/set-param! [:oai :crossref-books :set-spec] "B") - (conf/set-param! [:oai :crossref-books :interval] 7) - (conf/set-param! [:oai :crossref-books :split] "record") - (conf/set-param! [:oai :crossref-books :parser] cayenne.formats.unixsd/unixsd-record-parser) - - (conf/set-param! [:oai :crossref-serials :dir] (str (get-param [:dir :data]) "/oai/crossref-serials")) - (conf/set-param! [:oai :crossref-serials :url] "http://oai.crossref.org/OAIHandler") - (conf/set-param! [:oai :crossref-serials :type] "cr_unixsd") - (conf/set-param! [:oai :crossref-serials :set-spec] "S") - (conf/set-param! [:oai :crossref-serials :interval] 7) - (conf/set-param! [:oai :crossref-serials :split] "record") - (conf/set-param! [:oai :crossref-serials :parser] cayenne.formats.unixsd/unixsd-record-parser) - - (conf/set-param! [:oai :datacite :dir] (str (get-param [:dir :data]) "/oai/datacite")) - (conf/set-param! [:oai :datacite :url] "http://oai.datacite.org/oai") - (conf/set-param! [:oai :datacite :type] "datacite") - (conf/set-param! [:oai :datacite :interval] 7) - (conf/set-param! [:oai :datacite :split] "resource") - (conf/set-param! [:oai :datacite :parser] cayenne.formats.datacite/datacite-record-parser)) - -(defn scrape-journal-short-names-from-wok [] - (html/scrape-urls - journal-pages - :scraper journal-names-scraper - :task (record-writer "out.txt"))) - (defn openurl-file [doi] (let [extracted-doi (doi/extract-long-doi doi) - url (str (get-param [:upstream :openurl-url]) + url (str (conf/get-param [:upstream :openurl-url]) (URLEncoder/encode extracted-doi))] - (remote-file url))) + (conf/remote-file url))) (defn doi-file [doi] (let [extracted-doi (doi/extract-long-doi doi) - url (str (get-param [:upstream :doi-url]) + url (str (conf/get-param [:upstream :doi-url]) (URLEncoder/encode extracted-doi))] - (remote-file url))) - -(defn return-item [p] - (fn [record] (deliver p record))) - -(def dump-plain-docs - (record-json-writer "out.txt")) + (conf/remote-file url))) -(def dump-annotated-docs +(def print-itree-docs (comp - (record-json-writer "out.txt") - #(apply funder/apply-to %))) - -(def dump-solr-docs - (comp - (record-json-writer "out.txt") - solr/as-solr-document - #(assoc % :source "CrossRef") - #(apply itree/centre-on %) - #(apply funder/apply-to %))) - -(def dump-plain-es-docs - (comp - (record-json-writer "out.txt") - es-index/index-command - #(apply itree/centre-on %))) - -(def dump-plain-solr-docs - (comp - (record-json-writer "out.txt") - solr/as-solr-document - #(assoc % :source "CrossRef") + #(info %) #(apply itree/centre-on %))) -(def print-es-docs +(def print-elastic-docs (comp #(info %) es-index/index-command - #(assoc % :source "CrossRef") - #(apply itree/centre-on %) - #(apply funder/apply-to %))) - -(def print-solr-docs - (comp - #(info %) - solr/as-solr-document - #(assoc % :source "CrossRef") - #(apply itree/centre-on %) - #(apply funder/apply-to %))) - -(def index-solr-docs - (comp - solr/insert-item - #(assoc % :source "CrossRef") - #(apply itree/centre-on %) - #(apply funder/apply-to %))) + #(apply itree/centre-on %))) -(def index-es-docs +(def index-elastic-docs (comp es-index/index-item #(apply itree/centre-on %))) -(def store-item - (comp - (partial mongo/insert-item "items") - #(assoc % :source "CrossRef") - #(apply itree/centre-on %) - #(apply funder/apply-to %))) +(defn process-file [file record-element using] + (with-open [rdr (io/reader file)] + (xml/process-xml + rdr + using + record-element))) -(defn parse-unixref-records [file-or-dir using] - (oai/process file-or-dir - :async false - :split "record" - :parser unixref-record-parser - :task using)) - -(defn parse-unixsd-records [file-or-dir using] - (oai/process file-or-dir - :async false - :split "record" - :parser unixsd-record-parser - :task using)) - -(defn parse-unixsd-query-records [file-or-dir using] - (oai/process file-or-dir - :async false - :kind ".tmp" - :split "crossref_result" - :parser unixsd-record-parser - :task using)) - -(defn parse-datacite-records [file-or-dir using] - (oai/process file-or-dir - :async false - :split "resource" - :parser datacite-record-parser - :task using)) - -(defn parse-openurl [doi using] - (oai/process (openurl-file doi) - :async true - :kind ".tmp" - :split "doi_record" - :parser unixref-record-parser - :task (comp - using - #(vector (doi/to-long-doi-uri doi) (second %))))) - -(defn parse-openurl-list [list-file using] - (with-open [rdr (io/reader (io/file list-file))] - (doseq [doi (line-seq rdr)] - (oai/process (openurl-file doi) - :async true - :kind ".tmp" - :split "doi_record" - :parser unixref-record-parser - :task (comp - using - #(vector (doi/to-long-doi-uri doi) (second %))))))) +(defn parse-unixsd-record [f using] + (process-file (io/file f) "record" using)) (defn parse-doi [doi using] - (oai/process (doi-file doi) - :async false - :kind ".tmp" - :split "crossref_result" - :parser unixsd-record-parser - :task (comp - using - #(vector (doi/to-long-doi-uri doi) (second %))))) + (process-file (doi-file doi) "crossref_result" using)) (defn parse-doi-list [list-file using] (with-open [rdr (io/reader (io/file list-file))] (doseq [doi (line-seq rdr)] - (oai/process (doi-file doi) - :async true - :kind ".tmp" - :split "crossref_result" - :parser unixsd-record-parser - :task (comp - using - #(vector (doi/to-long-doi-uri doi) (second %))))))) - -(defn get-oai-records [service from until using] - (oai/run-range service - :from from - :until until - :task using)) - -(defn reindex-fundref [funder-list-loc] - (let [funder-info (-> funder-list-loc - (slurp) - (json/read-str))] - (doseq [doi (get funder-info "items")] - (parse-openurl doi index-solr-docs)) - (cayenne.tasks.solr/flush-insert-list))) - -(defn rerun-oai-service [service from until action] - (let [existing-dir (clojure.java.io/file (:dir service) - (str from "-" until))] - (doseq [f (.listFiles existing-dir)] - (.delete f)) - (get-oai-records service from until action))) - -(defn rerun-cr-failed - "Retry a failed CrossRef OAI-PMH download represented by a fail log line." - [log-line action] - (if (re-find #":file " log-line) - - (let [path (second (re-find #":file ([\w/-]+)" log-line)) - path-split (reverse (string/split path #"/")) - from-until (string/split (second path-split) #"-") - from (string/join "-" (take 3 from-until)) - until (string/join "-" (take 3 (drop 3 from-until))) - service (conf/get-param [:oai (keyword (nth path-split 2))])] - (rerun-oai-service service from until action)) - - (let [from (second (re-find #":from ([0-9-]+)" log-line)) - until (second (re-find #":until ([0-9-]+)" log-line)) - service (condp = (second (re-find #":set-spec (J|S|B)" log-line)) - "J" (conf/get-param [:oai :crossref-journals]) - "S" (conf/get-param [:oai :crossref-serials]) - "B" (conf/get-param [:oai :crossref-books]))] - (rerun-oai-service service from until action)))) - -(defn rerun-all-cr-failed - "Retry CrossRef OAI-PMH download of each failed download in a log file." - [log-file action] - (with-open [rdr (clojure.java.io/reader log-file)] - (doseq [log-line (line-seq rdr)] - (when (re-find #":state :fail" log-line) - (rerun-cr-failed log-line action))))) - -(defn find-doi - "Look up a DOI via CrossRef Metadata Search." - [doi] - (let [search-url (-> (get-param [:upstream :crmds-dois]) - (str doi) - (java.net.URL.)) - response (-> search-url (slurp) (json/read-str))] - [doi (not (empty? response))])) - -(defn find-dois - "Look up a list of DOIs via CrossRef Metadata Search. Result is a map mapping - DOI to CRMDS response." - [doi-list-loc] - (into {} (map find-doi (-> doi-list-loc (line-seq) (distinct))))) - -(defn update-member-solr-docs [id offset to-be-updated?] - (let [data (-> (java.net.URL. (str "http://api.crossref.org/v1/members/" - id - "/works?rows=1000&offset=" - offset)) - slurp - json/read-str - (get-in ["message" "items"]))] - (doseq [record data] - (when (to-be-updated? record) - (println (str "Running on " (get record "DOI"))) - (parse-doi (get record "DOI") index-solr-docs))) - (when (pos? (count data)) - (println (str "Requesting from " (+ offset 1000))) - (recur id (+ offset 1000) to-be-updated?)))) - - - -(defn elife-bad-container-title? [record] - (> (count (get record "container-title")) 1)) - -(defn update-solr-docs-for-query [query] - (let [dois (map - #(get % "DOI") - (-> (java.net.URL. (str "http://api.crossref.org/v1/works?" - query)) - slurp - json/read-str - (get-in ["message" "items"])))] - (println "Updating" (count dois) "DOIs") - (doall (map #(do (println %) (parse-doi % index-solr-docs)) dois)) - (println "Done"))) - -(defn find-funder-entries-no-id* [member-id offset] - (let [data (-> (java.net.URL. - (str "http://api.crossref.org/v1/members/" - member-id - "/works?rows=1000&filter=has-funder:true&offset=" - offset)) - slurp - (json/read-str :key-fn keyword) - (get-in [:message :items]))] - (concat - (mapcat - (fn [record] - (let [doi (:DOI record) - funding (:funder record)] - (->> funding - (remove :DOI) - (map #(vector doi (:name %)))))) - data) - (if (zero? (count data)) - [] - (find-funder-entries-no-id* member-id (+ offset 1000)))))) - -(defn find-funder-entries-no-id [member-id] - (filter (complement empty?) (find-funder-entries-no-id* member-id 0))) - + (process-file (doi-file doi) "crossref_result" using)))) diff --git a/src/cayenne/api/route.clj b/src/cayenne/api/route.clj index 2a1e0d68..b7e516e8 100644 --- a/src/cayenne/api/route.clj +++ b/src/cayenne/api/route.clj @@ -2,7 +2,6 @@ (:require [cayenne.conf :as conf] [cayenne.api.v1.routes :as v1] [cayenne.api.v1.doc :as v1-doc] - [cayenne.api.v1.graph :as graph-v1] [cayenne.api.v1.feed :as feed-v1] [cayenne.api.conneg :as conneg] [cayenne.api.auth.crossref :as cr-auth] @@ -57,12 +56,6 @@ (ANY "/" [] (redirect "/help")))) -(defn create-graph-routes [] - (routes - (context "/graph" [] graph-v1/graph-api-routes) - (context "/v1/graph" [] graph-v1/graph-api-routes) - (context "/v1.0/graph" [] graph-v1/graph-api-routes))) - (defn create-feed-routes [] (wrap-routes (routes @@ -84,13 +77,11 @@ (response/status 404) (response/header "Content-Type" "application/json"))))) -(defn create-all-routes [& {:keys [graph-api feed-api] - :or {graph-api false - feed-api false}}] +(defn create-all-routes [& {:keys [feed-api] + :or {feed-api false}}] (apply routes (cond-> [(create-protected-api-routes) (create-docs-routes)] - graph-api (conj (create-graph-routes)) feed-api (conj (create-feed-routes)) true (conj (create-unprotected-api-routes)) true (conj (create-unknown-route))))) @@ -138,9 +129,8 @@ (subs uri 0 (dec (count uri))) uri)))))) -(defn create-handler [& {:keys [graph-api feed-api] :or {graph-api false - feed-api false}}] - (-> (create-all-routes :graph-api graph-api :feed-api feed-api) +(defn create-handler [& {:keys [feed-api] :or {feed-api false}}] + (-> (create-all-routes :feed-api feed-api) (logstash/wrap-logstash :host (conf/get-param [:service :logstash :host]) :port (conf/get-param [:service :logstash :port]) :name (conf/get-param [:service :logstash :name])) @@ -161,14 +151,10 @@ (conf/add-startup-task :api (fn [profiles] - (when (some #{:graph} profiles) - (require 'cayenne.tasks.datomic) - (cayenne.tasks.datomic/connect!)) (conf/set-service! :api (hs/run-server - (create-handler :graph-api (some #{:graph-api} profiles) - :feed-api (some #{:feed-api} profiles)) + (create-handler :feed-api (some #{:feed-api} profiles)) {:join? false :thread 128 :port (conf/get-param [:service :api :port])}))))) diff --git a/src/cayenne/api/v1/feed.clj b/src/cayenne/api/v1/feed.clj index 1c50e4fe..e9458fd3 100644 --- a/src/cayenne/api/v1/feed.clj +++ b/src/cayenne/api/v1/feed.clj @@ -2,7 +2,6 @@ (:require [cayenne.conf :as conf] [cayenne.xml :as xml] [cayenne.formats.unixsd :as unixsd] - [cayenne.formats.datacite :as datacite] [cayenne.item-tree :as itree] [cayenne.tasks.funder :as funder] [cayenne.tasks.solr :as solr] @@ -26,23 +25,19 @@ [java.util.concurrent TimeUnit])) (def feed-content-types #{"application/vnd.crossref.unixsd+xml" - "application/vnd.datacite.datacite+xml" "application/vnd.crossref.update+json"}) (def content-type-mnemonics {"application/vnd.crossref.unixsd+xml" "unixsd" - "application/vnd.datacite.datacite+xml" "datacite" "application/vnd.crossref.update+json" "update"}) (def content-type-mnemonics-reverse {"unixsd" "application/vnd.crossref.unixsd+xml" - "datacite" "application/vnd.datacite.datacite+xml" "update" "application/vnd.crossref.update+json"}) -(def feed-providers #{"crossref" "datacite"}) +(def feed-providers #{"crossref"}) -(def provider-names {"crossref" "Crossref" - "datacite" "DataCite"}) +(def provider-names {"crossref" "Crossref"}) (defn feed-log [f state] (spit @@ -136,16 +131,6 @@ (defmulti process! :content-type) -(defmethod process! "application/vnd.datacite.datacite+xml" [feed-context] - (process-with - (fn [rdr] - (let [f #(->> % - datacite/datacite-record-parser - (apply itree/centre-on) - es-index/index-item)] - (xml/process-xml rdr "record" f))) - feed-context)) - (defmethod process! "application/vnd.crossref.unixsd+xml" [feed-context] (process-with (fn [rdr] diff --git a/src/cayenne/api/v1/graph.clj b/src/cayenne/api/v1/graph.clj deleted file mode 100644 index 0f5d3dee..00000000 --- a/src/cayenne/api/v1/graph.clj +++ /dev/null @@ -1,325 +0,0 @@ -(ns cayenne.api.v1.graph - (:require [cayenne.conf :as conf] - [cayenne.util :refer [update-vals parse-int-safe]] - [cayenne.api.v1.types :as t] - [cayenne.api.v1.response :as r] - [cayenne.api.v1.query :as q] - [cayenne.data.work :as work] - [cayenne.ids.doi :as doi-id] - [cayenne.ids.issn :as issn-id] - [cayenne.ids.orcid :as orcid-id] - [cayenne.tasks.datomic :as cd] - [datomic.api :as d] - [liberator.core :refer [defresource]] - [compojure.core :refer [defroutes ANY]] - [ring.util.response :refer [redirect]] - [clojure.string :as string] - [bigml.sampling.simple :as simple])) - -;; Implements the graph API - -;; Handle resolution of IDs of implicit type - -(defn id-type [s] - (cond - (doi-id/extract-long-doi s) :doi - (orcid-id/extract-orcid s) :orcid - (issn-id/extract-issn s) :issn)) - -(defn typed-id [s] - (condp = (id-type s) - :orcid {:type :orcid - :urn (orcid-id/to-orcid-uri s) - :id (orcid-id/normalize-orcid s)} - :doi {:type :doi - :urn (doi-id/to-long-doi-uri s) - :id (doi-id/normalize-long-doi s)} - :issn {:type :issn - :urn (issn-id/to-issn-uri s) - :id (issn-id/normalize-issn s)})) - -;; TODO only working for DOIs -(defn node-link [s context] - "Turn an implicit type ID/URN into a graph API node link." - [s] - (let [context-path (get-in context [:request :context])] - (cond - (doi-id/extract-long-doi s) - (str context-path "/doi/" (doi-id/normalize-long-doi s)) - (orcid-id/extract-orcid s) - (str context-path "/orcid/" (orcid-id/normalize-orcid s)) - (issn-id/extract-issn s) - (str context-path "/issn/" (issn-id/normalize-issn s))))) - -;; Our query definitions - -(def ^:dynamic query-db nil) - -;; TODO make this return related entity info rather than looking that up separately -(defn urn-related [urn-value relation] - (d/q '[:find ?related-urn-value - :in $ ?urn-value ?relation - :where - [?target-urn :urn/value ?urn-value] - [?target-urn ?relation ?related-urn] - [?related-urn :urn/value ?related-urn-value]] - query-db - urn-value - relation)) - -(defn urn-relations [urn-value] - (->> cd/relation-types - (map #(vector % (->> % (urn-related urn-value) vec flatten))) - (into {}))) - -(defn urn-type [urn-value] - (d/q '[:find ?ident - :in $ ?urn-value - :where - [?target-urn :urn/value ?urn-value] - [?target-urn :urn/type ?urn-type] - [?urn-type :db/ident ?ident]] - query-db - urn-value)) - -(defn urn-entity-type [urn-value] - (d/q '[:find ?ident - :in $ ?urn-value - :where - [?target-urn :urn/value ?urn-value] - [?target-urn :urn/entityType ?urn-entity-type] - [?urn-entity-type :db/ident ?ident]] - query-db - urn-value)) - -(defn urn-source [urn-value] - (d/q '[:find ?ident - :in $ ?urn-value - :where - [?target-urn :urn/value ?urn-value] - [?target-urn :urn/source ?urn-source] - [?urn-source :db/ident ?ident]] - query-db - urn-value)) - -(defn urn-name [urn-value] - (d/q '[:find ?urn-name - :in $ ?urn-value - :where - [?target-urn :urn/value ?urn-value] - [?target-urn :urn/name ?urn-name]] - query-db - urn-value)) - -;; TODO from-update-date, until-update-date -;; handle multiple relations -(defn lookup-context - "Handles query, filters and rels." - [qc] - (let [query - {:find - '[?urn-value ?related-urn-value] - :where - (concat - (mapcat - #(if-not (:any %) - [['?urn (:rel %) '?related-urn] - ['?related-urn :urn/value (:value %)]] - [['?urn (:rel %) '?related-urn]]) - (:rels qc)) - (when-let [source (-> qc (get-in [:filters "source"]) first)] - (if (= "none" source) - [['(missing? $ ?urn :urn/source)]] - [['?urn :urn/source (keyword (str "urn.source/" source))]])) - (when-let [related-source (-> qc (get-in [:filters "related-source"]) first)] - (if (= "none" related-source) - [['(missing? $ ?related-urn :urn/source)]] - [['?related-urn :urn/source (keyword (str "urn.source/" related-source))]])) - '[[?urn :urn/value ?urn-value] - [?related-urn :urn/value ?related-urn-value]])}] - (prn qc) - (prn query) - (d/q query query-db))) - -(defn get-urn-id [urn] - (-> (d/q '[:find ?urn - :in $ ?urn-value - :where - [?urn :urn/value ?urn-value]] - query-db urn) - ffirst)) - -(defn find-paths [eid depth neighbors target? path located] - (if (zero? depth) - located - (reduce #(find-paths %2 (dec depth) neighbors target? (conj path eid) %1) - (if (target? eid) - (conj located (conj path eid)) - located) - (neighbors eid)))) - -(defn find-updates [doi depth] - (letfn [(updated? [eid] - (not (empty? (d/datoms query-db :eavt eid :isUpdatedBy)))) - (cites [eid] - (map :v (d/datoms query-db :eavt eid :cites)))] - (find-paths (get-urn-id doi) depth cites updated? [] []))) - -;; Take our datomic queries above and turn results into presentable -;; documents. Here, we bind our query database. - -(declare describe-urn) - -(defn describe-relations [rels context] - (update-vals rels (keys rels) (partial map #(describe-urn % context)))) - -(defn describe-urn - "Describe an URN, or return nil if there is no ID type associated - with the URN (indicates we've never seen it described, nor have - relations to it.)" - [urn-value context & {:keys [relations] :or {relations false}}] - (binding [query-db (d/db (conf/get-service :datomic))] - (when-let [type (-> urn-value urn-type ffirst)] - (let [entity-type (-> urn-value urn-entity-type ffirst) - source (-> urn-value urn-source ffirst) - label (-> urn-value urn-name ffirst)] - (cond-> - {:type (name type) - :link (node-link urn-value context) - :urn urn-value} - label (assoc :label label) - relations (assoc :rel (-> urn-value - urn-relations - (describe-relations context))) - source (assoc :source (name source)) - entity-type (assoc :entity-type (name entity-type))))))) - -(defn ->no-cr-citations [urn] - (if (= "crossref" (:source urn)) - (-> urn - (update-in [:rel :cites] (fn [urns] (filter #(= (:source %) "datacite") urns))) - (update-in [:rel :isCitedBy] (fn [urns] (filter #(= (:source %) "datacite") urns)))) - urn)) - -(defn search-relations [query-context] - (binding [query-db (d/db (conf/get-service :datomic))] - (lookup-context query-context))) - -(defn select-relations [relations query-context] - (if (pos? (:sample query-context)) - (->> relations - simple/sample - (take (:sample query-context))) - (->> relations - ;;(sort-by first) ; TODO sort order - (drop (:offset query-context)) - (take (:rows query-context))))) - -(defn get-urn-for-eid [eid] - (-> (d/datoms (d/db (conf/get-service :datomic)) :eavt eid :urn/value) - first - :v)) - -(defn get-updates-for-eid [eid] - (map - #(-> % :v get-urn-for-eid work/fetch-one :message) - (d/datoms (d/db (conf/get-service :datomic)) :eavt eid :isUpdatedBy))) - -(defn describe-updates [doi depth context] - (binding [query-db (d/db (conf/get-service :datomic))] - (->> (find-updates doi depth) - (map - #(hash-map - :citation-path - (map (fn [eid] - (-> eid - get-urn-for-eid - (describe-urn context))) - %) - :update - (-> % last get-updates-for-eid)))))) - -;; Wrap our responses in standard response containers - -(defn node-response [context] - (r/api-response :node :content (:urn context))) - -(defn node-list-response [query-context] - (let [relations (search-relations query-context)] - (-> (r/api-response :node-list) - (r/with-result-items - (count relations) - (select-relations relations query-context)) - (r/with-query-context-info query-context)))) - -;; Define our resources - -(defresource graph-doi-resource [doi] - :allowed-methods [:get :options] - :available-media-types t/json - :exists? #(hash-map - :urn (-> doi - doi-id/to-long-doi-uri - (describe-urn % :relations true) - ->no-cr-citations)) - :handle-ok node-response) - -(defresource graph-orcid-resource [orcid] - :allowed-methods [:get :options] - :available-media-types t/json - :exists? #(hash-map - :urn (-> orcid - orcid-id/to-orcid-uri - (describe-urn % :relations true))) - :handle-ok node-response) - -(defresource graph-issn-resource [issn] - :allowed-methods [:get :options] - :available-media-types t/json - :exists? #(hash-map - :urn (-> issn - issn-id/to-issn-uri - (describe-urn % :relations true))) - :handle-ok node-response) - -(defresource update-analysis-resource [doi depth] - :allowed-methods [:get :options] - :available-media-types t/json - :exists? #(hash-map - :report (-> doi - doi-id/to-long-doi-uri - (describe-updates (parse-int-safe depth) %))) - :handle-ok #(r/api-response :update-report :content (:report %))) - -(defresource dispatch-resource [query] - :allowed-methods [:get :options] - :available-media-types t/json - :exists? {:info (typed-id query)} - :handle-ok #(redirect - (str (name (get-in % [:info :type])) - "/" - (get-in % [:info :id])))) - -(defresource graph-resource [] - :allowed-methods [:get :options] - :available-media-types t/json - :handle-ok #(-> % q/->query-context node-list-response)) - -;; Define how we route paths to resources - -(defroutes graph-api-routes - (ANY "/doi/*" {{doi :* depth :depth} :params} - (if (.endsWith doi "/updates") - (update-analysis-resource - (string/replace doi #"/updates\z" "") depth) - (graph-doi-resource doi))) - (ANY "/orcid/*" {{orcid :*} :params} - (graph-orcid-resource orcid)) - (ANY "/issn/*" {{issn :*} :params} - (graph-issn-resource issn)) - (ANY "/dispatch" {{query :q} :params} - (dispatch-resource query)) - (ANY "/dispatch/*" {{query :*} :params} - (dispatch-resource query)) - (ANY "/" [] - (graph-resource))) diff --git a/src/cayenne/api/v1/routes.clj b/src/cayenne/api/v1/routes.clj index 53fbac6a..1b9ea742 100644 --- a/src/cayenne/api/v1/routes.clj +++ b/src/cayenne/api/v1/routes.clj @@ -7,7 +7,6 @@ [cayenne.ids.member :as member-id] [cayenne.ids.issn :as issn-id] [cayenne.conf :as conf] - [cayenne.data.quality :as quality] [cayenne.data.deposit :as d] [cayenne.data.core :as c] [cayenne.data.work :as work] @@ -223,13 +222,6 @@ {:work work})) :handle-ok :work) -(defresource work-health-resource [doi] - :malformed? (v/malformed? :singleton true) - :handle-malformed :validation-result - :allowed-methods [:get :options :head] - :available-media-types t/json - :handle-ok (->1 #(quality/fetch-quality doi))) - (defresource work-agency-resource [doi] :malformed? (v/malformed? :singleton true) :handle-malformed :validation-result @@ -506,8 +498,6 @@ "/transform/application/vnd.crossref.unixsd+xml")) (.endsWith doi "/agency") (work-agency-resource (string/replace doi #"/agency\z" "")) - (.endsWith doi "/quality") - (work-health-resource (string/replace doi #"/quality\z" "")) (.endsWith doi "/transform") (work-transform-resource (string/replace doi #"/transform\z" "")) (re-matches #".*/transform/.+\z" doi) diff --git a/src/cayenne/conf.clj b/src/cayenne/conf.clj index 5e452304..8b3b4897 100644 --- a/src/cayenne/conf.clj +++ b/src/cayenne/conf.clj @@ -119,10 +119,6 @@ (set-param! [:deposit :email] "crlabs@fastmail.fm") - (set-param! [:oai :datacite :dir] (str (get-param [:dir :data]) "/oai/datacite")) - (set-param! [:oai :datacite :url] "http://oai.datacite.org/oai") - (set-param! [:oai :datacite :type] "datacite") - (set-param! [:id :issn :path] "http://id.crossref.org/issn/") (set-param! [:id :isbn :path] "http://id.crossref.org/isbn/") (set-param! [:id :orcid :path] "http://orcid.org/") @@ -150,14 +146,8 @@ (set-param! [:test :doi] "10.5555/12345678") (set-param! [:upstream :pdf-service] "http://46.4.83.72:3000/pdf") - (set-param! [:upstream :crmds-dois] "http://search.crossref.org/dois?q=") - (set-param! [:upstream :funder-dois-live] "http://search.crossref.org/funders/dois?rows=10000000000") - (set-param! [:upstream :funder-dois-dev] "http://search-dev.labs.crossref.org/funders/dois?rows=10000000000") - (set-param! [:upstream :openurl-url] "http://www.crossref.org/openurl/?noredirect=true&pid=cnproxy@crossref.org&format=unixref&id=doi:") (set-param! [:upstream :doi-url] "http://doi.crossref.org/search/doi?pid=cnproxy@crossref.org&format=unixsd&doi=") (set-param! [:upstream :doi-ra-url] "https://doi.crossref.org/doiRA/") - (set-param! [:upstream :unixref-url] "http://doi.crossref.org/search/doi?pid=cnproxy@crossref.org&format=unixref&doi=") - (set-param! [:upstream :unixsd-url] "http://doi.crossref.org/search/doi?pid=cnproxy@crossref.org&format=unixsd&doi=") (set-param! [:upstream :prefix-info-url] "http://doi.crossref.org/getPrefixPublisher/?prefix=") (set-param! [:upstream :crossref-auth] "https://doi.crossref.org/info") (set-param! [:upstream :crossref-test-auth] "http://test.crossref.org/info")) diff --git a/src/cayenne/data/quality.clj b/src/cayenne/data/quality.clj deleted file mode 100644 index 70c0d276..00000000 --- a/src/cayenne/data/quality.clj +++ /dev/null @@ -1,175 +0,0 @@ -(ns cayenne.data.quality - (:require [cayenne.item-tree :as i] - [cayenne.api.v1.response :as r] - [cayenne.action :as action] - [clojure.string :as string])) - -;; check item tree health - -;; check functions are backwards. they return *something* (ideally -;; context of the failure) if the check fails, otherwise they return -;; *nil* - -(defn title-case [item] - (filter - #(= (string/upper-case (:value %)) - (:value %)) - (i/find-items-of-type item :title))) - -(defn full-publication-date [item] - (let [pub-dates (concat - (i/get-tree-rel item :published-online) - (i/get-tree-rel item :published-print))] - (remove - #(and (:day %) (:month %) (:year %)) - pub-dates))) - -(defn funding-information [item] - (empty? (i/get-tree-rel item :funder))) - -(defn citations [item] - (empty? (i/get-tree-rel item :citation))) - -(defn journal-has-issn [item] - (when-let [journal (i/find-item-of-subtype item :journal)] - (when (empty? (i/get-item-ids journal :issn)) - journal))) - -(defn journal-has-volume [item] - (when-let [journal (i/find-item-of-subtype item :journal)] - (not (i/find-item-of-subtype item :journal-volume)))) - -(defn journal-has-issue [item] - (when-let [journal (i/find-item-of-subtype item :journal)] - (not (i/find-item-of-subtype item :journal-issue)))) - -(defn funders-have-ids [item] - (let [funders (i/get-tree-rel item :funder)] - (filter - #(empty? (i/get-item-ids % :long-doi)) - funders))) - -(defn funders-have-awards [item] - (let [funders (i/get-tree-rel item :funder)] - (filter - #(empty? (i/get-item-rel % :awarded)) - funders))) - -(defn contributors-have-full-names [item] - (let [contributors (i/find-items-of-type item :person)] - (remove - #(and (:first-name %) (:last-name %)) - contributors))) - -(defn contributors-have-orcids [item] - (let [contributors (i/find-items-of-type item :person)] - (filter - #(empty? (i/get-item-ids % :orcid)) - contributors))) - -(defn contributors-have-affiliations [item] - (let [contributors (i/find-items-of-type item :person)] - (remove :affiliation contributors))) - -(defn contributors-no-bad-punctuation [item] - (let [contributors (i/find-items-of-type item :person) - bad-punctuation #"[;\:\"><@&\^%*]"] - (filter #(or (re-find bad-punctuation (:first-name %)) - (re-find bad-punctuation (:last-name %))) - contributors))) - -(defn articles-have-pages [item] - (let [articles - (concat - (i/find-items-of-subtype item :journal-article) - (i/find-items-of-subtype item :proceedings-article))] - (remove - #(and (:first-page %) (:last-page %)) - articles))) - -(defn articles-have-separate-pages [item] - (let [page-separator #"-" - articles - (concat - (i/find-items-of-subtype item :journal-article) - (i/find-items-of-subtype item :proceedings-article))] - (filter - #(or (re-find page-separator (:first-page %)) - (re-find page-separator (:last-page %))) - articles))) - -(def checks - [{:id :misc.funding-information - :description "Some funding information should be listed" - :fn funding-information} - {:id :misc.citations - :description "Some citations should be listed" - :fn citations} - {:id :misc.standard-case-titles - :description "Titles should not be all upper-case" - :fn title-case} - {:id :article.has-pages - :description "Articles should have first and last page numbers" - :fn articles-have-pages} - {:id :article.has-separate-pages - :description "Article first and last page numbers should be separated" - :fn articles-have-separate-pages} - {:id :journal.has-issn - :description "Journals should have at least one ISSN" - :fn journal-has-issn} - {:id :journal.has-volume - :description "Journals should have a volume number" - :fn journal-has-volume} - {:id :journal.has-issue - :description "Journals should have an issue number" - :fn journal-has-issue} - {:id :misc.full-publication-dates - :description "Publication dates should have a day, month and year" - :fn full-publication-date} - {:id :funder.has-doi - :description "Funders should have FundRef Funder DOIs" - :fn funders-have-ids} - {:id :funder.has-award - :description "Funders should have at least one award" - :fn funders-have-awards} - {:id :contributor.has-full-name - :description "Contributors should have a given and family name" - :fn contributors-have-full-names} - {:id :contributor.has-orcid - :description "Contributors should have an ORCID" - :fn contributors-have-orcids} - {:id :contributor.has-affiliation - :description "Contributors should have an affiliation" - :fn contributors-have-affiliations} - {:id :contributor.no-punctuation - :description "Contributors should have names without erroneous punctuation" - :fn contributors-no-bad-punctuation}]) - -(defn passed? [result] - (cond - (true? result) false - (false? result) true - (seq result) false - (not (seq result)) true)) - -(defn check-tree - "Returns a report of checks performed against an item tree." - ([item check] - (let [result ((:fn check) item) - pass (passed? result) - check-to-merge (dissoc check :fn)] - (if pass - (assoc check-to-merge :pass true) - (merge check-to-merge {:pass false})))) - ([item] - (map #(check-tree item %) checks))) - -(defn get-unixsd [doi] - (let [record (promise)] - (action/parse-doi doi (action/return-item record)) - (second @record))) - -(defn fetch-quality - [doi] - (let [item-tree (get-unixsd doi)] - (r/api-response :work-quality :content (check-tree item-tree)))) diff --git a/src/cayenne/formats/datacite.clj b/src/cayenne/formats/datacite.clj deleted file mode 100644 index 736497a3..00000000 --- a/src/cayenne/formats/datacite.clj +++ /dev/null @@ -1,105 +0,0 @@ -(ns cayenne.formats.datacite - (:require [cayenne.xml :as xml] - [cayenne.conf :as conf] - [cayenne.item-tree :refer :all :as t] - [cayenne.util :refer [?>]] - [cayenne.ids.doi :as doi-id] - [cayenne.ids.orcid :as orcid-id] - [clojure.string :as string])) - -(defn parse-primary-id [oai-record] - (doi-id/to-long-doi-uri (xml/xselect1 - oai-record - "identifier" - [:= "identifierType" "DOI"] - :text))) - -(defn parse-language [oai-record] - (xml/xselect oai-record "language" :text)) - -(defn parse-title [title-loc] - (let [subtype (if (= (xml/xselect1 title-loc ["titleType"]) "Subtitle") - :secondary :long)] - (-> (make-item :title subtype) - (add-property :value (xml/xselect1 title-loc :text))))) - -(defn parse-titles [oai-record] - (map parse-title (xml/xselect oai-record "titles" "title"))) - -(defn parse-publisher [oai-record] - (-> (make-item :org) - (add-property :name (xml/xselect1 oai-record "publisher" :text)))) - -;; todo contributor ids -(defn parse-contributor [contributor-loc type] - (let [full-name (xml/xselect1 contributor-loc (str type "Name") :text) - orcid (xml/xselect1 contributor-loc "nameIdentifier" - [:= "nameIdentifierScheme" "ORCID"] :text)] - (-> (make-item :person) - (?> orcid add-id (orcid-id/to-orcid-uri orcid)) - (add-property :name full-name)))) - -(defn parse-contributors [oai-record type] - (map parse-contributor - (xml/xselect oai-record (str type "s") type) - (repeatedly (constantly type)))) - -(defn parse-pub-date [oai-record] - (-> (make-item :date) - (add-property :year (xml/xselect1 oai-record "publicationYear" :text)))) - -(defn parse-resource-type [oai-record] - (let [general-type (xml/xselect1 oai-record "resourceType" ["resourceTypeGeneral"]) - specific-type (xml/xselect1 oai-record "resourceType" :text)] - (cond - (= general-type "Image") - :image - (and (= general-type "Text") (= specific-type "Article")) - :article - (and (= general-type "Event") (= specific-type "Conference presentation")) - :proceedings-article - (= general-type "Model") - :model - (= general-type "Film") - :film - (= general-type "Dataset") - :dataset - :else - :other))) - -(defn parse-doi-relation [related-doi-loc] - (-> (make-item :rel) - (add-property :value (-> related-doi-loc - (xml/xselect1 :text) - doi-id/to-long-doi-uri)) - (add-property :rel-type (-> related-doi-loc - (xml/xselect1 ["relationType"]))))) - -(defn parse-relations [oai-record] - (let [related-doi-locs (xml/xselect oai-record - "relatedIdentifiers" - "relatedIdentifier" - [:= "relatedIdentifierType" "DOI"])] - (map parse-doi-relation related-doi-locs))) - -(defn parse-record [oai-record] - (-> (make-item :work (parse-resource-type oai-record)) - (add-id (parse-primary-id oai-record)) - (add-relations :rel (parse-relations oai-record)) - (add-relations :title (parse-titles oai-record)) - (add-relations :author (parse-contributors oai-record "creator")) - (add-relations :contributor (parse-contributors oai-record "contributor")) - (add-relation :published-online (parse-pub-date oai-record)) - (add-relation :publisher (parse-publisher oai-record)))) - -(defn datacite-record-parser - [oai-record] - [(parse-primary-id oai-record) - (parse-record oai-record)]) - -;(defmethod ->format-name "datacite-xml" :datacite) -;(defmethod ->format-name "application/vnd.datacite+xml" :datacite) - -;; todo for both datacite and unixref -;; record source (cr or datacite) -;; record last update time (deposit time) diff --git a/src/cayenne/html.clj b/src/cayenne/html.clj deleted file mode 100644 index b48d6973..00000000 --- a/src/cayenne/html.clj +++ /dev/null @@ -1,46 +0,0 @@ -(ns cayenne.html - (:import [org.htmlcleaner SimpleHtmlSerializer HtmlCleaner]) - (:use [clojure.java.io :only [reader]]) - (:require [net.cgrand.enlive-html :as html]) - (:use [clojure.java.io :only [file reader]]) - (:use [cayenne.job])) - -(defn fetch-url [url] - "Fetch the HTML content of a URL as an enlive html-resource." - (with-open [rdr (reader url)] - (let [cleaner (HtmlCleaner.) - props (.getProperties cleaner) - serializer (SimpleHtmlSerializer. props) - root-node (.clean cleaner rdr)] - (-> (.getAsString serializer root-node) - (java.io.StringReader.) - (html/html-resource))))) - -; todo error reporting on pool-processing threads - -(def debug-processing false) - -(defn nothing [& rest] ()) - -(defn scrape-url [scraper-fn task-fn url] - "Run a scraper and task on the result of a GET call for url." - (task-fn (scraper-fn (fetch-url url)))) - -(defn scrape-url-in-pool [pool scraper-fn task-fn url] - "Asynchronously run a scraper and task on the result of a GET call for url." - (when debug-processing - (prn (str "Executing " file))) - (put-job #(scrape-url scraper-fn task-fn url))) - -(defn scrape-urls [url-list & {:keys [count task scraper after before async] - :or {async true - count :all - task nothing - after nothing - before nothing}}] - "Invoke many scrape-url or scrape-url-in-pool calls, one for each url provided." - (doseq [url url-list] - (if async - (scrape-url-in-pool processing-pool scraper task url) - (scrape-url scraper task url)))) - diff --git a/src/cayenne/job.clj b/src/cayenne/job.clj deleted file mode 100644 index 46a89942..00000000 --- a/src/cayenne/job.clj +++ /dev/null @@ -1,62 +0,0 @@ -(ns cayenne.job - (:import [java.util.concurrent Executors TimeUnit]) - (:import [java.util UUID]) - (:use [clojure.core.incubator]) - (:require [cayenne.conf :as conf] - [metrics.counters :refer [defcounter] :as counters] - [metrics.gauges :refer [defgauge]])) - -(def processing-mul 1) - -(def processing-pool - (Executors/newFixedThreadPool - (-> - (.. Runtime getRuntime availableProcessors) - (+ 2) - (* processing-mul)))) - -(def scheduled-pool - (Executors/newScheduledThreadPool 4)) - -(def job-id->future (atom {})) - -(defcounter [cayenne jobs waiting]) -(defcounter [cayenne jobs completed]) -(defcounter [cayenne jobs failed]) - -(defgauge [cayenne jobs running] - (- (count @job-id->future) - (counters/value waiting))) - -(defn make-job [p & {:keys [success fail exception] - :or {success (constantly nil) - exception (constantly nil)}}] - {:process p - :success-handler success - :exception-handler exception}) - -(defn forget-job [job-id] - (swap! job-id->future dissoc job-id)) - -(defn cancel-job [job-id] - (when-let [job-future (get @job-id->future job-id)] - (.cancel job-future))) - -(defn put-job [meta job & {:keys [delay] :or {delay nil}}] - (let [id (.toString (UUID/randomUUID)) - job-fn (fn [] - (try - (counters/dec! waiting) - ((:process job)) - (counters/inc! completed) - ((:success-handler job) job meta) - (catch Exception e - (counters/inc! failed) - ((:exception-handler job) job meta e))) - (forget-job id))] - (counters/inc! waiting) - (if delay - (swap! job-id->future assoc id (.schedule scheduled-pool job-fn delay TimeUnit/SECONDS)) - (swap! job-id->future assoc id (.submit processing-pool job-fn))) - id)) - diff --git a/src/cayenne/oai.clj b/src/cayenne/oai.clj deleted file mode 100644 index 85b04b57..00000000 --- a/src/cayenne/oai.clj +++ /dev/null @@ -1,181 +0,0 @@ -(ns cayenne.oai - (:require [cayenne.xml :as xml] - [cayenne.conf :as conf] - [cayenne.job :as job] - [clj-http.client :as client] - [clj-time.core :as ctime] - [clj-time.periodic :as ptime] - [clj-time.format :as ftime] - [clojure.string :as string] - [clojure.java.io :refer [file reader writer]] - [taoensso.timbre :as timbre :refer [info error]]) - (:use [cayenne.util]) - (:use [clojure.tools.trace])) - -(defn ex->info-str [ex] (str ex ": " (first (.getStackTrace ex)))) - -(defn oai-success-handler [at-msg] - (fn [job meta] - (info {:info meta :at at-msg :complete true}))) - -(defn oai-exception-handler [at-msg] - (fn [job meta ex] - (error {:exception (ex->info-str ex) :info meta :at at-msg}))) - -(defn make-oai-job [at-msg func] - (job/make-job func - :success (oai-success-handler at-msg) - :exception (oai-exception-handler at-msg))) - -(defn parser-task-pass - "If the parser doesn't support a record (returns nil) - we skip the task fn." - [task-fn parser-fn] - (fn [record] - (let [parsed-record (parser-fn record)] - (if (second parsed-record) - (task-fn parsed-record) - (throw (Exception. "Parsed 0 records from an OAI file.")))))) - -(defn process-oai-xml-file - "Run a parser and task over a file." - [parser-fn task-fn file split] - (with-open [rdr (reader file)] - (xml/process-xml rdr split (parser-task-pass task-fn parser-fn)))) - -(defn process-oai-xml-file-async - "Asynchronously run a parser and task over a file" - [parser-fn task-fn file split] - (let [job-func #(process-oai-xml-file parser-fn task-fn file split) - job (make-oai-job :parsing job-func) - job-meta {:file (str file)}] - (job/put-job job-meta job))) - -(defn resumption-token - "Cheap and cheerful grab of resumption token." - [body] - (let [extraction (second (re-find #"]*>([^<]+)<" body))] - (if (string/blank? extraction) nil extraction))) - -(declare grab-oai-xml-file-async) -(declare grab-oai-retry-token) -(declare grab-oai-retry-request) - -(def max-retry-window (* 60 60 24)) - -(def starting-retry-window 10) - -(defn grab-oai-xml-file [service from until count token task-fn - & {:keys [last-retry-window] - :or {last-retry-window starting-retry-window}}] - (let [dir-name (str (or from "all") "-" (or until "all")) - dir-path (file (:dir service) dir-name) - file-name (str count "-" (or token "no-token") ".xml") - xml-file (file dir-path file-name) - params (if token - {"resumptionToken" token - "verb" "ListRecords"} - ;"metadataPrefix" (:type service)} - (-> {"metadataPrefix" (:type service) - "verb" "ListRecords"} - (?> #(:set-spec service) assoc "set" (:set-spec service)) - (?> from assoc "from" from) - (?> until assoc "until" until)))] - (let [conn-mgr (conf/get-service :conn-mgr) - resp (try (client/get (:url service) {:query-params params - :connection-manager conn-mgr - :socket-timeout (* 10 60 1000) - :conn-timeout (* 10 60 1000)}) - (catch Exception e {:exception e}))] - (if (or (:exception resp) (not (client/success? resp))) - (let [err (or (:exception resp) (:status resp))] - (cond - (< last-retry-window max-retry-window) - (do - (grab-oai-retry-token service from until count token task-fn last-retry-window) - (throw (Exception. (str "Bad response from OAI server: " err)))) - :else - (do - (grab-oai-retry-request service from until task-fn) - (throw (Exception. (str "Bad response from OAI server: " err)))))) - (do - (.mkdirs dir-path) - (spit xml-file (:body resp)) - (when (and (:parser service) task-fn) - (process-oai-xml-file (:parser service) task-fn xml-file (:split service))) - (when-let [token (resumption-token (:body resp))] - (recur service from until (inc count) token task-fn - (seq [:last-retry-window starting-retry-window])))))))) - -(defn grab-oai-retry-request [service from until task-fn] - (let [job-func #(grab-oai-xml-file service from until 0 nil task-fn) - job (make-oai-job :download job-func) - job-meta {:service service - :from from - :until until - :resumption-token nil}] - (error - (str "Retrying resumption token download failed for longer than a day." - "Skipping for a day. " - job-meta)) - (job/put-job job-meta job :delay (* 60 60 24)))) - -(defn grab-oai-retry-token [service from until count token task-fn last-retry-window] - (let [delay (* 2 last-retry-window) - job-func #(grab-oai-xml-file service from until count token task-fn - :last-retry-window delay) - job (make-oai-job :download job-func) - job-meta {:service service - :from from - :until until - :resumption-token token}] - (error - (str "Retrying a failed resumption token download in " delay " seconds. " - job-meta)) - (job/put-job job-meta job :delay delay))) - -(defn grab-oai-xml-file-async [service from until count token task-fn] - (let [job-func #(grab-oai-xml-file service from until count token task-fn) - job (make-oai-job :download job-func) - job-meta {:service service - :from from - :until until - :resumption-token token}] - (job/put-job job-meta job))) - -(defn process - "Invoke many process-oai-xml-file or process-oai-xml-file-async calls, - one for each xml file under dir." - [file-or-dir & {:keys [count task parser after before async kind split] - :or {kind ".xml" - async true - count :all - split "record" - task [constantly nil] - after (constantly nil) - before (constantly nil)}}] - (doseq [file (file-kind-seq kind file-or-dir count)] - (if async - (process-oai-xml-file-async parser task file split) - (process-oai-xml-file parser task file split)))) - -(defn run [service & {:keys [from until task] - :or {task nil}}] - (grab-oai-xml-file-async service from until 1 nil task)) - -(defn str-date->parts [d] - (map #(Integer/parseInt %) (string/split d #"-"))) - -(def oai-date-format (ftime/formatter "yyyy-MM-dd")) - -(defn run-range [service & {:keys [from until task separation] - :or {task nil - separation (ctime/days (:interval service))}}] - (let [from-date (apply ctime/date-time (str-date->parts from)) - until-date (apply ctime/date-time (str-date->parts until))] - (doseq [from-point (take-while #(ctime/before? % until-date) - (ptime/periodic-seq from-date separation))] - (run service - :from (ftime/unparse oai-date-format from-point) - :until (ftime/unparse oai-date-format (ctime/plus from-point separation)) - :task task)))) diff --git a/src/cayenne/schedule.clj b/src/cayenne/schedule.clj index e357bb71..d1172a99 100644 --- a/src/cayenne/schedule.clj +++ b/src/cayenne/schedule.clj @@ -1,11 +1,9 @@ (ns cayenne.schedule (:require [cayenne.action :as action] [cayenne.conf :as conf] - [cayenne.tasks.solr :as solr] [cayenne.tasks.prefix :as prefix] [cayenne.tasks.funder :as funder] [cayenne.tasks.category :as category] - [cayenne.tasks.solr :as solr] [cayenne.tasks.publisher :as publisher] [cayenne.tasks.coverage :as coverage] [cayenne.tasks.journal :as journal] @@ -20,12 +18,8 @@ [clojurewerkz.quartzite.jobs :as qj] [clojurewerkz.quartzite.schedule.cron :as cron] [clojurewerkz.quartzite.schedule.simple :as simple] - [taoensso.timbre :as timbre :refer [info error]]) - (:use [clojurewerkz.quartzite.jobs :only [defjob]])) - -(def crossref-oai-services [:crossref-journals :crossref-books :crossref-serials]) - -(def oai-date-format (timef/formatter "yyyy-MM-dd")) + [taoensso.timbre :as timbre :refer [info error]] + [clojurewerkz.quartzite.jobs :refer [defjob]])) (def index-daily-work-trigger (qt/build @@ -62,18 +56,6 @@ (cron/schedule (cron/cron-schedule "0 0 * * * ?"))))) -(defjob index-crossref-oai [ctx] - (let [from (time/minus (time/today-at-midnight) (time/days 3)) - until (time/today-at-midnight)] - (info (str "Running index of CrossRef OAI from " - from " until " until)) - (doseq [oai-service crossref-oai-services] - (action/get-oai-records - (conf/get-param [:oai oai-service]) - (timef/unparse oai-date-format from) - (timef/unparse oai-date-format until) - action/index-solr-docs)))) - (defjob update-members [ctx] (try (info "Updating members collection") @@ -129,13 +111,6 @@ (qs/initialize) (qs/start)) -(defn start-indexing [] - (qs/schedule - (qj/build - (qj/of-type index-crossref-oai) - (qj/with-identity (qj/key "index-crossref-oai"))) - index-daily-work-trigger)) - (defn start-members-updating [] (qs/schedule (qj/build @@ -157,12 +132,6 @@ (qj/with-identity (qj/key "update-funders"))) update-funders-hourly-work-trigger)) -(conf/with-core :default - (conf/add-startup-task - :index - (fn [profiles] - (start-indexing)))) - (conf/with-core :default (conf/add-startup-task :update-members diff --git a/src/cayenne/sources/wok.clj b/src/cayenne/sources/wok.clj deleted file mode 100644 index be623763..00000000 --- a/src/cayenne/sources/wok.clj +++ /dev/null @@ -1,23 +0,0 @@ -(ns cayenne.sources.wok - (:require [net.cgrand.enlive-html :as html])) - -(defn journal-name [full short] - {:full-name (.replace (.trim full) \newline \space) - :short-name (.replace (.trim short) \newline \space)}) - -(defn journal-names-scraper [html] - (let [full-names (map html/text (html/select html [:dl :dt])) - short-names (map html/text (html/select html [:dl :dd]))] - (map journal-name full-names short-names))) - -(def a-to-z (map char (range 65 91))) - -(def journal-pages - (map - #(java.net.URL. - (str - "http://images.webofknowledge.com/WOK46/help/WOS/" - % - "_abrvjt.html")) - a-to-z)) - diff --git a/src/cayenne/tasks/datomic.clj b/src/cayenne/tasks/datomic.clj deleted file mode 100644 index 961586d6..00000000 --- a/src/cayenne/tasks/datomic.clj +++ /dev/null @@ -1,588 +0,0 @@ -(ns cayenne.tasks.datomic - (:require [cayenne.conf :as conf] - [clj-time.core :as dt] - [cayenne.item-tree :as t] - [cayenne.util :as util] - [datomic.api :as d] - [clojure.string :as string])) - -(def relation-types - [:isCitedBy - :cites - :isSupplementTo - :isSupplementedBy - :isContinuedBy - :continues - :isUpdateTo - :isUpdatedBy - :isUpdatePolicyOf - :hasUpdatePolicy - :isNewVersionOf - :isPreviousVersionOf - :isPartOf - :hasPart - :isReferencedBy - :references - :isDocumentedBy - :documents - :isCompiledBy - :compiles - :isVariantFormOf - :isOriginalFormOf - :isFundedBy - :funds - :isCreatedBy - :created - :isEditedBy - :edited - :hasLicense - :isLicenseOf - :sameAs - :hasFullText - :isFullTextOf]) - -(def relation-one-way-antonyms - {:isCitedBy :cites - :isSupplementTo :isSupplementedBy - :isContinuedBy :continues - :isUpdateTo :isUpdatedBy - :isUpdatePolicyOf :hasUpdatePolicy - :isNewVersionOf :isPreviousVersionOf - :isPartOf :hasPart - :isReferencedBy :references - :isDocumentedBy :documents - :isCompiledBy :compiles - :isVariantFormOf :isOriginalFormOf - :isFundedBy :funds - :isCreatedBy :created - :isEditedBy :edited - :isLicenseOf :hasLicense - :isFullTextOf :hasFullText - :sameAs :sameAs}) - -(def relation-antonyms - (let [one-way relation-one-way-antonyms - t-other (into {} (map vector (vals one-way) (keys one-way)))] - (merge one-way t-other))) - -(def relation-synonyms - {:isIdenticalTo :sameAs}) - -(def urn-schema - [{:db/id #db/id[:db.part/db] - :db/ident :urn/name - :db/doc "Friendly / display name of an entity URN." - :db/valueType :db.type/string - :db/cardinality :db.cardinality/many - :db/index true - :db/fulltext true - :db.install/_attribute :db.part/db} - {:db/id #db/id[:db.part/db] - :db/ident :urn/value - :db/doc "Value of the URN - the literal value of the identifier." - :db/valueType :db.type/string - :db/cardinality :db.cardinality/one - ;; inserts for an existing URN value will merge related attributes - :db/unique :db.unique/identity - :db.install/_attribute :db.part/db} - {:db/id #db/id[:db.part/db] - :db/ident :urn/type - :db/doc "The type of the URN, doi, issn, etc." - :db/valueType :db.type/ref - :db/cardinality :db.cardinality/one - :db/index true - :db.install/_attribute :db.part/db} - {:db/id #db/id[:db.part/db] - :db/ident :urn/entityType - :db/doc "The type of the entity identified by the URN, work, person, org, etc." - :db/valueType :db.type/ref - :db/cardinality :db.cardinality/one - :db/index true - :db.install/_attribute :db.part/db} - {:db/id #db/id[:db.part/db] - :db/ident :urn/source - :db/doc "Issuing or responsible party of the URN - e.g. crossref, datacite, medra, orcid." - :db/valueType :db.type/ref - :db/cardinality :db.cardinality/one - :db/index true - :db.install/_attribute :db.part/db} - - ;; Componentized availability date - {:db/id #db/id[:db.part/db] - :db/ident :urn/availableFromDay - :db/valueType :db.type/long - :db/cardinality :db.cardinality/one - :db/index true - :db.install/_attribute :db.part/db} - {:db/id #db/id[:db.part/db] - :db/ident :urn/availableFromMonth - :db/valueType :db.type/long - :db/cardinality :db.cardinality/one - :db/index true - :db.install/_attribute :db.part/db} - {:db/id #db/id[:db.part/db] - :db/ident :urn/availableFromYear - :db/valueType :db.type/long - :db/cardinality :db.cardinality/one - :db/index true - :db.install/_attribute :db.part/db} - {:db/id #db/id[:db.part/db] - :db/ident :urn/availableFromPartOfYear - :db/valueType :db.type/long - :db/cardinality :db.cardinality/one - :db/index true - :db.install/_attribute :db.part/db} - - ;; Componentized date enum types - {:db/id #db/id[:db.part/user] - :db/ident :urn.availableFromPartOfYear/spring} - {:db/id #db/id[:db.part/user] - :db/ident :urn.availableFromPartOfYear/summer} - {:db/id #db/id[:db.part/user] - :db/ident :urn.availableFromPartOfYear/autumn} - {:db/id #db/id[:db.part/user] - :db/ident :urn.availableFromPartOfYear/winter} - {:db/id #db/id[:db.part/user] - :db/ident :urn.availableFromPartOfYear/first-quarter} - {:db/id #db/id[:db.part/user] - :db/ident :urn.availableFromPartOfYear/second-quarter} - {:db/id #db/id[:db.part/user] - :db/ident :urn.availableFromPartOfYear/third-quarter} - {:db/id #db/id[:db.part/user] - :db/ident :urn.availableFromPartOfYear/forth-quarter} - {:db/id #db/id[:db.part/user] - :db/ident :urn.availableFromPartOfYear/first-half} - {:db/id #db/id[:db.part/user] - :db/ident :urn.availableFromPartOfYear/second-half} - - ;; enum types - {:db/id #db/id[:db.part/user] - :db/ident :urn.source/crossref} - {:db/id #db/id[:db.part/user] - :db/ident :urn.source/datacite} - {:db/id #db/id[:db.part/user] - :db/ident :urn.source/orcid} - {:db/id #db/id[:db.part/user] - :db/ident :urn.source/cambia} - - {:db/id #db/id[:db.part/user] - :db/ident :urn.type/orcid} - {:db/id #db/id[:db.part/user] - :db/ident :urn.type/doi} - {:db/id #db/id[:db.part/user] - :db/ident :urn.type/issn} - {:db/id #db/id[:db.part/user] - :db/ident :urn.type/uri} - - {:db/id #db/id[:db.part/user] - :db/ident :urn.entityType/person} - {:db/id #db/id[:db.part/user] - :db/ident :urn.entityType/org} - {:db/id #db/id[:db.part/user] - :db/ident :urn.entityType/work} - {:db/id #db/id[:db.part/user] - :db/ident :urn.entityType/journal} - {:db/id #db/id[:db.part/user] - :db/ident :urn.entityType/updatePolicy} - {:db/id #db/id[:db.part/user] - :db/ident :urn.entityType/license} - {:db/id #db/id[:db.part/user] - :db/ident :urn.entityType/file}]) - -(def relations-schema - (map - #(hash-map - :db/id (d/tempid :db.part/db) - :db/ident % - :db/valueType :db.type/ref - :db/cardinality :db.cardinality/many - :db/index true - :db.install/_attribute :db.part/db) - relation-types)) - -(defn ->rel [untidy-rel-name] - (let [rel (-> (str - (string/lower-case (apply str (take 1 untidy-rel-name))) - (apply str (drop 1 untidy-rel-name))) - keyword)] - (or (relation-synonyms rel) rel))) - -(defn person-name [person] - (cond - (:name person) - (:name person) - (and (:first-name person) (:last-name person)) - (str (:first-name person) " " (:last-name person)) - :else - (:last-name person))) - -(defn recreate-db! [] - (let [uri (conf/get-param [:service :datomic :url])] - (d/delete-database uri) - (d/create-database uri) - (let [conn (d/connect uri)] - (d/transact conn (concat urn-schema relations-schema)) - (conf/set-service! :datomic conn)))) - -(defn connect! [] - (conf/set-service! :datomic (d/connect (conf/get-param [:service :datomic :url])))) - -(defn funder->urn-datums [work-tempid funder] - (when-let [funder-doi (-> funder (t/get-item-ids :long-doi) first)] - (let [funder-tempid (d/tempid :db.part/user)] - [{:db/id funder-tempid - :urn/type :urn.type/doi - :urn/entityType :urn.entityType/org - :urn/name (:name funder) - :urn/value funder-doi - :funds work-tempid} - {:db/id work-tempid - :isFundedBy funder-tempid}]))) - -(defn author->urn-datums [work-tempid author] - (when-let [orcid (-> author (t/get-item-ids :orcid) first)] - (let [author-tempid (d/tempid :db.part/user)] - [{:db/id author-tempid - :urn/type :urn.type/orcid - :urn/entityType :urn.entityType/person - :urn/name (person-name author) - :urn/value orcid - :created work-tempid} - {:db/id work-tempid - :isCreatedBy author-tempid}]))) - -(defn editor->urn-datums [work-tempid editor] - (when-let [orcid (-> editor (t/get-item-ids :orcid) first)] - (let [editor-tempid (d/tempid :db.part/user)] - [{:db/id editor-tempid - :urn/type :urn.type/orcid - :urn/entityType :urn.entityType/person - :urn/name (person-name editor) - :urn/value orcid - :edited work-tempid} - {:db/id work-tempid - :isEditedBy editor-tempid}]))) - -(defn update->urn-datums [work-tempid update] - (let [updatee-tempid (d/tempid :db.part/user)] - [{:db/id updatee-tempid - :urn/type :urn.type/doi - :urn/entityType :urn.entityType/work - :urn/value (-> update :value) - :isUpdatedBy work-tempid} - {:db/id work-tempid - :isUpdateTo updatee-tempid}])) - -(defn update-policy->urn-datums [work-tempid update-policy] - (let [update-policy-tempid (d/tempid :db.part/user)] - [{:db/id update-policy-tempid - :urn/type :urn.type/doi - :urn/entityType :urn.entityType/updatePolicy - :urn/value (-> update-policy :value) - :isUpdatePolicyOf work-tempid} - {:db/id work-tempid - :hasUpdatePolicy update-policy-tempid}])) - -(defn license->urn-datums [work-tempid license] - (let [license-tempid (d/tempid :db.part/user)] - [{:db/id license-tempid - :urn/type :urn.type/uri - :urn/entityType :urn.entityType/license - :urn/value (-> license :value) - :isLicenseOf work-tempid} - {:db/id work-tempid - :hasLicense license-tempid}])) - -(defn fulltext-resource->urn-datums [work-tempid fulltext-resource] - (let [fulltext-tempid (d/tempid :db.part/user)] - [{:db/id fulltext-tempid - :urn/type :urn.type/uri - :urn/entityType :urn.entityType/file - :urn/value (-> fulltext-resource :value) - :isFullTextOf work-tempid} - {:db/id work-tempid - :hasFullText fulltext-tempid}])) - -(defn journal->urn-datums [work-tempid journal] - (let [issns (t/get-item-ids journal :issn) - journal-tempids (take (count issns) - (repeatedly #(d/tempid :db.part/user)))] - (concat - (map - #(hash-map - :db/id %2 - :urn/type :urn.type/issn - :urn/entityType :urn.entityType/journal - :urn/name (-> journal (t/get-item-rel :title) first :value) - :urn/value %1 - :sameAs (clojure.set/difference (set journal-tempids) (set [%2])) - :hasPart work-tempid) - issns - journal-tempids) - [{:db/id work-tempid - :isPartOf journal-tempids}]))) - -(defn work-citation->urn-datums [work-tempid citation] - (when-let [doi (-> citation (t/get-item-ids :long-doi) first)] - (let [cited-work-tempid (d/tempid :db.part/user)] - [{:db/id cited-work-tempid - :urn/type :urn.type/doi - :urn/entityType :urn.entityType/work - :urn/value doi - :isCitedBy work-tempid} - {:db/id work-tempid - :cites cited-work-tempid}]))) - -(defn work-relation->urn-datums [work-tempid relation] - (when-let [doi (-> relation :value)] - (let [related-work-tempid (d/tempid :db.part/user)] - [{:db/id work-tempid - (-> relation :rel-type ->rel) related-work-tempid} - {:db/id related-work-tempid - :urn/value doi - :urn/type :urn.type/doi - :urn/entityType :urn.entityType/work - (-> relation :rel-type ->rel relation-antonyms) work-tempid}]))) - -;; todo move to item-tree? -(defn particle->date-time [particle] - (let [year (-> particle :year util/parse-int-safe) - month (-> particle :month util/parse-int-safe) - day (-> particle :day util/parse-int-safe)] - (cond (and year month day) - (if (< (dt/number-of-days-in-the-month year month) day) - (dt/date-time year month) - (dt/date-time year month day)) - (and year month) - (dt/date-time year month) - :else - (dt/date-time year)))) - -;; todo move to item-tree? -(defn get-earliest-pub-date [item] - (->> (concat - (t/get-tree-rel item :published-print) - (t/get-tree-rel item :published-online) - (t/get-tree-rel item :published)) - (sort-by particle->date-time) - first)) - -(defn work-item->availability-datums [item] - (let [pub-date (get-earliest-pub-date item)] - (merge - (when (:day pub-date) {:urn/availableFromDay (-> pub-date :day long)}) - (when (:month pub-date) {:urn/availableFromMonth (-> pub-date :month long)}) - (when (:year pub-date) {:urn/availableFromYear (-> pub-date :year long)}) - (when (:time-of-year pub-date) - {:urn/availableFromTimeOfYear (->> pub-date - :time-of-year - (str "urn.availableFromPartOfYear/") - keyword)})))) - -(defn work-item->urn-datums [item source] - (let [work-tempid (d/tempid :db.part/user)] - (concat - [{:db/id work-tempid - :urn/type :urn.type/doi - :urn/entityType :urn.entityType/work - :urn/name (or (-> item (t/get-item-rel :title) first :value) "") - :urn/source source - :urn/value (-> item (t/get-item-ids :long-doi) first)}] - (work-item->availability-datums item) - (mapcat (partial update-policy->urn-datums work-tempid) - (t/get-item-rel item :update-policy)) - (mapcat (partial update->urn-datums work-tempid) - (t/get-item-rel item :updates)) - (mapcat (partial funder->urn-datums work-tempid) - (t/get-item-rel item :funder)) - (mapcat (partial license->urn-datums work-tempid) - (t/get-item-rel item :license)) - (mapcat (partial fulltext-resource->urn-datums work-tempid) - (t/get-item-rel item :resource-fulltext)) - (mapcat (partial author->urn-datums work-tempid) - (t/get-item-rel item :author)) - (mapcat (partial editor->urn-datums work-tempid) - (t/get-item-rel item :editor)) - (mapcat (partial work-citation->urn-datums work-tempid) - (t/get-item-rel item :citation)) - (mapcat (partial work-relation->urn-datums work-tempid) - (t/get-item-rel item :rel)) - (mapcat (partial journal->urn-datums work-tempid) - (t/find-items-of-subtype item :journal))))) - -(defn add-work-centered-tree! - "Add a work-centered item tree to datomic." - [item-tree source] - @(d/transact - (conf/get-service :datomic) - (work-item->urn-datums item-tree source))) - -(def graph-datacite-item - #(-> (t/centre-on (first %) (second %)) - (add-work-centered-tree! :urn.source/datacite))) - -(def graph-crossref-item - #(-> (t/centre-on (first %) (second %)) - (add-work-centered-tree! :urn.source/crossref))) - -;; Debug queries -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; - -(defn find-all-citing-works [] - (d/q '[:find ?citing-urn ?citing-value ?citing-name - :where - [_ :isCitedBy ?citing-urn] - [?citing-urn :urn/value ?citing-value] - [?citing-urn :urn/name ?citing-name]] - (d/db (conf/get-service :datomic)))) - -(defn find-all-cited-works [] - (d/q '[:find ?cited-urn ?cited-value - :where - [_ :cites ?cited-urn] - [?cited-urn :urn/value ?cited-value]] - (d/db (conf/get-service :datomic)))) - -(defn find-all-cited-updated-works [] - (d/q '[:find ?cited-urn-5 ?cited-value - :where - [?cited-urn :isUpdatedBy _] - [?cited-urn :isCitedBy ?cited-urn-2] - [?cited-urn-2 :isCitedBy ?cited-urn-3] - [?cited-urn-3 :isCitedBy ?cited-urn-4] - [?cited-urn-4 :isCitedBy ?cited-urn-5] - [?cited-urn-5 :urn/value ?cited-value]] - (d/db (conf/get-service :datomic)))) - -(defn find-all-funding-orgs [] - (d/q '[:find ?funding-org ?funding-value ?funding-name - :where - [_ :isFundedBy ?funding-org] - [?funding-org :urn/value ?funding-value] - [?funding-org :urn/name ?funding-name]] - (d/db (conf/get-service :datomic)))) - -(defn find-all-funded-works [] - (d/q '[:find ?funded-work ?funded-value - :where - [_ :funds ?funded-work] - [?funded-work :urn/value ?funded-value]] - (d/db (conf/get-service :datomic)))) - -(defn find-all-updated-works [] - (d/q '[:find ?updated-work ?updated-value - :where - [_ :isUpdateTo ?updated-work] - [?updated-work :urn/value ?updated-value]] - (d/db (conf/get-service :datomic)))) - -(defn find-all-authoring-people [] - (d/q '[:find ?authoring-person ?authoring-value ?authoring-name - :where - [_ :isCreatedBy ?authoring-person] - [?authoring-person :urn/value ?authoring-value] - [?authoring-person :urn/name ?authoring-name]] - (d/db (conf/get-service :datomic)))) - -(defn find-all-authored-works [] - (d/q '[:find ?authored-work ?authored-value - :where - [_ :created ?authored-work] - [?authored-work :urn/value ?authored-value]] - (d/db (conf/get-service :datomic)))) - -(defn find-all-urns [] - (d/q '[:find ?urn - :where [_ :urn/value ?urn]] - (d/db (conf/get-service :datomic)))) - -(defn count-all-urns [] - (d/q '[:find (count ?urn) - :where [_ :urn/value ?urn]] - (d/db (conf/get-service :datomic)))) - -(defn find-all-urns-from-source [source] - (d/q '[:find ?urn - :in $ ?source - :where - [?something :urn/value ?urn] - [?something :urn/source ?source]] - (d/db (conf/get-service :datomic)) - source)) - -(defn find-all-journals [] - (d/q '[:find ?urn-value - :where - [?urn :urn/type :urn.type/issn] - [?urn :urn/value ?urn-value]] - (d/db (conf/get-service :datomic)))) - -(defn find-all-works-with-relation [relation] - (d/q '[:find ?relatee-urn ?relation ?related-urn - :in $ ?relation - :where - [?relatee ?relation ?related] - [?related :urn/value ?related-urn] - [?relatee :urn/value ?relatee-urn]] - (d/db (conf/get-service :datomic)) - relation)) - -(defn find-all-non-source-works-with-relation [relation] - (d/q '[:find ?relatee-urn ?relation ?related-urn - :in $ ?relation - :where - [(missing? $ ?related :urn/source)] - [?relatee ?relation ?related] - [?related :urn/value ?related-urn] - [?relatee :urn/value ?relatee-urn]] - (d/db (conf/get-service :datomic)) - relation)) - -(defn find-most-cited-works [limit] - (->> (d/q '[:find ?urn-value (distinct-count ?citing-urn-value) - :where - [?cited-urn :urn/value ?urn-value] - [?citing-urn-value :cites ?cited-urn]] - (d/db (conf/get-service :datomic))) - (take limit) - (sort-by second))) - -(defn count-no-source-rels [rel] - (d/q '[:find (count ?citing-urn) - :in $ ?relation - :where - [?citing-urn ?relation ?citee-urn] - [?citing-urn :urn/source :urn.source/datacite] - [(missing? $ ?citee-urn :urn/source)]] - (d/db (conf/get-service :datomic)) - rel)) - -(defn count-crossref-source-rels [rel] - (d/q '[:find (count ?citing-urn) - :in $ ?relation - :where - [?citing-urn ?relation ?citee-urn] - [?citing-urn :urn/source :urn.source/datacite] - [?cited-urn :urn/source :urn.source/crossref]] - (d/db (conf/get-service :datomic)) - rel)) - -(defn with-all-relations [finding-fn] - (mapcat finding-fn relation-types)) - ;(mapcat finding-fn (keys relation-one-way-antonyms))) - -(defn with-all-work-to-work-relations [finding-fn] - (mapcat finding-fn - (clojure.set/difference (set (keys relation-one-way-antonyms)) - (set [:created :edited :isCreatedBy :isEditedBy])))) - -(defn describe-urn [urn] - (d/q '[:find ?prop-name ?val - :in $ ?urn - :where - [?something :urn/value ?urn] - [?something ?prop ?val] - [?prop :db/ident ?prop-name]] - (d/db (conf/get-service :datomic)) - urn)) - diff --git a/src/cayenne/tasks/doi.clj b/src/cayenne/tasks/doi.clj deleted file mode 100644 index 3281b264..00000000 --- a/src/cayenne/tasks/doi.clj +++ /dev/null @@ -1,51 +0,0 @@ -(ns cayenne.tasks.doi - (:require [cayenne.conf :as conf] - [cayenne.ids.doi :as doi-id] - [somnium.congomongo :as m])) - -;; calculate stats about DOIs - -; rfc 3986 -(def url-reserved #{\: \/ \? \# \[ \] \@ \! \$ \& \' \( \) \* \+ \, \; \=}) - -(def doi-stats (agent {:count 0 - :max-string "" - :min-string "http://dx.doi.org/10.55555/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" - :max-length Integer/MIN_VALUE - :min-length Integer/MAX_VALUE - :count-reserved 0 - :total-length 0})) -; :count-with-url-char -; :prefix max min avg len - -(defn update-stats [stats doi] - (let [doi-length (count doi) - doi-suffix (doi-id/extract-long-suffix doi)] - (-> stats - (update-in [:count-reserved] #(if (some url-reserved doi-suffix) (inc %) %)) - (update-in [:histogram doi-length] #(if % (inc %) 1)) - (update-in [:max-string] #(if (> doi-length (count %)) - doi - (:max-string stats))) - (update-in [:min-string] #(if (< doi-length (count %)) - doi - (:min-string stats))) - (update-in [:count] inc) - (update-in [:total-length] (partial + doi-length)) - (update-in [:max-length] (partial max doi-length)) - (update-in [:min-length] (partial min doi-length))))) - -(defn aggregate-stats [stats] - (-> stats - (assoc-in [:avg-length] (/ (:total-length stats) - (:count stats))))) - -(defn update-stats-with-doc [stats doc] - (->> doc (:id) (first) (update-stats stats))) - -(defn run-stats [doi-collection] - (m/with-mongo (conf/get-service :mongo) - (doseq [doc (m/fetch doi-collection :only [:doi "published.year"])] - (send doi-stats update-stats-with-doc doc))) - (send doi-stats aggregate-stats)) - diff --git a/src/cayenne/tasks/dump.clj b/src/cayenne/tasks/dump.clj deleted file mode 100644 index 2229565f..00000000 --- a/src/cayenne/tasks/dump.clj +++ /dev/null @@ -1,76 +0,0 @@ -(ns cayenne.tasks.dump - (:import [java.io PrintWriter]) - (:use [clojure.tools.trace]) - (:require [clojure.data.json :as json] - [clojure.java.io :as io])) - -(defn write-datetime-json [dt out] - (.print out (str "\"" (.toString dt) "\""))) - -(extend org.joda.time.DateTime json/JSONWriter {:-write write-datetime-json}) - -(defn record-writer [out-file] - "Write whole records as clojure serialized data structures." - (let [wrtr (PrintWriter. (io/writer out-file))] - (fn [record] - (.println wrtr (pr-str record))))) - -(defn record-json-writer [out-file] - "Write whole records as JSON." - (let [wrtr (PrintWriter. (io/writer out-file))] - (fn [record] - (.println wrtr (json/write-str record)) - (.flush wrtr)))) - -;; todo these are not generic and should move elsewhere: -;; (they are probably not working with the latest output of -;; parsers anyway) - -(defn record-tab-writer [out-file] - "Write whole records as TSV." - (let [wrtr (PrintWriter. (io/writer out-file))] - (fn [record] - (.println wrtr (str (:full-name record) \tab (:short-name record)))))) - -(defn doi-writer [out-file] - "Write only DOIs to a file." - (let [wrtr (PrintWriter. (io/writer out-file))] - (fn [doi-record] - (.println wrtr (:doi doi-record))))) - -(defn text-citation-writer [out-file] - "Write only unstructured citation texts to a file." - (let [wrtr (PrintWriter. (io/writer out-file)) - write-citation (fn [citation] - (when (:unstructured citation) - (.println wrtr (:unstructured citation))))] - (fn [doi-record] - (doseq [citation (:citations doi-record)] - (write-citation citation))))) - -; doi year citation issn science_cat url url_top_level -; needs science category, host top level type -(defn citation-info-writer [out-file] - "Write only citing DOI, publication date, unstructured citation text - and ISSN to a file, one line per citation." - (let [wrtr (PrintWriter. (io/writer out-file)) - write-citation (fn [record citation] - (when (:unstructured citation) - (.println wrtr - (str (:doi record) \tab - (get-in record [:pub-date :year]) \tab - (:issn record) \tab - (:unstructured citation)))))] - (fn [doi-record] - (when (and (:doi doi-record) (:issn doi-record) (:pub-date doi-record)) - (doseq [citation (:citations doi-record)] - (write-citation doi-record citation)))))) - -(defn journal-title-writer [out-file] - "Write journal title and short titles to a file." - (let [wrtr (PrintWriter. (io/writer out-file))] - (fn [doi-record] - (let [journal (:journal doi-record)] - (when (and (:title journal) (:short-title journal)) - (.println wrtr (str (:title journal) \tab (:short-title journal)))))))) - diff --git a/src/cayenne/tasks/mongo.clj b/src/cayenne/tasks/mongo.clj deleted file mode 100644 index f82f64dd..00000000 --- a/src/cayenne/tasks/mongo.clj +++ /dev/null @@ -1,40 +0,0 @@ -(ns cayenne.tasks.mongo - (:require [cayenne.conf :as conf] - [cayenne.item-tree :as itree] - [cayenne.ids :as ids] - [cayenne.ids.doi :as doi-id] - [clj-time.core :as dt] - [somnium.congomongo :as m])) - -;; insert IDed items into a mongo collection. - -(defn ids-without-supp [item] - (let [ids (itree/get-item-ids item)] - (filter #(not= :supplementary (ids/id-uri-type %)) ids))) - -(defn insert-item - "Insert an item for all its IDs except supplementary IDs, which may - not be unique across all items. An item record that already exists - with some or all of the item's IDs will be replaced." - [collection item] - (let [ids (ids-without-supp item)] - (m/with-mongo (conf/get-service :mongo) - (m/update! collection - {:id {"$in" ids}} - {:id ids - :rindex (rand) - :updated (java.util.Date.) - :item item} - :upsert true)))) - -(defn get-item-with-id [collection item-id] - (m/with-mongo (conf/get-service :mongo) - (m/fetch-one collection :where {:id item-id}))) - -(defn get-dois [collection dois] - (->> dois - (map doi-id/to-long-doi-uri) - (map (partial get-item-with-id collection)))) - -(defn check-for-dois [collection dois] - (remove nil? (get-dois collection dois))) diff --git a/src/cayenne/url.clj b/src/cayenne/url.clj deleted file mode 100644 index 1edb569a..00000000 --- a/src/cayenne/url.clj +++ /dev/null @@ -1,85 +0,0 @@ -(ns cayenne.url - (:import [java.net URI]) - (:require [cayenne.util :refer [?>]] - [clj-http.client :as client] - [cayenne.conf :as conf] - [clojure.string :as string])) - -(def end-bits "(\\)\\.|>\\.|\\]\\.|\\}\\.|\\),|>,|\\],|\\},|\\)|,|\\.|>|\\]|\\})$") - -(def tlds - (let [domains (-> (conf/get-resource :tld-list) - (slurp) - (string/split #"\s+")) - clean-domains (map #(string/replace % #"^\." "") domains)] - (reduce - (fn [m kv] (assoc-in m (first kv) {})) - {} - (for [d clean-domains] [(reverse (string/split d #"\.")) d])))) - -(defn extract-tld* [remaining-parts tld-parts] - (let [next-test (conj tld-parts (first remaining-parts))] - (if-not (get-in tlds next-test) - tld-parts - (recur (rest remaining-parts) next-test)))) - -(defn extract-tld [url] - (let [host (.getHost (URI/create url)) - host-parts (reverse (string/split host #"\."))] - (string/join "." (reverse (extract-tld* host-parts []))))) - -(defn extract-root [url] - (let [tld (extract-tld url) - host (.getHost (URI/create url)) - without-tld (string/replace host (re-pattern (str tld "$")) "")] - (second (re-find #"\.?([^\.]+)\.$" without-tld)))) - -(defn extract-one [text] - (when-let [url (re-find #"https?:\/\/[^\s]+" text)] - (.replaceFirst url end-bits ""))) - -(defn valid? [url-text] - (try (do (URI/create url-text) true) (catch Exception e false))) - -(defn resolves? - "Tries to resolve a URL. Will return false if the connection - times out, the host is not accessible, the server returns a non-ok - HTTP status code or there are too many redirects." - [url-text] - (try - (let [resp (client/get url-text {:socket-timeout 30000 - :conn-timeout 30000 - :max-redirects 10})] - (if (client/success? resp) true false)) - (catch Exception e false))) - -(defn locate - "Locate a URL in text and try to resolve it. Reports the response - as :good if between 200 and 399 or :bad otherwise. Also finds the host - type of the URL, and repots whether or not the URL extracted is valid." - [text] - (when-let [clean-url (extract-one text)] - (let [valid (valid? clean-url)] - (if valid - {:url clean-url - :valid valid - :resolves (resolves? clean-url) - :root (extract-root clean-url) - :tld (extract-tld clean-url)} - {:url clean-url - :valid valid - :resolves false})))) - -(defn locate-without-resolve - "Like locate, but does not resolve a found url." - [text] - (when-let [clean-url (extract-one text)] - (let [valid (valid? clean-url)] - (if valid - {:url clean-url - :valid valid - :root (extract-root clean-url) - :tld (extract-tld clean-url)} - {:url clean-url - :valid valid})))) - From 43fb731bb81e08bf1d40d68fd4d85e1ea7fc5edc Mon Sep 17 00:00:00 2001 From: Karl Jonathan Ward Date: Tue, 14 Nov 2017 11:16:17 +0000 Subject: [PATCH 052/156] Set minimum_should_match for ISSN matching --- src/cayenne/action.clj | 14 +++++++------- src/cayenne/tasks/category.clj | 3 ++- 2 files changed, 9 insertions(+), 8 deletions(-) diff --git a/src/cayenne/action.clj b/src/cayenne/action.clj index d3fd1577..90f66eec 100644 --- a/src/cayenne/action.clj +++ b/src/cayenne/action.clj @@ -26,25 +26,25 @@ (def print-itree-docs (comp #(info %) - #(apply itree/centre-on %))) + #(apply itree/centre-on %) + unixsd-record-parser)) (def print-elastic-docs (comp #(info %) es-index/index-command - #(apply itree/centre-on %))) + #(apply itree/centre-on %) + unixsd-record-parser)) (def index-elastic-docs (comp es-index/index-item - #(apply itree/centre-on %))) + #(apply itree/centre-on %) + unixsd-record-parser)) (defn process-file [file record-element using] (with-open [rdr (io/reader file)] - (xml/process-xml - rdr - using - record-element))) + (xml/process-xml rdr record-element using))) (defn parse-unixsd-record [f using] (process-file (io/file f) "record" using)) diff --git a/src/cayenne/tasks/category.clj b/src/cayenne/tasks/category.clj index 4b4f64bd..aa457a67 100644 --- a/src/cayenne/tasks/category.clj +++ b/src/cayenne/tasks/category.clj @@ -62,7 +62,8 @@ {:method :get :url "/journal/journal/_search" :body (assoc-in - {:_source [:id]} + {:_source [:id] + :query {:bool {:minimum_should_match 1}}} [:query :bool :should] (map #(hash-map :term {:issn.value %}) issns))}) (get-in [:body :hits :hits]) From a19b5c42cedb6d7e6a1cdb2c728da5d39e899f34 Mon Sep 17 00:00:00 2001 From: Karl Jonathan Ward Date: Tue, 14 Nov 2017 11:26:08 +0000 Subject: [PATCH 053/156] Auto complete fields for member, journal and funder names --- src/cayenne/elastic/mappings.clj | 47 +++++++++++++++++--------------- src/cayenne/user.clj | 3 +- 2 files changed, 27 insertions(+), 23 deletions(-) diff --git a/src/cayenne/elastic/mappings.clj b/src/cayenne/elastic/mappings.clj index b65aa0ba..22f3d6c9 100644 --- a/src/cayenne/elastic/mappings.clj +++ b/src/cayenne/elastic/mappings.clj @@ -192,23 +192,25 @@ :name {:type "text"}}) (def member-properties - {:primary-name {:type "text"} - :location {:type "text"} - :id {:type "long"} - :token {:type "keyword"} - :prefix {:type "object" :properties prefix-properties}}) + {:primary-name {:type "text" :copy_to :primary-name-suggest} + :primary-name-suggest {:type "completion"} + :location {:type "text"} + :id {:type "long"} + :token {:type "keyword"} + :prefix {:type "object" :properties prefix-properties}}) (def funder-properties - {:doi {:type "keyword"} - :parent {:type "keyword"} - :child {:type "keyword"} - :affiliated {:type "keyword"} - :country {:type "keyword"} - :primary-name {:type "text"} - :name {:type "text"} - :replaces {:type "keyword"} - :replaced-by {:type "keyword"} - :token {:type "keyword"}}) + {:doi {:type "keyword"} + :primary-name-suggest {:type "completion"} + :parent {:type "keyword"} + :child {:type "keyword"} + :affiliated {:type "keyword"} + :country {:type "keyword"} + :primary-name {:type "text" :copy_to :primary-name-suggest} + :name {:type "text"} + :replaces {:type "keyword"} + :replaced-by {:type "keyword"} + :token {:type "keyword"}}) (def subject-properties {:high-code {:type "integer"} @@ -216,13 +218,14 @@ :name {:type "keyword"}}) (def journal-properties - {:title {:type "text"} - :token {:type "keyword"} - :id {:type "long"} - :doi {:type "keyword"} - :publisher {:type "text"} - :subject {:type "object" :properties subject-properties} - :issn {:type "object" :properties issn-properties}}) + {:title {:type "text" :copy_to :title-suggest} + :title-suggest {:type "completion"} + :token {:type "keyword"} + :id {:type "long"} + :doi {:type "keyword"} + :publisher {:type "text"} + :subject {:type "object" :properties subject-properties} + :issn {:type "object" :properties issn-properties}}) (def coverage-properties {:subject-type {:type "keyword"} diff --git a/src/cayenne/user.clj b/src/cayenne/user.clj index e8cd697e..1c482a94 100644 --- a/src/cayenne/user.clj +++ b/src/cayenne/user.clj @@ -35,5 +35,6 @@ (defn index-ancillary [] (category/index-subjects) (publisher/index-members) - (journal/index-journals)) + (journal/index-journals) + (category/update-journal-subjects)) From 7e16ff4d83359c08e4ebdb807f8ff924698df01d Mon Sep 17 00:00:00 2001 From: Karl Jonathan Ward Date: Tue, 14 Nov 2017 12:15:00 +0000 Subject: [PATCH 054/156] Complete ES to citeproc mapping --- src/cayenne/data/funder.clj | 1 - src/cayenne/data/member.clj | 1 - src/cayenne/data/type.clj | 1 - src/cayenne/data/work.clj | 4 +- src/cayenne/elastic/convert.clj | 155 +++++++-- src/cayenne/elastic/mappings.clj | 50 +-- src/cayenne/formats/citeproc.clj | 527 ------------------------------- 7 files changed, 158 insertions(+), 581 deletions(-) delete mode 100644 src/cayenne/formats/citeproc.clj diff --git a/src/cayenne/data/funder.clj b/src/cayenne/data/funder.clj index 3e7ab76a..370d3c82 100644 --- a/src/cayenne/data/funder.clj +++ b/src/cayenne/data/funder.clj @@ -4,7 +4,6 @@ [cayenne.api.v1.response :as r] [cayenne.api.v1.filter :as filter] [cayenne.api.v1.facet :as facet] - [cayenne.formats.citeproc :as citeproc] [cayenne.data.work :as work] [cayenne.ids.fundref :as fr-id] [somnium.congomongo :as m] diff --git a/src/cayenne/data/member.clj b/src/cayenne/data/member.clj index 0a289f68..4f77d9c7 100644 --- a/src/cayenne/data/member.clj +++ b/src/cayenne/data/member.clj @@ -8,7 +8,6 @@ [cayenne.data.work :as work] [cayenne.ids.member :as member-id] [cayenne.ids.prefix :as prefix-id] - [cayenne.formats.citeproc :as citeproc] [clojure.string :as string] [clj-time.coerce :as dc] [qbits.spandex :as elastic])) diff --git a/src/cayenne/data/type.clj b/src/cayenne/data/type.clj index f84fb003..66d29f7b 100644 --- a/src/cayenne/data/type.clj +++ b/src/cayenne/data/type.clj @@ -4,7 +4,6 @@ [cayenne.api.v1.filter :as filter] [cayenne.api.v1.facet :as facet] [cayenne.data.work :as work] - [cayenne.formats.citeproc :as citeproc] [cayenne.ids.type :as type-id] [cayenne.conf :as conf])) diff --git a/src/cayenne/data/work.clj b/src/cayenne/data/work.clj index 8067b7c2..f12a7da8 100644 --- a/src/cayenne/data/work.clj +++ b/src/cayenne/data/work.clj @@ -4,11 +4,9 @@ [cayenne.api.v1.response :as r] [cayenne.api.v1.filter :as filter] [cayenne.api.v1.facet :as facet] - [cayenne.data.quality :as quality] [cayenne.ids.doi :as doi-id] [cayenne.ids.prefix :as prefix-id] [cayenne.ids.member :as member-id] - [cayenne.formats.citeproc :as citeproc] [org.httpkit.client :as http] [clojure.string :as string] [clojure.data.json :as json] @@ -24,7 +22,7 @@ (when-let [member-doc (-> (elastic/request (conf/get-service :elastic) {:method :get - :url "/members/members/_search" + :url "/member/member/_search" :body (-> {:size 1} (assoc-in [:query :bool :filter] diff --git a/src/cayenne/elastic/convert.clj b/src/cayenne/elastic/convert.clj index b6dda03c..f5e6d312 100644 --- a/src/cayenne/elastic/convert.clj +++ b/src/cayenne/elastic/convert.clj @@ -405,33 +405,142 @@ :else nil)) +(defn citeproc-contributors [es-doc {:keys [contribution]}] + (cond->> (:contributor es-doc) + :always + (map #(hash-map + :type (:contribution %) + :ORCID (:orcid %) + :authenticated-orcid (:authenticated-orcid %) + :prefix (:prefix %) + :suffix (:suffix %) + :name (:org-name %) + :given (:given-name %) + :family (:family-name %) + :affiliation (map (fn [affil] {:name affil}) (:affiliation %)))) + contribution + (filter #(= (:type %) contribution)))) + +(defn citeproc-events [es-doc] + (map #(-> % + (update-in [:start] citeproc-date) + (update-in [:end] citeproc-date)) + (:event es-doc))) + +(defn citeproc-references [es-doc] + (map #(-> % + (dissoc :doi) + (assoc :DOI (:doi %)) + (dissoc :issn) + (assoc :ISSN (:issn %)) + (dissoc :isbn) + (assoc :ISBN (:isbn %))) + (:reference es-doc))) + +(defn citeproc-relations [es-doc] + (map #(hash-map + :id (:object %) + :id-type (:object-type %) + :asserted-by (:claimed-by %) + :rel (:type %)) + (:relation es-doc))) + +(defn citeproc-licenses [es-doc] + (map #(-> % + (update-in [:start] citeproc-date) + (dissoc :version) + (assoc :content-version (:version %)) + (dissoc :delay) + (assoc :delay-in-days (:delay %)) + (dissoc :url) + (assoc :URL (:url %))) + (:license es-doc))) + +(defn citeproc-assertions [es-doc] + (map #(hash-map + :value (:value %) + :URL (:url %) + :order (:order %) + :name (:name %) + :label (:label %) + :explanation {:URL (:explanation-url %)} + :group {:name (:group-name %) :label (:group-label %)}) + (:assertion es-doc))) + +(defn citeproc-clinical-trials [es-doc] + (map #(hash-map + :clinical-trial-number (:number %) + :registry (:registry %) + :type (:type %)) + (:clinical-trial es-doc))) + +(defn citeproc-updates [updates] + (map #(hash-map + :DOI (:doi %) + :type (:type %) + :label (:label %) + :updated (-> % :date citeproc-date)) + updates)) + +;; todo merge on :DOI +(defn citeproc-funders [es-doc] + (map #(hash-map + :DOI (:doi %) + :name (:name %) + :doi-asserted-by (:doi-asserted-by %) + :award (map (fn [award] {:name award}) (:award %))) + (:funder es-doc))) + (defn es-doc->citeproc [es-doc] (let [source-doc (:_source es-doc)] (-> source-doc (select-keys [:title :short-title :original-title :group-title :subtitle :container-title :short-container-title :issue :volume :description :degree :update-policy :archive :type :prefix - :owner-prefix :member-id :journal-id - :references-count :is-referenced-by-count]) - - (assoc :ISSN (->> source-doc :issn (map :value))) - (assoc :ISBN (->> source-doc :isbn (map :value))) - (assoc :issn-type (:issn source-doc)) - (assoc :isbn-type (:isbn source-doc)) - (assoc :DOI (:doi source-doc)) - (assoc :URL (-> source-doc :doi doi-id/to-long-doi-uri)) - (assoc :page (citeproc-pages source-doc)) - (assoc :issued (-> source-doc :issued citeproc-date)) - (assoc :published-print (-> source-doc :published-print citeproc-date)) - (assoc :published-online (-> source-doc :published-online citeproc-date)) - (assoc :published-other (-> source-doc :published-other citeproc-date)) - (assoc :posted (-> source-doc :posted citeproc-date)) - (assoc :accepted (-> source-doc :accepted citeproc-date)) - (assoc :approved (-> source-doc :approved citeproc-date)) - (assoc :indexed (-> source-doc :indexed citeproc-date)) - (assoc :deposited (-> source-doc :deposited citeproc-date)) - (assoc :first-deposited (-> source-doc :first-deposited citeproc-date)) - (assoc :content-created (-> source-doc :content-created citeproc-date)) - (assoc :content-updated (-> source-doc :content-updated citeproc-date)) - + :owner-prefix :references-count :is-referenced-by-count + :publisher :publisher-location :article-number :edition-number + :part-number :component-number]) + + (assoc :abstract (:abstract-xml source-doc)) + (assoc :alternative-id (:supplementary-id source-doc)) + (assoc :ISSN (->> source-doc :issn (map :value))) + (assoc :ISBN (->> source-doc :isbn (map :value))) + (assoc :issn-type (:issn source-doc)) + (assoc :isbn-type (:isbn source-doc)) + (assoc :DOI (:doi source-doc)) + (assoc :URL (-> source-doc :doi doi-id/to-long-doi-uri)) + (assoc :member (:member-id source-doc)) + (assoc :journal (:journal-id source-doc)) + (assoc :page (citeproc-pages source-doc)) + (assoc :issued (-> source-doc :issued citeproc-date)) + (assoc :published-print (-> source-doc :published-print citeproc-date)) + (assoc :published-online (-> source-doc :published-online citeproc-date)) + (assoc :published-other (-> source-doc :published-other citeproc-date)) + (assoc :posted (-> source-doc :posted citeproc-date)) + (assoc :accepted (-> source-doc :accepted citeproc-date)) + (assoc :approved (-> source-doc :approved citeproc-date)) + (assoc :indexed (-> source-doc :indexed citeproc-date)) + (assoc :deposited (-> source-doc :deposited citeproc-date)) + (assoc :created (-> source-doc :first-deposited citeproc-date)) + (assoc :content-created (-> source-doc :content-created citeproc-date)) + (assoc :content-updated (-> source-doc :content-updated citeproc-date)) + (assoc :author (citeproc-contributors source-doc :author)) + (assoc :editor (citeproc-contributors source-doc :author)) + (assoc :translator (citeproc-contributors source-doc :author)) + (assoc :chair (citeproc-contributors source-doc :author)) + (assoc :contributor (citeproc-contributors source-doc :author)) + (assoc :standards-body (:standards-body source-doc)) + (assoc :reference (citeproc-references source-doc)) + (assoc :event (citeproc-events source-doc)) + (assoc :clinical-trial-number (citeproc-clinical-trials source-doc)) + (assoc :assertion (citeproc-assertions source-doc)) + (assoc :funder (citeproc-funders source-doc)) + (assoc :license (citeproc-licenses source-doc)) + (assoc :updated-by (citeproc-updates (:updated-by source-doc))) + (assoc :update-to (citeproc-updates (:update-to source-doc))) + (assoc :relation (citeproc-relations source-doc)) + + (assoc :content-domain {:crossmark-restriction (:domain-exclusive source-doc) + :domain (:domain source-doc)}) + (assoc :score (:_score es-doc))))) diff --git a/src/cayenne/elastic/mappings.clj b/src/cayenne/elastic/mappings.clj index 22f3d6c9..a52f6eaf 100644 --- a/src/cayenne/elastic/mappings.clj +++ b/src/cayenne/elastic/mappings.clj @@ -192,25 +192,25 @@ :name {:type "text"}}) (def member-properties - {:primary-name {:type "text" :copy_to :primary-name-suggest} - :primary-name-suggest {:type "completion"} - :location {:type "text"} - :id {:type "long"} - :token {:type "keyword"} - :prefix {:type "object" :properties prefix-properties}}) + {:primary-name {:type "text" :copy_to :suggest} + :suggest {:type "completion"} + :location {:type "text"} + :id {:type "long"} + :token {:type "keyword"} + :prefix {:type "object" :properties prefix-properties}}) (def funder-properties - {:doi {:type "keyword"} - :primary-name-suggest {:type "completion"} - :parent {:type "keyword"} - :child {:type "keyword"} - :affiliated {:type "keyword"} - :country {:type "keyword"} - :primary-name {:type "text" :copy_to :primary-name-suggest} - :name {:type "text"} - :replaces {:type "keyword"} - :replaced-by {:type "keyword"} - :token {:type "keyword"}}) + {:doi {:type "keyword"} + :suggest {:type "completion"} + :parent {:type "keyword"} + :child {:type "keyword"} + :affiliated {:type "keyword"} + :country {:type "keyword"} + :primary-name {:type "text" :copy_to :suggest} + :name {:type "text"} + :replaces {:type "keyword"} + :replaced-by {:type "keyword"} + :token {:type "keyword"}}) (def subject-properties {:high-code {:type "integer"} @@ -218,14 +218,14 @@ :name {:type "keyword"}}) (def journal-properties - {:title {:type "text" :copy_to :title-suggest} - :title-suggest {:type "completion"} - :token {:type "keyword"} - :id {:type "long"} - :doi {:type "keyword"} - :publisher {:type "text"} - :subject {:type "object" :properties subject-properties} - :issn {:type "object" :properties issn-properties}}) + {:title {:type "text" :copy_to :suggest} + :suggest {:type "completion"} + :token {:type "keyword"} + :id {:type "long"} + :doi {:type "keyword"} + :publisher {:type "text"} + :subject {:type "object" :properties subject-properties} + :issn {:type "object" :properties issn-properties}}) (def coverage-properties {:subject-type {:type "keyword"} diff --git a/src/cayenne/formats/citeproc.clj b/src/cayenne/formats/citeproc.clj deleted file mode 100644 index 07515cf8..00000000 --- a/src/cayenne/formats/citeproc.clj +++ /dev/null @@ -1,527 +0,0 @@ -(ns cayenne.formats.citeproc - (:require [clj-time.format :as df] - [clj-time.core :as dt] - [clj-time.coerce :as dc] - [clojure.string :as string] - [cayenne.util :as util] - [cayenne.ids :as ids] - [cayenne.ids.doi :as doi-id] - [cayenne.ids.update-type :as update-type-id] - [cayenne.ids.issn :as issn-id] - [cayenne.ids.isbn :as isbn-id] - [cayenne.ids.member :as member-id] - [cayenne.ids.prefix :as prefix-id] - [cayenne.ids.type :as type-id])) - -;; TODO Proper use of container-title vs. collection-title -;; author vs. container-author vs. collection-author etc. - -(defn padded-solr-vals [solr-doc field-name co-cardinal-field-names] - (concat - (get solr-doc field-name) - (repeat (- (apply max - (map #(-> solr-doc (get %) count) - co-cardinal-field-names)) - (count (get solr-doc field-name))) - "-"))) - -(defn some-dateparts? [{:keys [date-parts]}] - (seq (remove nil? (flatten date-parts)))) - -(defn assoc-exists - "Like assoc except only performs the assoc if value is - a non-empty string, non-empty list or a non-nil value." - ([m key value] - (assoc-exists m key value value)) - ([m key value assoc-value] - (cond (= (type value) java.lang.String) - (if (clojure.string/blank? value) - m - (assoc m key assoc-value)) - (seq? value) - (if (empty? value) - m - (assoc m key assoc-value)) - (nil? value) - m - :else - (assoc m key assoc-value)))) - -;; We check number-of-days-in-the-month because some dates in CrossRef -;; metadata have a day that is not in the valid range for the given -;; month, e.g. 31st Feb. In these cases we drop the day. -(defn ->date-parts - ([year month day] - (cond (and year month day) - (if (< (dt/number-of-days-in-the-month year month) day) - {:date-parts [[year month]]} - {:date-parts [[year month day]]}) - (and year month) - {:date-parts [[year month]]} - :else - {:date-parts [[year]]})) - ([date-obj] - (cond (nil? date-obj) - nil - (string? date-obj) - (let [d (dc/from-long (Long/parseLong date-obj))] - {:date-parts [[(dt/year d) (dt/month d) (dt/day d)]] - :date-time (df/unparse (df/formatters :date-time-no-ms) d) - :timestamp (dc/to-long d)}) - :else - (let [d (dc/from-date date-obj)] - {:date-parts [[(dt/year d) (dt/month d) (dt/day d)]] - :date-time (df/unparse (df/formatters :date-time-no-ms) d) - :timestamp (dc/to-long d)})))) - -(defn assoc-date [citeproc-doc solr-doc field prefix] - (assoc-exists citeproc-doc field (get solr-doc (str prefix "_year")) - (->date-parts (get solr-doc (str prefix "_year")) - (get solr-doc (str prefix "_month")) - (get solr-doc (str prefix "_day"))))) - -(defn license [url start-date delay-in-days content-version] - (-> {:URL url} - (assoc-exists :start (->date-parts start-date)) - (assoc-exists :delay-in-days delay-in-days) - (assoc-exists :content-version content-version))) - -;; todo In some circumstances a record may not have a publication date. -;; When a license also does not specify a start date, this leaves its -;; implied start date null. This should be fixed in the unixref parser, -;; rather than padding the start dates here. -(defn ->citeproc-licenses [solr-doc] - (let [padded-start-dates - (concat - (get solr-doc "license_start") - (repeat (- (count (get solr-doc "license_url")) - (count (get solr-doc "license_start"))) - nil))] - (map license - (get solr-doc "license_url") - padded-start-dates - (get solr-doc "license_delay") - (get solr-doc "license_version")))) - -(defn link [url content-type content-version intended-application] - (-> {:URL url} - (assoc-exists :content-type content-type) - (assoc-exists :content-version content-version) - (assoc-exists :intended-application intended-application))) - -(defn ->citeproc-links [solr-doc] - (let [padded-ia - (concat - (get solr-doc "full_text_application") - (repeat (- (count (get solr-doc "full_text_url")) - (count (get solr-doc "full_text_application"))) - nil))] - (map link - (get solr-doc "full_text_url") - (get solr-doc "full_text_type") - (get solr-doc "full_text_version") - padded-ia))) - -(defn ->citeproc-pages [solr-doc] - (let [first-page (get solr-doc "hl_first_page") - last-page (get solr-doc "hl_last_page")] - (cond (and (not (clojure.string/blank? last-page)) - (not (clojure.string/blank? first-page))) - (str first-page "-" last-page) - (not (clojure.string/blank? first-page)) - first-page - :else - nil))) - -(defn sanitize-type - "Function to sanitize type strings as some have made it - into the solr index with a prepended ':' due to indexing - bug." - [s] - (keyword (clojure.string/replace-first s #"\:" ""))) - -(defn contrib - "Drop placeholders indicating missing data." - [type orcid authenticated suffix given family org-name a-sequence] - (let [has-type? (not= type "-") - has-orcid? (not= orcid "-") - has-authenticated-orcid? (not= authenticated "-") - has-suffix? (not= suffix "-") - has-given? (not= given "-") - has-family? (not= family "-") - has-org-name? (not= org-name "-") - has-sequence? (not= a-sequence "-")] - (-> {} - (util/?> has-type? assoc :type (sanitize-type type)) - (util/?> has-orcid? assoc :ORCID orcid) - (util/?> (and has-orcid? - has-authenticated-orcid?) - assoc :authenticated-orcid authenticated) - (util/?> has-suffix? assoc :suffix suffix) - (util/?> has-org-name? assoc :name org-name) - (util/?> has-given? assoc :given given) - (util/?> has-family? assoc :family family) - (util/?> has-sequence? assoc :sequence a-sequence)))) - -(defn contrib-affiliations [affiliations] - (map #(hash-map :name %) affiliations)) - -(defn ->citeproc-contribs [solr-doc] - (reduce #(let [t (get %2 :type)] - (assoc %1 t (conj (get %1 t []) (dissoc %2 :type)))) - {} - (map-indexed #(let [affils - (-> solr-doc - (get (str "contributor_affiliations_" %1)) - contrib-affiliations)] - (assoc %2 :affiliation affils)) - (map contrib - (get solr-doc "contributor_type") - (get solr-doc "contributor_orcid") - (get solr-doc "contributor_orcid_authed") - (get solr-doc "contributor_suffix") - (get solr-doc "contributor_given_name") - (get solr-doc "contributor_family_name") - (get solr-doc "contributor_org_name") - (get solr-doc "contributor_sequence"))))) - -(defn ->citeproc-awards [solr-doc] - (map - #(hash-map :number %1 - :DOI %2 - :name %3) - (get solr-doc "award_number_display") - (get solr-doc "award_funder_doi") - (get solr-doc "award_funder_name"))) - -(defn ->citeproc-funders [solr-doc] - (let [awards (->citeproc-awards solr-doc) - co-cardinal-fields ["funder_record_doi" "funder_record_name" - "funder_record_doi_asserted_by"]] - (map - #(-> {} - (util/?> (not= %1 "-") assoc :DOI (doi-id/extract-long-doi %1)) - (util/?> (not= %2 "-") assoc :name %2) - (util/?> (not= %3 "-") assoc :doi-asserted-by %3) - (assoc :award (set - (concat (when (not= %1 "-") - (->> awards (filter (fn [a] (= (:DOI a) %1))) (map :number))) - (when (not= %2 "-") - (->> awards (filter (fn [a] (= (:name a) %2))) (map :number))))))) - (padded-solr-vals solr-doc "funder_record_doi" co-cardinal-fields) - (padded-solr-vals solr-doc "funder_record_name" co-cardinal-fields) - (padded-solr-vals solr-doc "funder_record_doi_asserted_by" co-cardinal-fields)))) - -(defn ->citeproc-funders-merged - "Where the underlying metadata is such that there are multiple funder records - for the same funder, we should merge them where the funder IDs and id provider match. - We cannot however merge where only names match - these could legitimately be separate - funding organisations." - [solr-doc] - (let [funders (->citeproc-funders solr-doc)] - (concat - (->> funders - (filter :DOI) - (reduce #(merge %1 {(str (:DOI %2) (:doi-asserted-by %2)) %2}) {}) - vals) - (remove :DOI funders)))) - -(defn ->citeproc-updates-to [solr-doc] - (map - #(hash-map - :DOI (doi-id/extract-long-doi %1) - :type %2 - :label (or (update-type-id/update-label %2) %2) - :updated (->date-parts %3)) - (get solr-doc "update_doi") - (get solr-doc "update_type") - (get solr-doc "update_date"))) - -(defn ->citeproc-updated-by [solr-doc] - (map - #(hash-map - :DOI (doi-id/extract-long-doi %1) - :type %2 - :label %3 - :updated (->date-parts %4)) - (get solr-doc "update_by_doi") - (get solr-doc "update_by_type") - (get solr-doc "update_by_label") - (get solr-doc "update_by_date"))) - -(defn ->citeproc-assertion-group [group-name group-label] - (-> {} - (util/?> group-name assoc :name group-name) - (util/?> group-label assoc :label group-label))) - -(defn ->citeproc-assertions [solr-doc] - (->> (range) - (take-while #(get solr-doc (str "assertion_name_" %))) - (map - #(let [explanation-url (first (get solr-doc (str "assertion_explanation_url_" %))) - group-name (first (get solr-doc (str "assertion_group_name_" %))) - group-label (first (get solr-doc (str "assertion_group_label_" %)))] - (-> {} - (assoc-exists :value (first (get solr-doc (str "assertion_value_" %)))) - (assoc-exists :URL (first (get solr-doc (str "assertion_url_" %)))) - (assoc-exists :order (first (get solr-doc (str "assertion_order_" %)))) - (assoc-exists :name (first (get solr-doc (str "assertion_name_" %)))) - (assoc-exists :label (first (get solr-doc (str "assertion_label_" %)))) - (util/?> explanation-url assoc :explanation {:URL explanation-url}) - (util/?> (or group-name group-label) - assoc :group (->citeproc-assertion-group group-name group-label))))))) - -(defn ->clinical-trial-numbers [solr-doc] - (let [ctns (get solr-doc "clinical_trial_number_ctn") - registries (get solr-doc "clinical_trial_number_registry") - types (get solr-doc "clinical_trial_number_type")] - (map (fn [ctn registry type] - (merge - {:clinical-trial-number ctn :registry registry} - (when (and type (not= type "-")) {:type type}))) ctns registries types))) - -(defn ->content-domains [{:keys [crossmark-unaware?]} solr-doc] - (merge - {:domain (get solr-doc "domains" [])} - (if-not crossmark-unaware? - {:crossmark-restriction (get solr-doc "domain_exclusive" false)}))) - -(defn ->issn-types [solr-doc] - (concat - (when-let [issn (get solr-doc "issn_type_print")] - (map #(hash-map :value (issn-id/extract-issn %) :type :print) issn)) - (when-let [issn (get solr-doc "issn_type_electronic")] - (map #(hash-map :value (issn-id/extract-issn %) :type :electronic) issn)) - (when-let [issn (get solr-doc "issn_type_link")] - (map #(hash-map :value (issn-id/extract-issn %) :type :link) issn)))) - -(defn ->isbn-types [solr-doc] - (concat - (when-let [isbn (get solr-doc "isbn_type_print")] - (map #(hash-map :value (isbn-id/extract-isbn %) :type :print) isbn)) - (when-let [isbn (get solr-doc "isbn_type_electronic")] - (map #(hash-map :value (isbn-id/extract-isbn %) :type :electronic) isbn)) - (when-let [isbn (get solr-doc "isbn_type_link")] - (map #(hash-map :value (isbn-id/extract-isbn %) :type :link) isbn)))) - -(defn ->event [solr-doc] - (when-let [event-name (get solr-doc "event_name")] - (-> {:name event-name} - (assoc-exists :theme (get solr-doc "event_theme")) - (assoc-exists :location (get solr-doc "event_location")) - (assoc-exists :sponsor (get solr-doc "event_sponsor")) - (assoc-exists :acronym (get solr-doc "event_acronym")) - (assoc-exists :number (get solr-doc "event_number")) - (assoc-date solr-doc :start "event_start") - (assoc-date solr-doc :end "event_end")))) - -(defn ->review [solr-doc] - (-> {} - (assoc-exists :type (get solr-doc "peer_review_type")) - (assoc-exists :running-number (get solr-doc "peer_review_running_number")) - (assoc-exists :revision-round (get solr-doc "peer_review_revision_round")) - (assoc-exists :stage (get solr-doc "peer_review_stage")) - (assoc-exists :competing-interest-statement (get solr-doc "peer_review_competing_interest_statement")) - (assoc-exists :recommendation (get solr-doc "peer_review_recommendation")) - (assoc-exists :language (get solr-doc "peer_review_language")))) - -(defn ->institution [solr-doc] - (when-let [institution-name (first (get solr-doc "institution_name"))] - (-> {:name institution-name} - (assoc-exists :place (get solr-doc "institution_location")) - (assoc-exists :department (get solr-doc "institution_department")) - (assoc-exists :acronym (get solr-doc "institution_acronym"))))) - -(defn citation-key-doi-map [solr-doc] - (if-let [key-dois (get solr-doc "citation_key_doi")] - - ;; Deposited DOIs in references are not clean - (into {} (map #(let [parts (string/split % #"_10\.")] - (if (= (count parts) 2) parts ["-" "-"])) - key-dois)) - - {})) - -(defn citation-doi-asserted-by-map [solr-doc] - (if-let [doi-asserted-bys (get solr-doc "citation_doi_asserted_by")] - (into {} (map #(let [parts (string/split % #"___")] - [(->> parts reverse (drop 1) reverse (string/join "___")) - (last parts)]) - doi-asserted-bys)) - {})) - -(defn ->citeproc-citations [solr-doc] - (let [key-doi-m (citation-key-doi-map solr-doc) - doi-asserted-by-m (citation-doi-asserted-by-map solr-doc)] - (letfn [(hide-id-types [citation-map] - (cond-> citation-map - (not (:ISSN citation-map)) (dissoc :issn-type) - (not (:ISBN citation-map)) (dissoc :isbn-type))) - (maybe-with-doi [citation-map] - (if-let [doi (get key-doi-m (:key citation-map))] - (let [real-doi (str "10." doi)] - (-> citation-map - (assoc :DOI real-doi) - (assoc :doi-asserted-by (doi-asserted-by-m real-doi)))) - citation-map))] - (when (get solr-doc "citation_key") - (let [citation-fields [:key :ISSN :issn-type :isbn-type - :author :volume :issue :first-page :year - :ISBN :isbn-type :edition :component - :standard-designator :standards-body - :unstructured :article-title :series-title - :volume-title :journal-title] - citation-vals (map #(get solr-doc (str "citation_" - (-> % - name - string/lower-case - (string/replace "-" "_")))) - citation-fields) - vals-transposed (vec (apply map vector citation-vals))] - ;; [ ["a" "b" "c"] ["-" "10." "-" ] ] - ;; ==> [ ["a" "10."] ["b" "-"] ["c" "-"] ] - (map - (fn [row] - (->> citation-fields - (map-indexed #(vector %2 (nth row %1))) - (filter #(not= "-" (second %))) - (into {}) - hide-id-types - maybe-with-doi)) - vals-transposed)))))) - -(defn ->citeproc-cites-relations [solr-doc] - (->> (get solr-doc "citation_key") - (map #(first (get solr-doc (str "citation_doi_" %)))) - (remove nil?) - (map #(hash-map :id % :id-type "doi" :asserted-by "subject")))) - -(defn ->citeproc-relations [solr-doc] - (let [non-cites-rels (->> (map #(hash-map - :id %1 - :id-type %2 - :asserted-by %3 - :rel %4) - (get solr-doc "relation_object") - (get solr-doc "relation_object_type") - (get solr-doc "relation_claimed_by") - (get solr-doc "relation_type")) - (group-by :rel) - (map #(vector (first %) (map (fn [a] (dissoc a :rel)) (second %)))) - (into {}))] - (cond-> non-cites-rels - (get solr-doc "citation_key") - (assoc :cites (->citeproc-cites-relations solr-doc))))) - -(defn ->citeproc-standards-body [solr-doc] - (let [body-name (get solr-doc "standards_body_name") - body-acronym (get solr-doc "standards_body_acronym")] - (when (or body-name body-acronym) - {:name body-name :acronym body-acronym}))) - -(defn ->citeproc-journal-issue [solr-doc] - (let [published-online (->date-parts - (get solr-doc "issue_online_year") - (get solr-doc "issue_online_month") - (get solr-doc "issue_online_day")) - published-print (->date-parts - (get solr-doc "issue_print_year") - (get solr-doc "issue_print_month") - (get solr-doc "issue_print_day")) - issue (get solr-doc "hl_issue")] - (when issue - (cond-> {} - (some-dateparts? published-online) (assoc :published-online published-online) - (some-dateparts? published-print) (assoc :published-print published-print) - issue (assoc :issue issue))))) - -(defn ->citeproc-free-to-read [solr-doc] - (let [start (->date-parts - (get solr-doc "free_to_read_start_year") - (get solr-doc "free_to_read_start_month") - (get solr-doc "free_to_read_start_day")) - end (->date-parts - (get solr-doc "free_to_read_end_year") - (get solr-doc "free_to_read_end_month") - (get solr-doc "free_to_read_end_day"))] - - (when (or (some-dateparts? start) (some-dateparts? end)) - (cond-> {} - (some-dateparts? start) (assoc :start-date start) - (some-dateparts? end) (assoc :end-date end))))) - -(defn ->citeproc [solr-doc] - (let [type-id (type-id/->type-id (get solr-doc "type")) - type-key (keyword type-id) - domain (-> (get type-id/type-dictionary type-key) - (->content-domains solr-doc)) - review (->review solr-doc)] - (-> {:source (get solr-doc "source") - :prefix (prefix-id/extract-prefix (get solr-doc "owner_prefix")) - :member (member-id/extract-member-id (get solr-doc "member_id")) - :DOI (doi-id/extract-long-doi (get solr-doc "doi")) - :URL (get solr-doc "doi") - :issued (->date-parts (get solr-doc "year") - (get solr-doc "month") - (get solr-doc "day")) - :created (->date-parts (get solr-doc "first_deposited_at")) - :deposited (->date-parts (get solr-doc "deposited_at")) - :indexed (->date-parts (get solr-doc "indexed_at")) - :publisher (get solr-doc "publisher") - :references-count (get solr-doc "citation_count") - :reference-count (get solr-doc "citation_count") - :is-referenced-by-count (get solr-doc "cited_by_count") - :type type-id - :content-domain domain - :relation (->citeproc-relations solr-doc) - :score (get solr-doc "score")} - (assoc-date solr-doc :published-online "online") - (assoc-date solr-doc :published-print "print") - (assoc-date solr-doc :posted "posted") - (assoc-date solr-doc :accepted "accepted") - (assoc-date solr-doc :content-created "content_created") - (assoc-date solr-doc :content-updated "content_updated") - (assoc-date solr-doc :approved "approved") - (assoc-exists :subtype (get solr-doc "content_type")) - (assoc-exists :publisher-location (get solr-doc "publisher_location")) - (assoc-exists :abstract (get solr-doc "abstract_xml")) - (assoc-exists :article-number (get solr-doc "article_number")) - (assoc-exists :volume (get solr-doc "hl_volume")) - (assoc-exists :issue (get solr-doc "hl_issue")) - (assoc-exists :language (get solr-doc "language")) - (assoc-exists :ISBN (map isbn-id/extract-isbn (get solr-doc "isbn"))) - (assoc-exists :ISSN (map issn-id/extract-issn (get solr-doc "issn"))) - (assoc-exists :alternative-id (map ids/extract-supplementary-id - (get solr-doc "supplementary_id"))) - (assoc-exists :title (set (get solr-doc "hl_title"))) - (assoc-exists :short-title (set (get solr-doc "hl_short_title"))) - (assoc-exists :original-title (set (get solr-doc "hl_original_title"))) - (assoc-exists :subtitle (set (get solr-doc "hl_subtitle"))) - (assoc-exists :container-title (set (get solr-doc "hl_publication"))) - (assoc-exists :short-container-title (set (get solr-doc "hl_short_publication"))) - (assoc-exists :group-title (get solr-doc "hl_group_title")) - (assoc-exists :subject (get solr-doc "category")) - (assoc-exists :archive (get solr-doc "archive")) - (assoc-exists :degree (get solr-doc "degree")) - (assoc-exists :update-policy (get solr-doc "update_policy")) - (assoc-exists :update-to (->citeproc-updates-to solr-doc)) - (assoc-exists :updated-by (->citeproc-updated-by solr-doc)) - (assoc-exists :license (->citeproc-licenses solr-doc)) - (assoc-exists :link (->citeproc-links solr-doc)) - (assoc-exists :page (->citeproc-pages solr-doc)) - (assoc-exists :funder (->citeproc-funders-merged solr-doc)) - (assoc-exists :assertion (->citeproc-assertions solr-doc)) - (assoc-exists :clinical-trial-number (->clinical-trial-numbers solr-doc)) - (assoc-exists :issn-type (->issn-types solr-doc)) - (assoc-exists :isbn-type (->isbn-types solr-doc)) - (assoc-exists :edition-number (get solr-doc "edition_number")) - (assoc-exists :part-number (get solr-doc "part_number")) - (assoc-exists :event (->event solr-doc)) - (assoc-exists :institution (->institution solr-doc)) - (assoc-exists :review (seq review) review) - (assoc-exists :reference (->citeproc-citations solr-doc)) - (assoc-exists :standards-body (->citeproc-standards-body solr-doc)) - (assoc-exists :free-to-read (->citeproc-free-to-read solr-doc)) - (assoc-exists :journal-issue (->citeproc-journal-issue solr-doc)) - (merge (->citeproc-contribs solr-doc))))) - From 02bc7d3820e29bcf852e5ecae1b4cead1cfb0d09 Mon Sep 17 00:00:00 2001 From: Karl Jonathan Ward Date: Tue, 14 Nov 2017 12:22:58 +0000 Subject: [PATCH 055/156] Display contributors correctly --- src/cayenne/elastic/convert.clj | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/src/cayenne/elastic/convert.clj b/src/cayenne/elastic/convert.clj index f5e6d312..a9d5a42a 100644 --- a/src/cayenne/elastic/convert.clj +++ b/src/cayenne/elastic/convert.clj @@ -405,7 +405,7 @@ :else nil)) -(defn citeproc-contributors [es-doc {:keys [contribution]}] +(defn citeproc-contributors [es-doc & {:keys [contribution]}] (cond->> (:contributor es-doc) :always (map #(hash-map @@ -419,7 +419,7 @@ :family (:family-name %) :affiliation (map (fn [affil] {:name affil}) (:affiliation %)))) contribution - (filter #(= (:type %) contribution)))) + (filter #(= (-> % :type keyword) contribution)))) (defn citeproc-events [es-doc] (map #(-> % @@ -524,11 +524,10 @@ (assoc :created (-> source-doc :first-deposited citeproc-date)) (assoc :content-created (-> source-doc :content-created citeproc-date)) (assoc :content-updated (-> source-doc :content-updated citeproc-date)) - (assoc :author (citeproc-contributors source-doc :author)) - (assoc :editor (citeproc-contributors source-doc :author)) - (assoc :translator (citeproc-contributors source-doc :author)) - (assoc :chair (citeproc-contributors source-doc :author)) - (assoc :contributor (citeproc-contributors source-doc :author)) + (assoc :author (citeproc-contributors source-doc :contribution :author)) + (assoc :editor (citeproc-contributors source-doc :contribution :editor)) + (assoc :translator (citeproc-contributors source-doc :contribution :translator)) + (assoc :chair (citeproc-contributors source-doc :contribution :chair)) (assoc :standards-body (:standards-body source-doc)) (assoc :reference (citeproc-references source-doc)) (assoc :event (citeproc-events source-doc)) From c6157b74237bca5ad2055ddc07fc665a001d3709 Mon Sep 17 00:00:00 2001 From: Karl Jonathan Ward Date: Tue, 14 Nov 2017 17:04:57 +0000 Subject: [PATCH 056/156] Index funders into ES. Now a single pass load --- src/cayenne/conf.clj | 2 +- src/cayenne/elastic/mappings.clj | 27 ++- src/cayenne/schedule.clj | 5 +- src/cayenne/tasks/funder.clj | 347 +++++++++---------------------- 4 files changed, 119 insertions(+), 262 deletions(-) diff --git a/src/cayenne/conf.clj b/src/cayenne/conf.clj index 8b3b4897..c4fbca94 100644 --- a/src/cayenne/conf.clj +++ b/src/cayenne/conf.clj @@ -140,7 +140,7 @@ (set-param! [:res :funder-update] "data/funder-update.date") (set-param! [:location :cr-titles-csv] "http://ftp.crossref.org/titlelist/titleFile.csv") - (set-param! [:location :cr-funder-registry] "http://dx.doi.org/10.13039/fundref_registry") + (set-param! [:location :cr-funder-registry] "http://data.crossref.org/fundingdata/registry") (set-param! [:location :scopus-title-list] "https://www.elsevier.com/?a=91122&origin=sbrowse&zone=TitleList&category=TitleListLink") (set-param! [:test :doi] "10.5555/12345678") diff --git a/src/cayenne/elastic/mappings.clj b/src/cayenne/elastic/mappings.clj index a52f6eaf..d575617d 100644 --- a/src/cayenne/elastic/mappings.clj +++ b/src/cayenne/elastic/mappings.clj @@ -200,17 +200,22 @@ :prefix {:type "object" :properties prefix-properties}}) (def funder-properties - {:doi {:type "keyword"} - :suggest {:type "completion"} - :parent {:type "keyword"} - :child {:type "keyword"} - :affiliated {:type "keyword"} - :country {:type "keyword"} - :primary-name {:type "text" :copy_to :suggest} - :name {:type "text"} - :replaces {:type "keyword"} - :replaced-by {:type "keyword"} - :token {:type "keyword"}}) + {:doi {:type "keyword"} + :suggest {:type "completion"} + :level {:type "integer"} + :parent {:type "keyword"} + :ancestor {:type "keyword"} + :child {:type "keyword"} + :descendant {:type "keyword"} + :hierarchy {:type "object"} + :hierarchy-names {:type "keyword" :index false} + :affiliated {:type "keyword"} + :country {:type "keyword"} + :primary-name {:type "text" :copy_to :suggest} + :name {:type "text" :copy_to :suggest} + :replaces {:type "keyword"} + :replaced-by {:type "keyword"} + :token {:type "keyword"}}) (def subject-properties {:high-code {:type "integer"} diff --git a/src/cayenne/schedule.clj b/src/cayenne/schedule.clj index d1172a99..16330b6a 100644 --- a/src/cayenne/schedule.clj +++ b/src/cayenne/schedule.clj @@ -100,10 +100,7 @@ :headers :last-modified) funders-last-modified (timef/parse last-modified-format last-modified-header)] (when (time/after? funders-last-modified time-of-previous-update) - (funder/clear!) - (funder/drop-loading-collection) - (funder/load-funders-rdf (java.net.URL. (conf/get-param [:location :cr-funder-registry]))) - (funder/swapin-loading-collection) + (funder/index-funders) (write-last-funder-update time-of-this-update))) (catch Exception e (error e "Failed to update funders from RDF")))) diff --git a/src/cayenne/tasks/funder.clj b/src/cayenne/tasks/funder.clj index b93b6723..9822b784 100644 --- a/src/cayenne/tasks/funder.clj +++ b/src/cayenne/tasks/funder.clj @@ -1,70 +1,15 @@ (ns cayenne.tasks.funder - (:require [somnium.congomongo :as m] - [clojure.core.memoize :as memoize] - [clojure.data.csv :as csv] - [clojure.java.io :as io] - [clojure.string :as string] + (:require [clojure.string :as string] [cayenne.item-tree :as itree] [cayenne.rdf :as rdf] [cayenne.conf :as conf] [cayenne.util :as util] - [cayenne.ids.fundref :as fundref] - [cayenne.tasks.geoname :as geoname])) + [cayenne.tasks.geoname :as geoname] + [qbits.spandex :as elastic] + [cayenne.elastic.util :as elastic-util])) -(defn ensure-funder-indexes! [collection-name] - (m/with-mongo (conf/get-service :mongo) - (m/add-index! collection-name [:level]) - (m/add-index! collection-name [:name_tokens]) - (m/add-index! collection-name [:id]) - (m/add-index! collection-name [:uri]) - (m/add-index! collection-name [:parent]) - (m/add-index! collection-name [:children]) - (m/add-index! collection-name [:affiliated]))) - -(defn add-tokens [existing tokens] - (let [existing-tokens (or (:name_tokens existing) [])] - (assoc existing :name_tokens (set (concat existing-tokens tokens))))) - -(defn add-name [existing name name-type] - (if (= name-type :primary) - (-> existing - (assoc :primary_name_display (.trim name)) - (add-tokens (util/tokenize-name name))) - (let [other-names (or (:other_names existing) []) - other-names-display (or (:other_names_display existing) [])] - (-> existing - (assoc :other_names_display (conj other-names-display (.trim name))) - (add-tokens (util/tokenize-name name)))))) - -(defn- funder-name-exists? [f f-name name-type] - (if (= name-type :primary) - (= (:primary_name f) f-name) - (some #{f-name} (:other_names_display f)))) - -(defn- ->funder - [{:keys [id country name alternative-names broader-id narrower-ids replaces-ids replaced-by-ids affiliated-ids]}] - {:id id - :uri (fundref/id-to-doi-uri id) - :country country - :primary_name_display name - :other_names_display alternative-names - :name_tokens (concat (util/tokenize-name name) - (mapcat util/tokenize-name alternative-names)) - ; hack here since funders can appear as their own parent in - ; the registry. bug in the registry. - :parent (if (not= broader-id id) broader-id nil) - :children (or narrower-ids []) - :replaces (or replaces-ids []) - :replaced-by (or replaced-by-ids []) - :affiliated (or affiliated-ids [])}) - -(defn insert-funders [col] - (let [chunks (->> (filter :name col) - (map ->funder) - (partition-all 5000))] - (doseq [funders chunks] - (m/with-mongo (conf/get-service :mongo) - (m/mass-insert! :fundersloading funders))))) +(def svf-el (partial rdf/get-property "http://www.elsevier.com/xml/schema/grant/grant-1.2/")) +(def svf-cr (partial rdf/get-property "http://data.crossref.org/fundingdata/xml/schema/grant/grant-1.2/")) (defn find-funders [model] (-> (rdf/select model @@ -74,10 +19,12 @@ (defn res->id [funder-concept-node] (when funder-concept-node - (last (string/split (rdf/->uri funder-concept-node) #"/")))) - -(def svf-el (partial rdf/get-property "http://www.elsevier.com/xml/schema/grant/grant-1.2/")) -(def svf-cr (partial rdf/get-property "http://data.crossref.org/fundingdata/xml/schema/grant/grant-1.2/")) + (str + "10.13039/" + (-> funder-concept-node + rdf/->uri + (string/split #"/") + last)))) (defn get-labels [model node kind] (->> (rdf/select model :subject node :predicate (rdf/skos-xl model kind)) @@ -95,15 +42,6 @@ :subject node :predicate (svf-cr model "country")))) -(defn select-affil-with-stmts [model node] - (concat - (rdf/select model - :subject node - :predicate (svf-el model "affilWith")) - (rdf/select model - :subject node - :predicate (svf-cr model "affilWith")))) - (defn get-country-literal-name [model node] (let [country-obj (-> (select-country-stmts model node) (rdf/objects) @@ -120,96 +58,100 @@ (str "about.rdf") (geoname/get-geoname-name-memo)) (catch Exception e nil))))) - -(defn funder-concept->map [model funder-concept-node] - {:id (res->id funder-concept-node) - :country (get-country-literal-name model funder-concept-node) - :broader-id (-> (rdf/select model - :subject funder-concept-node - :predicate (rdf/skos model "broader")) - (rdf/objects) - (first) - (res->id)) - :narrower-ids (->> (rdf/select model - :subject funder-concept-node - :predicate (rdf/skos model "narrower")) - (rdf/objects) - (map res->id)) - :affiliated-ids (->> (select-affil-with-stmts model funder-concept-node) - (rdf/objects) - (map res->id)) - :replaced-by-ids (->> (rdf/select model - :subject funder-concept-node - :predicate (rdf/dct model "isReplacedBy")) - (rdf/objects) - (map res->id)) - :replaces-ids (->> (rdf/select model - :subject funder-concept-node - :predicate (rdf/dct model "replaces")) - (rdf/objects) - (map res->id)) - :name (first (get-labels model funder-concept-node "prefLabel")) - :alternative-names (get-labels model funder-concept-node "altLabel")}) -(declare get-funder-ancestors-memo) -(declare get-funder-children-memo) -(declare get-funder-descendants-memo) -(declare get-funder-primary-name-memo) +(defn broader [model funder-resource] + (concat + (rdf/objects + (rdf/select model :subject funder-resource :predicate (rdf/skos model "broader"))) + (rdf/subjects + (rdf/select model :predicate (rdf/skos model "narrower") :object funder-resource)))) + +(defn narrower [model funder-resource] + (concat + (rdf/objects + (rdf/select model :subject funder-resource :predicate (rdf/skos model "narrower"))) + (rdf/subjects + (rdf/select model :predicate (rdf/skos model "broader") :object funder-resource)))) -(defn has-children? [collection-name id] - (not (empty? (get-funder-children-memo collection-name id)))) +(defn replaces [model funder-resource] + (concat + (rdf/objects + (rdf/select model :subject funder-resource :predicate (rdf/dct model "replaces"))) + (rdf/subjects + (rdf/select model :predicate (rdf/dct model "isReplacedBy") :object funder-resource)))) -(defn add-nesting [collection-name nesting path] - (let [leaf (last path) - children (get-funder-children-memo collection-name leaf) - with-path (assoc-in nesting path {})] - (reduce - #(assoc-in %1 - (conj (vec path) %2) - (if (has-children? collection-name %2) - {:more true} - {})) - with-path - children))) +(defn replaced-by [model funder-resource] + (concat + (rdf/objects + (rdf/select model :subject funder-resource :predicate (rdf/dct model "isReplacedBy"))) + (rdf/subjects + (rdf/select model :predicate (rdf/dct model "reaplces") :object funder-resource)))) -(defn build-nestings [collection-name] - (m/with-mongo (conf/get-service :mongo) - (doseq [record (m/fetch collection-name)] - (let [id (:id record) - lineage (reverse (cons id (get-funder-ancestors-memo collection-name id))) - paths (util/patherize lineage) - nesting (reduce - #(add-nesting collection-name %1 %2) - {} - paths) - descendants (get-funder-descendants-memo collection-name id) - descendant-names (into - {} - (map - #(vector % (get-funder-primary-name-memo collection-name %)) - descendants)) - nesting-names (into - {} - (map - #(vector % (get-funder-primary-name-memo collection-name %)) - (util/keys-in nesting)))] - (m/update! - collection-name - {:id id} - {"$set" {:descendants descendants - :descendant_names descendant-names - :level (count lineage) - :nesting nesting - :nesting_names nesting-names}}))))) +(defn affiliated [model funder-resource] + (concat + (rdf/objects + (rdf/select model :subject funder-resource :predicate (svf-el model "affilWith"))) + (rdf/objects + (rdf/select model :subject funder-resource :predicate (svf-cr model "affilWith"))))) + +(defn resource-ancestors [model funder-resource] + (drop 1 (tree-seq (constantly true) #(broader model %) funder-resource))) + +(defn resource-descendants [model funder-resource] + (drop 1 (tree-seq (constantly true) #(narrower model %) funder-resource))) + +(defn id-name-map [resources] + (->> resources + (map #(vector (res->id %) (first (get-labels % "prefLabel")))) + (into {}))) + +(defn index-command [model funder-resource] + (let [primary-name (-> model (get-labels funder-resource "prefLabel") first) + alt-names (-> model (get-labels funder-resource "altLabel")) + ancestors (resource-ancestors model funder-resource) + descendants (resource-descendants model funder-resource) + ancestor-ids (->> ancestors (map res->id) distinct) + descendant-ids (->> descendants (map res->id) distinct)] + [{:index {:_id (res->id funder-resource)}} + {:doi (res->id funder-resource) + :primary-name primary-name + :name alt-names + :token (concat + (util/tokenize-name primary-name) + (flatten (map util/tokenize-name alt-names))) + :country (get-country-literal-name model funder-resource) + :parent (-> model (broader funder-resource) first res->id) + :ancestor ancestor-ids + :level (-> ancestor-ids count (+ 1)) + :child (distinct (map res->id (narrower model funder-resource))) + :descendant descendant-ids + :affiliated (distinct (map res->id (affiliated model funder-resource))) + :replaced-by (distinct (map res->id (replaced-by model funder-resource))) + :replaces (distinct (map res->id (replaces model funder-resource))) + :hierarchy [] + :hierarchy-names (-> [funder-resource] + (concat resource-ancestors) + (concat resource-descendants) + id-name-map)}])) + +(defn index-funders [] + (let [model (-> (java.net.URL. (conf/get-param [:location :cr-funder-registry])) + rdf/document->model)] + (doseq [funders (->> model + find-funders + (partition-all 100))] + (elastic/request + (conf/get-service :elastic) + {:method :post + :url "/funder/funder/_bulk" + :body (->> funders + (map (partial index-command model)) + flatten + elastic-util/raw-jsons)})))) + +;; Funder RDF inspection +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::::: -(defn load-funders-rdf [rdf-file] - (ensure-funder-indexes! :fundersloading) - (let [model (rdf/document->model rdf-file)] - (dorun - (->> (find-funders model) - (map (partial funder-concept->map model)) - (insert-funders)))) - (build-nestings :fundersloading)) (defn rdf->funder-names [rdf-file] (let [model (rdf/document->model rdf-file) @@ -244,90 +186,3 @@ (let [concept-ids (rdf->funder-ids rdf-file)] {:concepts (count concept-ids) :unique-ids (count (set concept-ids))})) - -(defn get-funder-names [funder-uri] - (m/with-mongo (conf/get-service :mongo) - (let [funder (m/fetch-one :funders :where {:uri funder-uri})] - (conj (or (:other_names_display funder) []) - (:primary_name_display funder))))) - -(defn get-funder-primary-name - ([funder-uri] - (m/with-mongo (conf/get-service :mongo) - (:primary_name_display (m/fetch-one :funders :where {:uri funder-uri})))) - ([collection-name id] - (m/with-mongo (conf/get-service :mongo) - (:primary_name_display (m/fetch-one collection-name :where {:id id}))))) - -(defn get-funder-ancestors [collection-name id] - (m/with-mongo (conf/get-service :mongo) - (when-let [parent-id (:parent (m/fetch-one collection-name :where {:id id}))] - (cons parent-id - (lazy-seq (get-funder-ancestors collection-name parent-id)))))) - -(defn get-funder-siblings [collection-name id] - (m/with-mongo (conf/get-service :mongo) - (let [parent-id (:parent (m/fetch-one collection-name :where {:id id}))] - (map :id (m/fetch collection-name :where {:parent parent-id}))))) - ;; todo what about affiliated? - -(defn get-funder-children [collection-name id] - (m/with-mongo (conf/get-service :mongo) - (map :id (m/fetch collection-name :where {:parent id})))) - -(def get-funder-children-memo (memoize/lru get-funder-children :lru/threshold 100)) -(def get-funder-siblings-memo (memoize/lru get-funder-siblings :lru/threshold 100)) -(def get-funder-ancestors-memo (memoize/lru get-funder-ancestors :lru/threshold 100)) -(def get-funder-names-memo (memoize/lru get-funder-names :lru/threshold 100)) -(def get-funder-primary-name-memo (memoize/lru get-funder-primary-name :lru/threshold 100)) - -(defn get-funder-descendants - ([collection-name id] - (get-funder-descendants collection-name 4 id)) - ([collection-name level-cap id] - (let [children (get-funder-children-memo collection-name id)] - (concat - children - (if (= level-cap 0) - [] - (mapcat (partial get-funder-descendants collection-name (dec level-cap)) children)))))) - -(def get-funder-descendants-memo (memoize/lru get-funder-descendants :lru/threshold 100)) - -(defn clear! [] - (memoize/memo-clear! get-funder-descendants-memo) - (memoize/memo-clear! get-funder-children-memo) - (memoize/memo-clear! get-funder-siblings-memo) - (memoize/memo-clear! get-funder-ancestors-memo) - (memoize/memo-clear! get-funder-primary-name-memo) - (memoize/memo-clear! get-funder-names-memo)) - -(defn canonicalize-funder-name - [funder-item] - (let [funder-uri (first (:id funder-item))] - (if-let [canonical-name (get-funder-primary-name-memo funder-uri)] - (merge funder-item {:name canonical-name :canonical true}) - funder-item))) - -(defn drop-loading-collection [] - (m/with-mongo (conf/get-service :mongo) - (m/drop-coll! :funderslast) - (m/drop-coll! :fundersloading))) - -(defn swapin-loading-collection - [] - (let [db-api-layer (:db (conf/get-service :mongo)) - current-collection (.getCollection db-api-layer "funders") - new-collection (.getCollection db-api-layer "fundersloading")] - (try - (.rename current-collection "funderslast") - (catch Exception e nil)) - (.rename new-collection "funders"))) - -(defn apply-to - "If a funder specifies an ID, replace its publisher-provided name with our - canonical primary name." - ([item] - (itree/update-tree-rel canonicalize-funder-name item :funder)) - ([id item] - [id (apply-to item)])) From 5c04d57f3c05beee3beac9fa2d95c95239d9f843 Mon Sep 17 00:00:00 2001 From: Karl Jonathan Ward Date: Wed, 15 Nov 2017 13:07:24 +0000 Subject: [PATCH 057/156] Get funder data from ES for /funders --- src/cayenne/api/v1/query.clj | 7 +- src/cayenne/api/v1/routes.clj | 7 +- src/cayenne/data/funder.clj | 151 +++++++++++++++++++--------------- src/cayenne/data/journal.clj | 10 +-- src/cayenne/data/member.clj | 10 +-- src/cayenne/ids/doi.clj | 10 +++ src/cayenne/ids/fundref.clj | 22 ----- src/cayenne/tasks/funder.clj | 1 - 8 files changed, 108 insertions(+), 110 deletions(-) delete mode 100644 src/cayenne/ids/fundref.clj diff --git a/src/cayenne/api/v1/query.clj b/src/cayenne/api/v1/query.clj index a13d2450..dc113ab9 100644 --- a/src/cayenne/api/v1/query.clj +++ b/src/cayenne/api/v1/query.clj @@ -323,8 +323,11 @@ (with-random-sort query-context) (with-scroll query-context))}) -(defn ->solr-query [& args] - ()) +(defn prefix-query-context [query-context prefix-field] + (-> query-context + (assoc :prefix-terms (:terms query-context)) + (assoc :prefix-field prefix-field) + (dissoc :terms))) (defn ->mongo-query [query-context & {:keys [where filters id-field] diff --git a/src/cayenne/api/v1/routes.clj b/src/cayenne/api/v1/routes.clj index 1b9ea742..54070689 100644 --- a/src/cayenne/api/v1/routes.clj +++ b/src/cayenne/api/v1/routes.clj @@ -2,7 +2,6 @@ (:import [java.net URL URLDecoder]) (:require [cayenne.ids :as ids] [cayenne.ids.doi :as doi-id] - [cayenne.ids.fundref :as fr-id] [cayenne.ids.prefix :as prefix-id] [cayenne.ids.member :as member-id] [cayenne.ids.issn :as issn-id] @@ -295,7 +294,7 @@ :allowed-methods [:get :options :head] :available-media-types t/json :exists? #(when-let [f (funder/fetch-one - (q/->query-context % :id (fr-id/id-to-doi-uri funder-id)))] + (q/->query-context % :id (doi-id/with-funder-prefix funder-id)))] {:funder f}) :handle-ok :funder) @@ -310,7 +309,9 @@ :handle-malformed :validation-result :allowed-methods [:get :options :head] :available-media-types t/json - :handle-ok #(funder/fetch-works (q/->query-context % :id (fr-id/id-to-doi-uri funder-id)))) + :handle-ok #(funder/fetch-works (->> funder-id + doi-id/with-funder-prefix + (q/->query-context % :id)))) (defresource prefix-resource [px] :malformed? (v/malformed? :singleton true) diff --git a/src/cayenne/data/funder.clj b/src/cayenne/data/funder.clj index 370d3c82..087a66b8 100644 --- a/src/cayenne/data/funder.clj +++ b/src/cayenne/data/funder.clj @@ -6,10 +6,9 @@ [cayenne.api.v1.facet :as facet] [cayenne.data.work :as work] [cayenne.ids.fundref :as fr-id] - [somnium.congomongo :as m] - [clojure.string :as string])) - -(def solr-funder-id-field "funder_doi") + [clojure.string :as string] + [cayenne.ids.doi :as doi-id] + [qbits.spandex :as elastic])) (defn get-solr-works [query-context] (-> (conf/get-service :solr) @@ -40,82 +39,98 @@ (.getResults) (.getNumFound)))) -(defn ->short-id [funder-doc] - (-> (:uri funder-doc) (string/split #"/") (last))) +(defn fetch-descendant-dois + "Get all descendant funder ids for a funder." + [funder-doi] + (-> (elastic/request + (conf/get-service :elastic) + {:method :get + :url (str "/funder/funder/" funder-doi)}) + (get-in [:body :hits :hits]) + first + (get-in [:_source :descendant]))) + +(defn fetch-descendant-work-count [funder-doi] + (let [funder-dois (conj (fetch-descendant-dois funder-doi) + funder-doi) + nested-query {:bool + {:should + (map #(hash-map :term {:funder.doi %}) funder-dois)}}] + (-> (elastic/request + (conf/get-service :elastic) + {:method :get + :url "/work/work/_count" + :body {:query {:nested {:path :funder :query nested-query}}}}) + (get-in [:body :count])))) + +(defn fetch-work-count [funder-doi] + (-> (elastic/request + (conf/get-service :elastic) + {:method :get + :url "/work/work/_count" + :body (assoc-in + {} + [:query :nested] + {:path :funder + :query {:term {:funder.doi funder-doi}}})}) + (get-in [:body :count]))) (defn ->response-doc [funder-doc] - {:id (->short-id funder-doc) - :location (:country funder-doc) - :name (:primary_name_display funder-doc) - :alt-names (:other_names_display funder-doc) - :uri (:uri funder-doc) - :replaces (:replaces funder-doc) + {:id (:doi funder-doc) + :location (:country funder-doc) + :name (:primary-name funder-doc) + :alt-names (:name funder-doc) + :uri (-> funder-doc :doi doi-id/to-long-doi-uri) + :replaces (:replaces funder-doc) :replaced-by (:replaced-by funder-doc) - :tokens (:name_tokens funder-doc)}) - -(defn normalize-query-context [qc] - (assoc qc :id (-> qc (:id) (fr-id/doi-uri-to-id)))) + :tokens (:token funder-doc)}) (defn ->extended-response-doc [funder-doc] - (merge (->response-doc funder-doc) - {:work-count (get-solr-work-count funder-doc) - :descendant-work-count (get-solr-descendant-work-count funder-doc) - :descendants (:descendants funder-doc) - :hierarchy (:nesting funder-doc) - :hierarchy-names (:nesting_names funder-doc)})) + (let [funder-doi (:doi funder-doc)] + (merge + (->response-doc funder-doc) + {:work-count (fetch-work-count funder-doi) + :descendant-work-count (fetch-descendant-work-count funder-doi) + :descendants (:descendant funder-doc) + :hierarchy (:hierarchy funder-doc) + :hierarchy-names (:hierarchy-names funder-doc)}))) (defn fetch-one [query-context] - (let [query (normalize-query-context query-context) - funder-doc (m/with-mongo (conf/get-service :mongo) - (m/fetch-one "funders" :where {:id (:id query)}))] - (when funder-doc - (r/api-response :funder - :content (->extended-response-doc funder-doc))))) - -(defn parse-query-terms - "Split query terms." - [terms] - (when terms - (-> terms - (string/lower-case) - (string/replace #"[,\.\-\'\"]" "") - (string/split #"\s+")))) + (when-let [funder-doc (-> (elastic/request + (conf/get-service :elastic) + (query/->es-request query-context + :id-field :doi + :index "funder")) + (get-in [:body :hits :hits]) + first + :_source)] + (r/api-response + :funder + :content + (->extended-response-doc funder-doc)))) +;; todo level sort (defn fetch "Search for funders by name tokens. Results are sorted by level within organizational hierarchy." [query-context] - (let [parsed-terms (or (parse-query-terms (:terms query-context)) []) - and-list (map #(hash-map "name_tokens" {"$regex" (str "^" %)}) parsed-terms) - where-clause (if (empty? and-list) {} {"$and" and-list}) - mongo-query (query/->mongo-query query-context - :filters filter/funder-filters - :where where-clause - :sort {:level 1}) - docs (if (and (:rows query-context) (zero? (:rows query-context))) - [] - (m/with-mongo (conf/get-service :mongo) - (apply m/fetch "funders" mongo-query))) - result-count (m/with-mongo (conf/get-service :mongo) - (apply m/fetch-count "funders" mongo-query))] + (let [es-request (query/->es-request + (query/prefix-query-context query-context :primary-name) + :index "funder") + response (elastic/request (conf/get-service :elastic) es-request) + docs (->> (get-in response [:body :hits :hits]) (map :_source))] (-> (r/api-response :funder-list) (r/with-query-context-info query-context) - (r/with-result-items result-count (map ->response-doc docs))))) + (r/with-debug-info query-context es-request) + (r/with-result-items + (get-in response [:body :hits :total]) + (map ->response-doc docs))))) -(defn fetch-descendant-ids - "Get all descendant funder ids for a funder." - [query-context] - (m/with-mongo (conf/get-service :mongo) - (map fr-id/id-to-doi-uri - (-> "funders" - (m/fetch-one :where {:id (:id query-context)}) - (:descendants))))) - -(defn fetch-works - "Return all the works related to a funder and its sub-organizations." - [query-context] - (let [query (normalize-query-context query-context) - descendant-ids (fetch-descendant-ids query) - descendant-query (update-in query [:id] #(vec (conj descendant-ids - (fr-id/id-to-doi-uri %))))] - (work/fetch descendant-query :id-field solr-funder-id-field))) +;; todo currently won't work due to filter.clj compounds only accepting +;; one value per filter name +(defn fetch-works [query-context] + (let [funder-doi (:id query-context) + filter-dois (conj (fetch-descendant-dois funder-doi) funder-doi)] + (work/fetch + (-> query-context + (assoc :filter {"funder" {"doi" filter-dois}}))))) diff --git a/src/cayenne/data/journal.clj b/src/cayenne/data/journal.clj index 68ccb5ca..de548044 100644 --- a/src/cayenne/data/journal.clj +++ b/src/cayenne/data/journal.clj @@ -54,14 +54,10 @@ :coverage-doc (get-coverage :journal (:id journal-doc)))))) -(defn prefix-query-context [query-context] - (-> query-context - (assoc :prefix-terms (:terms query-context)) - (assoc :prefix-field :title) - (dissoc :terms))) - (defn fetch [query-context] - (let [es-request (query/->es-request (prefix-query-context query-context) + (let [es-request (query/->es-request (query/prefix-query-context + query-context + :title) :index "journal") response (elastic/request (conf/get-service :elastic) diff --git a/src/cayenne/data/member.clj b/src/cayenne/data/member.clj index 4f77d9c7..5fbbf83d 100644 --- a/src/cayenne/data/member.clj +++ b/src/cayenne/data/member.clj @@ -63,14 +63,10 @@ (defn fetch-works [query-context] (work/fetch query-context :id-field :member-id)) -(defn prefix-query-context [query-context] - (-> query-context - (assoc :prefix-terms (:terms query-context)) - (assoc :prefix-field :primary-name) - (dissoc :terms))) - (defn fetch [query-context] - (let [es-request (query/->es-request (prefix-query-context query-context) + (let [es-request (query/->es-request (query/prefix-query-context + query-context + :primary-name) :index "member" :filters filter/member-filters) response (elastic/request diff --git a/src/cayenne/ids/doi.clj b/src/cayenne/ids/doi.clj index 3aa6ef60..ff1a5547 100644 --- a/src/cayenne/ids/doi.clj +++ b/src/cayenne/ids/doi.clj @@ -2,6 +2,8 @@ (:require [clojure.string :as string] [cayenne.ids :as ids])) +(def funder-prefix "10.13039") + (defn is-long-doi? "Return true if s is a valid long DOI handle without URI prefix." [s] @@ -24,6 +26,14 @@ [s] (or (re-find #"10\.[0-9]{4,}/[^\s]+" (or s "")) "")) +(defn with-prefix [doi prefix] + (->> doi + extract-long-suffix + (str prefix))) + +(defn with-funder-prefix [doi] + (with-prefix doi funder-prefix)) + (defn extract-long-prefix [s] (first (string/split (extract-long-doi s) #"/"))) diff --git a/src/cayenne/ids/fundref.clj b/src/cayenne/ids/fundref.clj deleted file mode 100644 index 6e6871fe..00000000 --- a/src/cayenne/ids/fundref.clj +++ /dev/null @@ -1,22 +0,0 @@ -(ns cayenne.ids.fundref - (:require [cayenne.ids :as ids] - [cayenne.ids.doi :as doi] - [clojure.string :as string])) - -(def funder-prefix "10.13039") - -(defn id-to-doi - [id] - (str funder-prefix "/" id)) - -(defn id-to-doi-uri - [id] - (doi/to-long-doi-uri (id-to-doi id))) - -(defn doi-uri-to-id - [doi] - (last (string/split doi #"/"))) - -(defn normalize-to-doi-uri [s] - (when s - (-> s (string/split #"/") last id-to-doi-uri))) diff --git a/src/cayenne/tasks/funder.clj b/src/cayenne/tasks/funder.clj index 9822b784..7dc1f4aa 100644 --- a/src/cayenne/tasks/funder.clj +++ b/src/cayenne/tasks/funder.clj @@ -152,7 +152,6 @@ ;; Funder RDF inspection ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::::: - (defn rdf->funder-names [rdf-file] (let [model (rdf/document->model rdf-file) funders (find-funders model)] From 974a516960abdf62098a26846a6344064a07e50e Mon Sep 17 00:00:00 2001 From: Karl Jonathan Ward Date: Wed, 15 Nov 2017 13:37:14 +0000 Subject: [PATCH 058/156] Fixes for fundref namespace removal --- src/cayenne/data/funder.clj | 37 +++------------------------------ src/cayenne/data/license.clj | 27 ++++++++++++------------ src/cayenne/formats/unixref.clj | 4 ++-- src/cayenne/ids/doi.clj | 16 +++++++------- 4 files changed, 27 insertions(+), 57 deletions(-) diff --git a/src/cayenne/data/funder.clj b/src/cayenne/data/funder.clj index 087a66b8..47a39456 100644 --- a/src/cayenne/data/funder.clj +++ b/src/cayenne/data/funder.clj @@ -1,54 +1,23 @@ (ns cayenne.data.funder + (:import [java.net URLEncoder]) (:require [cayenne.conf :as conf] [cayenne.api.v1.query :as query] [cayenne.api.v1.response :as r] [cayenne.api.v1.filter :as filter] [cayenne.api.v1.facet :as facet] [cayenne.data.work :as work] - [cayenne.ids.fundref :as fr-id] [clojure.string :as string] [cayenne.ids.doi :as doi-id] [qbits.spandex :as elastic])) -(defn get-solr-works [query-context] - (-> (conf/get-service :solr) - (.query (query/->solr-query query-context - :id-field solr-funder-id-field - :filters filter/std-filters)))) - -(defn get-solr-work-count - "Get work count from solr for a mongo funder doc." - [funder-doc] - (-> (conf/get-service :solr) - (.query (query/->solr-query {:id (:uri funder-doc)} - :id-field solr-funder-id-field - :paged false - :count-only true)) - (.getResults) - (.getNumFound))) - -(defn get-solr-descendant-work-count - [funder-doc] - (let [ids (vec (conj (map fr-id/id-to-doi-uri (:descendants funder-doc)) - (:uri funder-doc)))] - (-> (conf/get-service :solr) - (.query (query/->solr-query {:id ids} - :id-field solr-funder-id-field - :paged false - :count-only true)) - (.getResults) - (.getNumFound)))) - (defn fetch-descendant-dois "Get all descendant funder ids for a funder." [funder-doi] (-> (elastic/request (conf/get-service :elastic) {:method :get - :url (str "/funder/funder/" funder-doi)}) - (get-in [:body :hits :hits]) - first - (get-in [:_source :descendant]))) + :url (str "/funder/funder/" (URLEncoder/encode funder-doi))}) + (get-in [:body :_source :descendant]))) (defn fetch-descendant-work-count [funder-doi] (let [funder-dois (conj (fetch-descendant-dois funder-doi) diff --git a/src/cayenne/data/license.clj b/src/cayenne/data/license.clj index cc5527e2..bd3b8317 100644 --- a/src/cayenne/data/license.clj +++ b/src/cayenne/data/license.clj @@ -13,17 +13,18 @@ ;; todo offset, rows (defn fetch-all [query-context] - (let [q (-> query-context - (assoc :facets [{:field "license" :count -1}]) - (query/->solr-query :filters filter/std-filters)) - facet-field (-> (conf/get-service :solr) - (.query q) - (.getFacetField "license_url")) - facet-values (->> (.getValues facet-field) - (filter #(not= 0 (.getCount %))))] - (-> (r/api-response :license-list) - (r/with-result-items - (count facet-values) - (map ->license-doc facet-values)) - (r/with-query-context-info query-context)))) + ()) + ;; (let [q (-> query-context + ;; (assoc :facets [{:field "license" :count -1}]) + ;; (query/->solr-query :filters filter/std-filters)) + ;; facet-field (-> (conf/get-service :solr) + ;; (.query q) + ;; (.getFacetField "license_url")) + ;; facet-values (->> (.getValues facet-field) + ;; (filter #(not= 0 (.getCount %))))] + ;; (-> (r/api-response :license-list) + ;; (r/with-result-items + ;; (count facet-values) + ;; (map ->license-doc facet-values)) + ;; (r/with-query-context-info query-context)))) diff --git a/src/cayenne/formats/unixref.clj b/src/cayenne/formats/unixref.clj index 3a2e4ae2..c27d9cb7 100644 --- a/src/cayenne/formats/unixref.clj +++ b/src/cayenne/formats/unixref.clj @@ -1,10 +1,10 @@ (ns cayenne.formats.unixref (:require [clj-time.format :as ftime] [clj-time.core :as t] + [cayenne.ids.doi :as doi-id] [cayenne.xml :as xml] [cayenne.conf :as conf] [cayenne.ids :as ids] - [cayenne.ids.fundref :as fundref] [cayenne.item-tree :as itree] [clojure.tools.trace :as trace] [taoensso.timbre :as timbre :refer [info error]] @@ -553,7 +553,7 @@ (defn normalize-funder-id-val [funder-id-val] (when funder-id-val (if-let [id-only (re-find #"\A\d+\Z" (.trim funder-id-val))] - (fundref/id-to-doi-uri id-only) + (doi-id/with-funder-prefix id-only) (to-long-doi-uri funder-id-val)))) (defn parse-funder [funder-group-loc] diff --git a/src/cayenne/ids/doi.clj b/src/cayenne/ids/doi.clj index ff1a5547..54592509 100644 --- a/src/cayenne/ids/doi.clj +++ b/src/cayenne/ids/doi.clj @@ -26,14 +26,6 @@ [s] (or (re-find #"10\.[0-9]{4,}/[^\s]+" (or s "")) "")) -(defn with-prefix [doi prefix] - (->> doi - extract-long-suffix - (str prefix))) - -(defn with-funder-prefix [doi] - (with-prefix doi funder-prefix)) - (defn extract-long-prefix [s] (first (string/split (extract-long-doi s) #"/"))) @@ -75,3 +67,11 @@ (when s (ids/get-id-uri :short-doi (normalize-short-doi s)))) +(defn with-prefix [doi prefix] + (->> doi + extract-long-suffix + (str prefix "/"))) + +(defn with-funder-prefix [doi] + (with-prefix doi funder-prefix)) + From 2775ed2c46d1e861b257818ba0be0a03c8e8b80d Mon Sep 17 00:00:00 2001 From: Karl Jonathan Ward Date: Wed, 15 Nov 2017 14:16:02 +0000 Subject: [PATCH 059/156] Remove deposits API and all mongo code --- project.clj | 1 - src/cayenne/api/route.clj | 12 +-- src/cayenne/api/v1/query.clj | 22 ---- src/cayenne/api/v1/routes.clj | 90 ----------------- src/cayenne/api/v1/validate.clj | 17 +--- src/cayenne/data/deposit.clj | 173 -------------------------------- 6 files changed, 6 insertions(+), 309 deletions(-) delete mode 100644 src/cayenne/data/deposit.clj diff --git a/project.clj b/project.clj index 06f37369..5b79c3b4 100644 --- a/project.clj +++ b/project.clj @@ -1,7 +1,6 @@ (defproject crossref/cayenne "1.2.1" :description "Index and serve CrossRef metadata" :url "http://github.com/CrossRef/cayenne" - :signing {:gpg-key "labs@crossref.org"} :repl-options {:port 9494 :init-ns cayenne.user} :main cayenne.production :jvm-opts ["-XX:+UseG1GC"] diff --git a/src/cayenne/api/route.clj b/src/cayenne/api/route.clj index b7e516e8..a0803ee6 100644 --- a/src/cayenne/api/route.clj +++ b/src/cayenne/api/route.clj @@ -31,15 +31,6 @@ (str (conf/get-param [:upstream :unixsd-url]) (conf/get-param [:test :doi]))) -(defn create-protected-api-routes [] - (wrap-routes - (routes - v1/restricted-api-routes - (context "/v1" [] v1/restricted-api-routes) - (context "/v1.0" [] v1/restricted-api-routes)) - wrap-basic-authentication - cr-auth/authenticated?)) - (defn create-unprotected-api-routes [] (routes v1/api-routes @@ -80,8 +71,7 @@ (defn create-all-routes [& {:keys [feed-api] :or {feed-api false}}] (apply routes - (cond-> [(create-protected-api-routes) - (create-docs-routes)] + (cond-> [(create-docs-routes)] feed-api (conj (create-feed-routes)) true (conj (create-unprotected-api-routes)) true (conj (create-unknown-route))))) diff --git a/src/cayenne/api/v1/query.clj b/src/cayenne/api/v1/query.clj index dc113ab9..1f2576e9 100644 --- a/src/cayenne/api/v1/query.clj +++ b/src/cayenne/api/v1/query.clj @@ -106,9 +106,6 @@ (string/replace #"\s(?i)or\s" " ") (string/replace #"\s(?i)and\s" " ")))) -(defn random-field [] - (str "random_" (rand-int Integer/MAX_VALUE))) - (defn parse-rows-val [val] (int (cond (nil? val) @@ -329,22 +326,3 @@ (assoc :prefix-field prefix-field) (dissoc :terms))) -(defn ->mongo-query [query-context - & {:keys [where filters id-field] - :or {where {} filters {} id-field nil}}] - (let [filter-where (into {} - (map (fn [[n v]] - ((filters (name n)) v)) - (:filters query-context)))] - (concat - [:where (merge - where - filter-where - (when id-field {id-field (:id query-context)}))] - (when (:sort query-context) - [:sort {(:sort query-context) - (if (= (:order query-context) :asc) 1 -1)}]) - (when (:rows query-context) - [:limit (:rows query-context)]) - (when (:offset query-context) - [:skip (:offset query-context)])))) diff --git a/src/cayenne/api/v1/routes.clj b/src/cayenne/api/v1/routes.clj index 54070689..d30eff25 100644 --- a/src/cayenne/api/v1/routes.clj +++ b/src/cayenne/api/v1/routes.clj @@ -6,7 +6,6 @@ [cayenne.ids.member :as member-id] [cayenne.ids.issn :as issn-id] [cayenne.conf :as conf] - [cayenne.data.deposit :as d] [cayenne.data.core :as c] [cayenne.data.work :as work] [cayenne.data.funder :as funder] @@ -18,7 +17,6 @@ [cayenne.data.license :as license] [cayenne.api.transform :as transform] [cayenne.api.link :as link] - [cayenne.api.deposit :as dc] [cayenne.api.v1.types :as t] [cayenne.api.v1.query :as q] [cayenne.api.v1.parameters :as p] @@ -32,7 +30,6 @@ [compojure.core :refer [defroutes routes context ANY]])) (extend java.util.Date json/JSONWriter {:-write #(json/write (.toString %1) %2)}) -(extend org.bson.types.ObjectId json/JSONWriter {:-write #(json/write (.toString %1) %2)}) (extend clojure.lang.Var json/JSONWriter {:-write #(json/write (.toString %1) %2)}) (extend java.lang.Object json/JSONWriter {:-write #(json/write (.toString %1) %2)}) @@ -118,85 +115,6 @@ :exists? (->1 #(c/exists? core-name)) :handle-ok (->1 #(c/fetch core-name))) -;; This resource looks a little odd because we are trying to handle -;; any exception that comes about due to the post! action. If there -;; is an exception, we return a 400. - -(defn deposit-failure [exception] - (ring-response - {:status 400 - :body - {:status :failed - :message-type :entity-parsing-failure - :message {:exception (.toString exception)}}})) - -(defresource deposits-resource [data] - :malformed? (v/malformed? :filter-validator v/validate-deposit-filters - :unlimited-offset true) - :handle-malformed :validation-result - :authorized? authed? - :known-content-type? #(known-post-type? % t/depositable) - :allowed-methods [:get :post :options :head] - :available-media-types t/json - :handle-ok #(d/fetch (q/->query-context % :filters {:owner (get-owner %)})) - :post-redirect? #(hash-map :location (rel-url "deposits" (:id %))) - :handle-see-other #(if (:id %) - (ring-response - {:status 303 - :body "" - :headers {"Location" - (rel-url "deposits" (:id %))}}) - (deposit-failure (:ex %))) - :post! #(try (hash-map :id (-> (dc/make-deposit-context - data - (get-in % [:request :headers "content-type"]) - (get-owner %) - (get-passwd %) - (truth-param % :test) - (param % :pingback) - (param % :url) - (param % :filename) - (param % :parent)) - (dc/deposit!))) - (catch Exception e {:ex e}))) - -(defresource deposit-resource [id] - :malformed? (v/malformed? :singleton true) - :handle-malformed :validation-result - :authorized? authed? - :allowed-methods [:get :post :options :head] - :available-media-types t/json - :exists? #(when-let [deposit - (-> % - (q/->query-context - :filters {:owner (get-owner %)} - :id id) - (d/fetch-one))] - {:deposit deposit}) - :handle-ok :deposit - :post! #(do - (->> (get-in % [:request :body]) - (.bytes) - slurp - (d/modify! id)))) - -(defresource deposit-data-resource [id] - :malformed? (v/malformed? :singleton true) - :handle-malformed :validation-result - :authorized? authed? - :allowed-methods [:get :options :head] - :media-type-available? (constantly true) ;; todo should return {:representation ...} - :exists? #(when-let [deposit (d/fetch-one - (q/->query-context - % - :filters {:owner (get-owner %)} - :id id))] - {:deposit deposit}) - :handle-ok #(d/fetch-data (q/->query-context - % - :filters {:owner (get-owner %)} - :id id))) - (defresource works-resource :malformed? (v/malformed? :facet-validator v/validate-work-facets :filter-validator v/validate-work-filters @@ -450,14 +368,6 @@ (.bytes) slurp)})) -(defroutes restricted-api-routes - (ANY "/deposits" {body :body} - (deposits-resource body)) - (ANY "/deposits/:id" [id] - (deposit-resource id)) - (ANY "/deposits/:id/data" [id] - (deposit-data-resource id))) - (defroutes api-routes (ANY "/reverse" [] reverse-lookup-resource) diff --git a/src/cayenne/api/v1/validate.clj b/src/cayenne/api/v1/validate.clj index cb4a8b22..5d5cd146 100644 --- a/src/cayenne/api/v1/validate.clj +++ b/src/cayenne/api/v1/validate.clj @@ -260,15 +260,6 @@ :clinical-trial-number string-validator :reference-visibility string-validator}) -(def deposit-filter-validators - {:from-submission-time date-validator - :until-submission-time date-validator - :status deposit-status-validator - :owner string-validator - :type content-type-validator - :doi doi-validator - :test boolean-validator}) - (def member-filter-validators {:prefix prefix-validator :has-public-references boolean-validator @@ -277,7 +268,11 @@ :current-doi-count integer-validator}) (def funder-filter-validators - {:location string-validator}) + {:location string-validator + :child funder-id-validator + :parent funder-id-validator + :ancestor funder-id-validator + :descendant funder-id-validator}) (defn validate-filters [filter-validators context filters] (let [unknown-filters (cset/difference @@ -301,8 +296,6 @@ existence-chk-context filters))) -(def validate-deposit-filters (partial validate-filters - deposit-filter-validators)) (def validate-work-filters (partial validate-filters work-filter-validators)) (def validate-member-filters (partial validate-filters diff --git a/src/cayenne/data/deposit.clj b/src/cayenne/data/deposit.clj deleted file mode 100644 index 227d270c..00000000 --- a/src/cayenne/data/deposit.clj +++ /dev/null @@ -1,173 +0,0 @@ -(ns cayenne.data.deposit - (:import [java.util Date]) - (:require [clojure.data.json :as json] - [metrics.gauges :refer [defgauge]] - [somnium.congomongo :as m] - [cayenne.conf :as conf] - [cayenne.api.v1.response :as r] - [cayenne.api.v1.query :as q] - [cayenne.api.v1.filter :as f] - [metrics.meters :refer [defmeter] :as meter] - [metrics.histograms :refer [defhistogram] :as hist])) - -(defhistogram [cayenne data deposit-size]) - -(defmeter [cayenne data deposits-received] "deposits-received") - -(defgauge [cayenne data deposit-count] - (m/with-mongo (conf/get-service :mongo) - (m/fetch-count :deposits))) - -(defn ensure-deposit-indexes! [collection-name] - (m/add-index! collection-name [:batch-id]) - (m/add-index! collection-name [:owner :batch-id]) - (m/add-index! collection-name [:owner :submitted-at]) - (m/add-index! collection-name [:owner :dois]) - (m/add-index! collection-name [:owner :status])) - -(defn id->s [doc] - (-> doc (:_id) (.toString))) - -(defn ->response-doc [deposit-doc & {:keys [length summary] :or {length false summary false}}] - (let [clean-doc (-> deposit-doc - (dissoc :data-id) - (dissoc :passwd) - (dissoc :_id)) - with-length-doc (if length - (m/with-mongo (conf/get-service :mongo) - (let [deposit-file (m/fetch-one-file - :deposits - :where {:_id (:data-id deposit-doc)})] - (assoc clean-doc :length (:length deposit-file)))) - clean-doc)] - (if summary - (-> with-length-doc - (dissoc :citations) - (assoc :citation-count (-> with-length-doc :citations count)) - (assoc :matched-citation-count (->> with-length-doc - :citations - (filter :match) - count))) - with-length-doc))) - -(defn set-on-deposit! [batch-id k v] - (m/with-mongo (conf/get-service :mongo) - (m/update! :deposits - {:batch-id batch-id} - {"$set" {(name k) v}}))) - -(defn append! [batch-id k v] - (m/with-mongo (conf/get-service :mongo) - (m/update! :deposits - {:batch-id batch-id} - {"$push" {(name k) v}}))) - -;; for now there is only one modification operation - altering -;; citations of a pdf deposit -(defn modify! [batch-id data] - (let [citations (json/read-str data :key-fn keyword)] - (m/with-mongo (conf/get-service :mongo) - (m/update! :deposits - {:batch-id batch-id} - {"$set" {"citations" citations}})))) - -(defn create! [deposit-data type batch-id dois owner passwd test - pingback-url filename parent] - (meter/mark! deposits-received) - (m/with-mongo (conf/get-service :mongo) - (ensure-deposit-indexes! :deposits) - (let [new-file (m/insert-file! :deposits deposit-data) - new-doc (m/insert! :deposits - {:content-type type - :data-id (:_id new-file) - :batch-id batch-id - :parent parent - :dois dois - :owner owner - :passwd passwd - :test test - :pingback-url pingback-url - :filename filename - :status :submitted - :handoff {:status :incomplete - :timestamp 0 - :try-count 0 - :delay-millis 0} - :submitted-at (Date.)})] - (hist/update! deposit-size (:length new-file)) - (let [new-doc-id (id->s new-doc)] - (when parent (append! parent :children batch-id)) - new-doc-id)))) - -(defn begin-handoff! - "Call to begin hand-off or a hand-off try." - [batch-id & {:keys [delay-fn] :or {delay-fn (fn [_ x] x)}}] - (m/with-mongo (conf/get-service :mongo) - (let [deposit-data (m/fetch-one :deposits :where {:batch-id batch-id}) - curr-try-count (get-in deposit-data [:handoff :try-count]) - curr-delay-millis (get-in deposit-data [:handoff :delay-millis]) - next-delay-millis (delay-fn curr-delay-millis (inc curr-try-count))] - (set-on-deposit! batch-id :handoff {:timestamp (System/currentTimeMillis) - :try-count (inc curr-try-count) - :delay-millis next-delay-millis}) - next-delay-millis))) - -(defn end-handoff! - "Call to indicate successful hand-off process." - [batch-id] - (m/with-mongo (conf/get-service :mongo) - (m/update! :deposits - {:batch-id batch-id} - {"$set" {"handoff.status" :completed}}))) - -(defn complete! [batch-id] - (m/with-mongo (conf/get-service :mongo) - (m/update! :deposits - {:batch-id batch-id} - {"$set" {:status :completed}}))) - -(defn failed! [batch-id & {:keys [exception] :or {exception nil}}] - (m/with-mongo (conf/get-service :mongo) - (m/update! :deposits - {:batch-id batch-id} - {"$set" {:status :failed - :exception (if exception (.toString exception) nil)}}))) - -(defn fetch-data [query-context] - (m/with-mongo (conf/get-service :mongo) - (let [where-clause (-> query-context - (q/->mongo-query - :filters f/deposit-filters - :id-field :batch-id) - second)] - (when-let [deposit (m/fetch-one :deposits :where where-clause)] - (m/stream-from :deposits - (m/fetch-one-file :deposits :where {:_id (:data-id deposit)})))))) - -(defn fetch-one [query-context] - (m/with-mongo (conf/get-service :mongo) - (let [where-clause (-> query-context - (q/->mongo-query - :filters f/deposit-filters - :id-field :batch-id) - second)] - (when-let [deposit (m/fetch-one :deposits :where where-clause)] - (r/api-response - :deposit - :content (->response-doc deposit :length true)))))) - -(defn fetch [query-context] - (m/with-mongo (conf/get-service :mongo) - (let [query (q/->mongo-query - query-context - :filters f/deposit-filters) - deposits (if (and (:rows query-context) (zero? (:rows query-context))) - [] - (apply m/fetch :deposits query)) - deposits-count (apply m/fetch-count :deposits query)] - (-> (r/api-response :deposit-list) - (r/with-query-context-info query-context) - (r/with-result-items - deposits-count - (map #(->response-doc % :length true :summary true) deposits)))))) - From 29952f4385bf7358865dc54fbbc420e03a5aaa89 Mon Sep 17 00:00:00 2001 From: Karl Jonathan Ward Date: Wed, 15 Nov 2017 14:51:02 +0000 Subject: [PATCH 060/156] Reference count and DOI updates for ES Also final removal of solr code --- project.clj | 3 +- src/cayenne/api/v1/feed.clj | 14 +- src/cayenne/api/v1/update.clj | 16 +- src/cayenne/elastic/index.clj | 2 +- src/cayenne/elastic/update.clj | 21 + src/cayenne/tasks/solr.clj | 726 --------------------------------- 6 files changed, 39 insertions(+), 743 deletions(-) create mode 100644 src/cayenne/elastic/update.clj delete mode 100644 src/cayenne/tasks/solr.clj diff --git a/project.clj b/project.clj index 5b79c3b4..0e431c6d 100644 --- a/project.clj +++ b/project.clj @@ -30,14 +30,13 @@ [me.raynes/fs "1.4.6"] [com.taoensso/timbre "3.4.0"] [irclj "0.5.0-alpha2"] - [org.apache.solr/solr-solrj "6.4.2"] [clojurewerkz/quartzite "1.0.1"] [congomongo "0.5.0"] [enlive "1.1.1"] [org.apache.jena/jena-core "2.10.1"] [xom "1.2.5"] - [clj-http "0.7.2"] [clj-time "0.14.0"] + [clj-http "3.7.0"] [org.clojure/core.incubator "0.1.2"] [org.clojure/data.json "0.2.0"] [org.clojure/data.xml "0.0.7"] diff --git a/src/cayenne/api/v1/feed.clj b/src/cayenne/api/v1/feed.clj index e9458fd3..465a3946 100644 --- a/src/cayenne/api/v1/feed.clj +++ b/src/cayenne/api/v1/feed.clj @@ -4,10 +4,9 @@ [cayenne.formats.unixsd :as unixsd] [cayenne.item-tree :as itree] [cayenne.tasks.funder :as funder] - [cayenne.tasks.solr :as solr] [cayenne.api.v1.types :as types] [cayenne.api.v1.response :as r] - [cayenne.api.v1.update :refer [read-updates-message update-as-solr-doc]] + [cayenne.api.v1.update :refer [read-updates-message update-as-elastic-command]] [compojure.core :refer [defroutes ANY]] [liberator.core :refer [defresource]] [clojure.string :as string] @@ -19,7 +18,8 @@ [nio2.io :refer [path]] [clj-time.core :as dt] [clojure.core.async :refer [chan buffer go go-loop !!]] - [cayenne.elastic.index :as es-index]) + [cayenne.elastic.index :as es-index] + [cayenne.elastic.update :as es-update]) (:import [java.util UUID] [java.io File] [java.util.concurrent TimeUnit])) @@ -143,10 +143,10 @@ (defmethod process! "application/vnd.crossref.update+json" [feed-context] (process-with - #(doseq [update-doc (->> % - read-updates-message - (map update-as-solr-doc))] - (solr/insert-solr-doc update-doc)) + #(->> % + read-updates-message + (map update-as-elastic-command) + es-update/index-updates) feed-context)) (defn process-feed-file! [f] diff --git a/src/cayenne/api/v1/update.clj b/src/cayenne/api/v1/update.clj index 1112bfc7..34e11883 100644 --- a/src/cayenne/api/v1/update.clj +++ b/src/cayenne/api/v1/update.clj @@ -1,5 +1,5 @@ (ns cayenne.api.v1.update - (:require [cayenne.tasks.solr :as solr] + (:require [cayenne.elastic.update :as es-update] [clojure.data.json :as json])) (defn parse-update @@ -32,18 +32,20 @@ (json/read :key-fn keyword))] (map parse-update (:message message-doc)))) -(defn update-as-solr-doc [update-map] +(defn update-as-elastic-command [update-map] (cond (and (= :set (:action update-map)) (= :is-cited-by-count (:predicate update-map))) - (solr/as-cited-count-set-document (:subject-doi update-map) - (:object update-map)) + (es-update/update-reference-count-command + (:subject-doi update-map) + (:object update-map)) (and (= :set (:action update-map)) (= :cites (:predicate update-map))) - (solr/as-citation-doi-set-document (:subject-doi update-map) - (:subject-citation-id update-map) - (:object update-map)) + (es-update/update-reference-doi-command + (:subject-doi update-map) + (:subject-citation-id update-map) + (:object update-map)) :else (throw (Exception. "Unsupported action / predicate combination")))) diff --git a/src/cayenne/elastic/index.clj b/src/cayenne/elastic/index.clj index 78cc8a86..1cc8a445 100644 --- a/src/cayenne/elastic/index.clj +++ b/src/cayenne/elastic/index.clj @@ -11,6 +11,6 @@ (defn index-item [item] (elastic/request (conf/get-service :elastic) - {:method :post :url "work/work/_bulk" + {:method :post :url "/work/work/_bulk" :body (elastic-util/raw-jsons (index-command item))})) diff --git a/src/cayenne/elastic/update.clj b/src/cayenne/elastic/update.clj new file mode 100644 index 00000000..f6af0225 --- /dev/null +++ b/src/cayenne/elastic/update.clj @@ -0,0 +1,21 @@ +(ns cayenne.elastic.update + (:require [clj-time.core :as dt] + [qbits.spandex :as elastic] + [cayenne.conf :as conf] + [cayenne.elastic.util :as elastic-util])) + +(defn update-reference-count-command [subject-doi reference-count] + [{:update {:_id subject-doi}} + {:doc {:indexed (dt/now) :reference-count reference-count}}]) + +;; todo update script for reference.doi and reference.doi-asserted-by for +;; particular reference.key +(defn update-reference-doi-command [subject-doi reference-key object-doi] + [{:update {:_id subject-doi}} + {:doc {}}]) + +(defn index-updates [update-commands] + (elastic/request + (conf/get-service :elastic) + {:method :post :url "/work/work/_bulk" + :body (-> update-commands flatten elastic-util/raw-jsons)})) diff --git a/src/cayenne/tasks/solr.clj b/src/cayenne/tasks/solr.clj deleted file mode 100644 index 05fc3190..00000000 --- a/src/cayenne/tasks/solr.clj +++ /dev/null @@ -1,726 +0,0 @@ -(ns cayenne.tasks.solr - (:use cayenne.item-tree) - (:import [org.apache.solr.common SolrInputDocument] - [org.apache.solr.client.solrj.request CoreAdminRequest] - [org.apache.solr.common.params CoreAdminParams$CoreAdminAction]) - (:require [clj-time.core :as t] - [clj-time.format :as df] - [clojure.string :as string] - [cayenne.conf :as conf] - [cayenne.ids.doi :as doi] - [cayenne.ids.issn :as issn-id] - [cayenne.ids.isbn :as isbn-id] - [cayenne.ids :as ids] - [cayenne.util :as util] - [clojure.core.async :as async :refer [chan go-loop !! put!]] - [metrics.gauges :refer [defgauge] :as gauge] - [metrics.meters :refer [defmeter] :as meter] - [metrics.timers :refer [deftimer] :as timer] - [taoensso.timbre :as timbre :refer [error info]])) - -(def insert-list (atom [])) - -(def insert-count (atom 0)) - -(def inserts-running-count (atom 0)) - -(def inserts-waiting-chan (chan 10)) - -(defmeter [cayenne solr insert-events] "insert-events") -(defgauge [cayenne solr inserts-running] @inserts-running-count) -(defgauge [cayenne solr inserts-so-far] @insert-count) -(defgauge [cayenne solr insert-waiting-list-size] - (count @insert-list)) -(deftimer [cayenne solr add-time]) -(deftimer [cayenne solr commit-time]) - -(defn flush-insert-list [insert-list] - (swap! inserts-running-count inc) - (info "Starting insert and commit, inserts running = " @inserts-running-count) - (info "Insert list is" (count insert-list) "items long") - (doseq [update-server (conf/get-service :solr-update-list)] - (try - (let [start-of-update-time (System/currentTimeMillis)] - (timer/time! add-time (.add update-server insert-list)) - (let [end-of-update-time (System/currentTimeMillis)] - (info "Solr .add took " (- end-of-update-time start-of-update-time) " milliseconds") - (when (conf/get-param [:service :solr :commit-on-add]) - (timer/time! commit-time (.commit update-server false false)) - (let [end-of-commit-time (System/currentTimeMillis)] - (info "Solr .commit took " (- end-of-commit-time end-of-update-time) " milliseconds"))))) - (meter/mark! insert-events) - (catch Exception e (error e "Solr insert failed" update-server)))) - (swap! inserts-running-count dec) - (info "Finished insert and commit, inserts running = " @inserts-running-count)) - -(defn start-insert-list-processing [] - (go-loop [] - (let [insert-list (date-time [particle] - (let [year (-> particle :year util/parse-int-safe) - month (-> particle :month util/parse-int-safe) - day (-> particle :day util/parse-int-safe)] - (cond (and year month day) - (if (< (t/number-of-days-in-the-month year month) day) - (t/date-time year month) - (t/date-time year month day)) - (and year month) - (t/date-time year month) - :else - (t/date-time year)))) - -(defn get-earliest-pub-date [item] - (->> (concat - (get-item-rel item :posted) - (get-item-rel item :published-print) - (get-item-rel item :published-online) - (get-item-rel item :published-other) - (get-item-rel item :published) - (get-tree-rel item :content-created)) - (sort-by particle->date-time) - first)) - -(defn get-print-or-earliest-pub-date [item] - (or - (first (get-tree-rel item :published-print)) - (get-earliest-pub-date item))) - -(defn get-contributor-orcids [item] - (let [contributors (mapcat #(get-item-rel item %) contributor-rels)] - (remove nil? (mapcat :id contributors)))) - -(defn get-contributor-affiliations [item] - (->> contributor-rels - (mapcat #(get-item-rel item %)) - (mapcat #(get-item-rel % :affiliation)) - (map :name))) - -(defn initials [first-name] - (when first-name - (string/join " " (map first (string/split first-name #"[\s\-]+"))))) - -(defn as-name [org-or-person] - (cond (= :org (get-item-type org-or-person)) - (:name org-or-person) - (= :person (get-item-type org-or-person)) - (str (:first-name org-or-person) " " (:last-name org-or-person)))) - -(defn as-initials [org-or-person] - (cond (= :org (get-item-type org-or-person)) - (as-name org-or-person) - (= :person (get-item-type org-or-person)) - (str (initials (:first-name org-or-person)) " " (:last-name org-or-person)))) - -(defn get-contributor-names - "Contributor names as a concatenated string." - [item type] - (let [contributors (get-item-rel item type)] - (string/join ", " (map as-name contributors)))) - -(defn as-details [contributor type] - {:given-name (:first-name contributor) - :family-name (:last-name contributor) - :org-name (:name contributor) - :suffix (:suffix contributor) - :affiliations (map :name (get-item-rel contributor :affiliation)) - :orcid (first (get-item-ids contributor :orcid)) - :orcid-authenticated (:orcid-authenticated contributor) - :sequence (:sequence contributor) - :type (name type)}) - -(defn get-contributor-details* - "For each person contributor, return a map of name, ORCID and - type of contribution." - [item type] - (let [contributors (get-item-rel item type)] - (map as-details contributors (repeat type)))) - -(defn get-contributor-details [item] - (concat - (get-contributor-details* item :author) - (get-contributor-details* item :chair) - (get-contributor-details* item :editor) - (get-contributor-details* item :translator) - (get-contributor-details* item :contributor))) - -(defn get-primary-author [item] - (first (get-item-rel item :author))) - -(defn get-contributors [item] - (mapcat (partial get-item-rel item) contributor-rels)) ;; todo deal with orgs - -(defn get-container-titles [item] - (mapcat #(get-item-rel % :title) (get-item-rel item :ancestor))) - -(defn get-oa-status [item] - (let [journal (find-item-of-subtype item :journal)] - (or (:oa-status journal) "Other"))) - -(defn get-update-policy [item] - (when-let [policy (first (get-tree-rel item :update-policy))] - (:value policy))) - -(defn get-article-number [item] - (->> (get-tree-rel item :number) - (filter #(= "article-number" (:kind %))) - (map :value) - first)) - -(defn get-updates [item] - (find-items-of-type item :update)) - -(defn get-assertion-names [item] - (->> (find-items-of-type item :assertion) - (filter :name) - (map :name) - set)) - -(defn get-assertion-group-names [item] - (->> (find-items-of-type item :assertion) - (filter :group-name) - (map :group-name) - set)) - -(defn as-solr-base-field [item] - (string/join - " " - (-> [] - (conj (:year (get-earliest-pub-date item))) ; earliest pub year - (conj (:year (first (get-item-rel item :published-print)))) ; print pub year - (conj (:issue (find-item-of-subtype item :journal-issue))) ; issue - (conj (:volume (find-item-of-subtype item :journal-volume))) ; volume - (conj (:first-page item)) ; pages - (conj (:last-page item)) ; pages - (concat (map (comp issn-id/normalize-issn :value) (get-tree-rel item :issn))) - (concat (map (comp isbn-id/normalize-isbn :value) (get-tree-rel item :isbn))) - (concat (map :value (get-item-rel item :title))) ; work titles - (concat (map :value (get-container-titles item)))))) ; publication titles - -(defn as-solr-citation-field [item] - (string/join - " " - (-> [(as-solr-base-field item)] - (concat (map as-initials (get-contributors item)))))) ; names with initials - -(defn as-solr-content-field [item] - (string/join - " " - (-> [(as-solr-base-field item)] - (conj (:description item)) - (concat (map ids/extract-supplementary-id (get-tree-ids item :supplementary))) ; plain supp ids - (concat (map as-name (get-contributors item))) ; full names - (concat (mapcat get-item-ids (get-tree-rel item :awarded))) ; grant numbers - (concat (map :name (get-tree-rel item :funder)))))) ; funder names - -(defn as-grant-map [item] - (letfn [(combine [memo nxt] - (let [funder-name (:name nxt) - awards (get memo funder-name []) - new-awards (mapcat :id (get-item-rel nxt :awarded))] - (assoc memo funder-name (concat awards new-awards))))] - (reduce combine {} (get-tree-rel item :funder)))) - -(defn as-license-list - "Returns all licenses within an item tree. If the license has no - explicit start date it is assumed to have a start date equal to - the preferred published date of the item." - [item] - (let [pub-date (get-earliest-pub-date item) - licenses (get-tree-rel item :license)] - (map #(if (:start %) % (assoc % :start pub-date)) - licenses))) - -(defn as-datetime [particle-date] - (let [converted-date {:year (util/parse-int-safe (:year particle-date)) - :month (util/parse-int-safe (:month particle-date)) - :day (util/parse-int-safe (:day particle-date)) - :hour (util/parse-int-safe (:hour particle-date)) - :minute (util/parse-int-safe (:minute particle-date)) - :second (util/parse-int-safe (:second particle-date))}] - (cond (:second converted-date) - (t/date-time (:year converted-date) - (:month converted-date) - (:day converted-date) - (:hour converted-date) - (:minute converted-date) - (:second converted-date)) - - (:day converted-date) - (t/date-time (:year converted-date) - (:month converted-date) - (:day converted-date)) - - (:month converted-date) - (t/date-time (:year converted-date) - (:month converted-date)) - - (:year converted-date) - (t/date-time (:year converted-date)) - - :else - nil))) - -(defn as-datetime-string [particle-date] - (when-let [dt (as-datetime particle-date)] - (df/unparse (df/formatters :date-time) dt))) - -(defn as-day-diff [left-particle-date right-particle-date] - (let [left (as-datetime left-particle-date) - right (as-datetime right-particle-date)] - (if (t/after? left right) - 0 - (-> (t/interval left right) - (t/in-days))))) - -(defn ->license-start-date [license pub-date] - (let [start-date (first (get-item-rel license :start))] - (cond start-date - (as-datetime-string start-date) - pub-date - (as-datetime-string pub-date)))) - -(defn ->license-delay [license pub-date] - (if-let [start-date (first (get-item-rel license :start))] - (as-day-diff pub-date start-date) - 0)) - -(defn as-solr-grant-info-field [item] - (letfn [(funder-info [funder-name award-ids] - (str - funder-name - " " - (if-not (empty? award-ids) - (str "(" (string/join ", " award-ids) ")") - "")))] - (string/join " | " (for [[k v] (as-grant-map item)] (funder-info k v))))) - -(defn as-license-compound [license pub-date] - (let [license-delay (->license-delay license pub-date) - license-uri (util/slugify (:value license)) - license-version (:content-version license)] - {(str "license_version_delay_" license-version) [license-delay] - (str "license_url_delay_" license-uri) [license-delay] - (str "license_url_version_" license-uri) [license-version] - (str "license_url_version_delay_" license-uri "_" license-version) [license-delay]})) - -(defn as-full-text-compound [full-text-resource] - (let [content-type (-> full-text-resource (:content-type) (util/slugify)) - intended-application (-> full-text-resource :intended-application util/slugify)] - {(str "full_text_type_version_" content-type) [(:content-version full-text-resource)] - (str "full_text_type_application_" content-type) [(:intended-application full-text-resource)] - (str "full_text_application_version_" intended-application) [(:content-version full-text-resource)] - (str "full_text_type_application_version_" content-type "_" intended-application) [(:content-version full-text-resource)]})) - -(defn as-award-compound [funder award] - (let [funder-name (or (:name funder) "-") - funder-doi (or (-> funder get-item-ids first) "-") - award-number (or (-> award get-item-ids first) "-") - normalized-award-number (-> award-number string/lower-case (string/replace #"[\s_\-]+" "")) - slug-doi (or (-> funder get-item-ids first util/slugify) "-")] - {(str "award_funder_doi_number_" slug-doi) [normalized-award-number] - "award_number" [normalized-award-number] - "award_number_display" [award-number] - "award_funder_name" [funder-name] - "award_funder_doi" [funder-doi]})) - -(defn as-relation-compound [relation] - (let [relation-type (-> relation :subtype name) - object-type (:object-type relation) - object (:object relation) - object-namespace (or (:object-namespace relation) "-") - claimed-by (-> relation :claimed-by name)] - {"relation_type" [relation-type] - "relation_object" [object] - "relation_object_type" [object-type] - "relation_object_ns" [object-namespace] - "relation_claimed_by" [claimed-by] - (str "relation_type_object_" relation-type) - [object] - (str "relation_type_object_type_object_" relation-type "_" object-type) - [object] - (str "relation_type_object_type_" relation-type) - [object-type]})) - -(defn as-funder-award-compounds [funder] - (let [awards (map as-award-compound (repeat funder) (get-item-rel funder :awarded))] - (apply merge-with #(concat %1 %2) awards))) - -(defn as-license-compounds [licenses pub-date] - (let [compounds (map as-license-compound licenses (repeat pub-date))] - (apply merge-with #(concat %1 %2) compounds))) - -(defn as-full-text-compounds [full-text-resources] - (let [compounds (map as-full-text-compound full-text-resources)] - (apply merge-with #(concat %1 %2) compounds))) - -(defn as-award-compounds [funders] - (let [compounds (map as-funder-award-compounds funders)] - (apply merge-with #(concat %1 %2) compounds))) - -(defn as-relation-compounds [relations] - (let [relations (map as-relation-compound relations)] - (apply merge-with #(concat %1 %2) relations))) - -(defn as-contributor-affiliation-lists [contrib-details] - (into {} - (map-indexed #(vector (str "contributor_affiliations_" %1) - (:affiliations %2)) - contrib-details))) - -(defn as-assertion-list [assertions] - (->> assertions - (map-indexed - #(-> {} - (util/assoc-str (str "assertion_name_" %1) (:name %2)) - (util/assoc-str (str "assertion_label_" %1) (:label %2)) - (util/assoc-str (str "assertion_group_name_" %1) (:group-name %2)) - (util/assoc-str (str "assertion_group_label_" %1) (:group-label %2)) - (util/assoc-str (str "assertion_url_" %1) (:url %2)) - (util/assoc-str (str "assertion_explanation_url_" %1) (:explanation-url %2)) - (util/assoc-str (str "assertion_value_" %1) (:value %2)) - (util/assoc-int (str "assertion_order_" %1) (:order %2)))) - (apply merge))) - -(defn as-issn-types [item] - (->> (get-tree-rel item :issn) - (map #(hash-map (str "issn_type_" (-> % :kind name)) - (:value %))) - (apply merge))) - -(defn as-isbn-types [item] - (->> (get-tree-rel item :isbn) - (map #(hash-map (str "isbn_type_" (-> % :kind name)) - (:value %))) - (apply merge))) - -(defn as-event [item] - (when-let [event (-> item (get-tree-rel :about) first)] - (let [start-date (-> event (get-item-rel :start) first) - end-date (-> event (get-item-rel :end) first) - event (-> {"event_sponsor" (:sponsor event)} - (util/assoc-str "event_name" (:name event)) - (util/assoc-str "event_theme" (:theme event)) - (util/assoc-str "event_location" (:location event)) - (util/assoc-str "event_acronym" (:acronym event)) - (util/assoc-str "event_number" (:number event)))] - (cond-> event - start-date (assoc "event_start_year" (:year start-date)) - start-date (assoc "event_start_month" (:month start-date)) - start-date (assoc "event_start_day" (:day start-date)) - end-date (assoc "event_end_year" (:year end-date)) - end-date (assoc "event_end_month" (:month end-date)) - end-date (assoc "event_end_day" (:day end-date)))))) - -(defn as-peer-review [item] - (let [{:keys [running-number revision-round stage recommendation - competing-interest-statement review-type language]} (:review item)] - {"peer_review_running_number" running-number - "peer_review_revision_round" revision-round - "peer_review_stage" stage - "peer_review_recommendation" recommendation - "peer_review_competing_interest_statement" competing-interest-statement - "peer_review_type" review-type - "peer_review_language" language})) - -(defn as-citations [item] - (letfn [(citation-field [f] - (str "citation_" - (-> f - name - (string/replace "-" "_") )))] - (-> {} - (into - (map #(vector (citation-field %) - (map (util/?- %) (get-tree-rel item :citation))) - [:key :issn :issn-type :isbn :isbn-type - :author :volume :issue :first-page :year - :isbn :isbn-type :edition :component - :standard-designator :standards-body - :unstructured :article-title :series-title - :volume-title :journal-title])) - (into - [["citation_doi_asserted_by" - (->> (get-tree-rel item :citation) - (filter :doi) - (map #(str (:doi %) "___" (:doi-asserted-by %))))] - ["citation_doi" - (map :doi (filter :doi (get-tree-rel item :citation)))] - ["citation_key_doi" - (map #(str (:key %) "_" (:doi %)) - (filter :doi (get-tree-rel item :citation)))]])))) - -(defn formatted-now [] - (df/unparse (df/formatters :date-time) (t/now))) - -(defn as-solr-document [item] - (let [grant-map (as-grant-map item) - licenses (as-license-list item) - funder-names (set (map :name (get-tree-rel item :funder))) - funder-dois (set (mapcat :id (get-tree-rel item :funder))) - publisher (first (get-tree-rel item :publisher)) - full-text-resources (get-item-rel item :resource-fulltext) - funders (get-tree-rel item :funder) - institutions (get-tree-rel item :institution) - relations (get-tree-rel item :relation) - assertions (get-tree-rel item :assertion) - clinical-trial-numbers (get-tree-rel item :clinical-trial-number) - pub-date (get-earliest-pub-date item) - - ;; print pub date is explicit or default - print-pub-date (or (first (get-item-rel item :published-print)) - (first (get-item-rel item :published))) - - online-pub-date (first (get-item-rel item :published-online)) - accepted-date (first (get-item-rel item :accepted)) - posted-date (first (get-item-rel item :posted)) - content-created-date (first (get-tree-rel item :content-created)) - content-updated-date (first (get-tree-rel item :content-updated)) - approved-date (first (get-tree-rel item :approved)) - primary-author (get-primary-author item) - container-titles (get-container-titles item) - deposit-date (first (get-tree-rel item :deposited)) - first-deposit-date (first (get-tree-rel item :first-deposited)) - free-to-read-start-date (first (get-tree-rel item :free-to-read-start)) - free-to-read-end-date (first (get-tree-rel item :free-to-read-end)) - standards-body (first (get-tree-rel item :standards-body)) - contrib-details (get-contributor-details item) - updates (get-updates item) - doi (first (get-item-ids item :long-doi)) - journal-issue (find-item-of-subtype item :journal-issue)] - (-> {"source" (:source item) - "indexed_at" (formatted-now) - "deposited_at" (if deposit-date (as-datetime-string deposit-date) (formatted-now)) - "first_deposited_at" - (or (when first-deposit-date (as-datetime-string first-deposit-date)) - (when deposit-date (as-datetime-string deposit-date)) - (formatted-now)) - "_version_" 0 - "prefix" (doi/extract-long-prefix doi) - "doi_key" doi - "doi" doi - "issn" (get-tree-ids item :issn) - "isbn" (get-tree-ids item :isbn) - "supplementary_id" (get-tree-ids item :supplementary) - "orcid" (get-contributor-orcids item) - "article_number" (get-article-number item) - "affiliation" (get-contributor-affiliations item) - "hl_affiliation" (get-contributor-affiliations item) - "assertion_name" (get-assertion-names item) - "assertion_group_name" (get-assertion-group-names item) - "category" (get-categories item) - "funder_name" funder-names - "funder_doi" funder-dois - "type" (subtype-labels (get-item-subtype item)) - "first_author_given" (:first-name primary-author) - "first_author_surname" (:last-name primary-author) - "content" (as-solr-content-field item) - "content_citation" (as-solr-citation-field item) - "content_type" (:content-type item) - "publication" (->> container-titles - (filter #(= (:subtype %) :long)) - (map :value)) - "standards_body_name" (:name standards-body) - "standards_body_acronym" (:acronym standards-body) - "oa_status" (get-oa-status item) - "hl_publication" (->> container-titles - (filter #(= (:subtype %) :long)) - (map :value)) - "hl_short_publication" (->> container-titles - (filter #(= (:subtype %) :short)) - (map :value)) - "year" (:year pub-date) - "month" (:month pub-date) - "day" (:day pub-date) - "print_year" (:year print-pub-date) - "print_month" (:month print-pub-date) - "print_day" (:day print-pub-date) - "online_year" (:year online-pub-date) - "online_month" (:month online-pub-date) - "online_day" (:day online-pub-date) - "posted_year" (:year posted-date) - "posted_month" (:month posted-date) - "posted_day" (:day posted-date) - "accepted_year" (:year accepted-date) - "accepted_month" (:month accepted-date) - "accepted_day" (:day accepted-date) - "free_to_read_start_year" (:year free-to-read-start-date) - "free_to_read_start_month" (:month free-to-read-start-date) - "free_to_read_start_day" (:day free-to-read-start-date) - "free_to_read_end_year" (:year free-to-read-end-date) - "free_to_read_end_month" (:month free-to-read-end-date) - "free_to_read_end_day" (:day free-to-read-end-date) - "issue_online_year" (:year (:published-online journal-issue)) - "issue_online_month" (:month (:published-online journal-issue)) - "issue_online_day" (:day (:published-online journal-issue)) - "issue_print_year" (:year (:published-print journal-issue)) - "issue_print_month" (:month (:published-print journal-issue)) - "issue_print_day" (:day (:published-print journal-issue)) - "content_created_year" (:year content-created-date) - "content_created_month" (:month content-created-date) - "content_created_day" (:day content-created-date) - "content_updated_year" (:year content-updated-date) - "content_updated_month" (:month content-updated-date) - "content_updated_day" (:day content-updated-date) - "approved_year" (:year approved-date) - "approved_month" (:month approved-date) - "approved_day" (:day approved-date) - "contributor_given_name" (map (util/?- :given-name) contrib-details) - "contributor_family_name" (map (util/?- :family-name) contrib-details) - "contributor_org_name" (map (util/?- :org-name) contrib-details) - "contributor_suffix" (map (util/?- :suffix) contrib-details) - "contributor_orcid" (map (util/?- :orcid) contrib-details) - "contributor_orcid_authed" (map (util/?- :orcid-authenticated) contrib-details) - "contributor_type" (map (util/?- :type) contrib-details) - "contributor_sequence" (map (util/?- :sequence) contrib-details) - "hl_description" (:description item) - "hl_year" (:year pub-date) - "hl_authors" (get-contributor-names item :author) - "hl_editors" (get-contributor-names item :editor) - "hl_chairs" (get-contributor-names item :chair) - "hl_translators" (get-contributor-names item :translator) - "hl_contributors" (get-contributor-names item :contributor) - "hl_first_page" (:first-page item) - "hl_last_page" (:last-page item) - "hl_funder_name" funder-names - "hl_grant" (as-solr-grant-info-field item) - "hl_issue" (:issue journal-issue) - "hl_volume" (:volume (find-item-of-subtype item :journal-volume)) - "hl_group_title" (->> (get-item-rel item :title) - (filter #(= (:subtype %) :group)) - (map :value) - first) - "hl_title" (->> (get-item-rel item :title) - (filter #(= (:subtype %) :long)) - (map :value)) - "hl_short_title" (->> (get-item-rel item :title) - (filter #(= (:subtype %) :short)) - (map :value)) - "hl_original_title" (->> (get-item-rel item :title) - (filter #(= (:subtype %) :original)) - (map :value)) - "hl_subtitle" (->> (get-item-rel item :title) - (filter #(= (:subtype %) :secondary)) - (map :value)) - "archive" (map :name (get-tree-rel item :archived-with)) - "degree" (map :value (get-item-rel item :degree)) - "license_url" (map (util/?- :value) licenses) - "license_version" (map (util/?- :content-version) licenses) - "license_start" (map ->license-start-date licenses (repeat pub-date)) - "license_delay" (map ->license-delay licenses (repeat pub-date)) - "references" false ;now - "cited_by_count" (get-tree-rel item :cited-count) - "citation_count" (count (get-tree-rel item :citation)) - "full_text_type" (map (util/?- :content-type) full-text-resources) - "full_text_url" (map (util/?- :value) full-text-resources) - "full_text_version" (map (util/?- :content-version) full-text-resources) - "full_text_application" (map (util/?- :intended-application) full-text-resources) - "edition_number" (:edition-number (find-first-item-of-subtypes item [:edited-book :monograph :reference-book :book])) - "part_number" (:part-number (find-item-of-subtype item :book-set)) - "publisher" (:name publisher) - "publisher_str" (:name publisher) - "hl_publisher" (:name publisher) - "publisher_location" (:location publisher) - "owner_prefix" (or (first (get-item-ids publisher :owner-prefix)) "none") - "member_id" (or (first (get-item-ids publisher :member)) "none") - "update_policy" (get-update-policy item) - "update_doi" (map :value updates) - "update_type" (map :subtype updates) - "update_label" (map :label updates) - "update_date" (map #(-> (get-item-rel % :updated) first as-datetime-string) updates) - "funder_record_name" (map (util/?- :name) funders) - "funder_record_doi_asserted_by" (map (util/?- :doi-asserted-by) funders) - "funder_record_doi" (map (util/?fn- (comp first get-item-ids)) funders) - "institution_name" (map (util/?- :name) institutions) - "institution_acronym" (map (util/?- :acronym) institutions) - "institution_location" (map (util/?- :location) institutions) - "institution_department" (map :name (flatten (map #(get-item-rel % :component) institutions))) - "domain_exclusive" (or (first (get-item-rel item :domain-exclusive)) false) - "domains" (get-item-rel item :domains) - "language" (:language (find-item-of-subtype item :journal)) - "abstract" (-> item (get-item-rel :abstract) first :plain) - "abstract_xml" (-> item (get-item-rel :abstract) first :xml) - "clinical_trial_number_ctn" (map :ctn clinical-trial-numbers) - "clinical_trial_number_registry" (map :registry clinical-trial-numbers) - "clinical_trial_number_type" (map (util/?- :ctn-type) clinical-trial-numbers) - "clinical_trial_number_proxy" (map #(-> % :ctn cayenne.ids.ctn/ctn-proxy) clinical-trial-numbers)} - - (merge (as-peer-review item)) - (merge (as-citations item)) - (merge (as-event item)) - (merge (as-isbn-types item)) - (merge (as-issn-types item)) - (merge (as-assertion-list assertions)) - (merge (as-contributor-affiliation-lists contrib-details)) - (merge (as-relation-compounds relations)) - (merge (as-award-compounds funders)) - (merge (as-license-compounds licenses pub-date)) - (merge (as-full-text-compounds full-text-resources))))) - -(defn as-solr-field-names [solr-doc] - (->> (.getFieldNames solr-doc) - (filter #(let [field-values (.getFieldValues solr-doc %)] - (not (or (nil? field-values) - (.isEmpty field-values))))))) - -(defn as-solr-input-document [solr-map] - (let [doc (SolrInputDocument. (into-array String []))] - (doseq [[k v] solr-map] - (.addField doc k v)) - (.addField doc "field_names" (vec (as-solr-field-names doc))) - doc)) - -(defn as-cited-count-set-document [subject-doi cited-count] - (let [doc (SolrInputDocument. (into-array String []))] - (.addField doc "doi_key" (doi/to-long-doi-uri subject-doi)) - - ;; only apply update if doi_key already exists in index - (.addField doc "_version_" 1) - - (.addField doc "indexed_at" (java.util.HashMap. {"set" (formatted-now)})) - (.addField doc "cited_by_count" (java.util.HashMap. {"set" cited-count})) - doc)) - -(defn as-citation-doi-set-document [subject-doi subject-citation-id object-doi] - (let [doc (SolrInputDocument. (into-array String []))] - (.addField doc "doi_key" (doi/to-long-doi-uri subject-doi)) - (.addField doc "_version_" 1) - (.addField doc "indexed_at" (java.util.HashMap. {"set" (formatted-now)})) - (.addField doc "citation_key_doi" {"add" (str subject-citation-id "_" object-doi)}) - (.addField doc "citation_doi_asserted_by" {"add" (str object-doi "___crossref")}) - (.addField doc "citation_doi" {"add" object-doi}) - doc)) - -(defn insert-solr-doc [solr-doc] - (swap! insert-list - #(if (>= (count %) - (conf/get-param [:service :solr :insert-list-max-size])) - (do - (put! inserts-waiting-chan (conj % solr-doc)) - []) - (conj % solr-doc)))) - -(defn insert-item [item] - (let [solr-map (as-solr-document item)] - (if-not (get solr-map "doi_key") - (throw (Exception. "No DOI in item tree when inserting into solr.")) - (let [solr-doc (as-solr-input-document solr-map)] - (insert-solr-doc solr-doc))))) - - From 7343baf013866ba4fcb3b1d30d0e8d84239d3f1a Mon Sep 17 00:00:00 2001 From: Karl Jonathan Ward Date: Wed, 15 Nov 2017 15:12:05 +0000 Subject: [PATCH 061/156] Remove /licenses route (in favour of license facet) --- src/cayenne/api/v1/facet.clj | 1 + src/cayenne/api/v1/routes.clj | 10 ---------- src/cayenne/data/license.clj | 30 ------------------------------ 3 files changed, 1 insertion(+), 40 deletions(-) delete mode 100644 src/cayenne/data/license.clj diff --git a/src/cayenne/api/v1/facet.clj b/src/cayenne/api/v1/facet.clj index 163da221..d64630b4 100644 --- a/src/cayenne/api/v1/facet.clj +++ b/src/cayenne/api/v1/facet.clj @@ -49,6 +49,7 @@ :else specified-limit)) +;; todo should set up a nested agg for nested fields (defn with-aggregations [es-body {:keys [facets]}] (reduce (fn [es-body {:keys [field count]}] diff --git a/src/cayenne/api/v1/routes.clj b/src/cayenne/api/v1/routes.clj index d30eff25..edbc009e 100644 --- a/src/cayenne/api/v1/routes.clj +++ b/src/cayenne/api/v1/routes.clj @@ -14,7 +14,6 @@ [cayenne.data.journal :as journal] [cayenne.data.type :as data-types] [cayenne.data.csl :as csl] - [cayenne.data.license :as license] [cayenne.api.transform :as transform] [cayenne.api.link :as link] [cayenne.api.v1.types :as t] @@ -321,13 +320,6 @@ {:journal j}) :handle-ok #(journal/fetch-works (q/->query-context % :id (issn-id/normalize-issn issn)))) -(defresource licenses-resource - :malformed? (v/malformed? :unlimited-offset true) - :handle-malformed :validation-result - :allowed-methods [:get :options :head] - :available-media-types t/json - :handle-ok #(license/fetch-all (q/->query-context %))) - (defresource types-resource :malformed? (v/malformed? :unlimited-offset true) :handle-malformed :validation-result @@ -371,8 +363,6 @@ (defroutes api-routes (ANY "/reverse" [] reverse-lookup-resource) - (ANY "/licenses" [] - licenses-resource) (ANY "/styles" [] csl-styles-resource) (ANY "/locales" [] diff --git a/src/cayenne/data/license.clj b/src/cayenne/data/license.clj deleted file mode 100644 index bd3b8317..00000000 --- a/src/cayenne/data/license.clj +++ /dev/null @@ -1,30 +0,0 @@ -(ns cayenne.data.license - (:require [cayenne.api.v1.query :as query] - [cayenne.api.v1.response :as r] - [cayenne.api.v1.filter :as filter] - [cayenne.conf :as conf])) - -(defn ->license-doc [facet-field-value] - {:URL (.getName facet-field-value) - :work-count (.getCount facet-field-value)}) - -;; todo why are odd license URLs appearing with 0 counts? - -;; todo offset, rows - -(defn fetch-all [query-context] - ()) - ;; (let [q (-> query-context - ;; (assoc :facets [{:field "license" :count -1}]) - ;; (query/->solr-query :filters filter/std-filters)) - ;; facet-field (-> (conf/get-service :solr) - ;; (.query q) - ;; (.getFacetField "license_url")) - ;; facet-values (->> (.getValues facet-field) - ;; (filter #(not= 0 (.getCount %))))] - ;; (-> (r/api-response :license-list) - ;; (r/with-result-items - ;; (count facet-values) - ;; (map ->license-doc facet-values)) - ;; (r/with-query-context-info query-context)))) - From 22420fb9073e350e1e3e1ed19d2c7d28748d4967 Mon Sep 17 00:00:00 2001 From: Karl Jonathan Ward Date: Thu, 16 Nov 2017 16:46:44 +0000 Subject: [PATCH 062/156] Store some fields in work parent for aggregation at work level --- src/cayenne/api/v1/facet.clj | 22 +++++++++++---------- src/cayenne/elastic/convert.clj | 33 ++++++++++++++++++++++++-------- src/cayenne/elastic/mappings.clj | 9 +++++++++ 3 files changed, 46 insertions(+), 18 deletions(-) diff --git a/src/cayenne/api/v1/facet.clj b/src/cayenne/api/v1/facet.clj index d64630b4..3bfa5082 100644 --- a/src/cayenne/api/v1/facet.clj +++ b/src/cayenne/api/v1/facet.clj @@ -7,29 +7,29 @@ "issued-year" {:external-field "published" :allow-unlimited-values true} "container-title" {:external-field "container-title"} - "funder.name" {:external-field "funder-name" + "funder-name" {:external-field "funder-name" :allow-unlimited-values true} - "funder.doi" {:external-field "funder-doi" + "funder-doi" {:external-field "funder-doi" :allow-unlimited-values true} - "contributor.orcid" {:external-field "orcid" + "contributor-orcid" {:external-field "orcid" :allow-unlimited-values true} "issn.value" {:external-field "issn" :allow-unlimited-values true} "publisher" {:external-field "publisher-name" :allow-unlimited-values true} - "license.url" {:external-field "license" + "license-url" {:external-field "license" :allow-unlimited-values true} "archive" {:external-field "archive" :allow-unlimited-values true} - "update.type" {:external-field "update-type" + "update-type" {:external-field "update-type" :allow-unlimited-values true} - "relation.type" {:external-field "relation-type" + "relation-type" {:external-field "relation-type" :allow-unlimited-values true} - "contributor.affiliation" {:external-field "affiliation" + "contributor-affiliation" {:external-field "affiliation" :allow-unlimited-values true} - "assertion.name" {:external-field "assertion" + "assertion-name" {:external-field "assertion" :allow-unlimited-values true} - "assertion.group-name" {:external-field "assertion-group" + "assertion-group-name" {:external-field "assertion-group" :allow-unlimited-values true} "volume" {:external-field "journal-volume" :allow-unlimited-values true} @@ -50,11 +50,13 @@ specified-limit)) ;; todo should set up a nested agg for nested fields +;; todo should handle multiple nested aggs at the same path (defn with-aggregations [es-body {:keys [facets]}] (reduce (fn [es-body {:keys [field count]}] (let [internal-field-name (external->internal-name field) - limited-count (facet-value-limit internal-field-name count)] + limited-count (facet-value-limit internal-field-name count) + nested-path (get-in std-facets [internal-field-name :nested-path])] (assoc-in es-body [:aggs internal-field-name] diff --git a/src/cayenne/elastic/convert.clj b/src/cayenne/elastic/convert.clj index a9d5a42a..2d8f0c1a 100644 --- a/src/cayenne/elastic/convert.clj +++ b/src/cayenne/elastic/convert.clj @@ -311,7 +311,13 @@ (let [doi (item-doi item) publisher (-> item (itree/get-tree-rel :publisher) first) journal-issue (itree/find-item-of-subtype item :journal-issue) - journal-volume (itree/find-item-of-subtype item :journal-volume)] + journal-volume (itree/find-item-of-subtype item :journal-volume) + assertions (item-assertions item) + contributors (item-contributors item) + relations (item-relations item) + update-tos (item-update-tos item) + licenses (item-licenses item) + funders (item-funders item)] {:doi doi :type (item-type item) :prefix (doi-id/extract-long-prefix doi) @@ -378,16 +384,27 @@ :isbn (item-isbns item) :issn (item-issns item) :reference (item-references item) - :license (item-licenses item) + :license licenses :link (item-links item) - :update-to (item-update-tos item) - :assertion (item-assertions item) - :relation (item-relations item) - :contributor (item-contributors item) - :funder (item-funders item) + :update-to update-tos + :assertion assertions + :relation relations + :contributor contributors + :funder funders :clinical-trial (item-clinical-trials item) :event (item-events item) - :standards-body (item-standards-body item)})) + :standards-body (item-standards-body item) + + ;; fields from nested objects places in the parent for aggregations + :assertion-group-name (map :group-name assertions) + :assertion-name (map :name assertions) + :contributor-affiliation (mapcat :affiliation contributors) + :contributor-orcid (map :orcid contributors) + :relation-type (map :type relations) + :update-type (map :type update-tos) + :license-url (map :url licenses) + :funder-doi (map :doi funders) + :funder-name (map :name funders)})) (defn citeproc-date [date-str] (when date-str diff --git a/src/cayenne/elastic/mappings.clj b/src/cayenne/elastic/mappings.clj index d575617d..8bf5747f 100644 --- a/src/cayenne/elastic/mappings.clj +++ b/src/cayenne/elastic/mappings.clj @@ -169,6 +169,15 @@ :domain {:type "keyword"} :domain-exclusive {:type "boolean"} :index-context {:type "keyword"} + :funder-name {:type "keyword"} + :funder-doi {:type "keyword"} + :contributor-orcid {:type "keyword"} + :license-url {:type "keyword"} + :update-type {:type "keyword"} + :relation-type {:type "keyword"} + :contributor-affiliation {:type "keyword"} + :assertion-name {:type "keyword"} + :assertion-group-name {:type "keyword"} :standards-body {:type "object" :properties standards-body-properties} :issn {:type "object" :properties issn-properties} :isbn {:type "object" :properties isbn-properties} From bbec6c152e3c79cefea44afbfd7bf8669fca586c Mon Sep 17 00:00:00 2001 From: Karl Jonathan Ward Date: Thu, 16 Nov 2017 17:02:05 +0000 Subject: [PATCH 063/156] Add link application facet --- src/cayenne/api/v1/facet.clj | 2 +- src/cayenne/elastic/convert.clj | 6 ++++-- src/cayenne/elastic/mappings.clj | 1 + 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/src/cayenne/api/v1/facet.clj b/src/cayenne/api/v1/facet.clj index 3bfa5082..3f57bd42 100644 --- a/src/cayenne/api/v1/facet.clj +++ b/src/cayenne/api/v1/facet.clj @@ -31,6 +31,7 @@ :allow-unlimited-values true} "assertion-group-name" {:external-field "assertion-group" :allow-unlimited-values true} + "link-application" {:external-field "link-application"} "volume" {:external-field "journal-volume" :allow-unlimited-values true} "issue" {:external-field "journal-issue" @@ -49,7 +50,6 @@ :else specified-limit)) -;; todo should set up a nested agg for nested fields ;; todo should handle multiple nested aggs at the same path (defn with-aggregations [es-body {:keys [facets]}] (reduce diff --git a/src/cayenne/elastic/convert.clj b/src/cayenne/elastic/convert.clj index 2d8f0c1a..7f346594 100644 --- a/src/cayenne/elastic/convert.clj +++ b/src/cayenne/elastic/convert.clj @@ -317,7 +317,8 @@ relations (item-relations item) update-tos (item-update-tos item) licenses (item-licenses item) - funders (item-funders item)] + funders (item-funders item) + links (item-links item)] {:doi doi :type (item-type item) :prefix (doi-id/extract-long-prefix doi) @@ -385,7 +386,7 @@ :issn (item-issns item) :reference (item-references item) :license licenses - :link (item-links item) + :link links :update-to update-tos :assertion assertions :relation relations @@ -396,6 +397,7 @@ :standards-body (item-standards-body item) ;; fields from nested objects places in the parent for aggregations + :link-application (map :application links) :assertion-group-name (map :group-name assertions) :assertion-name (map :name assertions) :contributor-affiliation (mapcat :affiliation contributors) diff --git a/src/cayenne/elastic/mappings.clj b/src/cayenne/elastic/mappings.clj index 8bf5747f..a9a98226 100644 --- a/src/cayenne/elastic/mappings.clj +++ b/src/cayenne/elastic/mappings.clj @@ -178,6 +178,7 @@ :contributor-affiliation {:type "keyword"} :assertion-name {:type "keyword"} :assertion-group-name {:type "keyword"} + :link-application {:type "keyword"} :standards-body {:type "object" :properties standards-body-properties} :issn {:type "object" :properties issn-properties} :isbn {:type "object" :properties isbn-properties} From 0755fb36d066bbbd3f53fd28f41fc9b4b7cd9f99 Mon Sep 17 00:00:00 2001 From: Karl Jonathan Ward Date: Fri, 17 Nov 2017 10:21:21 +0000 Subject: [PATCH 064/156] Use copy_to to make parent aggregation fields --- src/cayenne/api/v1/facet.clj | 2 +- src/cayenne/elastic/convert.clj | 37 ++++++++------------------------ src/cayenne/elastic/mappings.clj | 20 ++++++++--------- 3 files changed, 20 insertions(+), 39 deletions(-) diff --git a/src/cayenne/api/v1/facet.clj b/src/cayenne/api/v1/facet.clj index 3f57bd42..894ff120 100644 --- a/src/cayenne/api/v1/facet.clj +++ b/src/cayenne/api/v1/facet.clj @@ -25,7 +25,7 @@ :allow-unlimited-values true} "relation-type" {:external-field "relation-type" :allow-unlimited-values true} - "contributor-affiliation" {:external-field "affiliation" + "affiliation" {:external-field "affiliation" :allow-unlimited-values true} "assertion-name" {:external-field "assertion" :allow-unlimited-values true} diff --git a/src/cayenne/elastic/convert.clj b/src/cayenne/elastic/convert.clj index 7f346594..a9d5a42a 100644 --- a/src/cayenne/elastic/convert.clj +++ b/src/cayenne/elastic/convert.clj @@ -311,14 +311,7 @@ (let [doi (item-doi item) publisher (-> item (itree/get-tree-rel :publisher) first) journal-issue (itree/find-item-of-subtype item :journal-issue) - journal-volume (itree/find-item-of-subtype item :journal-volume) - assertions (item-assertions item) - contributors (item-contributors item) - relations (item-relations item) - update-tos (item-update-tos item) - licenses (item-licenses item) - funders (item-funders item) - links (item-links item)] + journal-volume (itree/find-item-of-subtype item :journal-volume)] {:doi doi :type (item-type item) :prefix (doi-id/extract-long-prefix doi) @@ -385,28 +378,16 @@ :isbn (item-isbns item) :issn (item-issns item) :reference (item-references item) - :license licenses - :link links - :update-to update-tos - :assertion assertions - :relation relations - :contributor contributors - :funder funders + :license (item-licenses item) + :link (item-links item) + :update-to (item-update-tos item) + :assertion (item-assertions item) + :relation (item-relations item) + :contributor (item-contributors item) + :funder (item-funders item) :clinical-trial (item-clinical-trials item) :event (item-events item) - :standards-body (item-standards-body item) - - ;; fields from nested objects places in the parent for aggregations - :link-application (map :application links) - :assertion-group-name (map :group-name assertions) - :assertion-name (map :name assertions) - :contributor-affiliation (mapcat :affiliation contributors) - :contributor-orcid (map :orcid contributors) - :relation-type (map :type relations) - :update-type (map :type update-tos) - :license-url (map :url licenses) - :funder-doi (map :doi funders) - :funder-name (map :name funders)})) + :standards-body (item-standards-body item)})) (defn citeproc-date [date-str] (when date-str diff --git a/src/cayenne/elastic/mappings.clj b/src/cayenne/elastic/mappings.clj index a9a98226..00718b25 100644 --- a/src/cayenne/elastic/mappings.clj +++ b/src/cayenne/elastic/mappings.clj @@ -8,8 +8,8 @@ :org-name {:type "text"} :prefix {:type "text"} :suffix {:type "text"} - :orcid {:type "keyword"} - :affiliation {:type "keyword" :copy_to :affiliation-text} + :orcid {:type "keyword" :copy_to :contributor-orcid} + :affiliation {:type "keyword" :copy_to [:affiliation :affiliation-text]} :authenticated-orcid {:type "boolean"}}) (def issn-properties @@ -21,14 +21,14 @@ :type {:type "keyword"}}) (def work-funder-properties - {:name {:type "keyword" :copy_to :funder-name-text} - :doi {:type "keyword"} + {:name {:type "keyword" :copy_to [:funder-name :funder-name-text]} + :doi {:type "keyword" :copy_to :funder-doi} :doi-asserted-by {:type "keyword"} :award {:type "text"}}) (def update-properties {:doi {:type "keyword"} - :type {:type "keyword"} + :type {:type "keyword" :copy_to :update-type} :label {:type "keyword"} :date {:type "date"}}) @@ -41,7 +41,7 @@ {:content-type {:type "keyword"} :url {:type "keyword"} :version {:type "keyword"} - :application {:type "keyword"}}) + :application {:type "keyword" :copy_to :link-application}}) (def event-properties {:name {:type "text"} @@ -55,14 +55,14 @@ (def license-properties {:version {:type "keyword"} - :url {:type "keyword"} + :url {:type "keyword" :copy_to :license-url} :delay {:type "long"} :start {:type "date"}}) (def assertion-properties - {:name {:type "keyword"} + {:name {:type "keyword" :copy_to :assertion-name} :label {:type "text"} - :group-name {:type "keyword"} + :group-name {:type "keyword" :copy_to :assertion-group-name} :group-label {:type "text"} :url {:type "keyword"} :value {:type "text"} @@ -70,7 +70,7 @@ :explanation-url {:type "keyword"}}) (def relation-properties - {:type {:type "keyword"} + {:type {:type "keyword" :copy_to :relation-type} :object {:type "keyword"} :object-type {:type "keyword"} :object-ns {:type "keyword"} From 2ace269e01f14f5e0a28d1f44b7743f545ad3a14 Mon Sep 17 00:00:00 2001 From: Karl Jonathan Ward Date: Fri, 17 Nov 2017 10:33:34 +0000 Subject: [PATCH 065/156] Index citation-id and book-id crm items --- src/cayenne/elastic/convert.clj | 4 +++- src/cayenne/elastic/mappings.clj | 2 ++ src/cayenne/formats/unixsd.clj | 12 ++++++++++-- 3 files changed, 15 insertions(+), 3 deletions(-) diff --git a/src/cayenne/elastic/convert.clj b/src/cayenne/elastic/convert.clj index a9d5a42a..45ed8583 100644 --- a/src/cayenne/elastic/convert.clj +++ b/src/cayenne/elastic/convert.clj @@ -25,7 +25,7 @@ (t/date-time year month day)) (and year month) (t/date-time year month) - :else + year (t/date-time year)))) (defn maybe-int [int-as-string] @@ -318,6 +318,8 @@ :owner-prefix (item-owner-prefix publisher) :member-id (maybe-int (item-member-id publisher)) :journal-id (maybe-int (:journal-id publisher)) + :citation-id (maybe-int (:citation-id publisher)) + :book-id (maybe-int (:book-id publisher)) :supplementary-id (itree/get-item-ids item :supplementary) :issued-year (t/year (item-issued-date item)) diff --git a/src/cayenne/elastic/mappings.clj b/src/cayenne/elastic/mappings.clj index 00718b25..12595b18 100644 --- a/src/cayenne/elastic/mappings.clj +++ b/src/cayenne/elastic/mappings.clj @@ -127,6 +127,8 @@ :owner-prefix {:type "keyword"} :member-id {:type "integer"} :journal-id {:type "integer"} + :book-id {:type "integer"} + :citation-id {:type "integer"} :supplementary-id {:type "keyword"} :issued-year {:type "integer"} :title {:type "keyword" :copy_to :title-text} diff --git a/src/cayenne/formats/unixsd.clj b/src/cayenne/formats/unixsd.clj index 7d205384..e310d348 100644 --- a/src/cayenne/formats/unixsd.clj +++ b/src/cayenne/formats/unixsd.clj @@ -33,8 +33,16 @@ :text)) (itree/add-property :journal-id (-> oai-record (xml/xselect1 :> "crm-item" - [:= "name" "journal-id"] :text) - string/trim)) + [:= "name" "journal-id"] :text))) + + (itree/add-property :book-id (-> oai-record + (xml/xselect1 :> "crm-item" + [:= "name" "book-id"] :text))) + + (itree/add-property :citation-id (-> oai-record + (xml/xselect1 :> "crm-item" + [:= "name" "citation-id"] :text))) + (itree/add-id (-> oai-record (xml/xselect1 :> "crm-item" [:= "name" "member-id"] :text) From 3a4f349373428cc2cd280e717ceb3869e1b7dbf0 Mon Sep 17 00:00:00 2001 From: Karl Jonathan Ward Date: Fri, 17 Nov 2017 10:46:02 +0000 Subject: [PATCH 066/156] New dates in selection of issued date First search for a date associated with the item the DOI represents. If not specified, search up the container tree for the nearest date. If still not found use first deposited date. --- src/cayenne/elastic/convert.clj | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/cayenne/elastic/convert.clj b/src/cayenne/elastic/convert.clj index 45ed8583..51f2a4af 100644 --- a/src/cayenne/elastic/convert.clj +++ b/src/cayenne/elastic/convert.clj @@ -67,7 +67,14 @@ (itree/get-item-rel item :published-online) (itree/get-item-rel item :published-other) (itree/get-item-rel item :published) - (itree/get-tree-rel item :content-created)) + (itree/get-item-rel item :content-created) + (itree/get-tree-rel item :posted) + (itree/get-tree-rel item :published-print) + (itree/get-tree-rel item :published-online) + (itree/get-tree-rel item :published-other) + (itree/get-tree-rel item :published) + (itree/get-tree-rel item :content-created) + (itree/get-tree-rel item :first-deposited)) (sort-by particle->date-time) first particle->date-time)) From 5786bc25e18df33d3acfe06cbae23ea292122de2 Mon Sep 17 00:00:00 2001 From: Karl Jonathan Ward Date: Fri, 17 Nov 2017 11:13:55 +0000 Subject: [PATCH 067/156] Use most recent deposit date if a DOI has absolutely no other date --- src/cayenne/elastic/convert.clj | 3 ++- src/cayenne/elastic/mappings.clj | 1 - 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/cayenne/elastic/convert.clj b/src/cayenne/elastic/convert.clj index 51f2a4af..a599b94c 100644 --- a/src/cayenne/elastic/convert.clj +++ b/src/cayenne/elastic/convert.clj @@ -74,7 +74,8 @@ (itree/get-tree-rel item :published-other) (itree/get-tree-rel item :published) (itree/get-tree-rel item :content-created) - (itree/get-tree-rel item :first-deposited)) + (itree/get-tree-rel item :first-deposited) + (itree/get-tree-rel item :deposited)) (sort-by particle->date-time) first particle->date-time)) diff --git a/src/cayenne/elastic/mappings.clj b/src/cayenne/elastic/mappings.clj index 12595b18..38b3c9b9 100644 --- a/src/cayenne/elastic/mappings.clj +++ b/src/cayenne/elastic/mappings.clj @@ -103,7 +103,6 @@ {:name {:type "text"} :acronym {:type "text"}}) -;; todo content, citation_content (def work-properties {:metadata-content-text {:type "text"} :bibliographic-content-text {:type "text"} From 8386551f27746d556065bbcf24060235b05ada05 Mon Sep 17 00:00:00 2001 From: Karl Jonathan Ward Date: Mon, 20 Nov 2017 15:32:32 +0000 Subject: [PATCH 068/156] Don't add nil relation or property values --- src/cayenne/action.clj | 4 ++-- src/cayenne/item_tree.clj | 15 ++++++++++++--- 2 files changed, 14 insertions(+), 5 deletions(-) diff --git a/src/cayenne/action.clj b/src/cayenne/action.clj index 90f66eec..18ba5991 100644 --- a/src/cayenne/action.clj +++ b/src/cayenne/action.clj @@ -52,7 +52,7 @@ (defn parse-doi [doi using] (process-file (doi-file doi) "crossref_result" using)) -(defn parse-doi-list [list-file using] +(defn parse-doi-list [list-file using & {:keys [skip] :or {skip 0}}] (with-open [rdr (io/reader (io/file list-file))] - (doseq [doi (line-seq rdr)] + (doseq [doi (drop skip (line-seq rdr))] (process-file (doi-file doi) "crossref_result" using)))) diff --git a/src/cayenne/item_tree.clj b/src/cayenne/item_tree.clj index 4913e0d6..8c7ef0a3 100644 --- a/src/cayenne/item_tree.clj +++ b/src/cayenne/item_tree.clj @@ -43,7 +43,9 @@ ;; todo are section part track only for books or for article figures etc too? (defn add-property [item k v] - (assoc item k v)) + (if (nil? v) + item + (assoc item k v))) (defn add-properties [item m] (merge item m)) @@ -53,8 +55,15 @@ (assoc item :id (conj existing-ids id)))) (defn add-relation [item rel-type rel-item] - (let [existing-items (get-in item [:rel rel-type] [])] - (assoc-in item [:rel rel-type] (conj existing-items rel-item)))) + (if rel-item + (let [existing-items (or (get-in item [:rel rel-type]) [])] + (assoc-in item [:rel rel-type] (conj existing-items rel-item))) + item)) + +(defn add-relations [item rel-type rel-items] + (let [existing-items (or (get-in item [:rel rel-type]) [])] + (assoc-in item [:rel rel-type] (concat existing-items rel-items)))) + (defn add-relations [item rel-type rel-items] (let [existing-items (get-in item [:rel rel-type] [])] From ac61715d5048a79169f4d43c1c0b4c190461fe2e Mon Sep 17 00:00:00 2001 From: Karl Jonathan Ward Date: Tue, 21 Nov 2017 10:13:54 +0000 Subject: [PATCH 069/156] Support query clauses that need bool must_not occurrence --- src/cayenne/api/v1/query.clj | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/src/cayenne/api/v1/query.clj b/src/cayenne/api/v1/query.clj index 1f2576e9..c1c146b0 100644 --- a/src/cayenne/api/v1/query.clj +++ b/src/cayenne/api/v1/query.clj @@ -231,6 +231,20 @@ (map select-fields) (apply concat))))) +(defn with-filters [es-body query-context & {:keys [filters]}] + (let [filter-clauses (map #((-> % first name filters) + (-> % second first)) + (:filters query-context)) + filter-occurrence (->> filter-clauses + (filter #(= (:occurrence %) :filter)) + (map :clause)) + must-not-occurrence (->> filter-clauses + (filter #(= (:occurrence %) :must-not)) + (map :clause))] + (-> es-body + (assoc-in [:query :bool :filter] filter-occurrence) + (assoc-in [:query :bool :must_not] must-not-occurrence)))) + (defn with-query [es-body query-context & {:keys [id-field filters]}] (cond-> es-body (-> query-context :terms string/blank? not) @@ -248,9 +262,8 @@ ;; todo only considering first filter value (-> query-context :filters empty? not) - (assoc-in [:query :bool :filter] (map #((-> % first name filters) (-> % second first)) - (:filters query-context))))) - + (with-filters query-context :filters filters))) + (defn with-paging [es-body query-context & {:keys [paged count-only]}] (cond paged From 2bdd7084fc28bfc6a52ab798708596de90a5d646 Mon Sep 17 00:00:00 2001 From: Karl Jonathan Ward Date: Wed, 29 Nov 2017 12:48:54 +0000 Subject: [PATCH 070/156] Use prefix reference distribution flag Gives public / limited / closed info for each prefix --- src/cayenne/action.clj | 6 ++++-- src/cayenne/data/work.clj | 2 +- src/cayenne/elastic/mappings.clj | 10 +++++----- src/cayenne/tasks/publisher.clj | 12 ++++++------ 4 files changed, 16 insertions(+), 14 deletions(-) diff --git a/src/cayenne/action.clj b/src/cayenne/action.clj index 18ba5991..f6545a1f 100644 --- a/src/cayenne/action.clj +++ b/src/cayenne/action.clj @@ -9,7 +9,8 @@ [cayenne.xml :as xml] [cayenne.elastic.index :as es-index] [cayenne.formats.unixsd :refer [unixsd-record-parser]] - [taoensso.timbre :as timbre :refer [info error]])) + [taoensso.timbre :as timbre :refer [info error]] + [clojure.string :as string])) (defn openurl-file [doi] (let [extracted-doi (doi/extract-long-doi doi) @@ -54,5 +55,6 @@ (defn parse-doi-list [list-file using & {:keys [skip] :or {skip 0}}] (with-open [rdr (io/reader (io/file list-file))] - (doseq [doi (drop skip (line-seq rdr))] + (doseq [doi (drop skip (line-seq rdr)) + :when (not (string/blank? doi))] (process-file (doi-file doi) "crossref_result" using)))) diff --git a/src/cayenne/data/work.clj b/src/cayenne/data/work.clj index f12a7da8..e983104a 100644 --- a/src/cayenne/data/work.clj +++ b/src/cayenne/data/work.clj @@ -33,7 +33,7 @@ (not (empty? (filter #(and (= (:value %) (:prefix metadata)) - (:public-references %)) + (= (:reference-visibility %) "public")) (:prefix member-doc))))))) (defn with-citations [metadata] diff --git a/src/cayenne/elastic/mappings.clj b/src/cayenne/elastic/mappings.clj index 38b3c9b9..f2b2267e 100644 --- a/src/cayenne/elastic/mappings.clj +++ b/src/cayenne/elastic/mappings.clj @@ -196,11 +196,11 @@ :reference {:type "object" :properties reference-properties}}) (def prefix-properties - {:value {:type "keyword"} - :member-id {:type "integer"} - :public-references {:type "boolean"} - :location {:type "text"} - :name {:type "text"}}) + {:value {:type "keyword"} + :member-id {:type "integer"} + :reference-visibility {:type "keyword"} + :location {:type "text"} + :name {:type "text"}}) (def member-properties {:primary-name {:type "text" :copy_to :suggest} diff --git a/src/cayenne/tasks/publisher.clj b/src/cayenne/tasks/publisher.clj index aed0c308..050e0783 100644 --- a/src/cayenne/tasks/publisher.clj +++ b/src/cayenne/tasks/publisher.clj @@ -30,7 +30,6 @@ (when (= 200 (:status response)) (-> response :body (json/read-str :key-fn keyword))))) - (defn get-prefix-info "Return information about an owner prefix from the Crossref prefix information API." @@ -48,11 +47,12 @@ :member-id member-id :name (zx/text (zx/xml1-> root :publisher :prefix_name)) :location (zx/text (zx/xml1-> root :publisher :publisher_location)) - :public-references (= "true" - (zx/text - (zx/xml1-> root - :publisher - :allows_public_access_to_refs)))}))) + :reference-visibility + (if-let [ref-loc (zx/xml1-> root + :publisher + :references_distribution)] + (-> ref-loc zx/text keyword) + :closed)}))) (defn index-command "Turn a member record from the Crossref prefix information API into From 21f81a93b643c6287a355b05f257bc98bf3adef6 Mon Sep 17 00:00:00 2001 From: Karl Jonathan Ward Date: Wed, 29 Nov 2017 19:54:45 +0000 Subject: [PATCH 071/156] Fix reference distribution element name --- src/cayenne/tasks/publisher.clj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/cayenne/tasks/publisher.clj b/src/cayenne/tasks/publisher.clj index 050e0783..4f8f2361 100644 --- a/src/cayenne/tasks/publisher.clj +++ b/src/cayenne/tasks/publisher.clj @@ -50,7 +50,7 @@ :reference-visibility (if-let [ref-loc (zx/xml1-> root :publisher - :references_distribution)] + :reference_distribution)] (-> ref-loc zx/text keyword) :closed)}))) From b1f9d0ab16f21dc64ec60490a8bbca976b4a5854 Mon Sep 17 00:00:00 2001 From: Karl Jonathan Ward Date: Wed, 29 Nov 2017 19:59:34 +0000 Subject: [PATCH 072/156] Public references are labelled "open", not "public" --- src/cayenne/data/work.clj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/cayenne/data/work.clj b/src/cayenne/data/work.clj index e983104a..3c28beea 100644 --- a/src/cayenne/data/work.clj +++ b/src/cayenne/data/work.clj @@ -33,7 +33,7 @@ (not (empty? (filter #(and (= (:value %) (:prefix metadata)) - (= (:reference-visibility %) "public")) + (= (:reference-visibility %) "open")) (:prefix member-doc))))))) (defn with-citations [metadata] From 1f1906d5e0e935ac9a465319d88dffc4fbaee523 Mon Sep 17 00:00:00 2001 From: Karl Jonathan Ward Date: Tue, 5 Dec 2017 11:57:24 +0000 Subject: [PATCH 073/156] Projectile config to avoid searching test-data --- .projectile | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 .projectile diff --git a/.projectile b/.projectile new file mode 100644 index 00000000..bd2123cf --- /dev/null +++ b/.projectile @@ -0,0 +1,6 @@ ++/src ++/test ++/README.md ++/Dockerfile ++/project.clj ++/docker-compose.yml \ No newline at end of file From f4f53daeebcfa54c9f6a554b2604a92dbb811897 Mon Sep 17 00:00:00 2001 From: Mark Woodhall Date: Wed, 4 Apr 2018 15:27:45 +0100 Subject: [PATCH 074/156] Minimal commits required after rebasing The commits are the minimum required to get a working repl and tests after rebasing elastic on master. --- dev/user.clj | 115 ++++++++++++++++------------------ docker-compose.yml | 59 ++++------------- src/cayenne/api/v1/filter.clj | 5 ++ src/cayenne/api/v1/routes.clj | 2 +- src/cayenne/tasks.clj | 30 --------- 5 files changed, 72 insertions(+), 139 deletions(-) diff --git a/dev/user.clj b/dev/user.clj index ffb15e45..7e92312b 100644 --- a/dev/user.clj +++ b/dev/user.clj @@ -1,64 +1,50 @@ (ns user - (:require [cayenne.conf :refer [set-param! with-core cores start-core! stop-core!]] - [cayenne.tasks :refer [load-funders]] + (:require [cayenne.conf :refer [get-param set-param! with-core cores start-core! stop-core!]] + [cayenne.elastic.mappings :as elastic-mappings] + [cayenne.elastic.convert :as elastic-convert] [cayenne.rdf :as rdf] - [cayenne.tasks :refer [load-members load-journals]] - [cayenne.tasks.funder :refer [select-country-stmts]] + [cayenne.tasks :refer [index-members index-journals]] + [cayenne.tasks.funder :refer [select-country-stmts index-funders]] [cayenne.tasks.coverage :refer [check-journals check-members]] - [cayenne.tasks.solr :refer [start-insert-list-processing]] [cayenne.api.v1.feed :refer [start-feed-processing]] [clojure.java.io :refer [resource]] [clojure.java.shell :refer [sh]] [clj-http.client :as http] - [somnium.congomongo :as m] [me.raynes.fs :refer [copy-dir delete-dir]] [nio2.io :refer [path]] [nio2.dir-seq :refer [dir-seq-glob]])) -(defn- solr-ready? [] +(defn- elastic-ready? [] (try - (= 200 (:status (http/get "http://localhost:8983/solr/crmds1/admin/ping"))) + (= 200 (:status (http/get "http://localhost:9200"))) (catch Exception e false))) -(defn solr-doc-count [] - (-> (http/get "http://localhost:8983/solr/admin/cores?action=STATUS&wt=json" {:as :json}) +(defn elastic-doc-count [] + (-> (http/get "http://localhost:9200/work/_search" {:as :json}) :body - :status - :crmds1 - :index - :numDocs)) + :hits + :total)) -(defn- mongo-ready? [] - (try - (let [conn (m/make-connection "crossref" :host "127.0.0.1" :port 27017) - databases (m/with-mongo conn - (m/databases))] - (m/close-connection conn) - databases) - (catch Exception e - false))) +(defn create-elastic-indexes [] + (elastic-mappings/create-indexes + (qbits.spandex/client {:hosts (get-param [:service :elastic :urls])}))) (def core-started? (atom false)) (defn start [] (let [result - (sh "docker-compose" "up" "-d" "mongo" "solr" - :env {"CAYENNE_SOLR_HOST" "cayenne_solr_1:8983" - "PATH" (System/getenv "PATH") - "MONGO_HOST" "cayenne_mongo_1:27017"})] + (sh "docker-compose" "up" "-d" "elasticsearch" + :env {"PATH" (System/getenv "PATH")})] (if-not (-> result :exit zero?) (do (println "Error starting Docker Compose:") (println result)) (do - ;; wait for solr to start, sometimes takes a while to load the core - (while (or (not (solr-ready?)) - (not (mongo-ready?))) - (println "Waiting for solr and mongo to be ready..") + (while (not (elastic-ready?)) + (println "Waiting for elasticsearch to be ready..") (Thread/sleep 500)) - (when-not @core-started? - (when (start-core! :default :api :feed-api) - (reset! core-started? true))))))) + (create-elastic-indexes) + (start-core! :default :api :feed-api))))) (defn stop [] (sh "docker-compose" "down")) @@ -87,14 +73,14 @@ "http://sws.geonames.org/2661886/" "Sweden" "http://sws.geonames.org/1861060/" "Japan" url)))] - (load-funders))) + (index-funders))) (defn load-test-journals [] (with-core :default (set-param! [:location :cr-titles-csv] (.getPath (resource "titles.csv")))) - (load-journals)) + (index-journals)) -(defn process-feed [] +(defn setup-for-feeds [] (let [feed-dir (.getPath (resource "feeds")) feed-source-dir (str feed-dir "/corpus") feed-in-dir (str feed-dir "/feed-in") @@ -102,42 +88,49 @@ feed-file-count (count (dir-seq-glob (path feed-source-dir) "*.body"))] (delete-dir feed-processed-dir) (delete-dir feed-in-dir) - (copy-dir feed-source-dir feed-in-dir) (with-core :default (set-param! [:dir :data] feed-dir) (set-param! [:dir :test-data] feed-dir) - (set-param! [:location :cr-titles-csv] (.getPath (resource "titles.csv"))) - (set-param! [:service :solr :insert-list-max-size] 0)) - (load-journals) + (set-param! [:location :cr-titles-csv] (.getPath (resource "titles.csv")))) + {:feed-source-dir feed-source-dir + :feed-in-dir feed-in-dir + :feed-file-count feed-file-count})) + +(defn process-feed [] + (let [{:keys [feed-source-dir feed-in-dir feed-file-count]} (setup-for-feeds)] + (when-not (= feed-file-count 177) + (throw (Exception. + (str "The number of feed input files is not as expected. Expected to find " + 177 + " files in " + feed-source-dir + " but found " + feed-file-count)))) + (copy-dir feed-source-dir feed-in-dir) + (index-journals) (with-redefs [cayenne.tasks.publisher/get-member-list (fn get-member-list [] (read-string (slurp (resource "get-member-list.edn")))) cayenne.tasks.publisher/get-prefix-info - (fn get-prefix-info [prefix] + (fn get-prefix-info [_ prefix] (assoc (read-string (slurp (resource "get-prefix-info.edn"))) :value prefix))] - (load-members) - (start-insert-list-processing) + (index-members) (start-feed-processing) - (while (not= (solr-doc-count) feed-file-count) - (println "Waiting for solr to finish indexing....") + (while (not= (elastic-doc-count) 171) + (println "Waiting for elasticsearch to finish indexing....") (Thread/sleep 1000)) - (check-journals "journals") - (check-members "members")))) + (check-journals) + (check-members)))) -(defn setup-for-feeds [] - (let [feed-dir (.getPath (resource "feeds")) - feed-source-dir (str feed-dir "/corpus") - feed-in-dir (str feed-dir "/feed-in") - feed-processed-dir (str feed-dir "/feed-processed") - feed-file-count (count (dir-seq-glob (path feed-source-dir) "*.body"))] - (delete-dir feed-processed-dir) - (delete-dir feed-in-dir) - (with-core :default - (set-param! [:dir :data] feed-dir) - (set-param! [:dir :test-data] feed-dir) - (set-param! [:location :cr-titles-csv] (.getPath (resource "titles.csv"))) - (set-param! [:service :solr :insert-list-max-size] 0)))) +(defn elastic-work-hits [] + (map elastic-convert/es-doc->citeproc + (-> (qbits.spandex/client {:hosts (get-param [:service :elastic :urls])}) + (qbits.spandex/request + {:url [:work :_search] + :method :get + :body {:query {:match_all {}}}}) + :body :hits :hits))) (def system @cores) diff --git a/docker-compose.yml b/docker-compose.yml index 98bc15d3..2e38b496 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -5,61 +5,26 @@ services: build: . command: lein run :nrepl :api :deposit-api links: - - mongo - - solr + - elasticsearch environment: - - MONGO_HOST - - SOLR_HOST=${CAYENNE_SOLR_HOST} - API_PORT=3000 - NREPL_PORT=7880 ports: - 80:3000 - 7880:7880 - indexer: - build: . - command: lein run :nrepl :index - environment: - - MONGO_HOST - - SOLR_HOST=${CAYENNE_SOLR_HOST} - - NREPL_PORT=7881 - links: - - mongo - ports: - - 7881 - updater: - build: . - command: lein run :nrepl :update-members :update-journals :update-funders - environment: - - MONGO_HOST - - SOLR_HOST=${CAYENNE_SOLR_HOST} - - NREPL_PORT=7882 - links: - - mongo - ports: - - 7882 - feeder: - build: . - command: lein run :nrepl :api :feed-api :process-feed-files + elasticsearch: + image: docker.elastic.co/elasticsearch/elasticsearch:6.2.3 + container_name: elasticsearch environment: - - MONGO_HOST - - SOLR_HOST=${CAYENNE_SOLR_HOST} - - NREPL_PORT=7883 - - API_PORT=3001 - links: - - mongo - ports: - - 80:3001 - - 7883 - tmpfs: - - /tmp - mongo: - image: mongo - ports: - - 27017:27017 - solr: - image: crossref/cayenne-solr + - cluster.name=docker-cluster + - bootstrap.memory_lock=true + - "ES_JAVA_OPTS=-Xms512m -Xmx512m" + ulimits: + memlock: + soft: -1 + hard: -1 ports: - - 8983:8983 + - 9200:9200 networks: default: external: diff --git a/src/cayenne/api/v1/filter.clj b/src/cayenne/api/v1/filter.clj index b56aaae8..b909a4b5 100644 --- a/src/cayenne/api/v1/filter.clj +++ b/src/cayenne/api/v1/filter.clj @@ -120,6 +120,11 @@ ;; Filter definitions ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +(def compound-fields + {:full-text ["type" "application" "version"] + :license ["url" "version" "delay"] + :award ["funder_doi" "number"] + :relation ["type" "object_type" "object"]}) (def std-filters {"from-update-date" (date-range :deposited :from) diff --git a/src/cayenne/api/v1/routes.clj b/src/cayenne/api/v1/routes.clj index edbc009e..c14069e5 100644 --- a/src/cayenne/api/v1/routes.clj +++ b/src/cayenne/api/v1/routes.clj @@ -143,7 +143,7 @@ :handle-malformed :validation-result :allowed-methods [:get :options :head] :available-media-types t/json - :exists? (->1 #(when-let [agency (work/parse-agency (work/get-agency doi))] {:agency agency})) + :exists? (->1 #(when-let [agency (work/get-agency doi)] {:agency agency})) :handle-ok #(work/->agency-response doi (:agency %))) (defn force-exact-request-doi diff --git a/src/cayenne/tasks.clj b/src/cayenne/tasks.clj index ac59f18c..627c19b0 100644 --- a/src/cayenne/tasks.clj +++ b/src/cayenne/tasks.clj @@ -17,13 +17,6 @@ (production/apply-env-overrides :task) (conf/start-core! :task)) -;; (defn load-funders [& args] - ;; (setup) - ;; (funder/clear!) - ;; (funder/drop-loading-collection) - ;; (funder/load-funders-rdf (java.net.URL. (conf/get-param [:location :cr-funder-registry]))) - ;; (funder/swapin-loading-collection)) - (defn index-journals [& args] (setup) (journal/index-journals)) @@ -37,26 +30,3 @@ (defn index-subjects [& args] (setup) (category/index-subjects)) - -(defn load-last-day-works [& args] - (setup) - (let [oai-date-format (timef/formatter "yyyy-MM-dd") - from (timef/unparse oai-date-format (time/minus (time/today-at-midnight) (time/days 2))) - until (timef/unparse oai-date-format (time/today-at-midnight))] - (doseq [oai-service [:crossref-journals :crossref-serials :crossref-books]] - (action/get-oai-records - (conf/get-param [:oai oai-service]) from until action/index-solr-docs)))) - -(defn update-old-index-docs [& args] - (setup) - (let [dois (->> {:rows (int 10) - :select ["DOI"] - :filters {"until-index-date" args}} - work/fetch - :message - :items - (map :DOI))] - (println "Updating" (count dois) "DOIs") - (doseq [doi dois] - (action/parse-doi doi action/index-solr-docs)) - (println "Done"))) From 595ec6879fd10e7c069399cf25413626db4bbabd Mon Sep 17 00:00:00 2001 From: Mark Woodhall Date: Fri, 6 Apr 2018 21:08:07 +0100 Subject: [PATCH 075/156] Update config to match master --- src/cayenne/conf.clj | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/cayenne/conf.clj b/src/cayenne/conf.clj index c4fbca94..8e1974a3 100644 --- a/src/cayenne/conf.clj +++ b/src/cayenne/conf.clj @@ -123,12 +123,12 @@ (set-param! [:id :isbn :path] "http://id.crossref.org/isbn/") (set-param! [:id :orcid :path] "http://orcid.org/") (set-param! [:id :owner-prefix :path] "http://id.crossref.org/prefix/") - (set-param! [:id :long-doi :path] "https://doi.org/") - (set-param! [:id :short-doi :path] "https://doi.org/") + (set-param! [:id :long-doi :path] "http://dx.doi.org/") + (set-param! [:id :short-doi :path] "http://doi.org/") (set-param! [:id :supplementary :path] "http://id.crossref.org/supp/") (set-param! [:id :contributor :path] "http://id.crossref.org/contributor/") (set-param! [:id :member :path] "http://id.crossref.org/member/") - + (set-param! [:id-generic :path] "http://id.crossref.org/") (set-param! [:id-generic :data-path] "http://data.crossref.org/") From 81de8409b37ef0cc22e4f08291225374801c1032 Mon Sep 17 00:00:00 2001 From: Mark Woodhall Date: Fri, 6 Apr 2018 21:08:36 +0100 Subject: [PATCH 076/156] Minor formatting fix --- src/cayenne/conf.clj | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/cayenne/conf.clj b/src/cayenne/conf.clj index 8e1974a3..af2d514e 100644 --- a/src/cayenne/conf.clj +++ b/src/cayenne/conf.clj @@ -153,7 +153,7 @@ (set-param! [:upstream :crossref-test-auth] "http://test.crossref.org/info")) (with-core :default - (add-startup-task + (add-startup-task :base (fn [profiles] (set-service! :executor @@ -172,4 +172,3 @@ (nrepl/start-server :port (get-param [:service :nrepl :port])))))) (set-core! :default) - From ae5ae9b1fd6997b2e6f7a6e1306b08325dd7af81 Mon Sep 17 00:00:00 2001 From: Mark Woodhall Date: Fri, 6 Apr 2018 21:09:35 +0100 Subject: [PATCH 077/156] Remove tasks no longer used by elastic implementation --- src/cayenne/tasks/update.clj | 39 ------------------------------------ 1 file changed, 39 deletions(-) delete mode 100644 src/cayenne/tasks/update.clj diff --git a/src/cayenne/tasks/update.clj b/src/cayenne/tasks/update.clj deleted file mode 100644 index 7cd2daf9..00000000 --- a/src/cayenne/tasks/update.clj +++ /dev/null @@ -1,39 +0,0 @@ -(ns cayenne.tasks.update - (:require [cayenne.conf :as conf] - [cayenne.data.work :as work] - [cayenne.tasks.solr :as solr] - [cayenne.ids.doi :as doi-id] - [cayenne.formats.citeproc :as citeproc]) - (:import [org.apache.solr.client.solrj SolrQuery])) - -(defn update-solr-doc-with-update-by [solr-doc update from-doi] - (doto solr-doc - (.addField "update_by_doi" (doi-id/to-long-doi-uri from-doi)) - (.addField "update_by_type" (:type update)) - (.addField "update_by_label" (:label update)) - (.addField "update_by_date" (-> update :updated :date-parts first solr/as-datetime)))) - -(defn write-update! [update from-doi] - (-> (conf/get-service :solr) - (.query (SolrQuery. (str "doi_key:\"" (doi-id/to-long-doi-uri from-doi) "\""))) - (.getResults) - first - (update-solr-doc-with-update-by update from-doi) - solr/insert-solr-doc)) - -(defn write-updates! [metadata] - (doseq [update (:update-to metadata)] - (write-update! update (:DOI metadata)))) - -(defn write-all-updates! [& {:keys [offset] :or {offset 0}}] - (let [rows 1000 - update-docs-response (work/fetch {:filters {:is-update "true"} - :rows (int rows) - :offset (int offset)}) - update-docs (-> update-docs-response :message :items)] - (doseq [update-doc update-docs] - (write-updates! update-doc)) - (when-not (zero? (count update-docs)) - (recur [:offset (+ offset rows)])))) - - From f134f05a854c981f4d7865e2bf80cc33968a181c Mon Sep 17 00:00:00 2001 From: Mark Woodhall Date: Fri, 6 Apr 2018 21:11:32 +0100 Subject: [PATCH 078/156] Add accoc-exists from master --- src/cayenne/util.clj | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/src/cayenne/util.clj b/src/cayenne/util.clj index 39f641c4..fb64246a 100644 --- a/src/cayenne/util.clj +++ b/src/cayenne/util.clj @@ -17,9 +17,28 @@ (assert (even? (count kvs))) (into m (for [[k v] (partition 2 kvs) - :when (not (string/blank? v))] + :when (not (string/blank? v))] [k (string/trim v)]))) +(defn assoc-exists + "Like assoc except only performs the assoc if value is + a non-empty string, non-empty list or a non-nil value." + ([m key value] + (assoc-exists m key value value)) + ([m key value assoc-value] + (cond (= (type value) java.lang.String) + (if (clojure.string/blank? value) + m + (assoc m key assoc-value)) + (sequential? value) + (if (empty? value) + m + (assoc m key assoc-value)) + (nil? value) + m + :else + (assoc m key assoc-value)))) + (declare parse-int-safe) (defn assoc-int From be05ce035aa25a755250393c417ff335a526fe6e Mon Sep 17 00:00:00 2001 From: Mark Woodhall Date: Fri, 6 Apr 2018 21:12:54 +0100 Subject: [PATCH 079/156] Parse coverage stats as doubles --- src/cayenne/tasks/coverage.clj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/cayenne/tasks/coverage.clj b/src/cayenne/tasks/coverage.clj index 20128d75..e5c91bbc 100644 --- a/src/cayenne/tasks/coverage.clj +++ b/src/cayenne/tasks/coverage.clj @@ -39,7 +39,7 @@ (defn coverage [total-count check-count] (if (zero? total-count) 0 - (float (/ check-count total-count)))) + (double (/ check-count total-count)))) (defn make-filter-check [member-action check-name filter-name filter-value] (fn [type id] From e376513010e758b5ec1fc8ebc961434353c223cb Mon Sep 17 00:00:00 2001 From: Mark Woodhall Date: Fri, 6 Apr 2018 21:14:53 +0100 Subject: [PATCH 080/156] Add some missing index mappings --- src/cayenne/elastic/mappings.clj | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/cayenne/elastic/mappings.clj b/src/cayenne/elastic/mappings.clj index f2b2267e..ea7c7e6d 100644 --- a/src/cayenne/elastic/mappings.clj +++ b/src/cayenne/elastic/mappings.clj @@ -8,6 +8,7 @@ :org-name {:type "text"} :prefix {:type "text"} :suffix {:type "text"} + :sequence {:type "text"} :orcid {:type "keyword" :copy_to :contributor-orcid} :affiliation {:type "keyword" :copy_to [:affiliation :affiliation-text]} :authenticated-orcid {:type "boolean"}}) @@ -105,6 +106,7 @@ (def work-properties {:metadata-content-text {:type "text"} + :source {:type "text"} :bibliographic-content-text {:type "text"} :title-text {:type "text"} :container-title-text {:type "text"} @@ -149,6 +151,7 @@ :deposited {:type "date"} :indexed {:type "date"} :issued {:type "date"} + :published {:type "date"} :published-online {:type "date"} :published-print {:type "date"} :published-other {:type "date"} @@ -166,6 +169,7 @@ :edition-number {:type "keyword"} :part-number {:type "keyword"} :component-number {:type "keyword"} + :language {:type "text"} :update-policy {:type "keyword"} :domain {:type "keyword"} :domain-exclusive {:type "boolean"} @@ -253,7 +257,7 @@ :current-dois {:type "long"} :breakdowns {:type "object"} :coverage {:type "object"}}) - + (def index-mappings {"work" {"_all" {:enabled false} :properties work-properties} "member" {"_all" {:enabled false} :properties member-properties} @@ -269,7 +273,7 @@ "subject" {:number_of_shards 1 :number_of_replicas 3} "coverage" {:number_of_shards 1 :number_of_replicas 3} "journal" {:number_of_shards 1 :number_of_replicas 3}}) - + (defn create-indexes "Creates an index per top-level document type - in preparation for ES 6+ compatibility (which will remove multi-type per fields, making From 5ba8ffaad04668c563e1b07d3a403d1bb62d25c0 Mon Sep 17 00:00:00 2001 From: Mark Woodhall Date: Fri, 6 Apr 2018 21:16:53 +0100 Subject: [PATCH 081/156] Get hour, min, and second where applicable --- src/cayenne/elastic/convert.clj | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/cayenne/elastic/convert.clj b/src/cayenne/elastic/convert.clj index a599b94c..e1950a14 100644 --- a/src/cayenne/elastic/convert.clj +++ b/src/cayenne/elastic/convert.clj @@ -18,8 +18,13 @@ (defn particle->date-time [particle] (let [year (-> particle :year util/parse-int-safe) month (-> particle :month util/parse-int-safe) - day (-> particle :day util/parse-int-safe)] - (cond (and year month day) + day (-> particle :day util/parse-int-safe) + hour (-> particle :hour util/parse-int-safe) + minute (-> particle :minute util/parse-int-safe) + sec (-> particle :second util/parse-int-safe)] + (cond (and hour minute sec) + (t/date-time year month day hour minute sec) + (and year month day) (if (< (t/number-of-days-in-the-month year month) day) (t/date-time year month) (t/date-time year month day)) From 372523fee3a746777315b27627b2c990bd512a09 Mon Sep 17 00:00:00 2001 From: Mark Woodhall Date: Fri, 6 Apr 2018 21:19:06 +0100 Subject: [PATCH 082/156] Consider same dates as master for issued date, store published date --- src/cayenne/elastic/convert.clj | 22 ++++++++++++++-------- 1 file changed, 14 insertions(+), 8 deletions(-) diff --git a/src/cayenne/elastic/convert.clj b/src/cayenne/elastic/convert.clj index e1950a14..1f468e4d 100644 --- a/src/cayenne/elastic/convert.clj +++ b/src/cayenne/elastic/convert.clj @@ -72,19 +72,24 @@ (itree/get-item-rel item :published-online) (itree/get-item-rel item :published-other) (itree/get-item-rel item :published) - (itree/get-item-rel item :content-created) - (itree/get-tree-rel item :posted) - (itree/get-tree-rel item :published-print) - (itree/get-tree-rel item :published-online) - (itree/get-tree-rel item :published-other) - (itree/get-tree-rel item :published) (itree/get-tree-rel item :content-created) - (itree/get-tree-rel item :first-deposited) (itree/get-tree-rel item :deposited)) (sort-by particle->date-time) first particle->date-time)) +(defn item-published-date [item] + (->> (concat + (itree/get-item-rel item :posted) + (itree/get-item-rel item :published-print) + (itree/get-item-rel item :published-online) + (itree/get-item-rel item :published-other) + (itree/get-item-rel item :published) + (itree/get-tree-rel item :content-created)) + (sort-by particle->date-time) + first + particle->date-time)) + (defn item-date [item date-rel] (when-let [first-date (-> item (itree/get-item-rel date-rel) first)] (particle->date-time first-date))) @@ -335,8 +340,9 @@ :book-id (maybe-int (:book-id publisher)) :supplementary-id (itree/get-item-ids item :supplementary) :issued-year (t/year (item-issued-date item)) - + :issued (item-issued-date item) + :published (item-published-date item) :published-online (item-date item :published-online) :published-print (item-date item :published-print) :published-other (item-date item :published-other) From 19bef44c7e27d206efd83f4909d458137950acf0 Mon Sep 17 00:00:00 2001 From: Mark Woodhall Date: Fri, 6 Apr 2018 21:20:22 +0100 Subject: [PATCH 083/156] Store contributor sequence --- src/cayenne/elastic/convert.clj | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/cayenne/elastic/convert.clj b/src/cayenne/elastic/convert.clj index 1f468e4d..576585ff 100644 --- a/src/cayenne/elastic/convert.clj +++ b/src/cayenne/elastic/convert.clj @@ -164,9 +164,10 @@ :prefix (:prefix %) :orcid (item-orcid %) :orcid-authenticated (:orcid-authenticated %) + :sequence (:sequence %) :affiliation (as-> % $ - (itree/get-item-rel $ :affiliation) - (map :name $))) + (itree/get-item-rel $ :affiliation) + (map :name $))) (itree/get-tree-rel item contributor-rel))) contributions)) From 8b19f16391bcf4c9d0fe6565711461b25a556a36 Mon Sep 17 00:00:00 2001 From: Mark Woodhall Date: Fri, 6 Apr 2018 21:21:45 +0100 Subject: [PATCH 084/156] Include contributor sequence in citeproc --- src/cayenne/elastic/convert.clj | 25 +++++++++++++------------ 1 file changed, 13 insertions(+), 12 deletions(-) diff --git a/src/cayenne/elastic/convert.clj b/src/cayenne/elastic/convert.clj index 576585ff..d930fc27 100644 --- a/src/cayenne/elastic/convert.clj +++ b/src/cayenne/elastic/convert.clj @@ -429,19 +429,20 @@ (defn citeproc-contributors [es-doc & {:keys [contribution]}] (cond->> (:contributor es-doc) - :always - (map #(hash-map - :type (:contribution %) - :ORCID (:orcid %) - :authenticated-orcid (:authenticated-orcid %) - :prefix (:prefix %) - :suffix (:suffix %) - :name (:org-name %) - :given (:given-name %) - :family (:family-name %) - :affiliation (map (fn [affil] {:name affil}) (:affiliation %)))) contribution - (filter #(= (-> % :type keyword) contribution)))) + (filter #(= contribution (-> % :contribution keyword))) + :always + (map + #(-> {} + (util/assoc-exists :ORCID (:orcid %)) + (util/assoc-exists :authenticated-orcid (:authenticated-orcid %)) + (util/assoc-exists :prefix (:prefix %)) + (util/assoc-exists :suffix (:suffix %)) + (util/assoc-exists :name (:org-name %)) + (util/assoc-exists :given (:given-name %)) + (util/assoc-exists :family (:family-name %)) + (util/assoc-exists :sequence (:sequence %)) + (assoc :affiliation (map (fn [affil] {:name affil}) (:affiliation %))))))) (defn citeproc-events [es-doc] (map #(-> % From c1722a812b67a7e1cc6e2f29671e50f61e78826b Mon Sep 17 00:00:00 2001 From: Mark Woodhall Date: Fri, 6 Apr 2018 21:23:14 +0100 Subject: [PATCH 085/156] Store journal language and item source --- src/cayenne/elastic/convert.clj | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/cayenne/elastic/convert.clj b/src/cayenne/elastic/convert.clj index d930fc27..43b35a46 100644 --- a/src/cayenne/elastic/convert.clj +++ b/src/cayenne/elastic/convert.clj @@ -329,9 +329,11 @@ (defn item->es-doc [item] (let [doi (item-doi item) publisher (-> item (itree/get-tree-rel :publisher) first) + journal (itree/find-item-of-subtype item :journal) journal-issue (itree/find-item-of-subtype item :journal-issue) journal-volume (itree/find-item-of-subtype item :journal-volume)] {:doi doi + :source "Crossref" :type (item-type item) :prefix (doi-id/extract-long-prefix doi) :owner-prefix (item-owner-prefix publisher) @@ -380,6 +382,7 @@ ;; :edition-number ;; :part-number ;; :component-number + :language (:language journal) :update-policy (item-update-policy item) :domain (itree/get-item-rel item :domains) From aaf560f7286ddb8502e9b10e934258cccd4ed4be Mon Sep 17 00:00:00 2001 From: Mark Woodhall Date: Fri, 6 Apr 2018 21:25:06 +0100 Subject: [PATCH 086/156] Replace many used of assoc with assoc-exists, to match master --- src/cayenne/elastic/convert.clj | 135 ++++++++++++++++++-------------- 1 file changed, 77 insertions(+), 58 deletions(-) diff --git a/src/cayenne/elastic/convert.clj b/src/cayenne/elastic/convert.clj index 43b35a46..78ad5372 100644 --- a/src/cayenne/elastic/convert.clj +++ b/src/cayenne/elastic/convert.clj @@ -464,12 +464,13 @@ (:reference es-doc))) (defn citeproc-relations [es-doc] - (map #(hash-map - :id (:object %) - :id-type (:object-type %) - :asserted-by (:claimed-by %) - :rel (:type %)) - (:relation es-doc))) + (->> (:relation es-doc) + (map #(hash-map + :id (:object %) + :id-type (:object-type %) + :asserted-by (:claimed-by %) + :rel (:type %))) + (group-by :rel))) (defn citeproc-licenses [es-doc] (map #(-> % @@ -483,16 +484,24 @@ (:license es-doc))) (defn citeproc-assertions [es-doc] - (map #(hash-map - :value (:value %) - :URL (:url %) - :order (:order %) - :name (:name %) - :label (:label %) - :explanation {:URL (:explanation-url %)} - :group {:name (:group-name %) :label (:group-label %)}) + (map #(-> {} + (util/assoc-exists :value (:value %)) + (util/assoc-exists :URL (:url %)) + (util/assoc-exists :order (:order %)) + (util/assoc-exists :name (:name %)) + (util/assoc-exists :label (if (:label %) (clojure.string/trim (:label %)))) + (util/assoc-exists :explanation (:explanation-url %) {:URL (:explanation-url %)}) + (util/assoc-exists :group (:group-name %) {:name (:group-name %) :label (:group-label %)})) (:assertion es-doc))) +(defn citeproc-links [es-doc] + (map #(-> {} + (util/assoc-exists :URL (:url %)) + (util/assoc-exists :content-type (:content-type %)) + (util/assoc-exists :content-version (:version %)) + (util/assoc-exists :intended-application (:application %))) + (:link es-doc))) + (defn citeproc-clinical-trials [es-doc] (map #(hash-map :clinical-trial-number (:number %) @@ -510,62 +519,72 @@ ;; todo merge on :DOI (defn citeproc-funders [es-doc] - (map #(hash-map - :DOI (:doi %) - :name (:name %) - :doi-asserted-by (:doi-asserted-by %) - :award (map (fn [award] {:name award}) (:award %))) - (:funder es-doc))) + (if-let [funders (:funder es-doc)] + (map + #(-> {} + (util/assoc-exists :DOI (:doi %)) + (util/assoc-exists :name (:name %)) + (util/assoc-exists :doi-asserted-by (:doi-asserted-by %)) + (util/assoc-exists :award (map (fn [award] {:name award}) (:award %)))) funders))) (defn es-doc->citeproc [es-doc] (let [source-doc (:_source es-doc)] (-> source-doc - (select-keys [:title :short-title :original-title :group-title :subtitle + + (select-keys [:source :group-title :container-title :short-container-title :issue :volume :description :degree :update-policy :archive :type :prefix - :owner-prefix :references-count :is-referenced-by-count + :references-count :is-referenced-by-count :language :publisher :publisher-location :article-number :edition-number :part-number :component-number]) - (assoc :abstract (:abstract-xml source-doc)) - (assoc :alternative-id (:supplementary-id source-doc)) - (assoc :ISSN (->> source-doc :issn (map :value))) - (assoc :ISBN (->> source-doc :isbn (map :value))) - (assoc :issn-type (:issn source-doc)) - (assoc :isbn-type (:isbn source-doc)) + (->> (reduce (fn [acc i] (util/assoc-exists acc (first i) (last i))) {})) + + (assoc :title (:title source-doc)) + (assoc :subtitle (:subtitle source-doc)) + (assoc :short-title (:short-title source-doc)) + (assoc :original-title (:original-title source-doc)) + (assoc :reference-count (:references-count source-doc)) (assoc :DOI (:doi source-doc)) (assoc :URL (-> source-doc :doi doi-id/to-long-doi-uri)) - (assoc :member (:member-id source-doc)) - (assoc :journal (:journal-id source-doc)) - (assoc :page (citeproc-pages source-doc)) - (assoc :issued (-> source-doc :issued citeproc-date)) - (assoc :published-print (-> source-doc :published-print citeproc-date)) - (assoc :published-online (-> source-doc :published-online citeproc-date)) - (assoc :published-other (-> source-doc :published-other citeproc-date)) - (assoc :posted (-> source-doc :posted citeproc-date)) - (assoc :accepted (-> source-doc :accepted citeproc-date)) - (assoc :approved (-> source-doc :approved citeproc-date)) + (assoc :issued (-> source-doc :issued citeproc-date (select-keys [:date-parts]))) + (assoc :prefix (:owner-prefix source-doc)) + (assoc :member (when (:member-id source-doc) (str (:member-id source-doc)))) (assoc :indexed (-> source-doc :indexed citeproc-date)) - (assoc :deposited (-> source-doc :deposited citeproc-date)) - (assoc :created (-> source-doc :first-deposited citeproc-date)) - (assoc :content-created (-> source-doc :content-created citeproc-date)) - (assoc :content-updated (-> source-doc :content-updated citeproc-date)) - (assoc :author (citeproc-contributors source-doc :contribution :author)) - (assoc :editor (citeproc-contributors source-doc :contribution :editor)) - (assoc :translator (citeproc-contributors source-doc :contribution :translator)) - (assoc :chair (citeproc-contributors source-doc :contribution :chair)) - (assoc :standards-body (:standards-body source-doc)) - (assoc :reference (citeproc-references source-doc)) - (assoc :event (citeproc-events source-doc)) - (assoc :clinical-trial-number (citeproc-clinical-trials source-doc)) - (assoc :assertion (citeproc-assertions source-doc)) - (assoc :funder (citeproc-funders source-doc)) - (assoc :license (citeproc-licenses source-doc)) - (assoc :updated-by (citeproc-updates (:updated-by source-doc))) - (assoc :update-to (citeproc-updates (:update-to source-doc))) (assoc :relation (citeproc-relations source-doc)) - - (assoc :content-domain {:crossmark-restriction (:domain-exclusive source-doc) - :domain (:domain source-doc)}) + (assoc :content-domain {:crossmark-restriction (:domain-exclusive source-doc) + :domain (:domain source-doc)}) + + (util/assoc-exists :abstract (:abstract-xml source-doc)) + (util/assoc-exists :alternative-id (->> source-doc :supplementary-id (map ids/extract-supplementary-id))) + (util/assoc-exists :ISSN (->> source-doc :issn (map :value))) + (util/assoc-exists :ISBN (->> source-doc :isbn (map :value))) + (util/assoc-exists :issn-type (:issn source-doc)) + (util/assoc-exists :isbn-type (:isbn source-doc)) + (util/assoc-exists :page (citeproc-pages source-doc)) + (util/assoc-exists :published-print (-> source-doc :published-print citeproc-date (select-keys [:date-parts]))) + (util/assoc-exists :published-online (-> source-doc :published-online citeproc-date)) + (util/assoc-exists :published-other (-> source-doc :published-other citeproc-date)) + (util/assoc-exists :posted (-> source-doc :posted citeproc-date)) + (util/assoc-exists :accepted (-> source-doc :accepted citeproc-date)) + (util/assoc-exists :approved (-> source-doc :approved citeproc-date)) + (util/assoc-exists :deposited (-> source-doc :deposited citeproc-date)) + (util/assoc-exists :created (-> source-doc :first-deposited citeproc-date)) + (util/assoc-exists :content-created (-> source-doc :content-created citeproc-date)) + (util/assoc-exists :content-updated (-> source-doc :content-updated citeproc-date)) + (util/assoc-exists :author (citeproc-contributors source-doc :contribution :author)) + (util/assoc-exists :editor (citeproc-contributors source-doc :contribution :editor)) + (util/assoc-exists :translator (citeproc-contributors source-doc :contribution :translator)) + (util/assoc-exists :chair (citeproc-contributors source-doc :contribution :chair)) + (util/assoc-exists :standards-body (:standards-body source-doc)) + (util/assoc-exists :reference (citeproc-references source-doc)) + (util/assoc-exists :event (citeproc-events source-doc)) + (util/assoc-exists :clinical-trial-number (citeproc-clinical-trials source-doc)) + (util/assoc-exists :assertion (citeproc-assertions source-doc)) + (util/assoc-exists :link (citeproc-links source-doc)) + (util/assoc-exists :funder (citeproc-funders source-doc)) + (util/assoc-exists :license (citeproc-licenses source-doc)) + (util/assoc-exists :updated-by (citeproc-updates (:updated-by source-doc))) + (util/assoc-exists :update-to (citeproc-updates (:update-to source-doc))) (assoc :score (:_score es-doc))))) From e98ae2b0449ca24e4ec70f5c85bdbec80c3ec2c4 Mon Sep 17 00:00:00 2001 From: Mark Woodhall Date: Fri, 6 Apr 2018 21:26:09 +0100 Subject: [PATCH 087/156] Unparse date with no milliseconds --- src/cayenne/elastic/convert.clj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/cayenne/elastic/convert.clj b/src/cayenne/elastic/convert.clj index 78ad5372..a1757050 100644 --- a/src/cayenne/elastic/convert.clj +++ b/src/cayenne/elastic/convert.clj @@ -418,7 +418,7 @@ (when date-str (let [instant (tf/parse (tf/formatters :date-time) date-str)] {:date-parts [[(t/year instant) (t/month instant) (t/day instant)]] - :date-time (.toString instant) + :date-time (tf/unparse (tf/formatters :date-time-no-ms) instant) :timestamp (tc/to-long instant)}))) (defn citeproc-pages [{:keys [first-page last-page]}] From 3e6273d9a48761611416072d1b0362937c636154 Mon Sep 17 00:00:00 2001 From: Mark Woodhall Date: Fri, 6 Apr 2018 21:27:14 +0100 Subject: [PATCH 088/156] Make deposited and first-deposited implementation the same as master --- src/cayenne/elastic/convert.clj | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/cayenne/elastic/convert.clj b/src/cayenne/elastic/convert.clj index a1757050..d9537dc1 100644 --- a/src/cayenne/elastic/convert.clj +++ b/src/cayenne/elastic/convert.clj @@ -354,8 +354,9 @@ :content-created (item-date item :content-created) :content-updated (item-date item :content-updated) :approved (item-date item :approved) - :deposited (item-date item :deposited) - :first-deposited (item-date item :first-deposited) + :deposited (-> item (itree/get-tree-rel :deposited) first particle->date-time) + :first-deposited (or (-> item (itree/get-tree-rel :first-deposited) first particle->date-time) + (-> item (itree/get-tree-rel :deposited) first particle->date-time)) :indexed (t/now) :is-referenced-by-count (-> item (itree/get-tree-rel :cited-count) first) From 65b3176434bf378539d202e4c61d1603cfc0ca14 Mon Sep 17 00:00:00 2001 From: Mark Woodhall Date: Fri, 6 Apr 2018 21:37:52 +0100 Subject: [PATCH 089/156] Update member name, prefix, and location to match master --- src/cayenne/data/member.clj | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/cayenne/data/member.clj b/src/cayenne/data/member.clj index 5fbbf83d..966675e9 100644 --- a/src/cayenne/data/member.clj +++ b/src/cayenne/data/member.clj @@ -15,10 +15,13 @@ (defn ->response-doc [member-doc & {:keys [coverage-doc]}] (cond-> {:id (:id member-doc) :primary-name (:primary-name member-doc) - :names (map :name (:prefix member-doc)) + :names (->> (:prefix member-doc) + (map (comp string/trim :name)) + (cons (:primary-name member-doc)) + distinct) :prefixes (map :value (:prefix member-doc)) - :prefix (:prefix member-doc) - :location (:location member-doc) + :prefix (map #(select-keys % [:reference-visibility :public-references :name :value]) (:prefix member-doc)) + :location (-> member-doc :location string/trim) :tokens (:token member-doc)} (not (nil? coverage-doc)) (merge From b31bce3c58f6ca9724fbcaa6c18e0eefaeb04a29 Mon Sep 17 00:00:00 2001 From: Mark Woodhall Date: Fri, 6 Apr 2018 21:42:45 +0100 Subject: [PATCH 090/156] Add support for member coverage when fetching more than one member --- src/cayenne/data/member.clj | 47 +++++++++++++++++++++++-------------- 1 file changed, 29 insertions(+), 18 deletions(-) diff --git a/src/cayenne/data/member.clj b/src/cayenne/data/member.clj index 966675e9..5575f72e 100644 --- a/src/cayenne/data/member.clj +++ b/src/cayenne/data/member.clj @@ -32,20 +32,23 @@ :total-dois]) :last-status-check-time (-> coverage-doc :finished dc/to-long)}))) -(defn get-coverage [subject-type subject-id] - (-> (elastic/request - (conf/get-service :elastic) - {:method :get - :url "/coverage/coverage/_search" - :body (-> {} +(defn get-coverage [subject-type subject-ids] + (let [query (-> {} (assoc-in [:query :bool :must] - [{:term {:subject-type subject-type}} - {:term {:subject-id subject-id}}]) - (assoc :size 1) - (assoc :sort {:finished :desc}))}) - (get-in [:body :hits :hits]) - first - :_source)) + [{:term {:subject-type subject-type}}]) + (assoc-in [:query :bool :minimum_should_match] 1) + (assoc-in [:query :bool :should] + (map (fn [subject-id] + {:term {:subject-id subject-id}}) subject-ids)) + (assoc :size (count subject-ids)) + (assoc :sort {:finished :desc}))] + (-> (elastic/request + (conf/get-service :elastic) + {:method :get + :url "/coverage/coverage/_search" + :body query}) + (get-in [:body :hits :hits]) + (->> (map :_source))))) (defn fetch-one [query-context] (let [response (elastic/request @@ -61,7 +64,7 @@ :content (->response-doc member-doc :coverage-doc - (get-coverage :member (:id member-doc))))))) + (first (get-coverage :member [(:id member-doc)]))))))) (defn fetch-works [query-context] (work/fetch query-context :id-field :member-id)) @@ -75,12 +78,20 @@ response (elastic/request (conf/get-service :elastic) es-request) - docs (->> (get-in response [:body :hits :hits]) - (map :_source))] + docs (->> [:body :hits :hits] + (get-in response) + (map :_source)) + find-coverage (->> docs + (map :id) + (get-coverage :member) + (partial (fn [coverages id] + (some + #(if (= (:subject-id %) id) %) coverages))))] (-> (r/api-response :member-list) (r/with-query-context-info query-context) (r/with-debug-info query-context es-request) (r/with-result-items (get-in response [:body :hits :total]) - (map ->response-doc docs))))) - + (map #(->response-doc + % + :coverage-doc (find-coverage (:id %))) docs))))) From 536cbfaa078412b9041afd0cdd814d8e043180d3 Mon Sep 17 00:00:00 2001 From: Mark Woodhall Date: Fri, 6 Apr 2018 21:46:10 +0100 Subject: [PATCH 091/156] Add breakdown, subjects defaults to empty vector, coverage support when fetching more than one journal --- src/cayenne/data/journal.clj | 49 +++++++++++++++++++++++------------- 1 file changed, 31 insertions(+), 18 deletions(-) diff --git a/src/cayenne/data/journal.clj b/src/cayenne/data/journal.clj index de548044..627af4b4 100644 --- a/src/cayenne/data/journal.clj +++ b/src/cayenne/data/journal.clj @@ -14,30 +14,34 @@ :publisher (:publisher journal-doc) :ISSN (map :value (:issn journal-doc)) :issn-type (:issn journal-doc) - :subjects (:subject journal-doc)} ;; todo {:ASJC :name} + :subjects (or (:subject journal-doc) [])} ;; todo {:ASJC :name} (not (nil? coverage-doc)) (merge {:flags (get-in coverage-doc [:coverage :flags]) :coverage (get-in coverage-doc [:coverage :coverage]) + :breakdowns (get-in coverage-doc [:breakdowns :breakdowns]) :counts (select-keys coverage-doc [:current-dois :backfile-dois :total-dois]) :last-status-check-time (-> coverage-doc :finished dc/to-long)}))) -(defn get-coverage [subject-type subject-id] - (-> (elastic/request - (conf/get-service :elastic) - {:method :get - :url "/coverage/coverage/_search" - :body (-> {} +(defn get-coverage [subject-type subject-ids] + (let [query (-> {} (assoc-in [:query :bool :must] - [{:term {:subject-type subject-type}} - {:term {:subject-id subject-id}}]) - (assoc :size 1) - (assoc :sort {:finished :desc}))}) - (get-in [:body :hits :hits]) - first - :_source)) + [{:term {:subject-type subject-type}}]) + (assoc-in [:query :bool :minimum_should_match] 1) + (assoc-in [:query :bool :should] + (map (fn [subject-id] + {:term {:subject-id subject-id}}) subject-ids)) + (assoc :size (count subject-ids)) + (assoc :sort {:finished :desc}))] + (-> (elastic/request + (conf/get-service :elastic) + {:method :get + :url "/coverage/coverage/_search" + :body query}) + (get-in [:body :hits :hits]) + (->> (map :_source))))) (defn fetch-one [query-context] (when-let [journal-doc (-> (elastic/request @@ -52,7 +56,7 @@ :content (->response-doc journal-doc :coverage-doc - (get-coverage :journal (:id journal-doc)))))) + (first (get-coverage :journal [(:id journal-doc)])))))) (defn fetch [query-context] (let [es-request (query/->es-request (query/prefix-query-context @@ -62,14 +66,23 @@ response (elastic/request (conf/get-service :elastic) es-request) - docs (->> (get-in response [:body :hits :hits]) - (map :_source))] + docs (->> [:body :hits :hits] + (get-in response) + (map :_source)) + find-coverage (->> docs + (map :id) + (get-coverage :journal) + (partial (fn [coverages id] + (some + #(if (= (:subject-id %) id) %) coverages))))] (-> (r/api-response :journal-list) (r/with-query-context-info query-context) (r/with-debug-info query-context es-request) (r/with-result-items (get-in response [:body :hits :total]) - (map ->response-doc docs))))) + (map #(->response-doc + % + :coverage-doc (find-coverage (:id %))) docs))))) (defn fetch-works [query-context] (work/fetch query-context :id-field :issn.value)) From 2de8b6c5c6c1d257fb677f2deacce1fe40693b58 Mon Sep 17 00:00:00 2001 From: Mark Woodhall Date: Fri, 6 Apr 2018 21:51:52 +0100 Subject: [PATCH 092/156] Use should instead of filter to influence score --- src/cayenne/api/v1/query.clj | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/cayenne/api/v1/query.clj b/src/cayenne/api/v1/query.clj index c1c146b0..5a6f18b1 100644 --- a/src/cayenne/api/v1/query.clj +++ b/src/cayenne/api/v1/query.clj @@ -258,22 +258,22 @@ ;; todo could be rewritten to use /type/type/id id-field - (assoc-in [:query :bool :filter :term] {id-field (:id query-context)}) - + (update-in [:query :bool :should] conj {:term {id-field (:id query-context)}}) + ;; todo only considering first filter value (-> query-context :filters empty? not) (with-filters query-context :filters filters))) - + (defn with-paging [es-body query-context & {:keys [paged count-only]}] (cond paged (-> es-body (assoc :from (or (:offset query-context) 0)) (assoc :size (:rows query-context))) - + count-only (assoc :size 0) - + :else es-body)) From 4cf973a4dc190b9a7205b3da14a6d6002eeb9f30 Mon Sep 17 00:00:00 2001 From: Mark Woodhall Date: Fri, 6 Apr 2018 21:53:13 +0100 Subject: [PATCH 093/156] Don't wait forever when indexing if counts don't match --- dev/user.clj | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/dev/user.clj b/dev/user.clj index 7e92312b..e21d980a 100644 --- a/dev/user.clj +++ b/dev/user.clj @@ -117,9 +117,14 @@ (assoc (read-string (slurp (resource "get-prefix-info.edn"))) :value prefix))] (index-members) (start-feed-processing) - (while (not= (elastic-doc-count) 171) - (println "Waiting for elasticsearch to finish indexing....") - (Thread/sleep 1000)) + (let [tries (atom 1)] + (while (and (not= (elastic-doc-count) 177) + (< @tries 50)) + (println "Waiting for elasticsearch to finish indexing....") + (Thread/sleep 1000) + (swap! tries inc)) + (if (>= @tries 50) + (println "Gave up waiting for elasticsearch to finish indexing...."))) (check-journals) (check-members)))) From ffaf9138968aa7b3b676b3ac4e83673370a84eed Mon Sep 17 00:00:00 2001 From: Mark Woodhall Date: Fri, 6 Apr 2018 21:53:50 +0100 Subject: [PATCH 094/156] docker-compose down before starting system --- dev/user.clj | 1 + 1 file changed, 1 insertion(+) diff --git a/dev/user.clj b/dev/user.clj index e21d980a..7966d097 100644 --- a/dev/user.clj +++ b/dev/user.clj @@ -33,6 +33,7 @@ (def core-started? (atom false)) (defn start [] + (sh "docker-compose" "down") (let [result (sh "docker-compose" "up" "-d" "elasticsearch" :env {"PATH" (System/getenv "PATH")})] From c9834f2cbdb2d15c678fd48ac013cac32cecd5c1 Mon Sep 17 00:00:00 2001 From: Mark Woodhall Date: Fri, 6 Apr 2018 21:55:56 +0100 Subject: [PATCH 095/156] Renames and formatting --- dev/user.clj | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/dev/user.clj b/dev/user.clj index 7966d097..457d1ace 100644 --- a/dev/user.clj +++ b/dev/user.clj @@ -81,7 +81,7 @@ (set-param! [:location :cr-titles-csv] (.getPath (resource "titles.csv")))) (index-journals)) -(defn setup-for-feeds [] +(defn setup-feed [] (let [feed-dir (.getPath (resource "feeds")) feed-source-dir (str feed-dir "/corpus") feed-in-dir (str feed-dir "/feed-in") @@ -97,8 +97,8 @@ :feed-in-dir feed-in-dir :feed-file-count feed-file-count})) -(defn process-feed [] - (let [{:keys [feed-source-dir feed-in-dir feed-file-count]} (setup-for-feeds)] +(defn index-feed [] + (let [{:keys [feed-source-dir feed-in-dir feed-file-count]} (setup-feed)] (when-not (= feed-file-count 177) (throw (Exception. (str "The number of feed input files is not as expected. Expected to find " From 9aa1ee9bde426d1d85f97ee15218d4c6f1e5e71b Mon Sep 17 00:00:00 2001 From: Mark Woodhall Date: Fri, 6 Apr 2018 22:01:12 +0100 Subject: [PATCH 096/156] Formatting and whitespace fixes --- src/cayenne/api/v1/query.clj | 71 ++++++++++++++++----------------- src/cayenne/data/work.clj | 2 +- src/cayenne/elastic/convert.clj | 10 ++--- src/cayenne/elastic/index.clj | 1 - src/cayenne/tasks/coverage.clj | 32 +++++++-------- src/cayenne/util.clj | 22 +++++----- test/cayenne/api_fixture.clj | 8 ++-- 7 files changed, 72 insertions(+), 74 deletions(-) diff --git a/src/cayenne/api/v1/query.clj b/src/cayenne/api/v1/query.clj index 5a6f18b1..ddef1470 100644 --- a/src/cayenne/api/v1/query.clj +++ b/src/cayenne/api/v1/query.clj @@ -95,7 +95,7 @@ "translator" [:contributor.*] "standards-body" [:standards-body.*]}) -(defn clean-terms [terms & {:keys [remove-syntax] :or {remove-syntax false}}] +(defn clean-terms [terms & {:keys [remove-syntax] :or {remove-syntax false}}] (if-not remove-syntax terms (-> terms @@ -108,27 +108,27 @@ (defn parse-rows-val [val] (int (cond - (nil? val) - default-rows - (= (type val) java.lang.String) - (util/parse-int-safe val)))) + (nil? val) + default-rows + (= (type val) java.lang.String) + (util/parse-int-safe val)))) (defn parse-offset-val [val] (int (cond - (nil? val) - default-offset - (= (type val) java.lang.String) - (util/parse-int-safe val)))) + (nil? val) + default-offset + (= (type val) java.lang.String) + (util/parse-int-safe val)))) (defn parse-sample-val "Returns a sample count or 0, indicating that no sample is to be taken." [val] (int (cond - (nil? val) - 0 - (= (type val) java.lang.String) - (util/parse-int-safe val)))) + (nil? val) + 0 + (= (type val) java.lang.String) + (util/parse-int-safe val)))) (defn get-filters "Turns a filter value string such as a.b:val,c:val2 into @@ -159,9 +159,9 @@ :count (if (= count "*") "*" (max 1 - (min (or (util/parse-int-safe count) - default-facet-rows) - max-facet-rows)))}) + (min (or (util/parse-int-safe count) + default-facet-rows) + max-facet-rows)))}) (string/split facet-params #",")) [])) @@ -188,7 +188,7 @@ :else :desc)) :desc)) - + (defn parse-sort [params] (when-let [sort-params (get params :sort)] (-> sort-params @@ -204,7 +204,7 @@ (->> params (filter #(.startsWith (-> % first name) "query.")) (map #(vector (-> % first name (string/replace #"query." "")) - (-> % second (clean-terms :remove-syntax true)))))) + (-> % second (clean-terms :remove-syntax true)))))) (defn ->query-context [resource-context & {:keys [id filters] :or {id nil filters {}}}] @@ -232,19 +232,19 @@ (apply concat))))) (defn with-filters [es-body query-context & {:keys [filters]}] - (let [filter-clauses (map #((-> % first name filters) - (-> % second first)) - (:filters query-context)) - filter-occurrence (->> filter-clauses - (filter #(= (:occurrence %) :filter)) - (map :clause)) - must-not-occurrence (->> filter-clauses - (filter #(= (:occurrence %) :must-not)) - (map :clause))] - (-> es-body - (assoc-in [:query :bool :filter] filter-occurrence) - (assoc-in [:query :bool :must_not] must-not-occurrence)))) - + (let [filter-clauses (map #((-> % first name filters) + (-> % second first)) + (:filters query-context)) + filter-occurrence (->> filter-clauses + (filter #(= (:occurrence %) :filter)) + (map :clause)) + must-not-occurrence (->> filter-clauses + (filter #(= (:occurrence %) :must-not)) + (map :clause))] + (-> es-body + (assoc-in [:query :bool :filter] filter-occurrence) + (assoc-in [:query :bool :must_not] must-not-occurrence)))) + (defn with-query [es-body query-context & {:keys [id-field filters]}] (cond-> es-body (-> query-context :terms string/blank? not) @@ -288,7 +288,7 @@ (let [current-query (:query es-body)] (-> es-body (dissoc :query) - (assoc-in [:query :function_score :query] current-query) + (assoc-in [:query :function_score :query] current-query) (assoc-in [:query :function_score :functions] [{:random_score {:seed (tc/to-long (t/now)) :field :_seq_no}}]) @@ -300,10 +300,10 @@ (cond (-> query-context :cursor string/blank?) es-body - + (-> query-context :cursor (= "*")) (assoc es-body :sort [:_doc]) - + (and (-> query-context :cursor string/blank? not) (-> query-context :cursor (not= "*"))) {:scroll "1m" @@ -322,7 +322,7 @@ "/_search/scroll" (-> query-context :cursor (= "*")) (str "/" index "/" index "/_search?scroll=1m")) - :body + :body (-> {} (with-source-fields query-context) (with-sort-fields query-context) @@ -338,4 +338,3 @@ (assoc :prefix-terms (:terms query-context)) (assoc :prefix-field prefix-field) (dissoc :terms))) - diff --git a/src/cayenne/data/work.clj b/src/cayenne/data/work.clj index 3c28beea..b9126a99 100644 --- a/src/cayenne/data/work.clj +++ b/src/cayenne/data/work.clj @@ -169,7 +169,7 @@ [:data :value]))))) (defn ->agency-response [doi agency] - (r/api-response + (r/api-response :work-agency :content {:DOI (doi-id/normalize-long-doi doi) :agency {:id (or (agency-id agency) agency) diff --git a/src/cayenne/elastic/convert.clj b/src/cayenne/elastic/convert.clj index d9537dc1..9fe3f5cb 100644 --- a/src/cayenne/elastic/convert.clj +++ b/src/cayenne/elastic/convert.clj @@ -202,7 +202,7 @@ (defn item-links [item] (map #(hash-map - :content-type (:content-type %) + :content-type (:content-type %) :url (:value %) :version (:content-version %) :application (:intended-application %)) @@ -221,8 +221,8 @@ :url (:value %) :delay (difference-in-days issued-date start-date) :start start-date}) - (itree/get-tree-rel item :license)))) - + (itree/get-tree-rel item :license)))) + (defn item-assertions [item] (map #(select-keys % [:name :label :group-name @@ -372,7 +372,7 @@ :subtitle (item-titles item :subtype :secondary) :container-title (item-container-titles item :subtype :long) :short-container-title (item-container-titles item :subtype :short) - + :first-page (:first-page item) :last-page (:last-page item) :issue (:issue journal-issue) @@ -392,7 +392,7 @@ :abstract (item-plain-abstract item) :abstract-xml (item-xml-abstract item) - + :metadata-content-text (item-metadata-content item) :bibliographic-content-text (item-bibliographic-content item) :author-text (item-contributor-names item :contribution :author) diff --git a/src/cayenne/elastic/index.clj b/src/cayenne/elastic/index.clj index 1cc8a445..342db328 100644 --- a/src/cayenne/elastic/index.clj +++ b/src/cayenne/elastic/index.clj @@ -13,4 +13,3 @@ (conf/get-service :elastic) {:method :post :url "/work/work/_bulk" :body (elastic-util/raw-jsons (index-command item))})) - diff --git a/src/cayenne/tasks/coverage.clj b/src/cayenne/tasks/coverage.clj index e5c91bbc..ab000abf 100644 --- a/src/cayenne/tasks/coverage.clj +++ b/src/cayenne/tasks/coverage.clj @@ -23,7 +23,7 @@ (= type :journal) {:journal [(str id)]})) -(defn get-work-count +(defn get-work-count "Get a count of works, with optional filters. timing may be one of :current, :backfile or :all." [type id & {:keys [filters timing] :or {:timing :all}}] @@ -62,8 +62,8 @@ (coverage total-back-file-count filter-back-file-count)}}))) (defn check-deposits [type id] - {:flags - {:deposits + {:flags + {:deposits (-> (get-work-count type id) (zero?) (not))}}) @@ -76,7 +76,7 @@ (not))}}) (def checkles - [check-deposits + [check-deposits check-deposits-articles (make-filter-check "deposits" "affiliations" :has-affiliation "true") (make-filter-check "deposits" "abstracts" :has-abstract "true") @@ -91,11 +91,11 @@ (defn check-record-coverage [record & {:keys [type id-field]}] (-> {} (merge - (reduce (fn [rslt chk-fn] + (reduce (fn [rslt chk-fn] (let [check-result (chk-fn type (get record id-field))] {:flags (merge (:flags rslt) (:flags check-result)) :coverage (merge (:coverage rslt) (:coverage check-result))})) - {} + {} checkles)))) (defn check-breakdowns [record & {:keys [type id-field]}] @@ -106,10 +106,10 @@ {:breakdowns {:dois-by-issued-year (reduce - (fn [a [k v]] (conj a [(util/parse-int k) v])) - [] - (-> works - (get-in [:message :facets "published" :values])))}})) + (fn [a [k v]] (conj a [(util/parse-int k) v])) + [] + (-> works + (get-in [:message :facets "published" :values])))}})) (defn check-record-counts [record & {:keys [type id-field]}] (let [record-id (get record id-field) @@ -140,12 +140,12 @@ (defn check-index [index-name id-field] (doseq [some-records (as-> - (elastic/request - (conf/get-service :elastic) - {:method :get - :url (str "/" (name index-name) "/" (name index-name) "/_search") - :body {:_source [id-field] :query {:match_all {}} :size 10000}}) - $ + (elastic/request + (conf/get-service :elastic) + {:method :get + :url (str "/" (name index-name) "/" (name index-name) "/_search") + :body {:_source [id-field] :query {:match_all {}} :size 10000}}) + $ (get-in $ [:body :hits :hits]) (partition-all 100 $))] (elastic/request diff --git a/src/cayenne/util.clj b/src/cayenne/util.clj index fb64246a..2acfad30 100644 --- a/src/cayenne/util.clj +++ b/src/cayenne/util.clj @@ -7,7 +7,7 @@ (assert (even? (count kvs))) (into m (for [[k v] (partition 2 kvs) - :when v] + :when v] [k v]))) (defn assoc-str @@ -48,7 +48,7 @@ (assert (even? (count kvs))) (into m (for [[k v] (partition 2 kvs) - :when (parse-int-safe v)] + :when (parse-int-safe v)] [k (parse-int-safe v)]))) (defn keys-in @@ -59,12 +59,12 @@ (keys m) (mapcat (comp keys-in (partial get m)) (keys m))))) -(defn map-diff +(defn map-diff "Produce the list of keys in a but not in b." [a b] (filter #(not (get b %)) (keys a))) -(defn map-intersect +(defn map-intersect "Produce a list of keys present in a and b." [a b] (filter #(get a %) (keys b))) @@ -79,11 +79,11 @@ [record] (reduce (fn [m [k v]] (if (keyword? v) (assoc m k (name v)) m)) record record)) -(defn with-java-array-vals +(defn with-java-array-vals "Convert all clojure vectors and seqs in a map to Java arrays." [record] - (reduce - (fn [m [k v]] + (reduce + (fn [m [k v]] (if (or (vector? v) (seq? v)) (assoc m k (into-array v)) m)) record record)) (defn patherize [coll] @@ -115,12 +115,12 @@ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; File utils -(defn file-of-kind? +(defn file-of-kind? "Does the path point to a file that ends with kind?" [kind path] (and (.isFile path) (.endsWith (.getName path) kind))) -(defn file-kind-seq +(defn file-kind-seq "Return a seq of all xml files under the given directory." [kind file-or-dir count] (if (= count :all) @@ -180,7 +180,7 @@ (when uri (string/replace uri #"[^a-zA-Z0-9]" "_"))) -(defn ?- +(defn ?- "Return a fn that tries to take k out of a map, or returns a placeholder string if missing." [k] @@ -189,7 +189,7 @@ v "-"))) -(defn ?fn- +(defn ?fn- "Return a fn that tries to take k out of a map, or returns a placeholder string if missing." [k] diff --git a/test/cayenne/api_fixture.clj b/test/cayenne/api_fixture.clj index 7c7025e7..1d1d2a53 100644 --- a/test/cayenne/api_fixture.clj +++ b/test/cayenne/api_fixture.clj @@ -5,8 +5,8 @@ (defn api-with [with-f] (fn [f] - (try - (user/start) + (try + (user/start) (with-f) (f) (finally @@ -23,7 +23,7 @@ (update :items (partial sort-by :DOI)))))) (def api-with-works - (api-with user/process-feed)) + (api-with user/index-feed)) (def feed-ready-api - (api-with user/setup-for-feeds)) + (api-with user/setup-feed)) From cc157486319ecd8f2955b3f55e74aa06821178a4 Mon Sep 17 00:00:00 2001 From: Mark Woodhall Date: Tue, 10 Apr 2018 11:01:39 +0100 Subject: [PATCH 097/156] Port peer review from master --- src/cayenne/elastic/convert.clj | 24 ++++++++++++++++++++++++ src/cayenne/elastic/mappings.clj | 9 +++++++++ 2 files changed, 33 insertions(+) diff --git a/src/cayenne/elastic/convert.clj b/src/cayenne/elastic/convert.clj index 9fe3f5cb..cb3bc765 100644 --- a/src/cayenne/elastic/convert.clj +++ b/src/cayenne/elastic/convert.clj @@ -326,6 +326,16 @@ :always (mapcat #(vector (:given-name %) (:family-name %) (:org-name %))))) +(defn item-peer-review [item] + (if-let [{:keys [running-number revision-round stage recommendation + competing-interest-statement review-type language]} (:review item)] + {:running-number running-number + :revision-round revision-round + :stage stage + :recommendation recommendation + :competing-interest-statement competing-interest-statement + :type review-type + :language language})) (defn item->es-doc [item] (let [doi (item-doi item) publisher (-> item (itree/get-tree-rel :publisher) first) @@ -414,6 +424,7 @@ :clinical-trial (item-clinical-trials item) :event (item-events item) :standards-body (item-standards-body item)})) + :peer-review (item-peer-review item) (defn citeproc-date [date-str] (when date-str @@ -528,6 +539,18 @@ (util/assoc-exists :doi-asserted-by (:doi-asserted-by %)) (util/assoc-exists :award (map (fn [award] {:name award}) (:award %)))) funders))) +(defn citeproc-peer-review [es-doc] + (when-let [{:keys [running-number revision-round stage + competing-interest-statement recommendation + language] :as peer-review} (:peer-review es-doc)] + (-> {} + (util/assoc-exists :type (:type peer-review)) + (util/assoc-exists :running-number running-number) + (util/assoc-exists :revision-round revision-round) + (util/assoc-exists :stage stage) + (util/assoc-exists :competing-interest-statement competing-interest-statement) + (util/assoc-exists :recommendation recommendation) + (util/assoc-exists :language language)))) (defn es-doc->citeproc [es-doc] (let [source-doc (:_source es-doc)] (-> source-doc @@ -588,4 +611,5 @@ (util/assoc-exists :updated-by (citeproc-updates (:updated-by source-doc))) (util/assoc-exists :update-to (citeproc-updates (:update-to source-doc))) + (util/assoc-exists :review (citeproc-peer-review source-doc)) (assoc :score (:_score es-doc))))) diff --git a/src/cayenne/elastic/mappings.clj b/src/cayenne/elastic/mappings.clj index ea7c7e6d..c5441d6f 100644 --- a/src/cayenne/elastic/mappings.clj +++ b/src/cayenne/elastic/mappings.clj @@ -104,6 +104,14 @@ {:name {:type "text"} :acronym {:type "text"}}) +(def peer-review-properties + {:running-number {:type "text" :index false} + :revision-round {:type "text" :index false} + :stage {:type "text" :index false} + :recommendation {:type "text" :index false} + :competing-interest-statement {:type "text" :index false} + :type {:type "text" :index false} + :language {:type "text" :index false}}) (def work-properties {:metadata-content-text {:type "text"} :source {:type "text"} @@ -198,6 +206,7 @@ :assertion {:type "nested" :properties assertion-properties} :relation {:type "nested" :properties relation-properties} :reference {:type "object" :properties reference-properties}}) + :peer-review {:type "object" :properties peer-review-properties} (def prefix-properties {:value {:type "keyword"} From bf4dc5d87c9e629a031b5957eca461ef6110b157 Mon Sep 17 00:00:00 2001 From: Mark Woodhall Date: Tue, 10 Apr 2018 11:06:45 +0100 Subject: [PATCH 098/156] Port institutions from master --- src/cayenne/elastic/convert.clj | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/src/cayenne/elastic/convert.clj b/src/cayenne/elastic/convert.clj index cb3bc765..86c36b5f 100644 --- a/src/cayenne/elastic/convert.clj +++ b/src/cayenne/elastic/convert.clj @@ -336,6 +336,15 @@ :competing-interest-statement competing-interest-statement :type review-type :language language})) + +(defn item-institution [item] + (if-let [institutions (itree/get-tree-rel item :institution)] + (map (fn [i] + {:name (:name i) + :acronym [(:acronym i)] + :place [(:location i)] + :department (map :name (itree/get-item-rel i :component))}) institutions))) + (defn item->es-doc [item] (let [doi (item-doi item) publisher (-> item (itree/get-tree-rel :publisher) first) @@ -423,8 +432,9 @@ :funder (item-funders item) :clinical-trial (item-clinical-trials item) :event (item-events item) - :standards-body (item-standards-body item)})) + :standards-body (item-standards-body item) :peer-review (item-peer-review item) + :institution (item-institution item)})) (defn citeproc-date [date-str] (when date-str @@ -612,4 +622,6 @@ (util/assoc-exists :update-to (citeproc-updates (:update-to source-doc))) (util/assoc-exists :review (citeproc-peer-review source-doc)) + (util/assoc-exists :institution (first (:institution source-doc))) + (assoc :score (:_score es-doc))))) From 0d83e6333306d3517a82c59a5c7be1e03c0d69f6 Mon Sep 17 00:00:00 2001 From: Mark Woodhall Date: Tue, 10 Apr 2018 11:10:46 +0100 Subject: [PATCH 099/156] Port journal-issue from master --- src/cayenne/elastic/convert.clj | 22 ++++++++++++++++++++++ src/cayenne/elastic/mappings.clj | 9 ++++++++- 2 files changed, 30 insertions(+), 1 deletion(-) diff --git a/src/cayenne/elastic/convert.clj b/src/cayenne/elastic/convert.clj index 86c36b5f..1b72f540 100644 --- a/src/cayenne/elastic/convert.clj +++ b/src/cayenne/elastic/convert.clj @@ -345,6 +345,12 @@ :place [(:location i)] :department (map :name (itree/get-item-rel i :component))}) institutions))) +(defn item-journal-issue [journal-issue] + (when journal-issue + {:published-print (-> journal-issue :published-print particle->date-time) + :published-online (-> journal-issue :published-online particle->date-time) + :issue (:issue journal-issue)})) + (defn item->es-doc [item] (let [doi (item-doi item) publisher (-> item (itree/get-tree-rel :publisher) first) @@ -363,6 +369,7 @@ :supplementary-id (itree/get-item-ids item :supplementary) :issued-year (t/year (item-issued-date item)) + :journal-issue (item-journal-issue journal-issue) :issued (item-issued-date item) :published (item-published-date item) :published-online (item-date item :published-online) @@ -443,6 +450,11 @@ :date-time (tf/unparse (tf/formatters :date-time-no-ms) instant) :timestamp (tc/to-long instant)}))) +(defn citeproc-date-parts + [date-str] + (when-let [citeproc-date (citeproc-date date-str)] + (select-keys citeproc-date [:date-parts]))) + (defn citeproc-pages [{:keys [first-page last-page]}] (cond (and (not (string/blank? last-page)) (not (string/blank? first-page))) @@ -561,6 +573,15 @@ (util/assoc-exists :competing-interest-statement competing-interest-statement) (util/assoc-exists :recommendation recommendation) (util/assoc-exists :language language)))) + +(defn citeproc-journal-issue [es-doc] + (when-let [{:keys [issue published-online published-print]} (:journal-issue es-doc)] + (when issue + (-> {} + (util/assoc-exists :issue issue) + (util/assoc-exists :published-online published-online (citeproc-date-parts published-online)) + (util/assoc-exists :published-print published-print (citeproc-date-parts published-print)))))) + (defn es-doc->citeproc [es-doc] (let [source-doc (:_source es-doc)] (-> source-doc @@ -622,6 +643,7 @@ (util/assoc-exists :update-to (citeproc-updates (:update-to source-doc))) (util/assoc-exists :review (citeproc-peer-review source-doc)) + (util/assoc-exists :journal-issue (citeproc-journal-issue source-doc)) (util/assoc-exists :institution (first (:institution source-doc))) (assoc :score (:_score es-doc))))) diff --git a/src/cayenne/elastic/mappings.clj b/src/cayenne/elastic/mappings.clj index c5441d6f..55179502 100644 --- a/src/cayenne/elastic/mappings.clj +++ b/src/cayenne/elastic/mappings.clj @@ -112,6 +112,12 @@ :competing-interest-statement {:type "text" :index false} :type {:type "text" :index false} :language {:type "text" :index false}}) + +(def journal-issue-properties + {:published-print {:type "date"} + :published-online {:type "date"} + :issue {:type "text"}}) + (def work-properties {:metadata-content-text {:type "text"} :source {:type "text"} @@ -205,8 +211,9 @@ :license {:type "nested" :properties license-properties} :assertion {:type "nested" :properties assertion-properties} :relation {:type "nested" :properties relation-properties} - :reference {:type "object" :properties reference-properties}}) + :reference {:type "object" :properties reference-properties} :peer-review {:type "object" :properties peer-review-properties} + :journal-issue {:type "object" :properties journal-issue-properties}}) (def prefix-properties {:value {:type "keyword"} From d134b26e5035446852b60aa43f5376013a4b9880 Mon Sep 17 00:00:00 2001 From: Mark Woodhall Date: Tue, 10 Apr 2018 11:13:40 +0100 Subject: [PATCH 100/156] Port free-to-read to master --- src/cayenne/elastic/convert.clj | 10 ++++++++++ src/cayenne/elastic/mappings.clj | 1 + 2 files changed, 11 insertions(+) diff --git a/src/cayenne/elastic/convert.clj b/src/cayenne/elastic/convert.clj index 1b72f540..ca117993 100644 --- a/src/cayenne/elastic/convert.clj +++ b/src/cayenne/elastic/convert.clj @@ -410,6 +410,8 @@ ;; :part-number ;; :component-number :language (:language journal) + :free-to-read {:start (-> item (itree/get-tree-rel :free-to-read-start) first particle->date-time) + :end (-> item (itree/get-tree-rel :free-to-read-end) first particle->date-time)} :update-policy (item-update-policy item) :domain (itree/get-item-rel item :domains) @@ -582,6 +584,13 @@ (util/assoc-exists :published-online published-online (citeproc-date-parts published-online)) (util/assoc-exists :published-print published-print (citeproc-date-parts published-print)))))) +(defn citeproc-free-to-read [es-doc] + (when-let [{:keys [start end]} (:free-to-read es-doc)] + (when (or start end) + (-> {} + (util/assoc-exists :start-date (citeproc-date-parts start)) + (util/assoc-exists :end-date (citeproc-date-parts end)))))) + (defn es-doc->citeproc [es-doc] (let [source-doc (:_source es-doc)] (-> source-doc @@ -644,6 +653,7 @@ (util/assoc-exists :review (citeproc-peer-review source-doc)) (util/assoc-exists :journal-issue (citeproc-journal-issue source-doc)) + (util/assoc-exists :free-to-read (citeproc-free-to-read source-doc)) (util/assoc-exists :institution (first (:institution source-doc))) (assoc :score (:_score es-doc))))) diff --git a/src/cayenne/elastic/mappings.clj b/src/cayenne/elastic/mappings.clj index 55179502..abaa851e 100644 --- a/src/cayenne/elastic/mappings.clj +++ b/src/cayenne/elastic/mappings.clj @@ -213,6 +213,7 @@ :relation {:type "nested" :properties relation-properties} :reference {:type "object" :properties reference-properties} :peer-review {:type "object" :properties peer-review-properties} + :free-to-read {:type "object"} :journal-issue {:type "object" :properties journal-issue-properties}}) (def prefix-properties From 3092136998ed06c0883e4f5476c25fc797984e1a Mon Sep 17 00:00:00 2001 From: Mark Woodhall Date: Tue, 10 Apr 2018 11:15:14 +0100 Subject: [PATCH 101/156] published-print should be explicit or default --- src/cayenne/elastic/convert.clj | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/cayenne/elastic/convert.clj b/src/cayenne/elastic/convert.clj index ca117993..f5b96380 100644 --- a/src/cayenne/elastic/convert.clj +++ b/src/cayenne/elastic/convert.clj @@ -371,10 +371,12 @@ :journal-issue (item-journal-issue journal-issue) :issued (item-issued-date item) + :published (item-published-date item) :published-online (item-date item :published-online) - :published-print (item-date item :published-print) + :published-print (or (item-date item :published-print) (item-published-date item)) :published-other (item-date item :published-other) + :posted (item-date item :posted) :accepted (item-date item :accepted) :content-created (item-date item :content-created) From 92b3e3df90819d7e7c5a29e2ce329916578cc111 Mon Sep 17 00:00:00 2001 From: Mark Woodhall Date: Tue, 10 Apr 2018 11:16:59 +0100 Subject: [PATCH 102/156] ORCID should include URI as per master, optionally include authenticated-orcid --- src/cayenne/elastic/convert.clj | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/cayenne/elastic/convert.clj b/src/cayenne/elastic/convert.clj index f5b96380..af7cb2f0 100644 --- a/src/cayenne/elastic/convert.clj +++ b/src/cayenne/elastic/convert.clj @@ -475,8 +475,8 @@ :always (map #(-> {} - (util/assoc-exists :ORCID (:orcid %)) - (util/assoc-exists :authenticated-orcid (:authenticated-orcid %)) + (util/assoc-exists :ORCID (orcid-id/to-orcid-uri (:orcid %))) + (util/assoc-exists :authenticated-orcid (:orcid %) (boolean (:authenticated-orcid %))) (util/assoc-exists :prefix (:prefix %)) (util/assoc-exists :suffix (:suffix %)) (util/assoc-exists :name (:org-name %)) From b60cb32d0857f54ab59c309f77a6efac8c97b9cd Mon Sep 17 00:00:00 2001 From: Mark Woodhall Date: Tue, 10 Apr 2018 11:18:02 +0100 Subject: [PATCH 103/156] Remove rel from citeproc relations --- src/cayenne/elastic/convert.clj | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/cayenne/elastic/convert.clj b/src/cayenne/elastic/convert.clj index af7cb2f0..0210cb29 100644 --- a/src/cayenne/elastic/convert.clj +++ b/src/cayenne/elastic/convert.clj @@ -508,7 +508,9 @@ :id-type (:object-type %) :asserted-by (:claimed-by %) :rel (:type %))) - (group-by :rel))) + (group-by :rel) + (map #(vector (first %) (map (fn [a] (dissoc a :rel)) (second %)))) + (into {}))) (defn citeproc-licenses [es-doc] (map #(-> % From 8aab4257afbfabac74b1d147dcbe723e651ff35c Mon Sep 17 00:00:00 2001 From: Mark Woodhall Date: Tue, 10 Apr 2018 11:20:48 +0100 Subject: [PATCH 104/156] Port crossmark-unaware content-domains from master --- src/cayenne/elastic/convert.clj | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/src/cayenne/elastic/convert.clj b/src/cayenne/elastic/convert.clj index 0210cb29..7cc1b202 100644 --- a/src/cayenne/elastic/convert.clj +++ b/src/cayenne/elastic/convert.clj @@ -8,6 +8,7 @@ [cayenne.ids.prefix :as prefix-id] [cayenne.ids.member :as member-id] [cayenne.ids.orcid :as orcid-id] + [cayenne.ids.type :as type-id] [cayenne.ids :as ids] [clojure.string :as string] [clj-time.format :as tf] @@ -595,8 +596,15 @@ (util/assoc-exists :start-date (citeproc-date-parts start)) (util/assoc-exists :end-date (citeproc-date-parts end)))))) +(defn citeproc-content-domains [{:keys [crossmark-unaware?] :as m} es-doc] + (merge + {:domain (or (get es-doc :domain) [])} + (if-not crossmark-unaware? + {:crossmark-restriction (:domain-exclusive es-doc)}))) + (defn es-doc->citeproc [es-doc] - (let [source-doc (:_source es-doc)] + (let [source-doc (:_source es-doc) + type-key (keyword (:type source-doc))] (-> source-doc (select-keys [:source :group-title @@ -620,8 +628,9 @@ (assoc :member (when (:member-id source-doc) (str (:member-id source-doc)))) (assoc :indexed (-> source-doc :indexed citeproc-date)) (assoc :relation (citeproc-relations source-doc)) - (assoc :content-domain {:crossmark-restriction (:domain-exclusive source-doc) - :domain (:domain source-doc)}) + (assoc :content-domain (-> type-id/type-dictionary + (get type-key) + (citeproc-content-domains source-doc))) (util/assoc-exists :abstract (:abstract-xml source-doc)) (util/assoc-exists :alternative-id (->> source-doc :supplementary-id (map ids/extract-supplementary-id))) From c4f9ffd929f9c0fcecb17a5ff435d3febabdbcc3 Mon Sep 17 00:00:00 2001 From: Mark Woodhall Date: Tue, 10 Apr 2018 11:22:25 +0100 Subject: [PATCH 105/156] Add missing institution index mapping --- src/cayenne/elastic/mappings.clj | 1 + 1 file changed, 1 insertion(+) diff --git a/src/cayenne/elastic/mappings.clj b/src/cayenne/elastic/mappings.clj index abaa851e..cca5a936 100644 --- a/src/cayenne/elastic/mappings.clj +++ b/src/cayenne/elastic/mappings.clj @@ -213,6 +213,7 @@ :relation {:type "nested" :properties relation-properties} :reference {:type "object" :properties reference-properties} :peer-review {:type "object" :properties peer-review-properties} + :institution {:type "nested"} :free-to-read {:type "object"} :journal-issue {:type "object" :properties journal-issue-properties}}) From cfd54c1683edf043fb9cc05ef036f3086fcd64b9 Mon Sep 17 00:00:00 2001 From: Mark Woodhall Date: Tue, 10 Apr 2018 11:23:40 +0100 Subject: [PATCH 106/156] Only get date-parts for various published dates --- src/cayenne/elastic/convert.clj | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/cayenne/elastic/convert.clj b/src/cayenne/elastic/convert.clj index 7cc1b202..769816e8 100644 --- a/src/cayenne/elastic/convert.clj +++ b/src/cayenne/elastic/convert.clj @@ -639,9 +639,9 @@ (util/assoc-exists :issn-type (:issn source-doc)) (util/assoc-exists :isbn-type (:isbn source-doc)) (util/assoc-exists :page (citeproc-pages source-doc)) - (util/assoc-exists :published-print (-> source-doc :published-print citeproc-date (select-keys [:date-parts]))) - (util/assoc-exists :published-online (-> source-doc :published-online citeproc-date)) - (util/assoc-exists :published-other (-> source-doc :published-other citeproc-date)) + (util/assoc-exists :published-print (-> source-doc :published-print citeproc-date-parts)) + (util/assoc-exists :published-online (-> source-doc :published-online citeproc-date-parts)) + (util/assoc-exists :published-other (-> source-doc :published-other citeproc-date-parts)) (util/assoc-exists :posted (-> source-doc :posted citeproc-date)) (util/assoc-exists :accepted (-> source-doc :accepted citeproc-date)) (util/assoc-exists :approved (-> source-doc :approved citeproc-date)) From 05c08421d5d365c189fecacecabbda60e2c94b1a Mon Sep 17 00:00:00 2001 From: Mark Woodhall Date: Tue, 10 Apr 2018 11:25:29 +0100 Subject: [PATCH 107/156] Default titles so output matches master, always assoc publisher --- src/cayenne/elastic/convert.clj | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/cayenne/elastic/convert.clj b/src/cayenne/elastic/convert.clj index 769816e8..9aceffd1 100644 --- a/src/cayenne/elastic/convert.clj +++ b/src/cayenne/elastic/convert.clj @@ -607,18 +607,20 @@ type-key (keyword (:type source-doc))] (-> source-doc - (select-keys [:source :group-title - :container-title :short-container-title :issue :volume - :description :degree :update-policy :archive :type :prefix + (select-keys [:source :group-title :issue :volume :description + :degree :update-policy :archive :type :prefix :references-count :is-referenced-by-count :language - :publisher :publisher-location :article-number :edition-number + :publisher-location :article-number :edition-number :part-number :component-number]) (->> (reduce (fn [acc i] (util/assoc-exists acc (first i) (last i))) {})) + (assoc :publisher (:publisher source-doc)) (assoc :title (:title source-doc)) (assoc :subtitle (:subtitle source-doc)) (assoc :short-title (:short-title source-doc)) + (assoc :container-title (get source-doc :container-title [])) + (assoc :short-container-title (get source-doc :short-container-title [])) (assoc :original-title (:original-title source-doc)) (assoc :reference-count (:references-count source-doc)) (assoc :DOI (:doi source-doc)) From 46c42efd29e24d55b6c5424b99298e5652e83e4d Mon Sep 17 00:00:00 2001 From: Mark Woodhall Date: Tue, 10 Apr 2018 11:28:01 +0100 Subject: [PATCH 108/156] Integer is not applicable for reference year citation_year was a string in Solr, trying to set it to an integer in elastic results in many failed indexes, because year often include values such as `2009a` or `2009b`. --- src/cayenne/elastic/mappings.clj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/cayenne/elastic/mappings.clj b/src/cayenne/elastic/mappings.clj index cca5a936..04cfb39b 100644 --- a/src/cayenne/elastic/mappings.clj +++ b/src/cayenne/elastic/mappings.clj @@ -86,7 +86,7 @@ :author {:type "text" :index false} :issue {:type "text" :index false} :first-page {:type "text" :index false} - :year {:type "integer" :index false} + :year {:type "text" :index false} :isbn {:type "keyword" :index false} :isbn-type {:type "keyword" :index false} :series-title {:type "text" :index false} From e4a9755d0bbf8a2efbc4bcfc55ec49c9bd9dd862 Mon Sep 17 00:00:00 2001 From: Mark Woodhall Date: Thu, 19 Apr 2018 16:33:44 +0100 Subject: [PATCH 109/156] Use match query for field queries --- src/cayenne/api/v1/fields.clj | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/cayenne/api/v1/fields.clj b/src/cayenne/api/v1/fields.clj index cb5cd8a7..26c050cb 100644 --- a/src/cayenne/api/v1/fields.clj +++ b/src/cayenne/api/v1/fields.clj @@ -23,12 +23,17 @@ "contributor" :contributor-text}) (defn with-field-queries [es-body {:keys [field-terms]}] - (update-in - es-body - [:query :bool :should] - (fn [shoulds] - (concat - shoulds - (map #(hash-map :term {(-> % first work-fields) - (-> % second)}) - field-terms))))) + (if (not-empty field-terms) + (update-in + es-body + [:query :match] + (fn [matches] + (merge + matches + (apply + merge + (map (fn [t] + {(-> t first work-fields) + (-> t second)}) + field-terms))))) + es-body)) From 6259ba3617540f522b1db0631aa39381254348b9 Mon Sep 17 00:00:00 2001 From: Mark Woodhall Date: Thu, 19 Apr 2018 16:34:58 +0100 Subject: [PATCH 110/156] Add score to the list of selectable scores --- src/cayenne/api/v1/query.clj | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/cayenne/api/v1/query.clj b/src/cayenne/api/v1/query.clj index ddef1470..b2f30181 100644 --- a/src/cayenne/api/v1/query.clj +++ b/src/cayenne/api/v1/query.clj @@ -93,7 +93,8 @@ "editor" [:contributor.*] "chair" [:contributor.*] "translator" [:contributor.*] - "standards-body" [:standards-body.*]}) + "standards-body" [:standards-body.*] + "score" [:_score]}) (defn clean-terms [terms & {:keys [remove-syntax] :or {remove-syntax false}}] (if-not remove-syntax From 8153ba0e45f43358ab16af7485acda7754c4c27b Mon Sep 17 00:00:00 2001 From: Mark Woodhall Date: Thu, 19 Apr 2018 16:35:54 +0100 Subject: [PATCH 111/156] Formatting --- src/cayenne/elastic/util.clj | 1 - 1 file changed, 1 deletion(-) diff --git a/src/cayenne/elastic/util.clj b/src/cayenne/elastic/util.clj index 3836b4ce..aacbbb96 100644 --- a/src/cayenne/elastic/util.clj +++ b/src/cayenne/elastic/util.clj @@ -9,4 +9,3 @@ (interpose "\n"))) (str "\n") elastic/raw)) - From 62ee4323e6db5e0ba94c050859cb1f96108843ef Mon Sep 17 00:00:00 2001 From: Mark Woodhall Date: Thu, 19 Apr 2018 17:00:54 +0100 Subject: [PATCH 112/156] Add sorter to api-get --- test/cayenne/api_fixture.clj | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/test/cayenne/api_fixture.clj b/test/cayenne/api_fixture.clj index 1d1d2a53..0e755d95 100644 --- a/test/cayenne/api_fixture.clj +++ b/test/cayenne/api_fixture.clj @@ -12,7 +12,7 @@ (finally (user/stop))))) -(defn api-get [route] +(defn api-get [route & {:keys [sorter] :or {sorter :DOI}}] (let [message (-> (http/get (str api-root route) {:as :json}) :body :message)] @@ -20,7 +20,7 @@ (:last-status-check-time message) (dissoc :last-status-check-time) (:indexed message) (dissoc :indexed) (:items message) (-> (update :items (partial map #(dissoc % :indexed :last-status-check-time))) - (update :items (partial sort-by :DOI)))))) + (update :items (partial sort-by sorter)))))) (def api-with-works (api-with user/index-feed)) From 581f733ae0fe94811c29cea7befb67baa4b302a8 Mon Sep 17 00:00:00 2001 From: Mark Woodhall Date: Mon, 23 Apr 2018 12:13:07 +0100 Subject: [PATCH 113/156] Keep waiting for indexing while doc count increases --- dev/user.clj | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/dev/user.clj b/dev/user.clj index 457d1ace..d7f32a5f 100644 --- a/dev/user.clj +++ b/dev/user.clj @@ -118,13 +118,13 @@ (assoc (read-string (slurp (resource "get-prefix-info.edn"))) :value prefix))] (index-members) (start-feed-processing) - (let [tries (atom 1)] - (while (and (not= (elastic-doc-count) 177) - (< @tries 50)) + (Thread/sleep 1000) + (let [doc-count (atom -1)] + (while (< @doc-count (elastic-doc-count)) (println "Waiting for elasticsearch to finish indexing....") - (Thread/sleep 1000) - (swap! tries inc)) - (if (>= @tries 50) + (reset! doc-count (elastic-doc-count)) + (Thread/sleep 10000)) + (if (not= (elastic-doc-count) 177) (println "Gave up waiting for elasticsearch to finish indexing...."))) (check-journals) (check-members)))) From 2ea8b796f83aebec14392e8185089abdb945c23b Mon Sep 17 00:00:00 2001 From: Mark Woodhall Date: Mon, 23 Apr 2018 12:15:22 +0100 Subject: [PATCH 114/156] Remove extra fields from title text These fields are not considered for title text filters in the solr implementation. --- src/cayenne/elastic/mappings.clj | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/cayenne/elastic/mappings.clj b/src/cayenne/elastic/mappings.clj index 04cfb39b..50e432b6 100644 --- a/src/cayenne/elastic/mappings.clj +++ b/src/cayenne/elastic/mappings.clj @@ -147,11 +147,11 @@ :supplementary-id {:type "keyword"} :issued-year {:type "integer"} :title {:type "keyword" :copy_to :title-text} - :original-title {:type "keyword" :copy_to :title-text} + :original-title {:type "text"} :container-title {:type "keyword" :copy_to :container-title-text} - :short-container-title {:type "keyword" :copy_to :container-title-text} - :short-title {:type "keyword" :copy_to :title-text} - :group-title {:type "keyword" :copy_to :container-title-text} + :short-container-title {:type "text"} + :short-title {:type "text"} + :group-title {:type "text"} :subtitle {:type "keyword" :copy_to :title-text} :volume {:type "keyword"} :issue {:type "keyword"} From e84ac5533e4438404188dac2180bdf0bc6cdb99e Mon Sep 17 00:00:00 2001 From: Mark Woodhall Date: Tue, 24 Apr 2018 15:49:16 +0100 Subject: [PATCH 115/156] Make loading differnt corpus data easier --- dev/user.clj | 36 +++++++++++++++--------------------- 1 file changed, 15 insertions(+), 21 deletions(-) diff --git a/dev/user.clj b/dev/user.clj index d7f32a5f..035e93cd 100644 --- a/dev/user.clj +++ b/dev/user.clj @@ -1,18 +1,18 @@ (ns user - (:require [cayenne.conf :refer [get-param set-param! with-core cores start-core! stop-core!]] - [cayenne.elastic.mappings :as elastic-mappings] + (:require [cayenne.api.v1.feed :refer [start-feed-processing]] + [cayenne.conf :refer [cores get-param set-param! start-core! stop-core! with-core]] [cayenne.elastic.convert :as elastic-convert] + [cayenne.elastic.mappings :as elastic-mappings] [cayenne.rdf :as rdf] - [cayenne.tasks :refer [index-members index-journals]] - [cayenne.tasks.funder :refer [select-country-stmts index-funders]] + [cayenne.tasks :refer [index-journals index-members]] [cayenne.tasks.coverage :refer [check-journals check-members]] - [cayenne.api.v1.feed :refer [start-feed-processing]] + [cayenne.tasks.funder :refer [index-funders select-country-stmts]] + [clj-http.client :as http] [clojure.java.io :refer [resource]] [clojure.java.shell :refer [sh]] - [clj-http.client :as http] [me.raynes.fs :refer [copy-dir delete-dir]] - [nio2.io :refer [path]] - [nio2.dir-seq :refer [dir-seq-glob]])) + [nio2.dir-seq :refer [dir-seq-glob]] + [nio2.io :refer [path]])) (defn- elastic-ready? [] (try @@ -81,9 +81,9 @@ (set-param! [:location :cr-titles-csv] (.getPath (resource "titles.csv")))) (index-journals)) -(defn setup-feed [] +(defn setup-feed [& {:keys [source-dir] :or {source-dir "/source"}}] (let [feed-dir (.getPath (resource "feeds")) - feed-source-dir (str feed-dir "/corpus") + feed-source-dir (str feed-dir source-dir) feed-in-dir (str feed-dir "/feed-in") feed-processed-dir (str feed-dir "/feed-processed") feed-file-count (count (dir-seq-glob (path feed-source-dir) "*.body"))] @@ -93,20 +93,14 @@ (set-param! [:dir :data] feed-dir) (set-param! [:dir :test-data] feed-dir) (set-param! [:location :cr-titles-csv] (.getPath (resource "titles.csv")))) + (println "Feed source dir is " feed-source-dir) {:feed-source-dir feed-source-dir :feed-in-dir feed-in-dir :feed-file-count feed-file-count})) -(defn index-feed [] - (let [{:keys [feed-source-dir feed-in-dir feed-file-count]} (setup-feed)] - (when-not (= feed-file-count 177) - (throw (Exception. - (str "The number of feed input files is not as expected. Expected to find " - 177 - " files in " - feed-source-dir - " but found " - feed-file-count)))) +(defn index-feed [& {:keys [source-dir] + :or {source-dir (or (System/getenv "CAYENNE_API_TEST_CORPUS") "/source")}}] + (let [{:keys [feed-source-dir feed-in-dir feed-file-count]} (setup-feed :source-dir source-dir)] (copy-dir feed-source-dir feed-in-dir) (index-journals) (with-redefs @@ -124,7 +118,7 @@ (println "Waiting for elasticsearch to finish indexing....") (reset! doc-count (elastic-doc-count)) (Thread/sleep 10000)) - (if (not= (elastic-doc-count) 177) + (if (not= (elastic-doc-count) feed-file-count) (println "Gave up waiting for elasticsearch to finish indexing...."))) (check-journals) (check-members)))) From 000d7973f3e07c899b34c5578ee2596340591548 Mon Sep 17 00:00:00 2001 From: Mark Woodhall Date: Tue, 24 Apr 2018 15:59:01 +0100 Subject: [PATCH 116/156] Add citation matching tests --- project.clj | 4 +- test/cayenne/corpus_test.clj | 79 ++++++++++++++++++++++++++++++++++++ 2 files changed, 82 insertions(+), 1 deletion(-) create mode 100644 test/cayenne/corpus_test.clj diff --git a/project.clj b/project.clj index 0e431c6d..2147849a 100644 --- a/project.clj +++ b/project.clj @@ -9,7 +9,8 @@ :pidfile "cayenne.pid"}} :profiles {:uberjar {:aot :all} :dev {:source-paths ["dev"] - :resource-paths ["dev-resources"]} + :resource-paths ["dev-resources"] + :dependencies [[marge "0.11.0"]]} :prod {} :datomic {:repositories {"my.datomic.com" {:url "https://my.datomic.com/repo" @@ -29,6 +30,7 @@ [metrics-clojure-ring "1.0.1"] [me.raynes/fs "1.4.6"] [com.taoensso/timbre "3.4.0"] + [com.cemerick/url "0.1.1"] [irclj "0.5.0-alpha2"] [clojurewerkz/quartzite "1.0.1"] [congomongo "0.5.0"] diff --git a/test/cayenne/corpus_test.clj b/test/cayenne/corpus_test.clj new file mode 100644 index 00000000..ab759325 --- /dev/null +++ b/test/cayenne/corpus_test.clj @@ -0,0 +1,79 @@ +(ns cayenne.corpus-test + (:require [cayenne.api-fixture :refer [api-get api-with-works]] + [cemerick.url :refer [url-encode]] + [clj-http.client :as http] + [clojure.test :refer [deftest is testing use-fixtures]] + [marge.core :refer [markdown]])) + +(defn- take-dois [n] + (->> (api-get (str "/v1/works?rows=10000&select=DOI,score&filter=type:journal-article")) + :items + (map :DOI) + shuffle + (take n))) + +(defn- get-apa-citation [doi error-fn] + (try (-> (http/get (str "http://data.crossref.org/" doi) {:accept "text/x-bibliography; style=apa"}) + :body + (clojure.string/replace (str "doi:" doi) "") + (->> (take 1000)) + (->> (apply str)) + url-encode) + (catch Exception e + (println (str "Problem getting apa for DOI: " doi)) + (error-fn doi)))) + +(defn- match-bibliographic [citation] + (-> (api-get (str "/v1/works?rows=1&query.bibliographic=" citation)) + :items + first + (select-keys [:DOI :score]))) + +(deftest citation-matching + + (testing "bibliographic matches return expected results for DOIS" + (with-redefs [cayenne.api.v1.query/max-rows 10000] + (let [matches (atom {:ok [] :bad []}) + apa-problems (atom []) + tolerance% 2 + dois (take-dois 5000) + total-count (count dois)] + (doseq [doi dois] + (let [citation (get-apa-citation doi #(swap! apa-problems conj %)) + {:keys [DOI score]} (match-bibliographic citation)] + (swap! matches (fn [x] (if (= doi DOI) (update x :ok conj [doi DOI citation score]) (update x :bad conj [doi DOI citation score])))) + (Thread/sleep 1000))) + (let [tried-to-match (- total-count (count @apa-problems)) + one-percent (float (/ tried-to-match 100)) + number-required (* one-percent (- 100 tolerance%)) + good-matches (count (:ok @matches)) + success-percent (* (float (/ tried-to-match good-matches)) 100) + bad-matches (count (:bad @matches)) + sorted-matches (sort-by first (take 5000 (:ok @matches))) + sorted-bad-matches (sort-by first (:bad @matches))] + (print (markdown + [:p (str "Attempted to do citation matching for " + total-count " DOI records using a total corpus of " + (user/elastic-doc-count) " items") + :p (str "It was not possible to download an apa for " + (count @apa-problems) " DOI records.") + :table ["DOI" @apa-problems] + :p (str "Successfully matched " + good-matches + " DOI records. A sample of which are below:") + :table ["Original DOI" (mapv first sorted-matches) + "Matched DOI" (mapv second sorted-matches) + "Score" (mapv #(nth % 3) sorted-matches)] + :p (str "Unable to match " bad-matches " citations at the first attempt.") + :table ["Original DOI" (mapv first sorted-bad-matches) + "Matched DOI" (mapv second sorted-bad-matches) + "Score" (mapv #(nth % 3) sorted-bad-matches)] + :p (str "The total number of required matches for a " + tolerance% "% failure tolerance is " + number-required ", there were " good-matches + " successful matches which is " success-percent "%")])) + (is (> good-matches number-required))))))) + +(use-fixtures + :once + api-with-works) From c229868d295ec45b6a2d8b5686557ad7ef6435ff Mon Sep 17 00:00:00 2001 From: Mark Woodhall Date: Tue, 24 Apr 2018 16:03:30 +0100 Subject: [PATCH 117/156] Formatting --- test/cayenne/journals_test.clj | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/test/cayenne/journals_test.clj b/test/cayenne/journals_test.clj index 46f8eb01..dcf6f9ea 100644 --- a/test/cayenne/journals_test.clj +++ b/test/cayenne/journals_test.clj @@ -20,13 +20,13 @@ (let [response (api-get (str "/v1/journals/" issn)) expected-response (read-string (slurp (resource (str "titles/" issn ".edn"))))] (is (= expected-response response))))) - + (testing "journals endpoint returns expected result for ISSN works" (doseq [issn ["0306-4530"]] (let [response (api-get (str "/v1/journals/" issn "/works?rows=76")) expected-response (read-string (slurp (resource (str "titles/" issn "-works.edn"))))] (is (= expected-response response)))))) -(use-fixtures - :once +(use-fixtures + :once api-with-works) From d490b838a2eeab70b157729c2d838edf72d967e6 Mon Sep 17 00:00:00 2001 From: Mark Woodhall Date: Tue, 24 Apr 2018 16:05:16 +0100 Subject: [PATCH 118/156] Update assertion data for minor elastic variations --- dev-resources/works/10.7287/peerj.1078v0.2/reviews/1.edn | 3 +++ 1 file changed, 3 insertions(+) diff --git a/dev-resources/works/10.7287/peerj.1078v0.2/reviews/1.edn b/dev-resources/works/10.7287/peerj.1078v0.2/reviews/1.edn index 8ca59115..661f697c 100644 --- a/dev-resources/works/10.7287/peerj.1078v0.2/reviews/1.edn +++ b/dev-resources/works/10.7287/peerj.1078v0.2/reviews/1.edn @@ -28,6 +28,9 @@ :issued {:date-parts [[2015 7 14]]}, :references-count 0, :URL "http://dx.doi.org/10.7287/peerj.1078v0.2/reviews/1", + :review + {:revision-round "3" + :stage "pre-publication"} :relation {:is-review-of [{:id-type "doi", :id "10.7717/peerj.1078", :asserted-by "subject"}]}} From 2d6522f493112e38451b7ded7c33d09d0988cdc1 Mon Sep 17 00:00:00 2001 From: Mark Woodhall Date: Tue, 24 Apr 2018 20:50:33 +0100 Subject: [PATCH 119/156] Institution and assertion don't need to be nested --- src/cayenne/elastic/mappings.clj | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/cayenne/elastic/mappings.clj b/src/cayenne/elastic/mappings.clj index 50e432b6..25dd24c1 100644 --- a/src/cayenne/elastic/mappings.clj +++ b/src/cayenne/elastic/mappings.clj @@ -209,11 +209,11 @@ :event {:type "object" :properties event-properties} :link {:type "nested" :properties link-properties} :license {:type "nested" :properties license-properties} - :assertion {:type "nested" :properties assertion-properties} + :assertion {:type "object" :properties assertion-properties} :relation {:type "nested" :properties relation-properties} :reference {:type "object" :properties reference-properties} :peer-review {:type "object" :properties peer-review-properties} - :institution {:type "nested"} + :institution {:type "object"} :free-to-read {:type "object"} :journal-issue {:type "object" :properties journal-issue-properties}}) From c1b37acb028bc3b64bc1dd0e72a77cb7f11d7464 Mon Sep 17 00:00:00 2001 From: Mark Woodhall Date: Tue, 24 Apr 2018 21:03:35 +0100 Subject: [PATCH 120/156] Disble xpack security --- docker-compose.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/docker-compose.yml b/docker-compose.yml index 2e38b496..209b6114 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -17,6 +17,7 @@ services: container_name: elasticsearch environment: - cluster.name=docker-cluster + - xpack.security.enabled=false - bootstrap.memory_lock=true - "ES_JAVA_OPTS=-Xms512m -Xmx512m" ulimits: From 13edad5b52870496b7f303f85fccf88669dc9815 Mon Sep 17 00:00:00 2001 From: Mark Woodhall Date: Wed, 25 Apr 2018 09:52:14 +0100 Subject: [PATCH 121/156] Add a simple test to prove sample still works --- test/cayenne/works_test.clj | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/test/cayenne/works_test.clj b/test/cayenne/works_test.clj index 4e391db7..6e7fcf06 100644 --- a/test/cayenne/works_test.clj +++ b/test/cayenne/works_test.clj @@ -37,6 +37,11 @@ expected-response (read-string (slurp (resource (str "works/?filter=" q-filter ".edn"))))] (is (= expected-response response) (str "unexpected result for filter " q-filter))))) + (testing "works endpoint returns results for sample" + (let [response (api-get "/v1/works?sample=100") + expected-count 100] + (is (= (count (:items response)) expected-count)))) + (testing "works related endpoints agree on work counts" (let [work-count (:total-results (api-get (str "/v1/works?filter=member:78"))) member-work-count (:total-results (api-get (str "/v1/members/78/works"))) From 7f1b29bc222a9bc7b2e189abd6a368ac48a17aae Mon Sep 17 00:00:00 2001 From: Mark Woodhall Date: Fri, 27 Apr 2018 15:46:21 +0100 Subject: [PATCH 122/156] Debug message --- dev/user.clj | 1 + 1 file changed, 1 insertion(+) diff --git a/dev/user.clj b/dev/user.clj index 035e93cd..90f229bb 100644 --- a/dev/user.clj +++ b/dev/user.clj @@ -59,6 +59,7 @@ (->> (.getPath (resource "registry.rdf")) (str "file://") (set-param! [:location :cr-funder-registry]))) + (println "Loading test funders from" (get-param [:location :cr-funder-registry])) (with-redefs [cayenne.tasks.funder/get-country-literal-name (fn [model node] From a04dd01f83e378a5fd44277de98ff2616218b92b Mon Sep 17 00:00:00 2001 From: Mark Woodhall Date: Fri, 27 Apr 2018 15:48:24 +0100 Subject: [PATCH 123/156] Port missing agency fix from master --- src/cayenne/api/v1/routes.clj | 4 ++-- src/cayenne/data/work.clj | 44 +++++++++++------------------------ 2 files changed, 15 insertions(+), 33 deletions(-) diff --git a/src/cayenne/api/v1/routes.clj b/src/cayenne/api/v1/routes.clj index c14069e5..39453db3 100644 --- a/src/cayenne/api/v1/routes.clj +++ b/src/cayenne/api/v1/routes.clj @@ -43,7 +43,7 @@ (defn get-passwd [context] (get-in context [:request :basic-authentication 1])) -(defn known-post-type? +(defn known-post-type? "Does the content type submitted match a known content type, if the method is POST? Otherwise, if not method POST, accept the request regardless of content type." @@ -143,7 +143,7 @@ :handle-malformed :validation-result :allowed-methods [:get :options :head] :available-media-types t/json - :exists? (->1 #(when-let [agency (work/get-agency doi)] {:agency agency})) + :exists? (->1 #(when-let [agency (work/parse-agency (work/get-agency doi))] {:agency agency})) :handle-ok #(work/->agency-response doi (:agency %))) (defn force-exact-request-doi diff --git a/src/cayenne/data/work.clj b/src/cayenne/data/work.clj index b9126a99..ad3229e1 100644 --- a/src/cayenne/data/work.clj +++ b/src/cayenne/data/work.clj @@ -139,43 +139,25 @@ convert/es-doc->citeproc with-citations))))) -(def agency-label - {"10.SERV/DEFAULT" "Default" - "10.SERV/CROSSREF" "Crossref" - "10.SERV/DATACITE" "DataCite" - "10.SERV/MEDRA" "mEDRA"}) - -(def agency-id - {"10.SERV/DEFAULT" "default" - "10.SERV/CROSSREF" "crossref" - "10.SERV/DATACITE" "datacite" - "10.SERV/MEDRA" "medra"}) - (defn get-agency [doi] - (let [extracted-doi (doi-id/normalize-long-doi doi) - {:keys [status headers body error]} - @(http/get (str (conf/get-param [:upstream :ra-url]) - (doi-id/extract-long-prefix extracted-doi)))] - (when-not error - (let [vals (-> body - (json/read-str :key-fn keyword) - :values) - hs-serv-index-value 1] - (get-in - (first - (filter - #(= (:index %) hs-serv-index-value) - vals)) - [:data :value]))))) + @(http/get (str (conf/get-param [:upstream :doi-ra-url]) + doi))) + +(defn parse-agency [{:keys [status headers body error]}] + (when-not error + (-> body + (json/read-str :key-fn keyword) + first + :RA))) (defn ->agency-response [doi agency] (r/api-response :work-agency :content {:DOI (doi-id/normalize-long-doi doi) - :agency {:id (or (agency-id agency) agency) - :label (or (agency-label agency) agency)}})) + :agency {:id (clojure.string/lower-case agency) + :label agency}})) (defn fetch-agency [doi] (let [extracted-doi (doi-id/normalize-long-doi doi) - agency (get-agency extracted-doi)] - (->agency-response doi agency))) + agency-fn (comp parse-agency get-agency)] + (->agency-response doi (agency-fn extracted-doi)))) From 0bd3b785bf2847b1b33600383f0ae3c193df5e8d Mon Sep 17 00:00:00 2001 From: Mark Woodhall Date: Fri, 27 Apr 2018 15:55:16 +0100 Subject: [PATCH 124/156] Bring funder indexing and api in line with master Most of the funder api uses the funder id and not the funder doi, I have made changes to respect this. Funder data was not indexing correctly because of issues with how hierarchy data was stored, this has now been resolved. --- src/cayenne/api/v1/routes.clj | 4 ++-- src/cayenne/data/funder.clj | 12 +++++++----- src/cayenne/elastic/mappings.clj | 5 +++-- src/cayenne/tasks/funder.clj | 29 +++++++++++++++++++---------- 4 files changed, 31 insertions(+), 19 deletions(-) diff --git a/src/cayenne/api/v1/routes.clj b/src/cayenne/api/v1/routes.clj index 39453db3..eba8c5e0 100644 --- a/src/cayenne/api/v1/routes.clj +++ b/src/cayenne/api/v1/routes.clj @@ -210,8 +210,8 @@ :handle-malformed :validation-result :allowed-methods [:get :options :head] :available-media-types t/json - :exists? #(when-let [f (funder/fetch-one - (q/->query-context % :id (doi-id/with-funder-prefix funder-id)))] + :exists? #(when-let [f (funder/fetch-one + (q/->query-context % :id funder-id))] {:funder f}) :handle-ok :funder) diff --git a/src/cayenne/data/funder.clj b/src/cayenne/data/funder.clj index 47a39456..b0068f22 100644 --- a/src/cayenne/data/funder.clj +++ b/src/cayenne/data/funder.clj @@ -45,7 +45,7 @@ (get-in [:body :count]))) (defn ->response-doc [funder-doc] - {:id (:doi funder-doc) + {:id (:id funder-doc) :location (:country funder-doc) :name (:primary-name funder-doc) :alt-names (:name funder-doc) @@ -55,20 +55,22 @@ :tokens (:token funder-doc)}) (defn ->extended-response-doc [funder-doc] - (let [funder-doi (:doi funder-doc)] + (let [funder-doi (:id funder-doc)] (merge (->response-doc funder-doc) {:work-count (fetch-work-count funder-doi) :descendant-work-count (fetch-descendant-work-count funder-doi) :descendants (:descendant funder-doc) - :hierarchy (:hierarchy funder-doc) - :hierarchy-names (:hierarchy-names funder-doc)}))) + :hierarchy (assoc-in {} (:hierarchy funder-doc) {}) + :hierarchy-names (->> (:hierarchy-names funder-doc) + (map (fn [h] {(:id h) (:name h)})) + (apply merge))}))) (defn fetch-one [query-context] (when-let [funder-doc (-> (elastic/request (conf/get-service :elastic) (query/->es-request query-context - :id-field :doi + :id-field :id :index "funder")) (get-in [:body :hits :hits]) first diff --git a/src/cayenne/elastic/mappings.clj b/src/cayenne/elastic/mappings.clj index 25dd24c1..fc1551fd 100644 --- a/src/cayenne/elastic/mappings.clj +++ b/src/cayenne/elastic/mappings.clj @@ -235,13 +235,14 @@ (def funder-properties {:doi {:type "keyword"} :suggest {:type "completion"} + :id {:type "text"} :level {:type "integer"} :parent {:type "keyword"} :ancestor {:type "keyword"} :child {:type "keyword"} :descendant {:type "keyword"} - :hierarchy {:type "object"} - :hierarchy-names {:type "keyword" :index false} + :hierarchy {:type "keyword"} + :hierarchy-names {:type "object"} :affiliated {:type "keyword"} :country {:type "keyword"} :primary-name {:type "text" :copy_to :suggest} diff --git a/src/cayenne/tasks/funder.clj b/src/cayenne/tasks/funder.clj index 7dc1f4aa..50db4846 100644 --- a/src/cayenne/tasks/funder.clj +++ b/src/cayenne/tasks/funder.clj @@ -18,6 +18,13 @@ (rdf/subjects))) (defn res->id [funder-concept-node] + (when funder-concept-node + (-> funder-concept-node + rdf/->uri + (string/split #"/") + last))) + +(defn res->doi [funder-concept-node] (when funder-concept-node (str "10.13039/" @@ -100,10 +107,11 @@ (defn resource-descendants [model funder-resource] (drop 1 (tree-seq (constantly true) #(narrower model %) funder-resource))) -(defn id-name-map [resources] +(defn id-name-map [model resources] (->> resources - (map #(vector (res->id %) (first (get-labels % "prefLabel")))) - (into {}))) + (map (fn [resource] + {:id (res->id resource) + :name (first (get-labels model resource "prefLabel"))})))) (defn index-command [model funder-resource] (let [primary-name (-> model (get-labels funder-resource "prefLabel") first) @@ -113,14 +121,15 @@ ancestor-ids (->> ancestors (map res->id) distinct) descendant-ids (->> descendants (map res->id) distinct)] [{:index {:_id (res->id funder-resource)}} - {:doi (res->id funder-resource) + {:doi (res->doi funder-resource) + :id (res->id funder-resource) :primary-name primary-name :name alt-names :token (concat (util/tokenize-name primary-name) (flatten (map util/tokenize-name alt-names))) :country (get-country-literal-name model funder-resource) - :parent (-> model (broader funder-resource) first res->id) + :parent (-> model (broader funder-resource) first res->doi) :ancestor ancestor-ids :level (-> ancestor-ids count (+ 1)) :child (distinct (map res->id (narrower model funder-resource))) @@ -128,11 +137,11 @@ :affiliated (distinct (map res->id (affiliated model funder-resource))) :replaced-by (distinct (map res->id (replaced-by model funder-resource))) :replaces (distinct (map res->id (replaces model funder-resource))) - :hierarchy [] + :hierarchy (flatten [ancestor-ids [(res->id funder-resource)] descendant-ids]) :hierarchy-names (-> [funder-resource] - (concat resource-ancestors) - (concat resource-descendants) - id-name-map)}])) + (concat ancestors) + (concat descendants) + (->> (id-name-map model)))}])) (defn index-funders [] (let [model (-> (java.net.URL. (conf/get-param [:location :cr-funder-registry])) @@ -161,7 +170,7 @@ (->> rdf-file (rdf/document->model) (find-funders) - (map res->id))) + (map res->doi))) (defn diff-funders-rdf-names "Returns a list of funder names found in the new RDF file but not in the old From 8a691abbe776881bd66dc9129832236ad4dc2643 Mon Sep 17 00:00:00 2001 From: Mark Woodhall Date: Fri, 27 Apr 2018 15:55:48 +0100 Subject: [PATCH 125/156] Formatting --- src/cayenne/api/v1/routes.clj | 84 +++++++++++++++++------------------ 1 file changed, 42 insertions(+), 42 deletions(-) diff --git a/src/cayenne/api/v1/routes.clj b/src/cayenne/api/v1/routes.clj index eba8c5e0..979dbf96 100644 --- a/src/cayenne/api/v1/routes.clj +++ b/src/cayenne/api/v1/routes.clj @@ -153,12 +153,12 @@ so we avoid the canonical lower-case DOI and present metadata for the DOI exactly as requested." [request doi] - (assoc (get-in request [:work :message]) - :URL - (->> doi - (URLDecoder/decode) - (doi-id/extract-long-doi) - (str "http://dx.doi.org/")))) + (assoc (get-in request [:work :message]) + :URL + (->> doi + (URLDecoder/decode) + (doi-id/extract-long-doi) + (str "http://dx.doi.org/")))) (defresource work-transform-resource [doi] :malformed? (v/malformed? :singleton true) @@ -362,58 +362,58 @@ (defroutes api-routes (ANY "/reverse" [] - reverse-lookup-resource) + reverse-lookup-resource) (ANY "/styles" [] - csl-styles-resource) + csl-styles-resource) (ANY "/locales" [] - csl-locales-resource) + csl-locales-resource) (ANY "/funders" [] - funders-resource) + funders-resource) (ANY "/funders/*" {{id :*} :params} - (if (.endsWith id "/works") - (funder-works-resource (string/replace id #"/works\z" "")) - (funder-resource id))) + (if (.endsWith id "/works") + (funder-works-resource (string/replace id #"/works\z" "")) + (funder-resource id))) (ANY "/members" [] - members-resource) + members-resource) (ANY "/members/:id" [id] - (member-resource id)) + (member-resource id)) (ANY "/members/:id/works" [id] - (member-works-resource id)) + (member-works-resource id)) (ANY "/journals" [] - journals-resource) + journals-resource) (ANY "/journals/:issn" [issn] - (journal-resource issn)) + (journal-resource issn)) (ANY "/journals/:issn/works" [issn] - (journal-works-resource issn)) + (journal-works-resource issn)) (ANY "/prefixes/:prefix" [prefix] - (prefix-resource prefix)) + (prefix-resource prefix)) (ANY "/prefixes/:prefix/works" [prefix] - (prefix-works-resource prefix)) + (prefix-works-resource prefix)) (ANY "/works" [] - works-resource) + works-resource) (ANY "/works/*" {{doi :*} :params} - (cond (.endsWith doi ".xml") - (redirect (str - "/works/" - (string/replace doi #".xml" "") - "/transform/application/vnd.crossref.unixsd+xml")) - (.endsWith doi "/agency") - (work-agency-resource (string/replace doi #"/agency\z" "")) - (.endsWith doi "/transform") - (work-transform-resource (string/replace doi #"/transform\z" "")) - (re-matches #".*/transform/.+\z" doi) - (explicit-work-transform-resource - (string/replace doi #"/transform/[^/]+/[^/]+\z" "") - (second (re-matches #".*/transform/(.+)\z" doi))) - :else - (work-resource doi))) + (cond (.endsWith doi ".xml") + (redirect (str + "/works/" + (string/replace doi #".xml" "") + "/transform/application/vnd.crossref.unixsd+xml")) + (.endsWith doi "/agency") + (work-agency-resource (string/replace doi #"/agency\z" "")) + (.endsWith doi "/transform") + (work-transform-resource (string/replace doi #"/transform\z" "")) + (re-matches #".*/transform/.+\z" doi) + (explicit-work-transform-resource + (string/replace doi #"/transform/[^/]+/[^/]+\z" "") + (second (re-matches #".*/transform/(.+)\z" doi))) + :else + (work-resource doi))) (ANY "/types" [] - types-resource) + types-resource) (ANY "/types/:id" [id] - (type-resource id)) + (type-resource id)) (ANY "/types/:id/works" [id] - (type-works-resource id)) + (type-works-resource id)) (ANY "/cores" [] - cores-resource) + cores-resource) (ANY "/cores/:name" [name] - (core-resource name))) + (core-resource name))) From a30260d559ace0f2f3c6ab2af5907c7e6edab5fe Mon Sep 17 00:00:00 2001 From: Mark Woodhall Date: Fri, 27 Apr 2018 15:56:28 +0100 Subject: [PATCH 126/156] Formatting --- src/cayenne/tasks/funder.clj | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/cayenne/tasks/funder.clj b/src/cayenne/tasks/funder.clj index 50db4846..526f5564 100644 --- a/src/cayenne/tasks/funder.clj +++ b/src/cayenne/tasks/funder.clj @@ -42,7 +42,7 @@ (defn select-country-stmts [model node] (concat - (rdf/select model + (rdf/select model :subject node :predicate (svf-el model "country")) (rdf/select model @@ -53,10 +53,10 @@ (let [country-obj (-> (select-country-stmts model node) (rdf/objects) (first))] - (if (or (nil? country-obj) - (= (rdf/->uri country-obj) + (if (or (nil? country-obj) + (= (rdf/->uri country-obj) "http://sws.geonames.org//")) - (do + (do (prn "Found node with no country: " node) "Unknown") (try From ff6544d413ca1ae6056da94b926b490127f17230 Mon Sep 17 00:00:00 2001 From: Mark Woodhall Date: Mon, 30 Apr 2018 11:20:09 +0100 Subject: [PATCH 127/156] Fix typo in rdf node name --- src/cayenne/tasks/funder.clj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/cayenne/tasks/funder.clj b/src/cayenne/tasks/funder.clj index 526f5564..2b89b8f8 100644 --- a/src/cayenne/tasks/funder.clj +++ b/src/cayenne/tasks/funder.clj @@ -92,7 +92,7 @@ (rdf/objects (rdf/select model :subject funder-resource :predicate (rdf/dct model "isReplacedBy"))) (rdf/subjects - (rdf/select model :predicate (rdf/dct model "reaplces") :object funder-resource)))) + (rdf/select model :predicate (rdf/dct model "replaces") :object funder-resource)))) (defn affiliated [model funder-resource] (concat From c6bc719eb9dccc51159d257c31108d8a2d2bf1a3 Mon Sep 17 00:00:00 2001 From: Mark Woodhall Date: Mon, 30 Apr 2018 17:14:16 +0100 Subject: [PATCH 128/156] Support hierarchy and hierarchy names as per master Note, this initial implementation does not support the `more` key, this will be added in a later commit. --- src/cayenne/data/funder.clj | 15 +++++++++++---- src/cayenne/tasks/funder.clj | 20 +++++++++++--------- src/cayenne/util.clj | 15 +++++++++++++++ 3 files changed, 37 insertions(+), 13 deletions(-) diff --git a/src/cayenne/data/funder.clj b/src/cayenne/data/funder.clj index b0068f22..6699955f 100644 --- a/src/cayenne/data/funder.clj +++ b/src/cayenne/data/funder.clj @@ -54,6 +54,15 @@ :replaced-by (:replaced-by funder-doc) :tokens (:token funder-doc)}) +(defn- build-hierarchy [funder-doc] + {(first (:hierarchy funder-doc)) + (zipmap (rest (:hierarchy funder-doc)) (repeat {}))}) + +(defn- build-hierarchy-names [funder-doc] + (->> (:hierarchy-names funder-doc) + (map (fn [h] {(:id h) (:name h)})) + (apply merge))) + (defn ->extended-response-doc [funder-doc] (let [funder-doi (:id funder-doc)] (merge @@ -61,10 +70,8 @@ {:work-count (fetch-work-count funder-doi) :descendant-work-count (fetch-descendant-work-count funder-doi) :descendants (:descendant funder-doc) - :hierarchy (assoc-in {} (:hierarchy funder-doc) {}) - :hierarchy-names (->> (:hierarchy-names funder-doc) - (map (fn [h] {(:id h) (:name h)})) - (apply merge))}))) + :hierarchy (build-hierarchy funder-doc) + :hierarchy-names (build-hierarchy-names funder-doc)}))) (defn fetch-one [query-context] (when-let [funder-doc (-> (elastic/request diff --git a/src/cayenne/tasks/funder.clj b/src/cayenne/tasks/funder.clj index 2b89b8f8..33a64cda 100644 --- a/src/cayenne/tasks/funder.clj +++ b/src/cayenne/tasks/funder.clj @@ -105,7 +105,7 @@ (drop 1 (tree-seq (constantly true) #(broader model %) funder-resource))) (defn resource-descendants [model funder-resource] - (drop 1 (tree-seq (constantly true) #(narrower model %) funder-resource))) + (drop 1 (util/tree-seq-depth (constantly true) #(narrower model %) funder-resource))) (defn id-name-map [model resources] (->> resources @@ -114,12 +114,15 @@ :name (first (get-labels model resource "prefLabel"))})))) (defn index-command [model funder-resource] - (let [primary-name (-> model (get-labels funder-resource "prefLabel") first) - alt-names (-> model (get-labels funder-resource "altLabel")) - ancestors (resource-ancestors model funder-resource) - descendants (resource-descendants model funder-resource) + (let [primary-name (-> model (get-labels funder-resource "prefLabel") first) + alt-names (-> model (get-labels funder-resource "altLabel")) + ancestors (resource-ancestors model funder-resource) + descendants (resource-descendants model funder-resource) + root-descendants (->> descendants + (filter #(<= (second %) 1)) + (map first)) ancestor-ids (->> ancestors (map res->id) distinct) - descendant-ids (->> descendants (map res->id) distinct)] + descendant-ids (->> descendants (map (comp res->id first)) distinct)] [{:index {:_id (res->id funder-resource)}} {:doi (res->doi funder-resource) :id (res->id funder-resource) @@ -137,10 +140,9 @@ :affiliated (distinct (map res->id (affiliated model funder-resource))) :replaced-by (distinct (map res->id (replaced-by model funder-resource))) :replaces (distinct (map res->id (replaces model funder-resource))) - :hierarchy (flatten [ancestor-ids [(res->id funder-resource)] descendant-ids]) + :hierarchy (concat [(res->id funder-resource)] (map res->id root-descendants)) :hierarchy-names (-> [funder-resource] - (concat ancestors) - (concat descendants) + (concat root-descendants) (->> (id-name-map model)))}])) (defn index-funders [] diff --git a/src/cayenne/util.clj b/src/cayenne/util.clj index 2acfad30..ff63e1df 100644 --- a/src/cayenne/util.clj +++ b/src/cayenne/util.clj @@ -210,3 +210,18 @@ (defn safe-trim [s] (when s (string/trim s))) + +(defn tree-seq-depth + "Returns a lazy sequence of vectors of the nodes in a tree and their + depth as [node depth], via a depth-first walk. branch? must be a fn + of one arg that returns true if passed a node that can have + children (but may not). children must be a fn of one arg that + returns a sequence of the children. Will only be called on nodes for + which branch? returns true. Root is the root node of the tree." + [branch? children root] + (let [walk (fn walk [depth node] + (lazy-seq + (cons [node depth] + (when (branch? node) + (mapcat (partial walk (inc depth)) (children node))))))] + (walk 0 root))) From 379342b0a2b9d393700448ebd6b6891a7dd7d27c Mon Sep 17 00:00:00 2001 From: Mark Woodhall Date: Fri, 4 May 2018 21:38:08 +0100 Subject: [PATCH 129/156] Fully implement funder hierarchy --- dev-resources/funders-offset-20.edn | 458 +++++++++++-------------- dev-resources/funders-offset-40.edn | 399 +++++++++++---------- dev-resources/funders.edn | 350 ++++++++++--------- dev-resources/funders/100000001.edn | 118 +++---- dev-resources/funders/100006151.edn | 10 +- dev-resources/funders/501100000314.edn | 2 +- dev-resources/funders/501100000315.edn | 2 +- src/cayenne/data/funder.clj | 13 +- src/cayenne/elastic/mappings.clj | 4 +- src/cayenne/tasks/funder.clj | 78 +++-- src/cayenne/util.clj | 16 + 11 files changed, 731 insertions(+), 719 deletions(-) diff --git a/dev-resources/funders-offset-20.edn b/dev-resources/funders-offset-20.edn index 3e08b9e9..93a27d46 100644 --- a/dev-resources/funders-offset-20.edn +++ b/dev-resources/funders-offset-20.edn @@ -2,315 +2,263 @@ :query {:start-index 20, :search-terms nil}, :total-results 15965, :items - ({:id "501100004760", - :location "http://sws.geonames.org/1668284/", - :name "National Chi Nan University", - :alt-names ["NCNU"], - :uri "http://dx.doi.org/10.13039/501100004760", + ({:id "100000063", + :location "United States", + :name "Office of Dietary Supplements", + :alt-names ["ODS"], + :uri "http://dx.doi.org/10.13039/100000063", :replaces [], :replaced-by [], - :tokens ["national" "chi" "nan" "university" "ncnu"]} - {:id "100011517", + :tokens ["office" "of" "dietary" "supplements" "ods"]} + {:id "100000073", :location "United States", - :name "Lucille P. Markey Charitable Trust", - :alt-names ["Markey Trust"], - :uri "http://dx.doi.org/10.13039/100011517", + :name "Autism Speaks", + :alt-names ["Autism Speaks, Inc." "Autism Speaks Inc."], + :uri "http://dx.doi.org/10.13039/100000073", :replaces [], :replaced-by [], :tokens - ["lucille" "p" "markey" "charitable" "trust" "markey" "trust"]} - {:id "501100005248", - :location "http://sws.geonames.org/3469034/", - :name "Faculdade de Medicina do ABC", - :alt-names ["FMABC"], - :uri "http://dx.doi.org/10.13039/501100005248", + ["autism" "speaks" "autism" "speaks" "inc" "autism" "speaks" "inc"]} + {:id "100000074", + :location "United States", + :name "U.S. Department of Justice", + :alt-names ["DOJ" "United States Department of Justice"], + :uri "http://dx.doi.org/10.13039/100000074", :replaces [], :replaced-by [], - :tokens ["faculdade" "de" "medicina" "do" "abc" "fmabc"]} - {:id "501100001711", - :location "http://sws.geonames.org/2658434/", - :name - "Schweizerischer Nationalfonds zur Förderung der Wissenschaftlichen Forschung", - :alt-names - ["FNS" - "Fondo Nazionale Svizzero" - "Fonds National Suisse" - "Fondo Nazionale Svizzero per la Ricerca Scientifica" - "SNSF" - "Fonds National Suisse de la Recherche Scientifique" - "Swiss National Science Foundation" - "SNF" - "Schweizerischer Nationalfonds"], - :uri "http://dx.doi.org/10.13039/501100001711", + :tokens + ["us" + "department" + "of" + "justice" + "doj" + "united" + "states" + "department" + "of" + "justice"]} + {:id "100000080", + :location "United States", + :name "Anesthesia Patient Safety Foundation", + :alt-names ["APSF"], + :uri "http://dx.doi.org/10.13039/100000080", :replaces [], :replaced-by [], - :tokens - ["schweizerischer" - "nationalfonds" - "zur" - "förderung" - "der" - "wissenschaftlichen" - "forschung" - "fns" - "fondo" - "nazionale" - "svizzero" - "fonds" - "national" - "suisse" - "fondo" - "nazionale" - "svizzero" - "per" - "la" - "ricerca" - "scientifica" - "snsf" - "fonds" - "national" - "suisse" - "de" - "la" - "recherche" - "scientifique" - "swiss" - "national" - "science" - "foundation" - "snf" - "schweizerischer" - "nationalfonds"]} - {:id "100007328", + :tokens ["anesthesia" "patient" "safety" "foundation" "apsf"]} + {:id "100000103", :location "United States", - :name "N. Bud Grossman Center for Memory Research and Care", - :alt-names ["Grossman Center"], - :uri "http://dx.doi.org/10.13039/100007328", + :name "National Endowment for the Humanities", + :alt-names ["NEH"], + :uri "http://dx.doi.org/10.13039/100000103", :replaces [], :replaced-by [], - :tokens - ["n" - "bud" - "grossman" - "center" - "for" - "memory" - "research" - "and" - "care" - "grossman" - "center"]} - {:id "501100000682", - :location "United Kingdom", - :name "Royal College of Obstetricians and Gynaecologists", - :alt-names ["RCOG"], - :uri "http://dx.doi.org/10.13039/501100000682", + :tokens ["national" "endowment" "for" "the" "humanities" "neh"]} + {:id "100000104", + :location "United States", + :name "National Aeronautics and Space Administration", + :alt-names ["NASA"], + :uri "http://dx.doi.org/10.13039/100000104", :replaces [], :replaced-by [], :tokens - ["royal" - "college" - "of" - "obstetricians" - "and" - "gynaecologists" - "rcog"]} - {:id "100005994", + ["national" "aeronautics" "and" "space" "administration" "nasa"]} + {:id "100000107", :location "United States", - :name "Women's Research and Education Institute", - :alt-names ["WREI" "Women’s Research & Education Institute"], - :uri "http://dx.doi.org/10.13039/100005994", + :name "Science of Learning Centers", + :alt-names ["SLC"], + :uri "http://dx.doi.org/10.13039/100000107", :replaces [], :replaced-by [], - :tokens - ["womens" - "research" - "and" - "education" - "institute" - "wrei" - "women’s" - "research" - "&" - "and" - "education" - "institute"]} - {:id "501100000079", - :location "http://sws.geonames.org/6251999/", - :name "Certified General Accountants Association of Canada", - :alt-names - ["l’Association des comptables généraux accrédités du Canada" - "CGA"], - :uri "http://dx.doi.org/10.13039/501100000079", + :tokens ["science" "of" "learning" "centers" "slc"]} + {:id "100000108", + :location "United States", + :name "National Science Digital Library", + :alt-names ["NSDL"], + :uri "http://dx.doi.org/10.13039/100000108", :replaces [], :replaced-by [], - :tokens - ["certified" - "general" - "accountants" - "association" - "of" - "canada" - "l’association" - "des" - "comptables" - "généraux" - "accrédités" - "du" - "canada" - "cga"]} - {:id "100008241", - :location "United Kingdom", - :name "Alder Hey Children's NHS Foundation Trust", - :alt-names - ["Alder Hey Children's Hospital" - "Alder Hey Children's Hospital NHS Foundation Trust"], - :uri "http://dx.doi.org/10.13039/100008241", + :tokens ["national" "science" "digital" "library" "nsdl"]} + {:id "100000110", + :location "United States", + :name "Nanotechnology Initiative", + :alt-names [], + :uri "http://dx.doi.org/10.13039/100000110", :replaces [], :replaced-by [], - :tokens - ["alder" - "hey" - "childrens" - "nhs" - "foundation" - "trust" - "alder" - "hey" - "childrens" - "hospital" - "alder" - "hey" - "childrens" - "hospital" - "nhs" - "foundation" - "trust"]} - {:id "100003795", + :tokens ["nanotechnology" "initiative"]} + {:id "100000132", :location "United States", - :name "Gay and Lesbian Medical Association", - :alt-names ["GLMA"], - :uri "http://dx.doi.org/10.13039/100003795", + :name "Transportation Research Board", + :alt-names ["TRB"], + :uri "http://dx.doi.org/10.13039/100000132", :replaces [], :replaced-by [], - :tokens ["gay" "and" "lesbian" "medical" "association" "glma"]} - {:id "100001312", + :tokens ["transportation" "research" "board" "trb"]} + {:id "100000138", :location "United States", - :name "Charles H. Revson Foundation", - :alt-names [], - :uri "http://dx.doi.org/10.13039/100001312", + :name "U.S. Department of Education", + :alt-names ["ED"], + :uri "http://dx.doi.org/10.13039/100000138", :replaces [], :replaced-by [], - :tokens ["charles" "h" "revson" "foundation"]} - {:id "100008209", + :tokens ["us" "department" "of" "education" "ed"]} + {:id "100000139", :location "United States", - :name "University at Buffalo", - :alt-names ["SUNY Buffalo" "UB"], - :uri "http://dx.doi.org/10.13039/100008209", + :name "U.S. Environmental Protection Agency", + :alt-names + ["US Environmental Protection Agency" + "United States Environmental Protection Agency" + "EPA" + "U.S. EPA"], + :uri "http://dx.doi.org/10.13039/100000139", :replaces [], :replaced-by [], - :tokens ["university" "at" "buffalo" "suny" "buffalo" "ub"]} - {:id "501100003131", - :location "http://sws.geonames.org/2623032/", - :name "Aalborg Samarbejdet", - :alt-names ["Aalborg Samarbejdet Region"], - :uri "http://dx.doi.org/10.13039/501100003131", + :tokens + ["us" + "environmental" + "protection" + "agency" + "us" + "environmental" + "protection" + "agency" + "united" + "states" + "environmental" + "protection" + "agency" + "epa" + "us" + "epa"]} + {:id "100000140", + :location "United States", + :name "U.S. Department of Transportation", + :alt-names ["DOT"], + :uri "http://dx.doi.org/10.13039/100000140", + :replaces [], + :replaced-by [], + :tokens ["us" "department" "of" "transportation" "dot"]} + {:id "100000142", + :location "United States", + :name "Avon Foundation for Women", + :alt-names ["Avon Products Foundation, Inc." "Avon Foundation"], + :uri "http://dx.doi.org/10.13039/100000142", :replaces [], :replaced-by [], - :tokens ["aalborg" "samarbejdet" "aalborg" "samarbejdet" "region"]} - {:id "501100007682", - :location "http://sws.geonames.org/3202326/", - :name "Medicinski Fakultet, Sveučilište u Zagrebu", + :tokens + ["avon" + "foundation" + "for" + "women" + "avon" + "products" + "foundation" + "inc" + "avon" + "foundation"]} + {:id "100000180", + :location "United States", + :name "U.S. Department of Homeland Security", :alt-names - ["University of Zagreb Medical School" - "University of Zagreb, School of Medicine" - "School of Medicine, University of Zagreb" - "Sveučilište u Zagrebu, Medicinski Fakultet"], - :uri "http://dx.doi.org/10.13039/501100007682", + ["Department of Homeland Security" + "DHS" + "United States Department of Homeland Security" + "Homeland Security"], + :uri "http://dx.doi.org/10.13039/100000180", :replaces [], :replaced-by [], :tokens - ["medicinski" - "fakultet" - "sveučilište" - "u" - "zagrebu" - "university" - "of" - "zagreb" - "medical" - "school" - "university" + ["us" + "department" "of" - "zagreb" - "school" + "homeland" + "security" + "department" "of" - "medicine" - "school" + "homeland" + "security" + "dhs" + "united" + "states" + "department" "of" - "medicine" - "university" - "of" - "zagreb" - "sveučilište" - "u" - "zagrebu" - "medicinski" - "fakultet"]} - {:id "501100005973", - :location "Germany", - :name "Dr. Mildred Scheel Stiftung für Krebsforschung", - :alt-names [], - :uri "http://dx.doi.org/10.13039/501100005973", + "homeland" + "security" + "homeland" + "security"]} + {:id "100000190", + :location "United States", + :name "U.S. Department of Commerce", + :alt-names ["DOC"], + :uri "http://dx.doi.org/10.13039/100000190", :replaces [], :replaced-by [], - :tokens ["dr" "mildred" "scheel" "stiftung" "für" "krebsforschung"]} - {:id "100010565", + :tokens ["us" "department" "of" "commerce" "doc"]} + {:id "100000193", :location "United States", - :name "American Association of Bovine Practitioners", - :alt-names ["AABP"], - :uri "http://dx.doi.org/10.13039/100010565", + :name "National Endowment for the Arts", + :alt-names ["NEA"], + :uri "http://dx.doi.org/10.13039/100000193", :replaces [], :replaced-by [], - :tokens - ["american" "association" "of" "bovine" "practitioners" "aabp"]} - {:id "100006759", + :tokens ["national" "endowment" "for" "the" "arts" "nea"]} + {:id "100000194", :location "United States", - :name "California Department of Food and Agriculture", - :alt-names ["CDFA"], - :uri "http://dx.doi.org/10.13039/100006759", + :name "U.S. Department of State", + :alt-names + ["Department of State" "DOS" "United States Department of State"], + :uri "http://dx.doi.org/10.13039/100000194", :replaces [], :replaced-by [], :tokens - ["california" "department" "of" "food" "and" "agriculture" "cdfa"]} - {:id "100002418", + ["us" + "department" + "of" + "state" + "department" + "of" + "state" + "dos" + "united" + "states" + "department" + "of" + "state"]} + {:id "100000199", :location "United States", - :name "Intel Corporation", - :alt-names ["Intel"], - :uri "http://dx.doi.org/10.13039/100002418", + :name "U.S. Department of Agriculture", + :alt-names ["United States Department of Agriculture" "USDA"], + :uri "http://dx.doi.org/10.13039/100000199", :replaces [], :replaced-by [], - :tokens ["intel" "corporation" "intel"]} - {:id "100010158", - :location "http://sws.geonames.org/953987/", - :name "Physiology Society of Southern Africa", - :alt-names [], - :uri "http://dx.doi.org/10.13039/100010158", - :replaces [], - :replaced-by [], - :tokens ["physiology" "society" "of" "southern" "africa"]} - {:id "100010206", + :tokens + ["us" + "department" + "of" + "agriculture" + "united" + "states" + "department" + "of" + "agriculture" + "usda"]} + {:id "100000200", :location "United States", - :name "Defense Language Institute Foreign Language Center", - :alt-names ["DLIFLC"], - :uri "http://dx.doi.org/10.13039/100010206", + :name "United States Agency for International Development", + :alt-names ["USAID" "U.S. Agency for International Development"], + :uri "http://dx.doi.org/10.13039/100000200", :replaces [], :replaced-by [], :tokens - ["defense" - "language" - "institute" - "foreign" - "language" - "center" - "dliflc"]})} + ["united" + "states" + "agency" + "for" + "international" + "development" + "usaid" + "us" + "agency" + "for" + "international" + "development"]})} diff --git a/dev-resources/funders-offset-40.edn b/dev-resources/funders-offset-40.edn index 496be59f..7451d3ac 100644 --- a/dev-resources/funders-offset-40.edn +++ b/dev-resources/funders-offset-40.edn @@ -2,265 +2,262 @@ :query {:start-index 40, :search-terms nil}, :total-results 15965, :items - ({:id "501100001190", - :location "Australia", - :name - "Department of Business and Innovation, Victoria State Government", - :alt-names ["DBI"], - :uri "http://dx.doi.org/10.13039/501100001190", + ({:id "100000201", + :location "United States", + :name "U.S. Department of the Interior", + :alt-names ["DOI" "Department of the Interior"], + :uri "http://dx.doi.org/10.13039/100000201", + :replaces [], + :replaced-by [], + :tokens + ["us" + "department" + "of" + "the" + "interior" + "doi" + "department" + "of" + "the" + "interior"]} + {:id "100000204", + :location "United States", + :name "U.S. Department of Housing and Urban Development", + :alt-names ["HUD"], + :uri "http://dx.doi.org/10.13039/100000204", :replaces [], :replaced-by [], :tokens - ["department" + ["us" + "department" "of" - "business" + "housing" "and" - "innovation" - "victoria" - "state" - "government" - "dbi"]} - {:id "100001438", + "urban" + "development" + "hud"]} + {:id "100000205", :location "United States", - :name "Accelerate Brain Cancer Cure", - :alt-names ["ABC2"], - :uri "http://dx.doi.org/10.13039/100001438", + :name "Technology Opportunities Program", + :alt-names ["TOP"], + :uri "http://dx.doi.org/10.13039/100000205", :replaces [], :replaced-by [], - :tokens ["accelerate" "brain" "cancer" "cure" "abc2"]} - {:id "501100004142", - :location "China", - :name "Lishui University", - :alt-names ["LSU"], - :uri "http://dx.doi.org/10.13039/501100004142", + :tokens ["technology" "opportunities" "program" "top"]} + {:id "100000207", + :location "United States", + :name "U.S. Small Business Administration", + :alt-names ["SBA"], + :uri "http://dx.doi.org/10.13039/100000207", :replaces [], :replaced-by [], - :tokens ["lishui" "university" "lsu"]} - {:id "100011752", + :tokens ["us" "small" "business" "administration" "sba"]} + {:id "100000208", :location "United States", - :name "Office of the Provost, Central Michigan University", - :alt-names [], - :uri "http://dx.doi.org/10.13039/100011752", + :name "Institute of Museum and Library Services", + :alt-names ["IMLS"], + :uri "http://dx.doi.org/10.13039/100000208", :replaces [], :replaced-by [], :tokens - ["office" "of" "the" "provost" "central" "michigan" "university"]} - {:id "100008130", + ["institute" "of" "museum" "and" "library" "services" "imls"]} + {:id "100000297", :location "United States", - :name "Helsinn Therapeutics", - :alt-names [], - :uri "http://dx.doi.org/10.13039/100008130", + :name "FRAXA Research Foundation", + :alt-names ["FRAXA" "FRAXA Research Foundation, Inc."], + :uri "http://dx.doi.org/10.13039/100000297", :replaces [], :replaced-by [], - :tokens ["helsinn" "therapeutics"]} - {:id "501100006481", - :location "http://sws.geonames.org/1733045/", - :name - "Department of Chemical Engineering, Universiti Teknologi Petronas", - :alt-names ["Department of Chemical Engineering, UTP"], - :uri "http://dx.doi.org/10.13039/501100006481", + :tokens + ["fraxa" + "research" + "foundation" + "fraxa" + "fraxa" + "research" + "foundation" + "inc"]} + {:id "100000307", + :location "United States", + :name "American Library Association", + :alt-names ["ALA"], + :uri "http://dx.doi.org/10.13039/100000307", :replaces [], :replaced-by [], - :tokens - ["department" - "of" - "chemical" - "engineering" - "universiti" - "teknologi" - "petronas" - "department" - "of" - "chemical" - "engineering" - "utp"]} - {:id "501100005406", - :location "http://sws.geonames.org/798544/", - :name "Fundacja Badań i Rozwoju Nauki", + :tokens ["american" "library" "association" "ala"]} + {:id "100000308", + :location "United States", + :name "Carnegie Corporation of New York", :alt-names [], - :uri "http://dx.doi.org/10.13039/501100005406", + :uri "http://dx.doi.org/10.13039/100000308", :replaces [], :replaced-by [], - :tokens ["fundacja" "badań" "i" "rozwoju" "nauki"]} - {:id "100008913", + :tokens ["carnegie" "corporation" "of" "new" "york"]} + {:id "100000345", :location "United States", - :name "University of San Francisco", - :alt-names ["USF"], - :uri "http://dx.doi.org/10.13039/100008913", + :name "McCormick Foundation", + :alt-names + ["RRM Foundations" + "Robert R. McCormick Foundations" + "Robert R. McCormick Foundation"], + :uri "http://dx.doi.org/10.13039/100000345", :replaces [], :replaced-by [], - :tokens ["university" "of" "san" "francisco" "usf"]} - {:id "501100000743", - :location "United Kingdom", - :name - "Institute of Advanced Legal Studies, School of Advanced Study, University of London", - :alt-names ["IALS"], - :uri "http://dx.doi.org/10.13039/501100000743", + :tokens + ["mccormick" + "foundation" + "rrm" + "foundations" + "robert" + "r" + "mccormick" + "foundations" + "robert" + "r" + "mccormick" + "foundation"]} + {:id "100000738", + :location "United States", + :name "U.S. Department of Veterans Affairs", + :alt-names ["Department of Veterans Affairs" "VA"], + :uri "http://dx.doi.org/10.13039/100000738", :replaces [], :replaced-by [], :tokens - ["institute" - "of" - "advanced" - "legal" - "studies" - "school" + ["us" + "department" "of" - "advanced" - "study" - "university" + "veterans" + "affairs" + "department" "of" - "london" - "ials"]} - {:id "501100007115", - :location "http://sws.geonames.org/298795/", - :name "Muş Alparslan Üniversitesi", - :alt-names ["Muş Alparslan University"], - :uri "http://dx.doi.org/10.13039/501100007115", + "veterans" + "affairs" + "va"]} + {:id "100000741", + :location "United States", + :name "National Archives and Records Administration", + :alt-names ["NARA" "National Archives"], + :uri "http://dx.doi.org/10.13039/100000741", :replaces [], :replaced-by [], :tokens - ["muş" "alparslan" "üniversitesi" "muş" "alparslan" "university"]} - {:id "100011603", + ["national" + "archives" + "and" + "records" + "administration" + "nara" + "national" + "archives"]} + {:id "100000778", :location "United States", - :name "American Academy of Optometry", - :alt-names ["AAO"], - :uri "http://dx.doi.org/10.13039/100011603", - :replaces [], - :replaced-by [], - :tokens ["american" "academy" "of" "optometry" "aao"]} - {:id "501100009253", - :location "http://sws.geonames.org/2658434/", - :name "European Association for the Study of the Liver", - :alt-names ["EASL" "EASL Home of Hepatology"], - :uri "http://dx.doi.org/10.13039/501100009253", + :name "U.S. Department of Labor", + :alt-names ["DOL" "United States Department of Labor"], + :uri "http://dx.doi.org/10.13039/100000778", :replaces [], :replaced-by [], :tokens - ["european" - "association" - "for" - "the" - "study" + ["us" + "department" "of" - "the" - "liver" - "easl" - "easl" - "home" + "labor" + "dol" + "united" + "states" + "department" "of" - "hepatology"]} - {:id "100007414", + "labor"]} + {:id "100000810", :location "United States", - :name "Horncrest Foundation", - :alt-names ["Horncrest Foundation Inc."], - :uri "http://dx.doi.org/10.13039/100007414", + :name "Woodrow Wilson International Center for Scholars", + :alt-names ["Wilson Center"], + :uri "http://dx.doi.org/10.13039/100000810", :replaces [], :replaced-by [], - :tokens ["horncrest" "foundation" "horncrest" "foundation" "inc"]} - {:id "501100000165", - :location "http://sws.geonames.org/6251999/", - :name "Sick Kids Foundation", + :tokens + ["woodrow" + "wilson" + "international" + "center" + "for" + "scholars" + "wilson" + "center"]} + {:id "100000834", + :location "United States", + :name "Bernard Osher Foundation", :alt-names [], - :uri "http://dx.doi.org/10.13039/501100000165", + :uri "http://dx.doi.org/10.13039/100000834", :replaces [], :replaced-by [], - :tokens ["sick" "kids" "foundation"]} - {:id "501100008126", - :location "http://sws.geonames.org/1835841/", - :name "Jeju National University Hospital", - :alt-names ["JNUH"], - :uri "http://dx.doi.org/10.13039/501100008126", + :tokens ["bernard" "osher" "foundation"]} + {:id "100000848", + :location "United States", + :name "United Negro College Fund Special Programs Corporation", + :alt-names ["UNCFSP"], + :uri "http://dx.doi.org/10.13039/100000848", :replaces [], :replaced-by [], - :tokens ["jeju" "national" "university" "hospital" "jnuh"]} - {:id "501100004478", - :location "China", - :name "Beijing Union University", - :alt-names ["BUU"], - :uri "http://dx.doi.org/10.13039/501100004478", + :tokens + ["united" + "negro" + "college" + "fund" + "special" + "programs" + "corporation" + "uncfsp"]} + {:id "100000850", + :location "United States", + :name "American Society for Engineering Education", + :alt-names ["ASEE"], + :uri "http://dx.doi.org/10.13039/100000850", :replaces [], :replaced-by [], - :tokens ["beijing" "union" "university" "buu"]} - {:id "100005808", + :tokens + ["american" "society" "for" "engineering" "education" "asee"]} + {:id "100000861", :location "United States", - :name "Vietnam Education Foundation", - :alt-names ["VEF"], - :uri "http://dx.doi.org/10.13039/100005808", + :name "Burroughs Wellcome Fund", + :alt-names ["BWF"], + :uri "http://dx.doi.org/10.13039/100000861", :replaces [], :replaced-by [], - :tokens ["vietnam" "education" "foundation" "vef"]} - {:id "100006489", + :tokens ["burroughs" "wellcome" "fund" "bwf"]} + {:id "100000862", :location "United States", - :name - "Carolina Center of Cancer Nanotechnology Excellence, University of North Carolina - Chapel Hill", - :alt-names - ["CCNE, UNC" "Carolina Cancer Center of Nanotechnology Excellence"], - :uri "http://dx.doi.org/10.13039/100006489", + :name "Doris Duke Charitable Foundation", + :alt-names ["DDCF"], + :uri "http://dx.doi.org/10.13039/100000862", :replaces [], :replaced-by [], - :tokens - ["carolina" - "center" - "of" - "cancer" - "nanotechnology" - "excellence" - "university" - "of" - "north" - "carolina" - "chapel" - "hill" - "ccne" - "unc" - "carolina" - "cancer" - "center" - "of" - "nanotechnology" - "excellence"]} - {:id "501100008424", - :location "http://sws.geonames.org/3996063/", - :name - "Consejo Estatal de Ciencia y Tecnología, Gobierno del estado de Sinaloa", - :alt-names - ["COECYT" - "State Council of Science and Technology, Government of the State of Sinaloa"], - :uri "http://dx.doi.org/10.13039/501100008424", + :tokens ["doris" "duke" "charitable" "foundation" "ddcf"]} + {:id "100000863", + :location "United States", + :name "Ellison Medical Foundation", + :alt-names ["EMF"], + :uri "http://dx.doi.org/10.13039/100000863", :replaces [], :replaced-by [], - :tokens - ["consejo" - "estatal" - "de" - "ciencia" - "y" - "tecnología" - "gobierno" - "del" - "estado" - "de" - "sinaloa" - "coecyt" - "state" - "council" - "of" - "science" - "and" - "technology" - "government" - "of" - "the" - "state" - "of" - "sinaloa"]} - {:id "100008107", + :tokens ["ellison" "medical" "foundation" "emf"]} + {:id "100000864", :location "United States", - :name "University of Wyoming Foundation", - :alt-names ["UW Foundation"], - :uri "http://dx.doi.org/10.13039/100008107", + :name "Michael J. Fox Foundation for Parkinson's Research", + :alt-names ["MJFF" "Michael J. Fox Foundation"], + :uri "http://dx.doi.org/10.13039/100000864", :replaces [], :replaced-by [], :tokens - ["university" "of" "wyoming" "foundation" "uw" "foundation"]})} + ["michael" + "j" + "fox" + "foundation" + "for" + "parkinsons" + "research" + "mjff" + "michael" + "j" + "fox" + "foundation"]})} diff --git a/dev-resources/funders.edn b/dev-resources/funders.edn index c7819d20..7e6d9980 100644 --- a/dev-resources/funders.edn +++ b/dev-resources/funders.edn @@ -2,218 +2,250 @@ :query {:start-index 0, :search-terms nil}, :total-results 15965, :items - ({:id "100004410", - :location "Germany", - :name "European Molecular Biology Organization", - :alt-names ["EMBO"], - :uri "http://dx.doi.org/10.13039/100004410", - :replaces ["501100003043"], + ({:id "100000001", + :location "United States", + :name "National Science Foundation", + :alt-names ["NSF"], + :uri "http://dx.doi.org/10.13039/100000001", + :replaces [], :replaced-by [], - :tokens ["european" "molecular" "biology" "organization" "embo"]} - {:id "100005165", + :tokens ["national" "science" "foundation" "nsf"]} + {:id "100000003", :location "United States", - :name "American Educational Research Association", - :alt-names ["AERA"], - :uri "http://dx.doi.org/10.13039/100005165", + :name "Boeing", + :alt-names ["Boeing Company"], + :uri "http://dx.doi.org/10.13039/100000003", :replaces [], :replaced-by [], - :tokens ["american" "educational" "research" "association" "aera"]} - {:id "100002569", + :tokens ["boeing" "boeing" "company"]} + {:id "100000005", :location "United States", - :name "American Association of Endodontists Foundation", - :alt-names ["AAE Foundation"], - :uri "http://dx.doi.org/10.13039/100002569", + :name "U.S. Department of Defense", + :alt-names + ["DOD" + "Department of Defense" + "United States Department of Defense"], + :uri "http://dx.doi.org/10.13039/100000005", :replaces [], :replaced-by [], :tokens - ["american" - "association" + ["us" + "department" "of" - "endodontists" - "foundation" - "aae" - "foundation"]} - {:id "501100005887", - :location "Australia", - :name "Faculty of Sciences, University of Adelaide", - :alt-names [], - :uri "http://dx.doi.org/10.13039/501100005887", - :replaces [], - :replaced-by [], - :tokens ["faculty" "of" "sciences" "university" "of" "adelaide"]} - {:id "501100009402", - :location "Ethiopia", - :name "Mekelle University", - :alt-names ["MU"], - :uri "http://dx.doi.org/10.13039/501100009402", + "defense" + "dod" + "department" + "of" + "defense" + "united" + "states" + "department" + "of" + "defense"]} + {:id "100000008", + :location "United States", + :name "David and Lucile Packard Foundation", + :alt-names ["David & Lucile Packard Foundation"], + :uri "http://dx.doi.org/10.13039/100000008", :replaces [], :replaced-by [], - :tokens ["mekelle" "university" "mu"]} - {:id "501100007535", - :location "China", - :name "Southwest University for Nationalities", - :alt-names ["SWUN"], - :uri "http://dx.doi.org/10.13039/501100007535", + :tokens + ["david" + "and" + "lucile" + "packard" + "foundation" + "david" + "&" + "and" + "lucile" + "packard" + "foundation"]} + {:id "100000009", + :location "United States", + :name "Foundation for the National Institutes of Health", + :alt-names + ["FNIH" + "Foundation for the National Institutes of Health, Inc." + "Foundation for the NIH"], + :uri "http://dx.doi.org/10.13039/100000009", :replaces [], :replaced-by [], - :tokens ["southwest" "university" "for" "nationalities" "swun"]} - {:id "501100000314", - :location "United Kingdom", - :name "ABBEY AWARDS", - :alt-names ["Abbey"], - :uri "http://dx.doi.org/10.13039/501100000314", + :tokens + ["foundation" + "for" + "the" + "national" + "institutes" + "of" + "health" + "fnih" + "foundation" + "for" + "the" + "national" + "institutes" + "of" + "health" + "inc" + "foundation" + "for" + "the" + "nih"]} + {:id "100000010", + :location "United States", + :name "Ford Foundation", + :alt-names [], + :uri "http://dx.doi.org/10.13039/100000010", :replaces [], :replaced-by [], - :tokens ["abbey" "awards" "abbey"]} - {:id "501100001316", - :location "United Kingdom", - :name "University of Kent", - :alt-names [], - :uri "http://dx.doi.org/10.13039/501100001316", + :tokens ["ford" "foundation"]} + {:id "100000011", + :location "United States", + :name "Howard Hughes Medical Institute", + :alt-names ["HHMI"], + :uri "http://dx.doi.org/10.13039/100000011", :replaces [], :replaced-by [], - :tokens ["university" "of" "kent"]} - {:id "100009701", + :tokens ["howard" "hughes" "medical" "institute" "hhmi"]} + {:id "100000014", :location "United States", - :name "Childhood Apraxia of Speech Association of North America", - :alt-names ["CASANA"], - :uri "http://dx.doi.org/10.13039/100009701", + :name "Smithsonian Institution", + :alt-names ["SI" "Smithsonian"], + :uri "http://dx.doi.org/10.13039/100000014", :replaces [], :replaced-by [], - :tokens - ["childhood" - "apraxia" - "of" - "speech" - "association" - "of" - "north" - "america" - "casana"]} - {:id "501100004056", - :location "Norway", - :name "Akershus University College of Applied Science", - :alt-names [], - :uri "http://dx.doi.org/10.13039/501100004056", + :tokens ["smithsonian" "institution" "si" "smithsonian"]} + {:id "100000015", + :location "United States", + :name "U.S. Department of Energy", + :alt-names ["DOE"], + :uri "http://dx.doi.org/10.13039/100000015", :replaces [], :replaced-by [], - :tokens - ["akershus" "university" "college" "of" "applied" "science"]} - {:id "100000152", + :tokens ["us" "department" "of" "energy" "doe"]} + {:id "100000016", :location "United States", - :name "Division of Molecular and Cellular Biosciences", - :alt-names ["BIO/MCB" "MCB"], - :uri "http://dx.doi.org/10.13039/100000152", + :name "U.S. Department of Health and Human Services", + :alt-names ["U.S. Department of Health & Human Services" "HHS"], + :uri "http://dx.doi.org/10.13039/100000016", :replaces [], :replaced-by [], :tokens - ["division" + ["us" + "department" + "of" + "health" + "and" + "human" + "services" + "us" + "department" "of" - "molecular" + "health" + "&" "and" - "cellular" - "biosciences" - "bio/mcb" - "mcb"]} - {:id "100007727", + "human" + "services" + "hhs"]} + {:id "100000019", :location "United States", - :name "Biodesign Institute, Arizona State University", - :alt-names [], - :uri "http://dx.doi.org/10.13039/100007727", + :name "National Hemophilia Foundation", + :alt-names ["NHF"], + :uri "http://dx.doi.org/10.13039/100000019", :replaces [], :replaced-by [], - :tokens ["biodesign" "institute" "arizona" "state" "university"]} - {:id "100011666", + :tokens ["national" "hemophilia" "foundation" "nhf"]} + {:id "100000028", :location "United States", - :name "Ehlers-Danlos Society", - :alt-names [], - :uri "http://dx.doi.org/10.13039/100011666", + :name "Semiconductor Research Corporation", + :alt-names ["SRC"], + :uri "http://dx.doi.org/10.13039/100000028", :replaces [], :replaced-by [], - :tokens ["ehlers" "danlos" "society"]} - {:id "501100002291", - :location "United Kingdom", - :name "Botanical Society of Britain and Ireland", - :alt-names ["BSBI"], - :uri "http://dx.doi.org/10.13039/501100002291", + :tokens ["semiconductor" "research" "corporation" "src"]} + {:id "100000040", + :location "United States", + :name "American Parkinson's Disease Foundation", + :alt-names ["APDA"], + :uri "http://dx.doi.org/10.13039/100000040", :replaces [], :replaced-by [], - :tokens - ["botanical" "society" "of" "britain" "and" "ireland" "bsbi"]} - {:id "100010240", + :tokens ["american" "parkinsons" "disease" "foundation" "apda"]} + {:id "100000041", :location "United States", - :name "Nancy Sayles Day Foundation", - :alt-names [], - :uri "http://dx.doi.org/10.13039/100010240", - :replaces [], + :name "American Diabetes Association", + :alt-names ["ADA"], + :uri "http://dx.doi.org/10.13039/100000041", + :replaces ["100000963"], :replaced-by [], - :tokens ["nancy" "sayles" "day" "foundation"]} - {:id "100010811", - :location "Sweden", - :name "Stiftelsen Synfrämjandets Forskningsfond", - :alt-names [], - :uri "http://dx.doi.org/10.13039/100010811", + :tokens ["american" "diabetes" "association" "ada"]} + {:id "100000042", + :location "United States", + :name "Amgen Foundation", + :alt-names ["Amgen Foundation, Inc."], + :uri "http://dx.doi.org/10.13039/100000042", :replaces [], :replaced-by [], - :tokens ["stiftelsen" "synfrämjandets" "forskningsfond"]} - {:id "501100005738", - :location "Japan", - :name "Central Research Institute, Fukuoka University", + :tokens ["amgen" "foundation" "amgen" "foundation" "inc"]} + {:id "100000043", + :location "United States", + :name "American Association for Cancer Research", :alt-names - ["Central Research Institute of Fukuoka University" - "Fukuoka University Central Research Institute"], - :uri "http://dx.doi.org/10.13039/501100005738", + ["American Association for Cancer Research, Inc." "AACR"], + :uri "http://dx.doi.org/10.13039/100000043", :replaces [], :replaced-by [], :tokens - ["central" - "research" - "institute" - "fukuoka" - "university" - "central" + ["american" + "association" + "for" + "cancer" "research" - "institute" - "of" - "fukuoka" - "university" - "fukuoka" - "university" - "central" + "american" + "association" + "for" + "cancer" "research" - "institute"]} - {:id "100002037", + "inc" + "aacr"]} + {:id "100000045", :location "United States", - :name - "CSL Behring Foundation for Research and Advancement of Patient Health", + :name "Aetna Foundation", :alt-names [], - :uri "http://dx.doi.org/10.13039/100002037", + :uri "http://dx.doi.org/10.13039/100000045", :replaces [], :replaced-by [], - :tokens - ["csl" - "behring" - "foundation" - "for" - "research" - "and" - "advancement" - "of" - "patient" - "health"]} - {:id "100000003", + :tokens ["aetna" "foundation"]} + {:id "100000046", :location "United States", - :name "Boeing", - :alt-names ["Boeing Company"], - :uri "http://dx.doi.org/10.13039/100000003", + :name "Abbott Fund", + :alt-names [], + :uri "http://dx.doi.org/10.13039/100000046", :replaces [], :replaced-by [], - :tokens ["boeing" "boeing" "company"]} - {:id "501100006004", - :location "Japan", - :name "Tohoku University", + :tokens ["abbott" "fund"]} + {:id "100000047", + :location "United States", + :name "Annenberg Foundation", :alt-names [], - :uri "http://dx.doi.org/10.13039/501100006004", + :uri "http://dx.doi.org/10.13039/100000047", :replaces [], :replaced-by [], - :tokens ["tohoku" "university"]})} + :tokens ["annenberg" "foundation"]} + {:id "100000048", + :location "United States", + :name "American Cancer Society", + :alt-names ["American Cancer Society, Inc." "ACS"], + :uri "http://dx.doi.org/10.13039/100000048", + :replaces [], + :replaced-by [], + :tokens + ["american" + "cancer" + "society" + "american" + "cancer" + "society" + "inc" + "acs"]})} diff --git a/dev-resources/funders/100000001.edn b/dev-resources/funders/100000001.edn index 7ef843c0..969af1d3 100644 --- a/dev-resources/funders/100000001.edn +++ b/dev-resources/funders/100000001.edn @@ -9,7 +9,6 @@ :100000001 "National Science Foundation", :100000076 "Directorate for Biological Sciences", :100000084 "Directorate for Engineering", - :more nil, :100000088 "Directorate for Social, Behavioral and Economic Sciences", :100005447 "Office of Information and Resource Management", @@ -19,76 +18,76 @@ :work-count 0, :name "National Science Foundation", :descendants - ["100000076" - "100010608" - "100005716" - "100000179" - "100005447" - "100000086" - "100000085" - "100000088" - "100005441" + ("100000076" + "100000077" + "100000078" "100000081" - "100000084" + "100000082" "100000083" - "100000152" - "100000155" - "100000154" - "100000156" - "100000153" + "100000084" + "100000085" + "100000086" + "100000087" + "100000088" "100000089" - "100006603" - "100000178" - "100000177" - "100007522" - "100000176" + "100000105" "100000106" - "100005714" - "100005450" - "100005448" - "100005449" - "100000165" - "100000164" "100000121" - "100006091" - "100000078" - "100000166" + "100000141" + "100000143" + "100000144" + "100000145" + "100000146" + "100000147" + "100000148" + "100000149" + "100000150" + "100000151" + "100000152" + "100000153" + "100000154" + "100000155" + "100000156" "100000159" - "100000087" "100000160" - "100000141" - "100007352" - "100000163" "100000162" - "100000175" - "100000174" - "100007521" - "100005717" - "100000077" - "100000170" + "100000163" + "100000164" + "100000165" + "100000166" "100000169" - "100005446" - "100005445" + "100000170" + "100000171" + "100000172" + "100000173" + "100000174" + "100000175" + "100000176" + "100000177" + "100000178" + "100000179" + "100005441" "100005442" - "100005444" "100005443" - "100005554" + "100005444" + "100005445" + "100005446" + "100005447" + "100005448" + "100005449" + "100005450" "100005553" - "100000082" - "100000171" - "100000173" - "100000172" - "100000149" - "100000148" - "100000151" - "100000150" - "100000147" - "100000146" - "100000105" - "100000143" - "100000145" - "100000144" - "100007523"], + "100005554" + "100005714" + "100005716" + "100005717" + "100006091" + "100006603" + "100007352" + "100007521" + "100007522" + "100007523" + "100010608"), :descendant-work-count 0, :id "100000001", :tokens ["national" "science" "foundation" "nsf"], @@ -104,6 +103,7 @@ :100005441 {:more true}, :100000076 {:more true}, :100000084 {:more true}, + :more true, :100000088 {:more true}, :100005447 {:more true}, :100000086 {:more true}, diff --git a/dev-resources/funders/100006151.edn b/dev-resources/funders/100006151.edn index 2a3821f6..31130bb2 100644 --- a/dev-resources/funders/100006151.edn +++ b/dev-resources/funders/100006151.edn @@ -36,7 +36,7 @@ :replaced-by [], :work-count 0, :name "Basic Energy Sciences", - :descendants [], + :descendants (), :descendant-work-count 0, :id "100006151", :tokens ["basic" "energy" "sciences" "bes"], @@ -51,12 +51,12 @@ :100006174 {}, :100006132 {:100006206 {}, - :100006192 {}, - :100006209 {}, :100006207 {}, - :100006208 {}, + :100006210 {}, :100006151 {}, - :100006210 {}}, + :100006209 {}, + :100006208 {}, + :100006192 {}}, :100006113 {}, :100006131 {:more true}, :100006124 {:more true}, diff --git a/dev-resources/funders/501100000314.edn b/dev-resources/funders/501100000314.edn index d37387e6..60cadcab 100644 --- a/dev-resources/funders/501100000314.edn +++ b/dev-resources/funders/501100000314.edn @@ -2,7 +2,7 @@ :replaced-by [], :work-count 0, :name "ABBEY AWARDS", - :descendants [], + :descendants (), :descendant-work-count 0, :id "501100000314", :tokens ["abbey" "awards" "abbey"], diff --git a/dev-resources/funders/501100000315.edn b/dev-resources/funders/501100000315.edn index fc7c922b..2f39265f 100644 --- a/dev-resources/funders/501100000315.edn +++ b/dev-resources/funders/501100000315.edn @@ -2,7 +2,7 @@ :replaced-by [], :work-count 0, :name "Aberystwyth University", - :descendants [], + :descendants (), :descendant-work-count 0, :id "501100000315", :tokens ["aberystwyth" "university"], diff --git a/src/cayenne/data/funder.clj b/src/cayenne/data/funder.clj index 6699955f..7dd7d80e 100644 --- a/src/cayenne/data/funder.clj +++ b/src/cayenne/data/funder.clj @@ -6,6 +6,7 @@ [cayenne.api.v1.filter :as filter] [cayenne.api.v1.facet :as facet] [cayenne.data.work :as work] + [cayenne.util :as util] [clojure.string :as string] [cayenne.ids.doi :as doi-id] [qbits.spandex :as elastic])) @@ -55,13 +56,7 @@ :tokens (:token funder-doc)}) (defn- build-hierarchy [funder-doc] - {(first (:hierarchy funder-doc)) - (zipmap (rest (:hierarchy funder-doc)) (repeat {}))}) - -(defn- build-hierarchy-names [funder-doc] - (->> (:hierarchy-names funder-doc) - (map (fn [h] {(:id h) (:name h)})) - (apply merge))) + (util/dissoc-all (:hierarchy funder-doc) [:id :name])) (defn ->extended-response-doc [funder-doc] (let [funder-doi (:id funder-doc)] @@ -71,7 +66,7 @@ :descendant-work-count (fetch-descendant-work-count funder-doi) :descendants (:descendant funder-doc) :hierarchy (build-hierarchy funder-doc) - :hierarchy-names (build-hierarchy-names funder-doc)}))) + :hierarchy-names (:hierarchy-names funder-doc)}))) (defn fetch-one [query-context] (when-let [funder-doc (-> (elastic/request @@ -93,7 +88,7 @@ hierarchy." [query-context] (let [es-request (query/->es-request - (query/prefix-query-context query-context :primary-name) + (query/prefix-query-context (assoc query-context :sort [:level :_id] :order :asc) :primary-name) :index "funder") response (elastic/request (conf/get-service :elastic) es-request) docs (->> (get-in response [:body :hits :hits]) (map :_source))] diff --git a/src/cayenne/elastic/mappings.clj b/src/cayenne/elastic/mappings.clj index fc1551fd..ec11d411 100644 --- a/src/cayenne/elastic/mappings.clj +++ b/src/cayenne/elastic/mappings.clj @@ -241,8 +241,8 @@ :ancestor {:type "keyword"} :child {:type "keyword"} :descendant {:type "keyword"} - :hierarchy {:type "keyword"} - :hierarchy-names {:type "object"} + :hierarchy {:type "object" :enabled false} + :hierarchy-names {:type "object" :enabled false} :affiliated {:type "keyword"} :country {:type "keyword"} :primary-name {:type "text" :copy_to :suggest} diff --git a/src/cayenne/tasks/funder.clj b/src/cayenne/tasks/funder.clj index 33a64cda..7a0c0657 100644 --- a/src/cayenne/tasks/funder.clj +++ b/src/cayenne/tasks/funder.clj @@ -66,19 +66,23 @@ (geoname/get-geoname-name-memo)) (catch Exception e nil))))) -(defn broader [model funder-resource] +(defn broader [model funder-resource & {:keys [objects-only] :or {objects-only false}}] (concat (rdf/objects (rdf/select model :subject funder-resource :predicate (rdf/skos model "broader"))) - (rdf/subjects - (rdf/select model :predicate (rdf/skos model "narrower") :object funder-resource)))) + (if objects-only + [] + (rdf/subjects + (rdf/select model :predicate (rdf/skos model "narrower") :object funder-resource))))) -(defn narrower [model funder-resource] +(defn narrower [model funder-resource & {:keys [objects-only] :or {objects-only false}}] (concat (rdf/objects (rdf/select model :subject funder-resource :predicate (rdf/skos model "narrower"))) - (rdf/subjects - (rdf/select model :predicate (rdf/skos model "broader") :object funder-resource)))) + (if objects-only + [] + (rdf/subjects + (rdf/select model :predicate (rdf/skos model "broader") :object funder-resource))))) (defn replaces [model funder-resource] (concat @@ -105,24 +109,42 @@ (drop 1 (tree-seq (constantly true) #(broader model %) funder-resource))) (defn resource-descendants [model funder-resource] - (drop 1 (util/tree-seq-depth (constantly true) #(narrower model %) funder-resource))) - -(defn id-name-map [model resources] - (->> resources - (map (fn [resource] - {:id (res->id resource) - :name (first (get-labels model resource "prefLabel"))})))) + (drop 1 (tree-seq (constantly true) #(narrower model %) funder-resource))) + +(defn id-name [model funder-resource] + (merge + {:name (first (get-labels model funder-resource "prefLabel")) + :id (res->id funder-resource)} + (if (not-empty (narrower model funder-resource :objects-only true)) + {:more true}))) + +(defn- hierarcy-node [model funder-resource descendants child] + {(keyword (res->id funder-resource)) + (merge + (dissoc (id-name model funder-resource) :more) + (reduce (fn [m v] + (update m + (keyword (res->id v)) + #(or % (id-name model v)))) + child + descendants))}) + +(defn- build-hierarchy [model funder-resource child] + (let [ancestors (broader model funder-resource :objects-only true) + descendants (narrower model funder-resource :objects-only true)] + (if (not-empty ancestors) + (build-hierarchy model (first ancestors) (hierarcy-node model funder-resource descendants child)) + (hierarcy-node model funder-resource descendants child)))) (defn index-command [model funder-resource] - (let [primary-name (-> model (get-labels funder-resource "prefLabel") first) - alt-names (-> model (get-labels funder-resource "altLabel")) - ancestors (resource-ancestors model funder-resource) - descendants (resource-descendants model funder-resource) - root-descendants (->> descendants - (filter #(<= (second %) 1)) - (map first)) - ancestor-ids (->> ancestors (map res->id) distinct) - descendant-ids (->> descendants (map (comp res->id first)) distinct)] + (let [primary-name (-> model (get-labels funder-resource "prefLabel") first) + alt-names (-> model (get-labels funder-resource "altLabel")) + ancestors (resource-ancestors model funder-resource) + descendants (resource-descendants model funder-resource) + ancestor-ids (->> ancestors (map res->id) distinct sort) + descendant-ids (->> descendants (map res->id) distinct sort) + level (-> ancestor-ids count (+ 1)) + hierarchy (build-hierarchy model funder-resource (id-name model funder-resource))] [{:index {:_id (res->id funder-resource)}} {:doi (res->doi funder-resource) :id (res->id funder-resource) @@ -134,16 +156,18 @@ :country (get-country-literal-name model funder-resource) :parent (-> model (broader funder-resource) first res->doi) :ancestor ancestor-ids - :level (-> ancestor-ids count (+ 1)) + :level level :child (distinct (map res->id (narrower model funder-resource))) :descendant descendant-ids :affiliated (distinct (map res->id (affiliated model funder-resource))) :replaced-by (distinct (map res->id (replaced-by model funder-resource))) :replaces (distinct (map res->id (replaces model funder-resource))) - :hierarchy (concat [(res->id funder-resource)] (map res->id root-descendants)) - :hierarchy-names (-> [funder-resource] - (concat root-descendants) - (->> (id-name-map model)))}])) + :hierarchy-names (reduce + (fn [m [k v]] + (assoc m k v)) + (if (> level 1) {:more nil} {}) + (partition 2 (util/get-all-in hierarchy [:id :name]))) + :hierarchy hierarchy}])) (defn index-funders [] (let [model (-> (java.net.URL. (conf/get-param [:location :cr-funder-registry])) diff --git a/src/cayenne/util.clj b/src/cayenne/util.clj index ff63e1df..7dc26915 100644 --- a/src/cayenne/util.clj +++ b/src/cayenne/util.clj @@ -225,3 +225,19 @@ (when (branch? node) (mapcat (partial walk (inc depth)) (children node))))))] (walk 0 root))) + +(defn dissoc-all [m ks] + (reduce (fn [ma [k va]] + (if (map? va) + (assoc ma k (dissoc-all va ks)) + (if (not (some #{k} ks)) + (assoc ma k va) + ma))) {} m)) + +(defn get-all-in [m ks] + (reduce (fn [col [k va]] + (if (map? va) + (concat col (get-all-in va ks)) + (if (some #{k} ks) + (cons va col) + col))) [] m)) From 4183badd0466c11a425f25aeeb5fc2646553600d Mon Sep 17 00:00:00 2001 From: Mark Woodhall Date: Fri, 4 May 2018 21:45:55 +0100 Subject: [PATCH 130/156] Wait for funder to be indexed Since funder data is now in elasticsearch it can take a small amount of time to be indexed, this commit waits a number of second, but we should change this to wait until all funders are indexed based on the document count from the index. --- test/cayenne/funders_test.clj | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/test/cayenne/funders_test.clj b/test/cayenne/funders_test.clj index 26db2a53..35590ce3 100644 --- a/test/cayenne/funders_test.clj +++ b/test/cayenne/funders_test.clj @@ -21,7 +21,9 @@ expected-response (read-string (slurp (resource (str "funders/" funder ".edn"))))] (is (= expected-response response)))))) -(use-fixtures - :once - (api-with - user/load-test-funders)) +(use-fixtures + :once + (api-with + #(do (user/load-test-funders) + ;; todo wait until indexing finished + (Thread/sleep 5000)))) From dffdac6d806668532584f4f9462762decdaa6b6f Mon Sep 17 00:00:00 2001 From: Mark Woodhall Date: Fri, 4 May 2018 21:48:51 +0100 Subject: [PATCH 131/156] Sort funder data for deterministic compare --- test/cayenne/api_fixture.clj | 3 ++- test/cayenne/funders_test.clj | 4 ++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/test/cayenne/api_fixture.clj b/test/cayenne/api_fixture.clj index 0e755d95..e6c61df9 100644 --- a/test/cayenne/api_fixture.clj +++ b/test/cayenne/api_fixture.clj @@ -20,7 +20,8 @@ (:last-status-check-time message) (dissoc :last-status-check-time) (:indexed message) (dissoc :indexed) (:items message) (-> (update :items (partial map #(dissoc % :indexed :last-status-check-time))) - (update :items (partial sort-by sorter)))))) + (update :items (partial sort-by sorter))) + (:descendants message) (update :descendants sort)))) (def api-with-works (api-with user/index-feed)) diff --git a/test/cayenne/funders_test.clj b/test/cayenne/funders_test.clj index 35590ce3..89ed9e35 100644 --- a/test/cayenne/funders_test.clj +++ b/test/cayenne/funders_test.clj @@ -11,10 +11,10 @@ (testing "funders endpoint returns expected result for offset" (doseq [offset [20 40]] - (let [response (api-get (str "/v1/funders?offset=" offset)) + (let [response (api-get (str "/v1/funders?offset=" offset) :sorter :id) expected-response (read-string (slurp (resource (str "funders-offset-" offset ".edn"))))] (is (= expected-response response))))) - + (testing "funders endpoint returns expected result for funder" (doseq [funder ["100000001" "100006151" "501100000315" "501100000314"]] (let [response (api-get (str "/v1/funders/" funder)) From 2bab36919002f797808be45ec7de14c8d3a9f877 Mon Sep 17 00:00:00 2001 From: Mark Woodhall Date: Fri, 4 May 2018 21:52:08 +0100 Subject: [PATCH 132/156] Update works assertion data --- .../works/10.1016/j.psyneuen.2016.10.018.edn | 20 +- dev-resources/works/10.1084/jem.20151673.edn | 137 +- .../10.7287/peerj.1078v0.2/reviews/1.edn | 5 +- .../10.7287/peerj.2196v0.1/reviews/2.edn | 49 +- .../works/?filter=from-created-date:2018.edn | 59 +- .../works/?filter=from-deposit-date:2018.edn | 1043 +---- dev-resources/works/?filter=member:78.edn | 4072 ++++++++--------- .../works/?filter=type:peer-review.edn | 59 +- dev-resources/works/query.title=Peer.edn | 59 +- .../works/query.title=Socioeconomic.edn | 28 +- 10 files changed, 2202 insertions(+), 3329 deletions(-) diff --git a/dev-resources/works/10.1016/j.psyneuen.2016.10.018.edn b/dev-resources/works/10.1016/j.psyneuen.2016.10.018.edn index bd44c5c9..fcd0c057 100644 --- a/dev-resources/works/10.1016/j.psyneuen.2016.10.018.edn +++ b/dev-resources/works/10.1016/j.psyneuen.2016.10.018.edn @@ -1,13 +1,13 @@ {:reference-count 0, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start - {:date-time "2017-01-01T00:00:00Z", - :date-parts [[2017 1 1]], + [{:start + {:date-parts [[2017 1 1]], + :date-time "2017-01-01T00:00:00Z", :timestamp 1483228800000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], :content-domain {:domain ["psyneuen-journal.com" @@ -24,8 +24,8 @@ :DOI "10.1016/j.psyneuen.2016.10.018", :type "journal-article", :created - {:date-time "2016-10-22T16:18:08Z", - :date-parts [[2016 10 22]], + {:date-parts [[2016 10 22]], + :date-time "2016-10-22T16:18:08Z", :timestamp 1477153088000}, :page "132-140", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", @@ -76,10 +76,10 @@ :content-version "vor", :intended-application "text-mining"}], :deposited - {:date-time "2017-11-30T15:51:45Z", - :date-parts [[2017 11 30]], + {:date-parts [[2017 11 30]], + :date-time "2017-11-30T15:51:45Z", :timestamp 1512057105000}, - :score 1.0, + :score 4.787492, :subtitle [], :short-title [], :issued {:date-parts [[2017 1]]}, diff --git a/dev-resources/works/10.1084/jem.20151673.edn b/dev-resources/works/10.1084/jem.20151673.edn index 621a6386..250930f9 100644 --- a/dev-resources/works/10.1084/jem.20151673.edn +++ b/dev-resources/works/10.1084/jem.20151673.edn @@ -1,42 +1,18 @@ -{:reference-count 83, +{:reference-count 3, :publisher "Rockefeller University Press", :issue "1", - :license - [{:URL "http://www.rupress.org/terms/", - :start - {:date-time "2016-12-06T00:00:00Z", - :date-parts [[2016 12 6]], - :timestamp 1480982400000}, - :delay-in-days 0, - :content-version "vor"} - {:URL "https://creativecommons.org/licenses/by-nc-sa/4.0/", - :start - {:date-time "2017-07-03T00:00:00Z", - :date-parts [[2017 7 3]], - :timestamp 1499040000000}, - :delay-in-days 209, - :content-version "vor"}], - :funder - [{:DOI "10.13039/https://doi.org/10.13039/100000002", - :name "National Institutes of Health", - :doi-asserted-by "publisher", - :award ["CA184090" "NS091080" "NS099175" "S10OD018205"]}], - :content-domain - {:domain ["rupress.org"], :crossmark-restriction true}, + :content-domain {:domain [], :crossmark-restriction false}, :short-container-title ["J. Exp. Med."], - :published-print {:date-parts [[2017 1]]}, - :abstract - "Glioblastoma is the most lethal brain tumor and harbors glioma stem cells (GSCs) with potent tumorigenic capacity. The function of GSCs in tumor propagation is maintained by several core transcriptional regulators including c-Myc. c-Myc protein is tightly regulated by posttranslational modification. However, the posttranslational regulatory mechanisms for c-Myc in GSCs have not been defined. In this study, we demonstrate that the deubiquitinase USP13 stabilizes c-Myc by antagonizing FBXL14-mediated ubiquitination to maintain GSC self-renewal and tumorigenic potential. USP13 was preferentially expressed in GSCs, and its depletion potently inhibited GSC proliferation and tumor growth by promoting c-Myc ubiquitination and degradation. In contrast, overexpression of the ubiquitin E3 ligase FBXL14 induced c-Myc degradation, promoted GSC differentiation, and inhibited tumor growth. Ectopic expression of the ubiquitin-insensitive mutant T58A–c-Myc rescued the effects caused by FBXL14 overexpression or USP13 disruption. These data suggest that USP13 and FBXL14 play opposing roles in the regulation of GSCs through reversible ubiquitination of c-Myc.", + :published-print {:date-parts [[2017 1 1]]}, :DOI "10.1084/jem.20151673", :type "journal-article", :created - {:date-time "2016-12-07T15:10:13Z", - :date-parts [[2016 12 7]], + {:date-parts [[2016 12 7]], + :date-time "2016-12-07T15:10:13Z", :timestamp 1481123413000}, :page "245-267", - :update-policy "http://dx.doi.org/10.1084/jem.crossmarkpolicy", :source "Crossref", - :is-referenced-by-count 7, + :is-referenced-by-count 6, :title ["Deubiquitinase USP13 maintains glioblastoma stem cells by antagonizing FBXL14-mediated Myc ubiquitination"], :prefix "10.1084", @@ -47,90 +23,6 @@ :given "Xiaoguang", :family "Fang", :sequence "first", - :affiliation []} - {:given "Wenchao", - :family "Zhou", - :sequence "additional", - :affiliation []} - {:ORCID "http://orcid.org/0000-0002-2040-4577", - :authenticated-orcid false, - :given "Qiulian", - :family "Wu", - :sequence "additional", - :affiliation []} - {:ORCID "http://orcid.org/0000-0002-8658-7732", - :authenticated-orcid false, - :given "Zhi", - :family "Huang", - :sequence "additional", - :affiliation []} - {:ORCID "http://orcid.org/0000-0002-3380-4545", - :authenticated-orcid false, - :given "Yu", - :family "Shi", - :sequence "additional", - :affiliation []} - {:ORCID "http://orcid.org/0000-0001-5968-6738", - :authenticated-orcid false, - :given "Kailin", - :family "Yang", - :sequence "additional", - :affiliation []} - {:ORCID "http://orcid.org/0000-0001-6552-791X", - :authenticated-orcid false, - :given "Cong", - :family "Chen", - :sequence "additional", - :affiliation []} - {:ORCID "http://orcid.org/0000-0002-2370-2078", - :authenticated-orcid false, - :given "Qi", - :family "Xie", - :sequence "additional", - :affiliation []} - {:given "Stephen C.", - :family "Mack", - :sequence "additional", - :affiliation []} - {:given "Xiuxing", - :family "Wang", - :sequence "additional", - :affiliation []} - {:ORCID "http://orcid.org/0000-0002-8485-426X", - :authenticated-orcid false, - :given "Angel M.", - :family "Carcaboso", - :sequence "additional", - :affiliation []} - {:ORCID "http://orcid.org/0000-0001-9607-5063", - :authenticated-orcid false, - :given "Andrew E.", - :family "Sloan", - :sequence "additional", - :affiliation []} - {:given "Gaoliang", - :family "Ouyang", - :sequence "additional", - :affiliation []} - {:ORCID "http://orcid.org/0000-0001-6682-4588", - :authenticated-orcid false, - :given "Roger E.", - :family "McLendon", - :sequence "additional", - :affiliation []} - {:given "Xiu-wu", - :family "Bian", - :sequence "additional", - :affiliation []} - {:given "Jeremy N.", - :family "Rich", - :sequence "additional", - :affiliation []} - {:ORCID "http://orcid.org/0000-0002-4236-2662", - :authenticated-orcid false, - :given "Shideng", - :family "Bao", - :sequence "additional", :affiliation []}], :member "291", :published-online {:date-parts [[2016 12 6]]}, @@ -144,18 +36,21 @@ :content-version "vor", :intended-application "similarity-checking"}], :deposited - {:date-time "2017-04-19T23:50:05Z", - :date-parts [[2017 4 19]], + {:date-parts [[2017 4 19]], + :date-time "2017-04-19T23:50:05Z", :timestamp 1492645805000}, - :score 1.0, + :score 4.787492, :subtitle [], + :free-to-read + {:start-date {:date-parts [[2015 1 15]]}, + :end-date {:date-parts [[2025 1 1]]}}, :short-title [], :issued {:date-parts [[2016 12 6]]}, - :references-count 83, + :references-count 3, :journal-issue - {:published-online {:date-parts [[2017 1 2]]}, - :published-print {:date-parts [[2017 1]]}, - :issue "1"}, + {:issue "1", + :published-online {:date-parts [[2017 2 9]]}, + :published-print {:date-parts [[2017 1 2]]}}, :alternative-id ["10.1084/jem.20151673"], :URL "http://dx.doi.org/10.1084/jem.20151673", :relation {}, diff --git a/dev-resources/works/10.7287/peerj.1078v0.2/reviews/1.edn b/dev-resources/works/10.7287/peerj.1078v0.2/reviews/1.edn index 661f697c..c738c23a 100644 --- a/dev-resources/works/10.7287/peerj.1078v0.2/reviews/1.edn +++ b/dev-resources/works/10.7287/peerj.1078v0.2/reviews/1.edn @@ -22,15 +22,12 @@ {:date-time "2018-01-10T17:22:19Z", :date-parts [[2018 1 10]], :timestamp 1515604939000}, - :score 1.0, + :score 4.787492, :subtitle [], :short-title [], :issued {:date-parts [[2015 7 14]]}, :references-count 0, :URL "http://dx.doi.org/10.7287/peerj.1078v0.2/reviews/1", - :review - {:revision-round "3" - :stage "pre-publication"} :relation {:is-review-of [{:id-type "doi", :id "10.7717/peerj.1078", :asserted-by "subject"}]}} diff --git a/dev-resources/works/10.7287/peerj.2196v0.1/reviews/2.edn b/dev-resources/works/10.7287/peerj.2196v0.1/reviews/2.edn index e180850c..b106a767 100644 --- a/dev-resources/works/10.7287/peerj.2196v0.1/reviews/2.edn +++ b/dev-resources/works/10.7287/peerj.2196v0.1/reviews/2.edn @@ -1,31 +1,50 @@ -{:reference-count 0, - :publisher "PeerJ", +{:institution + {:name "Psychoceramics Institute", + :acronym ["PI"], + :place ["Pittsburg, Arizona"], + :department ["Soft furnishings"]}, + :reference-count 0, + :publisher "Rockefeller University Press", :content-domain {:domain []}, :short-container-title [], - :published-print {:date-parts [[2016 7 26]]}, + :published-print {:date-parts [[2017 4 19]]}, :DOI "10.7287/peerj.2196v0.1/reviews/2", :type "peer-review", :created - {:date-time "2018-01-09T23:59:03Z", - :date-parts [[2018 1 9]], - :timestamp 1515542343000}, + {:date-parts [[2018 1 9]], + :date-time "2018-01-09T18:42:21Z", + :timestamp 1515523341000}, :source "Crossref", :is-referenced-by-count 0, :title ["Peer Review #2 of \"Tissue mortality by Caribbean ciliate infection and white band disease in three reef-building coral species (v0.1)\""], :prefix "10.7287", - :member "4443", + :author + [{:ORCID "http://orcid.org/0000-0002-3368-4133", + :authenticated-orcid false, + :given "Xiaoguang", + :family "Fang", + :sequence "first", + :affiliation []}], + :member "291", :container-title [], - :review {:revision-round "2", :stage "pre-publication"}, - :original-title [], + :review + {:type "referee-report", + :running-number "RC1", + :revision-round "2", + :stage "pre-publication", + :competing-interest-statement "There were no competing interests", + :recommendation "major-revision", + :language "en"}, + :original-title ["Der Titel"], :deposited - {:date-time "2018-01-09T23:59:03Z", - :date-parts [[2018 1 9]], - :timestamp 1515542343000}, - :score 1.0, - :subtitle [], + {:date-parts [[2018 1 9]], + :date-time "2018-01-09T18:42:21Z", + :timestamp 1515523341000}, + :score 4.787492, + :subtitle ["The Subtitle"], :short-title [], - :issued {:date-parts [[2016 7 26]]}, + :issued {:date-parts [[2017 4 19]]}, :references-count 0, :URL "http://dx.doi.org/10.7287/peerj.2196v0.1/reviews/2", :relation diff --git a/dev-resources/works/?filter=from-created-date:2018.edn b/dev-resources/works/?filter=from-created-date:2018.edn index 932f4c2c..e35be056 100644 --- a/dev-resources/works/?filter=from-created-date:2018.edn +++ b/dev-resources/works/?filter=from-created-date:2018.edn @@ -2,27 +2,25 @@ :total-results 2, :items ({:reference-count 0, - :publisher "PeerJ", :content-domain {:domain []}, :published-print {:date-parts [[2015 7 14]]}, :DOI "10.7287/peerj.1078v0.2/reviews/1", :type "peer-review", :created - {:date-time "2018-01-10T17:22:19Z", - :date-parts [[2018 1 10]], + {:date-parts [[2018 1 10]], + :date-time "2018-01-10T17:22:19Z", :timestamp 1515604939000}, :source "Crossref", :is-referenced-by-count 0, :title ["Peer Review #1 of \"Multimodal Imaging Brain Connectivity Analysis (MIBCA) toolbox (v0.2)\""], :prefix "10.7287", - :member "4443", :review {:revision-round "3", :stage "pre-publication"}, :deposited - {:date-time "2018-01-10T17:22:19Z", - :date-parts [[2018 1 10]], + {:date-parts [[2018 1 10]], + :date-time "2018-01-10T17:22:19Z", :timestamp 1515604939000}, - :score 1.0, + :score 0.0, :issued {:date-parts [[2015 7 14]]}, :references-count 0, :URL "http://dx.doi.org/10.7287/peerj.1078v0.2/reviews/1", @@ -31,29 +29,50 @@ [{:id-type "doi", :id "10.7717/peerj.1078", :asserted-by "subject"}]}} - {:reference-count 0, - :publisher "PeerJ", + {:institution + {:name "Psychoceramics Institute", + :acronym ["PI"], + :place ["Pittsburg, Arizona"], + :department ["Soft furnishings"]}, + :reference-count 0, + :publisher "Rockefeller University Press", :content-domain {:domain []}, - :published-print {:date-parts [[2016 7 26]]}, + :published-print {:date-parts [[2017 4 19]]}, :DOI "10.7287/peerj.2196v0.1/reviews/2", :type "peer-review", :created - {:date-time "2018-01-09T23:59:03Z", - :date-parts [[2018 1 9]], - :timestamp 1515542343000}, + {:date-parts [[2018 1 9]], + :date-time "2018-01-09T18:42:21Z", + :timestamp 1515523341000}, :source "Crossref", :is-referenced-by-count 0, :title ["Peer Review #2 of \"Tissue mortality by Caribbean ciliate infection and white band disease in three reef-building coral species (v0.1)\""], :prefix "10.7287", - :member "4443", - :review {:revision-round "2", :stage "pre-publication"}, + :author + [{:ORCID "http://orcid.org/0000-0002-3368-4133", + :authenticated-orcid false, + :given "Xiaoguang", + :family "Fang", + :sequence "first", + :affiliation []}], + :member "291", + :review + {:type "referee-report", + :running-number "RC1", + :revision-round "2", + :stage "pre-publication", + :competing-interest-statement "There were no competing interests", + :recommendation "major-revision", + :language "en"}, + :original-title ["Der Titel"], :deposited - {:date-time "2018-01-09T23:59:03Z", - :date-parts [[2018 1 9]], - :timestamp 1515542343000}, - :score 1.0, - :issued {:date-parts [[2016 7 26]]}, + {:date-parts [[2018 1 9]], + :date-time "2018-01-09T18:42:21Z", + :timestamp 1515523341000}, + :score 0.0, + :subtitle ["The Subtitle"], + :issued {:date-parts [[2017 4 19]]}, :references-count 0, :URL "http://dx.doi.org/10.7287/peerj.2196v0.1/reviews/2", :relation diff --git a/dev-resources/works/?filter=from-deposit-date:2018.edn b/dev-resources/works/?filter=from-deposit-date:2018.edn index bb9325f8..e35be056 100644 --- a/dev-resources/works/?filter=from-deposit-date:2018.edn +++ b/dev-resources/works/?filter=from-deposit-date:2018.edn @@ -1,1010 +1,26 @@ {:facets {}, - :total-results 13, + :total-results 2, :items ({:reference-count 0, - :publisher "Elsevier BV", - :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start - {:date-time "2017-02-01T00:00:00Z", - :date-parts [[2017 2 1]], - :timestamp 1485907200000}, - :delay-in-days 0, - :content-version "tdm"}], - :content-domain - {:domain - ["clinicalkey.jp" - "clinicalkey.com" - "jad-journal.com" - "clinicalkey.es" - "clinicalkey.fr" - "clinicalkey.com.au" - "elsevier.com" - "sciencedirect.com"], - :crossmark-restriction true}, - :short-container-title ["Journal of Affective Disorders"], - :published-print {:date-parts [[2017 2]]}, - :DOI "10.1016/j.jad.2016.11.046", - :type "journal-article", - :created - {:date-time "2016-11-30T09:30:54Z", - :date-parts [[2016 11 30]], - :timestamp 1480498254000}, - :page "209-216", - :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", - :source "Crossref", - :is-referenced-by-count 3, - :title - ["A high fat diet-induced decrease in hippocampal newly-born neurons of male mice is exacerbated by mild psychological stress using a Communication Box"], - :prefix "10.1016", - :volume "209", - :author - [{:given "Yusuke", - :family "Murata", - :sequence "first", - :affiliation []} - {:given "Yukiyasu", - :family "Narisawa", - :sequence "additional", - :affiliation []} - {:given "Rima", - :family "Shimono", - :sequence "additional", - :affiliation []} - {:given "Hiraku", - :family "Ohmori", - :sequence "additional", - :affiliation []} - {:given "Masayoshi", - :family "Mori", - :sequence "additional", - :affiliation []} - {:given "Kenji", - :family "Ohe", - :sequence "additional", - :affiliation []} - {:given "Kazunori", - :family "Mine", - :sequence "additional", - :affiliation []} - {:given "Munechika", - :family "Enjoji", - :sequence "additional", - :affiliation []}], - :member "78", - :container-title ["Journal of Affective Disorders"], - :language "en", - :link - [{:URL - "http://api.elsevier.com/content/article/PII:S0165032716317256?httpAccept=text/xml", - :content-type "text/xml", - :content-version "vor", - :intended-application "text-mining"} - {:URL - "http://api.elsevier.com/content/article/PII:S0165032716317256?httpAccept=text/plain", - :content-type "text/plain", - :content-version "vor", - :intended-application "text-mining"}], - :deposited - {:date-time "2018-02-13T02:55:51Z", - :date-parts [[2018 2 13]], - :timestamp 1518490551000}, - :score 1.0, - :issued {:date-parts [[2017 2]]}, - :references-count 0, - :alternative-id ["S0165032716317256"], - :URL "http://dx.doi.org/10.1016/j.jad.2016.11.046", - :ISSN ["0165-0327"], - :issn-type [{:value "0165-0327", :type "print"}], - :assertion - [{:value "Elsevier", - :name "publisher", - :label "This article is maintained by"} - {:value - "A high fat diet-induced decrease in hippocampal newly-born neurons of male mice is exacerbated by mild psychological stress using a Communication Box", - :name "articletitle", - :label "Article Title"} - {:value "Journal of Affective Disorders", - :name "journaltitle", - :label "Journal Title"} - {:value "http://dx.doi.org/10.1016/j.jad.2016.11.046", - :name "articlelink", - :label "CrossRef DOI link to publisher maintained version"} - {:value "article", :name "content_type", :label "Content Type"} - {:value "© 2016 Elsevier B.V. All rights reserved.", - :name "copyright", - :label "Copyright"}]} - {:reference-count 0, - :publisher "Elsevier BV", - :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start - {:date-time "2017-03-01T00:00:00Z", - :date-parts [[2017 3 1]], - :timestamp 1488326400000}, - :delay-in-days 0, - :content-version "tdm"}], - :content-domain - {:domain - ["clinicalkey.jp" - "clinicalkey.com" - "neurobiologyofaging.org" - "clinicalkey.es" - "clinicalkey.fr" - "clinicalkey.com.au" - "elsevier.com" - "sciencedirect.com"], - :crossmark-restriction true}, - :short-container-title ["Neurobiology of Aging"], - :published-print {:date-parts [[2017 3]]}, - :DOI "10.1016/j.neurobiolaging.2016.11.014", - :type "journal-article", - :created - {:date-time "2016-12-01T07:05:09Z", - :date-parts [[2016 12 1]], - :timestamp 1480575909000}, - :page "1-8", - :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", - :source "Crossref", - :is-referenced-by-count 4, - :title - ["Life events, salivary cortisol, and cognitive performance in nondemented subjects: a population-based study"], - :prefix "10.1016", - :volume "51", - :author - [{:ORCID "http://orcid.org/0000-0003-0867-060X", - :authenticated-orcid false, - :given "Sami", - :family "Ouanes", - :sequence "first", - :affiliation []} - {:given "Enrique", - :family "Castelao", - :sequence "additional", - :affiliation []} - {:given "Sirak", - :family "Gebreab", - :sequence "additional", - :affiliation []} - {:given "Armin", - :family "von Gunten", - :sequence "additional", - :affiliation []} - {:given "Martin", - :family "Preisig", - :sequence "additional", - :affiliation []} - {:given "Julius", - :family "Popp", - :sequence "additional", - :affiliation []}], - :member "78", - :container-title ["Neurobiology of Aging"], - :language "en", - :link - [{:URL - "http://api.elsevier.com/content/article/PII:S0197458016303013?httpAccept=text/xml", - :content-type "text/xml", - :content-version "vor", - :intended-application "text-mining"} - {:URL - "http://api.elsevier.com/content/article/PII:S0197458016303013?httpAccept=text/plain", - :content-type "text/plain", - :content-version "vor", - :intended-application "text-mining"}], - :deposited - {:date-time "2018-01-04T22:08:16Z", - :date-parts [[2018 1 4]], - :timestamp 1515103696000}, - :score 1.0, - :issued {:date-parts [[2017 3]]}, - :references-count 0, - :alternative-id ["S0197458016303013"], - :URL "http://dx.doi.org/10.1016/j.neurobiolaging.2016.11.014", - :ISSN ["0197-4580"], - :issn-type [{:value "0197-4580", :type "print"}], - :assertion - [{:value "Elsevier", - :name "publisher", - :label "This article is maintained by"} - {:value - "Life events, salivary cortisol, and cognitive performance in nondemented subjects: a population-based study", - :name "articletitle", - :label "Article Title"} - {:value "Neurobiology of Aging", - :name "journaltitle", - :label "Journal Title"} - {:value "http://dx.doi.org/10.1016/j.neurobiolaging.2016.11.014", - :name "articlelink", - :label "CrossRef DOI link to publisher maintained version"} - {:value "article", :name "content_type", :label "Content Type"} - {:value "© 2016 Elsevier Inc. All rights reserved.", - :name "copyright", - :label "Copyright"}]} - {:reference-count 0, - :publisher "Elsevier BV", - :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start - {:date-time "2017-02-01T00:00:00Z", - :date-parts [[2017 2 1]], - :timestamp 1485907200000}, - :delay-in-days 0, - :content-version "tdm"}], - :funder - [{:DOI "10.13039/100000925", - :name "John Templeton Foundation", - :doi-asserted-by "crossref", - :award ["40463"]}], - :content-domain - {:domain ["elsevier.com" "sciencedirect.com"], - :crossmark-restriction true}, - :short-container-title ["NeuroImage"], - :published-print {:date-parts [[2017 2]]}, - :DOI "10.1016/j.neuroimage.2016.12.046", - :type "journal-article", - :created - {:date-time "2016-12-16T05:16:22Z", - :date-parts [[2016 12 16]], - :timestamp 1481865382000}, - :page "314-329", - :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", - :source "Crossref", - :is-referenced-by-count 1, - :title - ["Intranasal oxytocin reduces social perception in women: Neural activation and individual variation"], - :prefix "10.1016", - :volume "147", - :author - [{:given "Erin E.", - :family "Hecht", - :sequence "first", - :affiliation []} - {:given "Diana L.", - :family "Robins", - :sequence "additional", - :affiliation []} - {:given "Pritam", - :family "Gautam", - :sequence "additional", - :affiliation []} - {:given "Tricia Z.", - :family "King", - :sequence "additional", - :affiliation []}], - :member "78", - :container-title ["NeuroImage"], - :language "en", - :link - [{:URL - "http://api.elsevier.com/content/article/PII:S1053811916307650?httpAccept=text/xml", - :content-type "text/xml", - :content-version "vor", - :intended-application "text-mining"} - {:URL - "http://api.elsevier.com/content/article/PII:S1053811916307650?httpAccept=text/plain", - :content-type "text/plain", - :content-version "vor", - :intended-application "text-mining"}], - :deposited - {:date-time "2018-01-20T14:43:22Z", - :date-parts [[2018 1 20]], - :timestamp 1516459402000}, - :score 1.0, - :issued {:date-parts [[2017 2]]}, - :references-count 0, - :alternative-id ["S1053811916307650"], - :URL "http://dx.doi.org/10.1016/j.neuroimage.2016.12.046", - :ISSN ["1053-8119"], - :issn-type [{:value "1053-8119", :type "print"}], - :assertion - [{:value "Elsevier", - :name "publisher", - :label "This article is maintained by"} - {:value - "Intranasal oxytocin reduces social perception in women: Neural activation and individual variation", - :name "articletitle", - :label "Article Title"} - {:value "NeuroImage", :name "journaltitle", :label "Journal Title"} - {:value "http://dx.doi.org/10.1016/j.neuroimage.2016.12.046", - :name "articlelink", - :label "CrossRef DOI link to publisher maintained version"} - {:value "article", :name "content_type", :label "Content Type"} - {:value "© 2016 Elsevier Inc. All rights reserved.", - :name "copyright", - :label "Copyright"}]} - {:reference-count 0, - :publisher "Elsevier BV", - :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start - {:date-time "2017-01-01T00:00:00Z", - :date-parts [[2017 1 1]], - :timestamp 1483228800000}, - :delay-in-days 0, - :content-version "tdm"}], - :content-domain - {:domain - ["clinicalkey.jp" - "clinicalkey.com" - "clinicalkey.es" - "clinicalkey.com.au" - "clinicalkey.fr" - "elsevier.com" - "sciencedirect.com"], - :crossmark-restriction true}, - :short-container-title ["Physiology & Behavior"], - :published-print {:date-parts [[2017 1]]}, - :DOI "10.1016/j.physbeh.2016.10.010", - :type "journal-article", - :created - {:date-time "2016-10-16T20:59:08Z", - :date-parts [[2016 10 16]], - :timestamp 1476651548000}, - :page "1-10", - :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", - :source "Crossref", - :is-referenced-by-count 4, - :title - ["Protective effect of low dose caffeine on psychological stress and cognitive function"], - :prefix "10.1016", - :volume "168", - :author - [{:given "Özgür", - :family "Kasımay Çakır", - :sequence "first", - :affiliation []} - {:given "Nurfitnat", - :family "Ellek", - :sequence "additional", - :affiliation []} - {:given "Nabila", - :family "Salehin", - :sequence "additional", - :affiliation []} - {:given "Rabia", - :family "Hamamcı", - :sequence "additional", - :affiliation []} - {:given "Hülya", - :family "Keleş", - :sequence "additional", - :affiliation []} - {:given "Damla Gökçeoğlu", - :family "Kayalı", - :sequence "additional", - :affiliation []} - {:given "Dilek", - :family "Akakın", - :sequence "additional", - :affiliation []} - {:given "Meral", - :family "Yüksel", - :sequence "additional", - :affiliation []} - {:given "Dilek", - :family "Özbeyli", - :sequence "additional", - :affiliation []}], - :member "78", - :container-title ["Physiology & Behavior"], - :language "en", - :link - [{:URL - "http://api.elsevier.com/content/article/PII:S0031938416307041?httpAccept=text/xml", - :content-type "text/xml", - :content-version "vor", - :intended-application "text-mining"} - {:URL - "http://api.elsevier.com/content/article/PII:S0031938416307041?httpAccept=text/plain", - :content-type "text/plain", - :content-version "vor", - :intended-application "text-mining"}], - :deposited - {:date-time "2018-03-27T00:25:41Z", - :date-parts [[2018 3 27]], - :timestamp 1522110341000}, - :score 1.0, - :issued {:date-parts [[2017 1]]}, - :references-count 0, - :alternative-id ["S0031938416307041"], - :URL "http://dx.doi.org/10.1016/j.physbeh.2016.10.010", - :ISSN ["0031-9384"], - :issn-type [{:value "0031-9384", :type "print"}], - :assertion - [{:value "Elsevier", - :name "publisher", - :label "This article is maintained by"} - {:value - "Protective effect of low dose caffeine on psychological stress and cognitive function", - :name "articletitle", - :label "Article Title"} - {:value "Physiology & Behavior", - :name "journaltitle", - :label "Journal Title"} - {:value "http://dx.doi.org/10.1016/j.physbeh.2016.10.010", - :name "articlelink", - :label "CrossRef DOI link to publisher maintained version"} - {:value "article", :name "content_type", :label "Content Type"} - {:value "© 2016 Elsevier Inc. All rights reserved.", - :name "copyright", - :label "Copyright"}]} - {:reference-count 0, - :publisher "American Chemical Society (ACS)", - :issue "2", - :funder - [{:DOI "10.13039/100000027", - :name "National Institute on Alcohol Abuse and Alcoholism", - :doi-asserted-by "publisher", - :award ["AA0014091" "AA021099"]} - {:DOI "10.13039/100000026", - :name "National Institute on Drug Abuse", - :doi-asserted-by "publisher", - :award ["DA021325" "DA006634" "DA030161"]}], - :content-domain {:domain [], :crossmark-restriction false}, - :short-container-title ["ACS Chem. Neurosci."], - :published-print {:date-parts [[2017 2 15]]}, - :DOI "10.1021/acschemneuro.6b00308", - :type "journal-article", - :created - {:date-time "2016-12-14T15:42:38Z", - :date-parts [[2016 12 14]], - :timestamp 1481730158000}, - :page "290-299", - :source "Crossref", - :is-referenced-by-count 3, - :title - ["High-Fat-Diet-Induced Deficits in Dopamine Terminal Function Are Reversed by Restoring Insulin Signaling"], - :prefix "10.1021", - :volume "8", - :author - [{:ORCID "http://orcid.org/0000-0002-7093-6774", - :authenticated-orcid true, - :given "Steve C.", - :family "Fordahl", - :sequence "first", - :affiliation - [{:name - "Department of Physiology\rand Pharmacology, Wake Forest School of Medicine, Winston-Salem, North Carolina 27157, United States"}]} - {:given "Sara R.", - :family "Jones", - :sequence "additional", - :affiliation - [{:name - "Department of Physiology\rand Pharmacology, Wake Forest School of Medicine, Winston-Salem, North Carolina 27157, United States"}]}], - :member "316", - :published-online {:date-parts [[2017 1 3]]}, - :container-title ["ACS Chemical Neuroscience"], - :language "en", - :link - [{:URL "http://pubs.acs.org/doi/pdf/10.1021/acschemneuro.6b00308", - :content-type "unspecified", - :content-version "vor", - :intended-application "similarity-checking"}], - :deposited - {:date-time "2018-01-03T12:44:56Z", - :date-parts [[2018 1 3]], - :timestamp 1514983496000}, - :score 1.0, - :issued {:date-parts [[2017 1 3]]}, - :references-count 0, - :journal-issue - {:published-online {:date-parts [[2016 12 19]]}, - :published-print {:date-parts [[2017 2 15]]}, - :issue "2"}, - :alternative-id ["10.1021/acschemneuro.6b00308"], - :URL "http://dx.doi.org/10.1021/acschemneuro.6b00308", - :ISSN ["1948-7193" "1948-7193"], - :issn-type - [{:value "1948-7193", :type "print"} - {:value "1948-7193", :type "electronic"}]} - {:reference-count 210, - :publisher "Springer Nature", - :issue "1", - :license - [{:URL "http://www.springer.com/tdm", - :start - {:date-time "2016-11-24T00:00:00Z", - :date-parts [[2016 11 24]], - :timestamp 1479945600000}, - :delay-in-days 0, - :content-version "unspecified"}], - :content-domain - {:domain ["link.springer.com"], :crossmark-restriction false}, - :short-container-title ["Nat Rev Neurosci"], - :published-print {:date-parts [[2017 1]]}, - :DOI "10.1038/nrn.2016.155", - :type "journal-article", - :created - {:date-time "2016-11-24T06:40:41Z", - :date-parts [[2016 11 24]], - :timestamp 1479969641000}, - :page "7-19", - :update-policy - "http://dx.doi.org/10.1007/springer_crossmark_policy", - :source "Crossref", - :is-referenced-by-count 37, - :title - ["Stress, glucocorticoids and memory: implications for treating fear-related disorders"], - :prefix "10.1038", - :volume "18", - :author - [{:given "Dominique", - :family "de Quervain", - :sequence "first", - :affiliation []} - {:given "Lars", - :family "Schwabe", - :sequence "additional", - :affiliation []} - {:given "Benno", - :family "Roozendaal", - :sequence "additional", - :affiliation []}], - :member "297", - :published-online {:date-parts [[2016 11 24]]}, - :container-title ["Nature Reviews Neuroscience"], - :language "en", - :link - [{:URL "http://www.nature.com/articles/nrn.2016.155.pdf", - :content-type "application/pdf", - :content-version "vor", - :intended-application "text-mining"} - {:URL "http://www.nature.com/articles/nrn.2016.155", - :content-type "text/html", - :content-version "vor", - :intended-application "text-mining"} - {:URL "http://www.nature.com/articles/nrn.2016.155.pdf", - :content-type "application/pdf", - :content-version "vor", - :intended-application "similarity-checking"}], - :deposited - {:date-time "2018-01-18T05:29:31Z", - :date-parts [[2018 1 18]], - :timestamp 1516253371000}, - :score 1.0, - :issued {:date-parts [[2016 11 24]]}, - :references-count 210, - :journal-issue - {:published-print {:date-parts [[2017 1]]}, :issue "1"}, - :alternative-id ["BFnrn2016155"], - :URL "http://dx.doi.org/10.1038/nrn.2016.155", - :ISSN ["1471-003X" "1471-0048"], - :issn-type - [{:value "1471-003X", :type "print"} - {:value "1471-0048", :type "electronic"}]} - {:institution {:name "bioRxiv", :place ["-"], :acronym ["-"]}, - :posted {:date-parts [[2015 9 16]]}, - :group-title "Bioinformatics", - :reference-count 0, - :publisher "Cold Spring Harbor Laboratory", - :content-domain {:domain [], :crossmark-restriction false}, - :accepted {:date-parts [[2016 9 16]]}, - :abstract - "Characterization of genetic variations in maize has been challenging, mainly due to deterioration of collinearity between individual genomes in the species. An international consortium of maize research groups combined resources to develop the maize haplotype version 3 (HapMap 3), built from whole genome sequencing data from 1,218 maize lines, covering pre-domestication and domesticated Zea mays varieties across the world.A new computational pipeline was set up to process over 12 trillion bp of sequencing data, and a set of population genetics filters were applied to identify over 83 million variant sites. We identified polymorphisms in regions where collinearity is largely preserved in the maize species. However, the fact that the B73 genome used as the reference only represents a fraction of all haplotypes is still an important limiting factor.", - :DOI "10.1101/026963", - :type "posted-content", - :created - {:date-time "2015-09-17T05:01:45Z", - :date-parts [[2015 9 17]], - :timestamp 1442466105000}, - :source "Crossref", - :is-referenced-by-count 11, - :title - ["Construction of the third generation Zea mays haplotype map"], - :prefix "10.1101", - :author - [{:given "Robert", - :family "Bukowski", - :sequence "first", - :affiliation []} - {:given "Xiaosen", - :family "Guo", - :sequence "additional", - :affiliation []} - {:given "Yanli", - :family "Lu", - :sequence "additional", - :affiliation []} - {:given "Cheng", - :family "Zou", - :sequence "additional", - :affiliation []} - {:given "Bing", - :family "He", - :sequence "additional", - :affiliation []} - {:given "Zhengqin", - :family "Rong", - :sequence "additional", - :affiliation []} - {:given "Bo", - :family "Wang", - :sequence "additional", - :affiliation []} - {:given "Dawen", - :family "Xu", - :sequence "additional", - :affiliation []} - {:given "Bicheng", - :family "Yang", - :sequence "additional", - :affiliation []} - {:given "Chuanxiao", - :family "Xie", - :sequence "additional", - :affiliation []} - {:given "Longjiang", - :family "Fan", - :sequence "additional", - :affiliation []} - {:given "Shibin", - :family "Gao", - :sequence "additional", - :affiliation []} - {:given "Xun", - :family "Xu", - :sequence "additional", - :affiliation []} - {:given "Gengyun", - :family "Zhang", - :sequence "additional", - :affiliation []} - {:given "Yingrui", - :family "Li", - :sequence "additional", - :affiliation []} - {:given "Yinping", - :family "Jiao", - :sequence "additional", - :affiliation []} - {:given "John", - :family "Doebley", - :sequence "additional", - :affiliation []} - {:given "Jeffrey", - :family "Ross-Ibarra", - :sequence "additional", - :affiliation []} - {:given "Vince", - :family "Buffalo", - :sequence "additional", - :affiliation []} - {:given "Cinta M", - :family "Romay", - :sequence "additional", - :affiliation []} - {:given "Edward S", - :family "Buckler", - :sequence "additional", - :affiliation []} - {:given "Yunbi", - :family "Xu", - :sequence "additional", - :affiliation []} - {:given "Jinsheng", - :family "Lai", - :sequence "additional", - :affiliation []} - {:given "Doreen", - :family "Ware", - :sequence "additional", - :affiliation []} - {:given "Qi", - :family "Sun", - :sequence "additional", - :affiliation []}], - :member "246", - :link - [{:URL - "https://syndication.highwire.org/content/doi/10.1101/026963", - :content-type "unspecified", - :content-version "vor", - :intended-application "similarity-checking"}], - :deposited - {:date-time "2018-03-30T21:35:55Z", - :date-parts [[2018 3 30]], - :timestamp 1522445755000}, - :score 1.0, - :issued {:date-parts [[2015 9 16]]}, - :references-count 0, - :URL "http://dx.doi.org/10.1101/026963", - :relation - {:is-preprint-of - [{:id-type "doi", - :id "10.1093/gigascience/gix134", - :asserted-by "subject"}]}, - :subtype "preprint"} - {:reference-count 0, - :publisher "Royal College of Psychiatrists", - :issue "06", - :content-domain {:domain [], :crossmark-restriction false}, - :short-container-title ["Br J Psychiatry"], - :published-print {:date-parts [[2016 12]]}, - :abstract - "\n The Global Burden of Disease (GBD) is the most comprehensive global epidemiological study, and the analyses of the 2015 data have recently been published\n (thelancet.com/gbd). This is a rich data-set including observation on the general increase in global life expectancy, with the gains due to significant improvement in HIV outcomes balanced against the significant war-related decreases in male life expectancy in Syria. Interestingly, the age-standardised mortality rate for mental and substance use disorders dropped by over 12% between 2005 and 2015, though with considerable variations between conditions and countries, and the authors further note the difficulty in accurately attributing and coding excess deaths – for example, the years of life known to be indirectly lost to schizophrenia. Total deaths due to self-harm and interpersonal violence did not change much during this period.\n ", - :DOI "10.1192/bjp.209.6.533", - :type "journal-article", - :created - {:date-time "2016-12-01T08:31:49Z", - :date-parts [[2016 12 1]], - :timestamp 1480581109000}, - :page "533-534", - :source "Crossref", - :is-referenced-by-count 0, - :title ["Kaleidoscope"], - :prefix "10.1192", - :volume "209", - :author - [{:given "Derek K.", - :family "Tracy", - :sequence "first", - :affiliation []} - {:given "Dan W.", - :family "Joyce", - :sequence "additional", - :affiliation []} - {:given "Sukhwinder S.", - :family "Shergill", - :sequence "additional", - :affiliation []}], - :member "170", - :published-online {:date-parts [[2018 1 2]]}, - :container-title ["British Journal of Psychiatry"], - :language "en", - :link - [{:URL - "https://www.cambridge.org/core/services/aop-cambridge-core/content/view/S000712500024590X", - :content-type "unspecified", - :content-version "vor", - :intended-application "similarity-checking"}], - :deposited - {:date-time "2018-01-17T07:22:20Z", - :date-parts [[2018 1 17]], - :timestamp 1516173740000}, - :score 1.0, - :issued {:date-parts [[2016 12]]}, - :references-count 0, - :journal-issue - {:published-print {:date-parts [[2016 12]]}, :issue "06"}, - :alternative-id ["S000712500024590X"], - :URL "http://dx.doi.org/10.1192/bjp.209.6.533", - :ISSN ["0007-1250" "1472-1465"], - :issn-type - [{:value "0007-1250", :type "print"} - {:value "1472-1465", :type "electronic"}]} - {:reference-count 42, - :publisher "Frontiers Media SA", - :license - [{:URL "https://creativecommons.org/licenses/by/4.0/", - :start - {:date-time "2016-12-15T00:00:00Z", - :date-parts [[2016 12 15]], - :timestamp 1481760000000}, - :delay-in-days 0, - :content-version "unspecified"}], - :funder - [{:DOI "10.13039/501100000360", - :name "Scottish Funding Council", - :doi-asserted-by "publisher", - :award ["SCD/09"]} - {:DOI "10.13039/501100000265", - :name "Medical Research Council", - :doi-asserted-by "publisher", - :award ["G0501904"]} - {:DOI "10.13039/501100000781", - :name "European Research Council", - :doi-asserted-by "publisher", - :award ["281338"]} - {:DOI "10.13039/501100000361", - :name "Diabetes UK", - :doi-asserted-by "publisher", - :award ["08/0003781"]}], - :content-domain - {:domain ["frontiersin.org"], :crossmark-restriction true}, - :short-container-title ["Front. Endocrinol."], - :DOI "10.3389/fendo.2016.00158", - :type "journal-article", - :created - {:date-time "2016-12-15T03:59:50Z", - :date-parts [[2016 12 15]], - :timestamp 1481774390000}, - :update-policy "http://dx.doi.org/10.3389/crossmark-policy", - :source "Crossref", - :is-referenced-by-count 3, - :title - ["Dynamic Changes in DNA Methylation Occur during the First Year of Life in Preterm Infants"], - :prefix "10.3389", - :volume "7", - :author - [{:given "Chinthika", - :family "Piyasena", - :sequence "first", - :affiliation []} - {:given "Jessy", - :family "Cartier", - :sequence "additional", - :affiliation []} - {:given "Nadine", - :family "Provençal", - :sequence "additional", - :affiliation []} - {:given "Tobias", - :family "Wiechmann", - :sequence "additional", - :affiliation []} - {:given "Batbayar", - :family "Khulan", - :sequence "additional", - :affiliation []} - {:given "Raju", - :family "Sunderesan", - :sequence "additional", - :affiliation []} - {:given "Gopi", - :family "Menon", - :sequence "additional", - :affiliation []} - {:given "Jonathan R.", - :family "Seckl", - :sequence "additional", - :affiliation []} - {:given "Rebecca M.", - :family "Reynolds", - :sequence "additional", - :affiliation []} - {:given "Elisabeth B.", - :family "Binder", - :sequence "additional", - :affiliation []} - {:given "Amanda J.", - :family "Drake", - :sequence "additional", - :affiliation []}], - :member "1965", - :published-online {:date-parts [[2016 12 15]]}, - :container-title ["Frontiers in Endocrinology"], - :link - [{:URL - "http://journal.frontiersin.org/article/10.3389/fendo.2016.00158/full", - :content-type "unspecified", - :content-version "vor", - :intended-application "similarity-checking"}], - :deposited - {:date-time "2018-02-26T12:35:01Z", - :date-parts [[2018 2 26]], - :timestamp 1519648501000}, - :score 1.0, - :issued {:date-parts [[2016 12 15]]}, - :references-count 42, - :alternative-id ["10.3389/fendo.2016.00158"], - :URL "http://dx.doi.org/10.3389/fendo.2016.00158", - :ISSN ["1664-2392"], - :issn-type [{:value "1664-2392", :type "electronic"}]} - {:reference-count 211, - :publisher "MDPI AG", - :issue "4", - :license - [{:URL "https://creativecommons.org/licenses/by/4.0/", - :start - {:date-time "2016-12-02T00:00:00Z", - :date-parts [[2016 12 2]], - :timestamp 1480636800000}, - :delay-in-days 0, - :content-version "unspecified"}], - :content-domain {:domain [], :crossmark-restriction false}, - :short-container-title ["Children"], - :DOI "10.3390/children3040040", - :type "journal-article", - :created - {:date-time "2016-12-02T15:36:37Z", - :date-parts [[2016 12 2]], - :timestamp 1480692997000}, - :page "40", - :source "Crossref", - :is-referenced-by-count 7, - :title - ["Mental Health Comorbidities in Pediatric Chronic Pain: A Narrative Review of Epidemiology, Models, Neurobiological Mechanisms and Treatment"], - :prefix "10.3390", - :volume "3", - :author - [{:given "Jillian", - :family "Vinall", - :sequence "first", - :affiliation []} - {:given "Maria", - :family "Pavlova", - :sequence "additional", - :affiliation []} - {:given "Gordon", - :family "Asmundson", - :sequence "additional", - :affiliation []} - {:given "Nivez", - :family "Rasic", - :sequence "additional", - :affiliation []} - {:given "Melanie", - :family "Noel", - :sequence "additional", - :affiliation []}], - :member "1968", - :published-online {:date-parts [[2016 12 2]]}, - :container-title ["Children"], - :language "en", - :link - [{:URL "http://www.mdpi.com/2227-9067/3/4/40/pdf", - :content-type "unspecified", - :content-version "vor", - :intended-application "similarity-checking"}], - :deposited - {:date-time "2018-03-19T12:25:35Z", - :date-parts [[2018 3 19]], - :timestamp 1521462335000}, - :score 1.0, - :issued {:date-parts [[2016 12 2]]}, - :references-count 211, - :journal-issue - {:published-online {:date-parts [[2016 12]]}, :issue "4"}, - :alternative-id ["children3040040"], - :URL "http://dx.doi.org/10.3390/children3040040", - :ISSN ["2227-9067"], - :issn-type [{:value "2227-9067", :type "electronic"}]} - {:edition-number "2", - :reference-count 0, - :publisher "Sample Publisher", - :isbn-type - [{:value "0064410145", :type "print"} - {:value "0571089895", :type "electronic"}], - :content-domain {:domain [], :crossmark-restriction false}, - :DOI "10.5555/test5", - :type "book-set", - :created - {:date-time "2009-03-10T18:21:05Z", - :date-parts [[2009 3 10]], - :timestamp 1236709265000}, - :source "Crossref", - :is-referenced-by-count 0, - :title ["Sample Set Title"], - :prefix "10.5555", - :member "7822", - :link - [{:URL "http://www.crossref.org/test5", - :content-type "unspecified", - :content-version "vor", - :intended-application "similarity-checking"}], - :deposited - {:date-time "2018-03-19T20:42:34Z", - :date-parts [[2018 3 19]], - :timestamp 1521492154000}, - :score 1.0, - :issued {:date-parts [[nil]]}, - :ISBN ["0571089895" "0064410145"], - :references-count 0, - :part-number "33-6", - :URL "http://dx.doi.org/10.5555/test5"} - {:reference-count 0, - :publisher "PeerJ", :content-domain {:domain []}, :published-print {:date-parts [[2015 7 14]]}, :DOI "10.7287/peerj.1078v0.2/reviews/1", :type "peer-review", :created - {:date-time "2018-01-10T17:22:19Z", - :date-parts [[2018 1 10]], + {:date-parts [[2018 1 10]], + :date-time "2018-01-10T17:22:19Z", :timestamp 1515604939000}, :source "Crossref", :is-referenced-by-count 0, :title ["Peer Review #1 of \"Multimodal Imaging Brain Connectivity Analysis (MIBCA) toolbox (v0.2)\""], :prefix "10.7287", - :member "4443", :review {:revision-round "3", :stage "pre-publication"}, :deposited - {:date-time "2018-01-10T17:22:19Z", - :date-parts [[2018 1 10]], + {:date-parts [[2018 1 10]], + :date-time "2018-01-10T17:22:19Z", :timestamp 1515604939000}, - :score 1.0, + :score 0.0, :issued {:date-parts [[2015 7 14]]}, :references-count 0, :URL "http://dx.doi.org/10.7287/peerj.1078v0.2/reviews/1", @@ -1013,29 +29,50 @@ [{:id-type "doi", :id "10.7717/peerj.1078", :asserted-by "subject"}]}} - {:reference-count 0, - :publisher "PeerJ", + {:institution + {:name "Psychoceramics Institute", + :acronym ["PI"], + :place ["Pittsburg, Arizona"], + :department ["Soft furnishings"]}, + :reference-count 0, + :publisher "Rockefeller University Press", :content-domain {:domain []}, - :published-print {:date-parts [[2016 7 26]]}, + :published-print {:date-parts [[2017 4 19]]}, :DOI "10.7287/peerj.2196v0.1/reviews/2", :type "peer-review", :created - {:date-time "2018-01-09T23:59:03Z", - :date-parts [[2018 1 9]], - :timestamp 1515542343000}, + {:date-parts [[2018 1 9]], + :date-time "2018-01-09T18:42:21Z", + :timestamp 1515523341000}, :source "Crossref", :is-referenced-by-count 0, :title ["Peer Review #2 of \"Tissue mortality by Caribbean ciliate infection and white band disease in three reef-building coral species (v0.1)\""], :prefix "10.7287", - :member "4443", - :review {:revision-round "2", :stage "pre-publication"}, + :author + [{:ORCID "http://orcid.org/0000-0002-3368-4133", + :authenticated-orcid false, + :given "Xiaoguang", + :family "Fang", + :sequence "first", + :affiliation []}], + :member "291", + :review + {:type "referee-report", + :running-number "RC1", + :revision-round "2", + :stage "pre-publication", + :competing-interest-statement "There were no competing interests", + :recommendation "major-revision", + :language "en"}, + :original-title ["Der Titel"], :deposited - {:date-time "2018-01-09T23:59:03Z", - :date-parts [[2018 1 9]], - :timestamp 1515542343000}, - :score 1.0, - :issued {:date-parts [[2016 7 26]]}, + {:date-parts [[2018 1 9]], + :date-time "2018-01-09T18:42:21Z", + :timestamp 1515523341000}, + :score 0.0, + :subtitle ["The Subtitle"], + :issued {:date-parts [[2017 4 19]]}, :references-count 0, :URL "http://dx.doi.org/10.7287/peerj.2196v0.1/reviews/2", :relation diff --git a/dev-resources/works/?filter=member:78.edn b/dev-resources/works/?filter=member:78.edn index ea3b557f..b1857d24 100644 --- a/dev-resources/works/?filter=member:78.edn +++ b/dev-resources/works/?filter=member:78.edn @@ -1,24 +1,23 @@ {:facets {}, :total-results 121, :items - ({:reference-count 0, + ({:reference-count 873, :publisher "Elsevier", - :isbn-type [{:value "9780128036082", :type "print"}], :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start - {:date-time "2017-01-01T00:00:00Z", - :date-parts [[2017 1 1]], + [{:start + {:date-parts [[2017 1 1]], + :date-time "2017-01-01T00:00:00Z", :timestamp 1483228800000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], :content-domain {:domain [], :crossmark-restriction false}, - :published-print {:date-parts [[2017]]}, + :published-print {:date-parts [[2017 1 1]]}, :DOI "10.1016/b978-0-12-803592-4.00001-8", - :type "book-chapter", + :type "chapter", :created - {:date-time "2016-11-29T20:26:21Z", - :date-parts [[2016 11 29]], + {:date-parts [[2016 11 29]], + :date-time "2016-11-29T20:26:21Z", :timestamp 1480451181000}, :page "1-57", :source "Crossref", @@ -48,32 +47,30 @@ :content-version "vor", :intended-application "text-mining"}], :deposited - {:date-time "2017-06-25T04:46:58Z", - :date-parts [[2017 6 25]], + {:date-parts [[2017 6 25]], + :date-time "2017-06-25T04:46:58Z", :timestamp 1498366018000}, - :score 1.0, - :issued {:date-parts [[2017]]}, - :ISBN ["9780128036082"], - :references-count 0, + :score 0.0, + :issued {:date-parts [[2017 1 1]]}, + :references-count 873, :URL "http://dx.doi.org/10.1016/b978-0-12-803592-4.00001-8"} - {:reference-count 0, + {:reference-count 256, :publisher "Elsevier", - :isbn-type [{:value "9780128036082", :type "print"}], :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start - {:date-time "2017-01-01T00:00:00Z", - :date-parts [[2017 1 1]], + [{:start + {:date-parts [[2017 1 1]], + :date-time "2017-01-01T00:00:00Z", :timestamp 1483228800000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], :content-domain {:domain [], :crossmark-restriction false}, - :published-print {:date-parts [[2017]]}, + :published-print {:date-parts [[2017 1 1]]}, :DOI "10.1016/b978-0-12-803592-4.00015-8", - :type "book-chapter", + :type "chapter", :created - {:date-time "2016-11-29T20:48:43Z", - :date-parts [[2016 11 29]], + {:date-parts [[2016 11 29]], + :date-time "2016-11-29T20:48:43Z", :timestamp 1480452523000}, :page "423-438", :source "Crossref", @@ -103,32 +100,30 @@ :content-version "vor", :intended-application "text-mining"}], :deposited - {:date-time "2017-06-25T04:47:24Z", - :date-parts [[2017 6 25]], + {:date-parts [[2017 6 25]], + :date-time "2017-06-25T04:47:24Z", :timestamp 1498366044000}, - :score 1.0, - :issued {:date-parts [[2017]]}, - :ISBN ["9780128036082"], - :references-count 0, + :score 0.0, + :issued {:date-parts [[2017 1 1]]}, + :references-count 256, :URL "http://dx.doi.org/10.1016/b978-0-12-803592-4.00015-8"} - {:reference-count 0, + {:reference-count 167, :publisher "Elsevier", - :isbn-type [{:value "9780128036082", :type "print"}], :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start - {:date-time "2017-01-01T00:00:00Z", - :date-parts [[2017 1 1]], + [{:start + {:date-parts [[2017 1 1]], + :date-time "2017-01-01T00:00:00Z", :timestamp 1483228800000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], :content-domain {:domain [], :crossmark-restriction false}, - :published-print {:date-parts [[2017]]}, + :published-print {:date-parts [[2017 1 1]]}, :DOI "10.1016/b978-0-12-803592-4.00016-x", - :type "book-chapter", + :type "chapter", :created - {:date-time "2016-11-29T20:48:15Z", - :date-parts [[2016 11 29]], + {:date-parts [[2016 11 29]], + :date-time "2016-11-29T20:48:15Z", :timestamp 1480452495000}, :page "439-451", :source "Crossref", @@ -162,32 +157,30 @@ :content-version "vor", :intended-application "text-mining"}], :deposited - {:date-time "2017-06-25T04:47:24Z", - :date-parts [[2017 6 25]], + {:date-parts [[2017 6 25]], + :date-time "2017-06-25T04:47:24Z", :timestamp 1498366044000}, - :score 1.0, - :issued {:date-parts [[2017]]}, - :ISBN ["9780128036082"], - :references-count 0, + :score 0.0, + :issued {:date-parts [[2017 1 1]]}, + :references-count 167, :URL "http://dx.doi.org/10.1016/b978-0-12-803592-4.00016-x"} - {:reference-count 0, + {:reference-count 183, :publisher "Elsevier", - :isbn-type [{:value "9780128036082", :type "print"}], :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start - {:date-time "2017-01-01T00:00:00Z", - :date-parts [[2017 1 1]], + [{:start + {:date-parts [[2017 1 1]], + :date-time "2017-01-01T00:00:00Z", :timestamp 1483228800000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], :content-domain {:domain [], :crossmark-restriction false}, - :published-print {:date-parts [[2017]]}, + :published-print {:date-parts [[2017 1 1]]}, :DOI "10.1016/b978-0-12-803592-4.00046-8", - :type "book-chapter", + :type "chapter", :created - {:date-time "2016-11-29T20:52:01Z", - :date-parts [[2016 11 29]], + {:date-parts [[2016 11 29]], + :date-time "2016-11-29T20:52:01Z", :timestamp 1480452721000}, :page "83-99", :source "Crossref", @@ -225,32 +218,30 @@ :content-version "vor", :intended-application "text-mining"}], :deposited - {:date-time "2017-06-25T04:47:27Z", - :date-parts [[2017 6 25]], + {:date-parts [[2017 6 25]], + :date-time "2017-06-25T04:47:27Z", :timestamp 1498366047000}, - :score 1.0, - :issued {:date-parts [[2017]]}, - :ISBN ["9780128036082"], - :references-count 0, + :score 0.0, + :issued {:date-parts [[2017 1 1]]}, + :references-count 183, :URL "http://dx.doi.org/10.1016/b978-0-12-803592-4.00046-8"} - {:reference-count 0, + {:reference-count 273, :publisher "Elsevier", - :isbn-type [{:value "9780128036082", :type "print"}], :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start - {:date-time "2017-01-01T00:00:00Z", - :date-parts [[2017 1 1]], + [{:start + {:date-parts [[2017 1 1]], + :date-time "2017-01-01T00:00:00Z", :timestamp 1483228800000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], :content-domain {:domain [], :crossmark-restriction false}, - :published-print {:date-parts [[2017]]}, + :published-print {:date-parts [[2017 1 1]]}, :DOI "10.1016/b978-0-12-803592-4.00111-5", - :type "book-chapter", + :type "chapter", :created - {:date-time "2016-11-29T20:47:22Z", - :date-parts [[2016 11 29]], + {:date-parts [[2016 11 29]], + :date-time "2016-11-29T20:47:22Z", :timestamp 1480452442000}, :page "443-463", :source "Crossref", @@ -290,32 +281,30 @@ :content-version "vor", :intended-application "text-mining"}], :deposited - {:date-time "2017-06-25T04:47:22Z", - :date-parts [[2017 6 25]], + {:date-parts [[2017 6 25]], + :date-time "2017-06-25T04:47:22Z", :timestamp 1498366042000}, - :score 1.0, - :issued {:date-parts [[2017]]}, - :ISBN ["9780128036082"], - :references-count 0, + :score 0.0, + :issued {:date-parts [[2017 1 1]]}, + :references-count 273, :URL "http://dx.doi.org/10.1016/b978-0-12-803592-4.00111-5"} - {:reference-count 0, + {:reference-count 193, :publisher "Elsevier", - :isbn-type [{:value "9780128040966", :type "print"}], :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start - {:date-time "2017-01-01T00:00:00Z", - :date-parts [[2017 1 1]], + [{:start + {:date-parts [[2017 1 1]], + :date-time "2017-01-01T00:00:00Z", :timestamp 1483228800000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], :content-domain {:domain [], :crossmark-restriction false}, - :published-print {:date-parts [[2017]]}, + :published-print {:date-parts [[2017 1 1]]}, :DOI "10.1016/b978-0-12-804042-3.00094-4", - :type "book-chapter", + :type "chapter", :created - {:date-time "2016-11-30T20:24:38Z", - :date-parts [[2016 11 30]], + {:date-parts [[2016 11 30]], + :date-time "2016-11-30T20:24:38Z", :timestamp 1480537478000}, :page "461-474", :source "Crossref", @@ -342,29 +331,27 @@ :content-version "vor", :intended-application "text-mining"}], :deposited - {:date-time "2017-06-25T04:54:02Z", - :date-parts [[2017 6 25]], + {:date-parts [[2017 6 25]], + :date-time "2017-06-25T04:54:02Z", :timestamp 1498366442000}, - :score 1.0, - :issued {:date-parts [[2017]]}, - :ISBN ["9780128040966"], - :references-count 0, + :score 0.0, + :issued {:date-parts [[2017 1 1]]}, + :references-count 193, :URL "http://dx.doi.org/10.1016/b978-0-12-804042-3.00094-4"} - {:reference-count 0, + {:reference-count 112, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start - {:date-time "2017-02-01T00:00:00Z", - :date-parts [[2017 2 1]], + [{:start + {:date-parts [[2017 2 1]], + :date-time "2017-02-01T00:00:00Z", :timestamp 1485907200000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], :funder [{:DOI "10.13039/100000002", :name "National Institutes of Health", - :doi-asserted-by "publisher", - :award ["R01AA021951"]}], + :doi-asserted-by "publisher"}], :content-domain {:domain ["clinicalkey.jp" @@ -377,17 +364,17 @@ "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Alcohol"], - :published-print {:date-parts [[2017 2]]}, + :published-print {:date-parts [[2017 2 1]]}, :DOI "10.1016/j.alcohol.2016.08.008", :type "journal-article", :created - {:date-time "2016-12-16T08:43:21Z", - :date-parts [[2016 12 16]], + {:date-parts [[2016 12 16]], + :date-time "2016-12-16T08:43:21Z", :timestamp 1481877801000}, :page "139-151", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", :source "Crossref", - :is-referenced-by-count 2, + :is-referenced-by-count 1, :title ["Analyses of differentially expressed genes after exposure to acute stress, acute ethanol, or a combination of both in mice"], :prefix "10.1016", @@ -444,12 +431,12 @@ :content-version "vor", :intended-application "text-mining"}], :deposited - {:date-time "2017-06-25T06:03:02Z", - :date-parts [[2017 6 25]], + {:date-parts [[2017 6 25]], + :date-time "2017-06-25T06:03:02Z", :timestamp 1498370582000}, - :score 1.0, - :issued {:date-parts [[2017 2]]}, - :references-count 0, + :score 0.0, + :issued {:date-parts [[2017 2 1]]}, + :references-count 112, :alternative-id ["S0741832916300714"], :URL "http://dx.doi.org/10.1016/j.alcohol.2016.08.008", :ISSN ["0741-8329"], @@ -470,16 +457,16 @@ {:value "Published by Elsevier Inc.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 73, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start - {:date-time "2017-07-01T00:00:00Z", - :date-parts [[2017 7 1]], - :timestamp 1498867200000}, + [{:start + {:date-parts [[2017 5 12]], + :date-time "2017-05-12T09:19:30Z", + :timestamp 1494580770000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], :content-domain {:domain ["clinicalkey.jp" @@ -491,17 +478,17 @@ "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Brain, Behavior, and Immunity"], - :published-print {:date-parts [[2017 7]]}, + :published-print {:date-parts [[2017 7 1]]}, :DOI "10.1016/j.bbi.2016.10.007", :type "journal-article", :created - {:date-time "2016-10-15T16:36:45Z", - :date-parts [[2016 10 15]], + {:date-parts [[2016 10 15]], + :date-time "2016-10-15T16:36:45Z", :timestamp 1476549405000}, :page "148-159", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", :source "Crossref", - :is-referenced-by-count 3, + :is-referenced-by-count 2, :title ["Mechanical allodynia corresponds to Oprm1 downregulation within the descending pain network of male and female rats exposed to neonatal immune challenge"], :prefix "10.1016", @@ -520,22 +507,22 @@ :language "en", :link [{:URL - "http://api.elsevier.com/content/article/PII:S0889159116304706?httpAccept=text/xml", - :content-type "text/xml", + "http://api.elsevier.com/content/article/PII:S0889159116304706?httpAccept=text/plain", + :content-type "text/plain", :content-version "vor", :intended-application "text-mining"} {:URL - "http://api.elsevier.com/content/article/PII:S0889159116304706?httpAccept=text/plain", - :content-type "text/plain", + "http://api.elsevier.com/content/article/PII:S0889159116304706?httpAccept=text/xml", + :content-type "text/xml", :content-version "vor", :intended-application "text-mining"}], :deposited - {:date-time "2017-12-23T23:38:34Z", - :date-parts [[2017 12 23]], - :timestamp 1514072314000}, - :score 1.0, - :issued {:date-parts [[2017 7]]}, - :references-count 0, + {:date-parts [[2017 5 12]], + :date-time "2017-05-12T09:19:30Z", + :timestamp 1494580770000}, + :score 0.0, + :issued {:date-parts [[2017 5 12]]}, + :references-count 73, :alternative-id ["S0889159116304706"], :URL "http://dx.doi.org/10.1016/j.bbi.2016.10.007", :ISSN ["0889-1591"], @@ -558,33 +545,31 @@ {:value "© 2016 Elsevier Inc. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 76, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start - {:date-time "2017-03-01T00:00:00Z", - :date-parts [[2017 3 1]], + [{:start + {:date-parts [[2017 3 1]], + :date-time "2017-03-01T00:00:00Z", :timestamp 1488326400000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], :funder [{:DOI "10.13039/501100002923", :name "CONICET", - :doi-asserted-by "crossref", - :award []} - {:name "SECyT-Universidad Nacional de Cordoba (Argentina)", - :award []}], + :doi-asserted-by "crossref"} + {:name "SECyT-Universidad Nacional de Cordoba (Argentina)"}], :content-domain {:domain ["elsevier.com" "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Behavioural Brain Research"], - :published-print {:date-parts [[2017 3]]}, + :published-print {:date-parts [[2017 3 1]]}, :DOI "10.1016/j.bbr.2016.10.035", :type "journal-article", :created - {:date-time "2016-10-27T21:37:25Z", - :date-parts [[2016 10 27]], + {:date-parts [[2016 10 27]], + :date-time "2016-10-27T21:37:25Z", :timestamp 1477604245000}, :page "464-472", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", @@ -622,12 +607,12 @@ :content-version "vor", :intended-application "text-mining"}], :deposited - {:date-time "2017-06-25T02:16:53Z", - :date-parts [[2017 6 25]], + {:date-parts [[2017 6 25]], + :date-time "2017-06-25T02:16:53Z", :timestamp 1498357013000}, - :score 1.0, - :issued {:date-parts [[2017 3]]}, - :references-count 0, + :score 0.0, + :issued {:date-parts [[2017 3 1]]}, + :references-count 76, :alternative-id ["S0166432816309007"], :URL "http://dx.doi.org/10.1016/j.bbr.2016.10.035", :ISSN ["0166-4328"], @@ -650,26 +635,26 @@ {:value "© 2016 Elsevier B.V. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 21, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start - {:date-time "2017-02-01T00:00:00Z", - :date-parts [[2017 2 1]], + [{:start + {:date-parts [[2017 2 1]], + :date-time "2017-02-01T00:00:00Z", :timestamp 1485907200000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], :content-domain {:domain ["elsevier.com" "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Biological Psychology"], - :published-print {:date-parts [[2017 2]]}, + :published-print {:date-parts [[2017 2 1]]}, :DOI "10.1016/j.biopsycho.2016.12.010", :type "journal-article", :created - {:date-time "2016-12-15T17:45:19Z", - :date-parts [[2016 12 15]], + {:date-parts [[2016 12 15]], + :date-time "2016-12-15T17:45:19Z", :timestamp 1481823919000}, :page "136-140", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", @@ -723,12 +708,12 @@ :content-version "vor", :intended-application "text-mining"}], :deposited - {:date-time "2017-06-25T06:01:29Z", - :date-parts [[2017 6 25]], + {:date-parts [[2017 6 25]], + :date-time "2017-06-25T06:01:29Z", :timestamp 1498370489000}, - :score 1.0, - :issued {:date-parts [[2017 2]]}, - :references-count 0, + :score 0.0, + :issued {:date-parts [[2017 2 1]]}, + :references-count 21, :alternative-id ["S0301051116303738"], :URL "http://dx.doi.org/10.1016/j.biopsycho.2016.12.010", :ISSN ["0301-0511"], @@ -751,33 +736,32 @@ {:value "© 2016 Elsevier B.V. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 53, :publisher "Elsevier BV", :issue "1", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start - {:date-time "2017-01-01T00:00:00Z", - :date-parts [[2017 1 1]], + [{:start + {:date-parts [[2017 1 1]], + :date-time "2017-01-01T00:00:00Z", :timestamp 1483228800000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], :funder [{:DOI "10.13039/100000002", :name "NIH", - :doi-asserted-by "publisher", - :award ["1P50MH100023"]} - {:name "NIH OD", :award ["P51OD11132"]}], + :doi-asserted-by "publisher"} + {:name "NIH OD"}], :content-domain {:domain ["elsevier.com" "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Bioorganic & Medicinal Chemistry"], - :published-print {:date-parts [[2017 1]]}, + :published-print {:date-parts [[2017 1 1]]}, :DOI "10.1016/j.bmc.2016.10.035", :type "journal-article", :created - {:date-time "2016-11-01T08:31:03Z", - :date-parts [[2016 11 1]], + {:date-parts [[2016 11 1]], + :date-time "2016-11-01T08:31:03Z", :timestamp 1477989063000}, :page "305-315", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", @@ -837,14 +821,14 @@ :content-version "vor", :intended-application "text-mining"}], :deposited - {:date-time "2017-06-25T02:29:54Z", - :date-parts [[2017 6 25]], + {:date-parts [[2017 6 25]], + :date-time "2017-06-25T02:29:54Z", :timestamp 1498357794000}, - :score 1.0, - :issued {:date-parts [[2017 1]]}, - :references-count 0, + :score 0.0, + :issued {:date-parts [[2017 1 1]]}, + :references-count 53, :journal-issue - {:published-print {:date-parts [[2017 1]]}, :issue "1"}, + {:issue "1", :published-print {:date-parts [[2017 1 1]]}}, :alternative-id ["S0968089616310872"], :URL "http://dx.doi.org/10.1016/j.bmc.2016.10.035", :ISSN ["0968-0896"], @@ -867,17 +851,17 @@ {:value "Published by Elsevier Ltd.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 19, :publisher "Elsevier BV", :issue "1", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start - {:date-time "2017-01-01T00:00:00Z", - :date-parts [[2017 1 1]], + [{:start + {:date-parts [[2017 1 1]], + :date-time "2017-01-01T00:00:00Z", :timestamp 1483228800000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], :content-domain {:domain ["clinicalkey.com" @@ -888,12 +872,12 @@ :crossmark-restriction true}, :short-container-title ["EXPLORE: The Journal of Science and Healing"], - :published-print {:date-parts [[2017 1]]}, + :published-print {:date-parts [[2017 1 1]]}, :DOI "10.1016/j.explore.2016.10.009", :type "journal-article", :created - {:date-time "2016-10-29T03:46:29Z", - :date-parts [[2016 10 29]], + {:date-parts [[2016 10 29]], + :date-time "2016-10-29T03:46:29Z", :timestamp 1477712789000}, :page "6-8", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", @@ -923,14 +907,14 @@ :content-version "vor", :intended-application "text-mining"}], :deposited - {:date-time "2017-06-25T02:22:59Z", - :date-parts [[2017 6 25]], + {:date-parts [[2017 6 25]], + :date-time "2017-06-25T02:22:59Z", :timestamp 1498357379000}, - :score 1.0, - :issued {:date-parts [[2017 1]]}, - :references-count 0, + :score 0.0, + :issued {:date-parts [[2017 1 1]]}, + :references-count 19, :journal-issue - {:published-print {:date-parts [[2017 1]]}, :issue "1"}, + {:issue "1", :published-print {:date-parts [[2017 1 1]]}}, :alternative-id ["S1550830716301707"], :URL "http://dx.doi.org/10.1016/j.explore.2016.10.009", :ISSN ["1550-8307"], @@ -955,33 +939,31 @@ {:value "© 2016 Published by Elsevier Inc.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 66, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start - {:date-time "2016-11-01T00:00:00Z", - :date-parts [[2016 11 1]], + [{:start + {:date-parts [[2016 11 1]], + :date-time "2016-11-01T00:00:00Z", :timestamp 1477958400000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], :funder - [{:DOI "10.13039/501100002803", + [{:name "Italian Health Ministry to Scientific Institute"} + {:DOI "10.13039/501100002803", :name "Cariplo Foundation", - :doi-asserted-by "crossref", - :award []} - {:name "Italian Health Ministry to Scientific Institute", - :award []}], + :doi-asserted-by "crossref"}], :content-domain {:domain ["elsevier.com" "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Infant Behavior and Development"], - :published-print {:date-parts [[2016 11]]}, + :published-print {:date-parts [[2016 11 1]]}, :DOI "10.1016/j.infbeh.2016.09.006", :type "journal-article", :created - {:date-time "2016-10-14T09:48:19Z", - :date-parts [[2016 10 14]], + {:date-parts [[2016 10 14]], + :date-time "2016-10-14T09:48:19Z", :timestamp 1476438499000}, :page "71-82", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", @@ -1037,12 +1019,12 @@ :content-version "vor", :intended-application "text-mining"}], :deposited - {:date-time "2017-06-25T01:08:48Z", - :date-parts [[2017 6 25]], + {:date-parts [[2017 6 25]], + :date-time "2017-06-25T01:08:48Z", :timestamp 1498352928000}, - :score 1.0, - :issued {:date-parts [[2016 11]]}, - :references-count 0, + :score 0.0, + :issued {:date-parts [[2016 11 1]]}, + :references-count 66, :alternative-id ["S0163638316300455"], :URL "http://dx.doi.org/10.1016/j.infbeh.2016.09.006", :ISSN ["0163-6383"], @@ -1065,16 +1047,16 @@ {:value "© 2016 Elsevier Inc. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 164, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start - {:date-time "2017-12-01T00:00:00Z", - :date-parts [[2017 12 1]], - :timestamp 1512086400000}, + [{:start + {:date-parts [[2017 9 16]], + :date-time "2017-09-16T03:19:36Z", + :timestamp 1505531976000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], :content-domain {:domain ["clinicalkey.jp" @@ -1087,12 +1069,12 @@ "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Journal of Affective Disorders"], - :published-print {:date-parts [[2017 12]]}, + :published-print {:date-parts [[2017 12 1]]}, :DOI "10.1016/j.jad.2016.10.035", :type "journal-article", :created - {:date-time "2016-10-27T22:03:58Z", - :date-parts [[2016 10 27]], + {:date-parts [[2016 10 27]], + :date-time "2016-10-27T22:03:58Z", :timestamp 1477605838000}, :page "76-86", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", @@ -1129,12 +1111,12 @@ :content-version "vor", :intended-application "text-mining"}], :deposited - {:date-time "2017-09-16T03:19:36Z", - :date-parts [[2017 9 16]], + {:date-parts [[2017 9 16]], + :date-time "2017-09-16T03:19:36Z", :timestamp 1505531976000}, - :score 1.0, - :issued {:date-parts [[2017 12]]}, - :references-count 0, + :score 0.0, + :issued {:date-parts [[2017 9 16]]}, + :references-count 164, :alternative-id ["S0165032716312022"], :URL "http://dx.doi.org/10.1016/j.jad.2016.10.035", :ISSN ["0165-0327"], @@ -1156,16 +1138,16 @@ {:value "© 2016 Elsevier B.V. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 46, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start - {:date-time "2017-03-01T00:00:00Z", - :date-parts [[2017 3 1]], + [{:start + {:date-parts [[2017 3 1]], + :date-time "2017-03-01T00:00:00Z", :timestamp 1488326400000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], :content-domain {:domain ["clinicalkey.jp" @@ -1178,12 +1160,12 @@ "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Journal of Affective Disorders"], - :published-print {:date-parts [[2017 3]]}, + :published-print {:date-parts [[2017 3 1]]}, :DOI "10.1016/j.jad.2016.11.036", :type "journal-article", :created - {:date-time "2016-11-30T09:31:23Z", - :date-parts [[2016 11 30]], + {:date-parts [[2016 11 30]], + :date-time "2016-11-30T09:31:23Z", :timestamp 1480498283000}, :page "43-48", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", @@ -1218,12 +1200,12 @@ :content-version "vor", :intended-application "text-mining"}], :deposited - {:date-time "2017-06-25T04:50:17Z", - :date-parts [[2017 6 25]], + {:date-parts [[2017 6 25]], + :date-time "2017-06-25T04:50:17Z", :timestamp 1498366217000}, - :score 1.0, - :issued {:date-parts [[2017 3]]}, - :references-count 0, + :score 0.0, + :issued {:date-parts [[2017 3 1]]}, + :references-count 46, :alternative-id ["S0165032716312113"], :URL "http://dx.doi.org/10.1016/j.jad.2016.11.036", :ISSN ["0165-0327"], @@ -1246,34 +1228,34 @@ {:value "© 2016 Elsevier B.V. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 79, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start - {:date-time "2017-02-01T00:00:00Z", - :date-parts [[2017 2 1]], + [{:start + {:date-parts [[2017 2 1]], + :date-time "2017-02-01T00:00:00Z", :timestamp 1485907200000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], :content-domain {:domain ["clinicalkey.jp" "clinicalkey.com" "jad-journal.com" "clinicalkey.es" - "clinicalkey.fr" "clinicalkey.com.au" + "clinicalkey.fr" "elsevier.com" "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Journal of Affective Disorders"], - :published-print {:date-parts [[2017 2]]}, + :published-print {:date-parts [[2017 2 1]]}, :DOI "10.1016/j.jad.2016.11.046", :type "journal-article", :created - {:date-time "2016-11-30T09:30:54Z", - :date-parts [[2016 11 30]], + {:date-parts [[2016 11 30]], + :date-time "2016-11-30T09:30:54Z", :timestamp 1480498254000}, :page "209-216", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", @@ -1321,22 +1303,22 @@ :language "en", :link [{:URL - "http://api.elsevier.com/content/article/PII:S0165032716317256?httpAccept=text/xml", - :content-type "text/xml", + "http://api.elsevier.com/content/article/PII:S0165032716317256?httpAccept=text/plain", + :content-type "text/plain", :content-version "vor", :intended-application "text-mining"} {:URL - "http://api.elsevier.com/content/article/PII:S0165032716317256?httpAccept=text/plain", - :content-type "text/plain", + "http://api.elsevier.com/content/article/PII:S0165032716317256?httpAccept=text/xml", + :content-type "text/xml", :content-version "vor", :intended-application "text-mining"}], :deposited - {:date-time "2018-02-13T02:55:51Z", - :date-parts [[2018 2 13]], - :timestamp 1518490551000}, - :score 1.0, - :issued {:date-parts [[2017 2]]}, - :references-count 0, + {:date-parts [[2017 6 25]], + :date-time "2017-06-25T04:50:17Z", + :timestamp 1498366217000}, + :score 0.0, + :issued {:date-parts [[2017 2 1]]}, + :references-count 79, :alternative-id ["S0165032716317256"], :URL "http://dx.doi.org/10.1016/j.jad.2016.11.046", :ISSN ["0165-0327"], @@ -1359,17 +1341,17 @@ {:value "© 2016 Elsevier B.V. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 34, :publisher "Elsevier BV", :issue "5", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start - {:date-time "2017-05-01T00:00:00Z", - :date-parts [[2017 5 1]], - :timestamp 1493596800000}, + [{:start + {:date-parts [[2017 4 24]], + :date-time "2017-04-24T00:15:56Z", + :timestamp 1492992956000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], :content-domain {:domain ["clinicalkey.jp" @@ -1383,12 +1365,12 @@ :crossmark-restriction true}, :short-container-title ["Journal of Oral and Maxillofacial Surgery"], - :published-print {:date-parts [[2017 5]]}, + :published-print {:date-parts [[2017 5 1]]}, :DOI "10.1016/j.joms.2016.10.033", :type "journal-article", :created - {:date-time "2016-11-04T01:47:03Z", - :date-parts [[2016 11 4]], + {:date-parts [[2016 11 4]], + :date-time "2016-11-04T01:47:03Z", :timestamp 1478224023000}, :page "927-930", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", @@ -1418,14 +1400,14 @@ :content-version "vor", :intended-application "text-mining"}], :deposited - {:date-time "2017-04-24T00:15:56Z", - :date-parts [[2017 4 24]], + {:date-parts [[2017 4 24]], + :date-time "2017-04-24T00:15:56Z", :timestamp 1492992956000}, - :score 1.0, - :issued {:date-parts [[2017 5]]}, - :references-count 0, + :score 0.0, + :issued {:date-parts [[2017 4 24]]}, + :references-count 34, :journal-issue - {:published-print {:date-parts [[2017 5]]}, :issue "5"}, + {:issue "5", :published-print {:date-parts [[2017 5 1]]}}, :alternative-id ["S0278239116310667"], :URL "http://dx.doi.org/10.1016/j.joms.2016.10.033", :ISSN ["0278-2391"], @@ -1449,37 +1431,36 @@ "© 2016 American Association of Oral and Maxillofacial Surgeons", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 189, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start - {:date-time "2017-01-01T00:00:00Z", - :date-parts [[2017 1 1]], + [{:start + {:date-parts [[2017 1 1]], + :date-time "2017-01-01T00:00:00Z", :timestamp 1483228800000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], :funder [{:DOI "10.13039/501100000038", :name "Natural Sciences and Engineering Research Council of Canada", - :doi-asserted-by "publisher", - :award []}], + :doi-asserted-by "publisher"}], :content-domain {:domain ["elsevier.com" "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Neuroscience & Biobehavioral Reviews"], - :published-print {:date-parts [[2017 1]]}, + :published-print {:date-parts [[2017 1 1]]}, :DOI "10.1016/j.neubiorev.2016.12.003", :type "journal-article", :created - {:date-time "2016-12-05T05:30:33Z", - :date-parts [[2016 12 5]], + {:date-parts [[2016 12 5]], + :date-time "2016-12-05T05:30:33Z", :timestamp 1480915833000}, :page "232-242", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", :source "Crossref", - :is-referenced-by-count 7, + :is-referenced-by-count 4, :title ["Mate-choice copying, social information processing, and the roles of oxytocin"], :prefix "10.1016", @@ -1512,12 +1493,12 @@ :content-version "vor", :intended-application "text-mining"}], :deposited - {:date-time "2017-06-25T05:13:23Z", - :date-parts [[2017 6 25]], + {:date-parts [[2017 6 25]], + :date-time "2017-06-25T05:13:23Z", :timestamp 1498367603000}, - :score 1.0, - :issued {:date-parts [[2017 1]]}, - :references-count 0, + :score 0.0, + :issued {:date-parts [[2017 1 1]]}, + :references-count 189, :alternative-id ["S0149763416306285"], :URL "http://dx.doi.org/10.1016/j.neubiorev.2016.12.003", :ISSN ["0149-7634"], @@ -1540,39 +1521,37 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 193, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start - {:date-time "2017-02-01T00:00:00Z", - :date-parts [[2017 2 1]], + [{:start + {:date-parts [[2017 2 1]], + :date-time "2017-02-01T00:00:00Z", :timestamp 1485907200000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], :funder - [{:DOI "10.13039/501100001602", + [{:name + "Health Research Board, Ireland (HRB) through Health Research Awards"} + {:DOI "10.13039/501100001602", :name "Science Foundation Ireland", - :doi-asserted-by "publisher", - :award ["SFI/12/RC/2273"]} - {:name - "Health Research Board, Ireland (HRB) through Health Research Awards", - :award ["HRA_POR_2014_647; GC, TGD, DWM, ANC, PMK"]}], + :doi-asserted-by "publisher"}], :content-domain {:domain ["elsevier.com" "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Neuroscience & Biobehavioral Reviews"], - :published-print {:date-parts [[2017 2]]}, + :published-print {:date-parts [[2017 2 1]]}, :DOI "10.1016/j.neubiorev.2016.12.006", :type "journal-article", :created - {:date-time "2016-12-13T23:18:23Z", - :date-parts [[2016 12 13]], + {:date-parts [[2016 12 13]], + :date-time "2016-12-13T23:18:23Z", :timestamp 1481671103000}, :page "123-164", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", :source "Crossref", - :is-referenced-by-count 14, + :is-referenced-by-count 5, :title ["A systematic review of the psychobiological burden of informal caregiving for patients with dementia: Focus on cognitive and biological markers of chronic stress"], :prefix "10.1016", @@ -1629,12 +1608,12 @@ :content-version "vor", :intended-application "text-mining"}], :deposited - {:date-time "2017-06-25T05:51:22Z", - :date-parts [[2017 6 25]], + {:date-parts [[2017 6 25]], + :date-time "2017-06-25T05:51:22Z", :timestamp 1498369882000}, - :score 1.0, - :issued {:date-parts [[2017 2]]}, - :references-count 0, + :score 0.0, + :issued {:date-parts [[2017 2 1]]}, + :references-count 193, :alternative-id ["S0149763416302792"], :URL "http://dx.doi.org/10.1016/j.neubiorev.2016.12.006", :ISSN ["0149-7634"], @@ -1657,48 +1636,43 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 397, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start - {:date-time "2017-02-01T00:00:00Z", - :date-parts [[2017 2 1]], + [{:start + {:date-parts [[2017 2 1]], + :date-time "2017-02-01T00:00:00Z", :timestamp 1485907200000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], :funder [{:DOI "10.13039/100000025", :name "National Institutes of Mental Health", - :doi-asserted-by "crossref", - :award ["UO1MH081988"]} + :doi-asserted-by "crossref"} + {:name + "Golden Family foundation, and Canadian Institutes of Health Research"} + {:name "Sir Henry Wellcome Postdoctoral Fellowship"} + {:name "Waterloo Foundation Child Development"} {:DOI "10.13039/501100005366", :name "University of Oslo", - :doi-asserted-by "crossref", - :award ["#2013088"]} - {:name - "Golden Family foundation, and Canadian Institutes of Health Research", - :award ["CIHR125913"]} - {:name "Sir Henry Wellcome Postdoctoral Fellowship", - :award ["107395/Z/15/Z"]} - {:name "Waterloo Foundation Child Development", - :award ["164/1719"]} - {:name "NARSAD Young Investigator", :award ["22388"]}], + :doi-asserted-by "crossref"} + {:name "NARSAD Young Investigator"}], :content-domain {:domain ["elsevier.com" "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Neuroscience & Biobehavioral Reviews"], - :published-print {:date-parts [[2017 2]]}, + :published-print {:date-parts [[2017 2 1]]}, :DOI "10.1016/j.neubiorev.2016.12.013", :type "journal-article", :created - {:date-time "2016-12-16T23:37:30Z", - :date-parts [[2016 12 16]], + {:date-parts [[2016 12 16]], + :date-time "2016-12-16T23:37:30Z", :timestamp 1481931450000}, :page "191-218", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", :source "Crossref", - :is-referenced-by-count 19, + :is-referenced-by-count 15, :title ["The neural diathesis-stress model of schizophrenia revisited: An update on recent findings considering illness stage and neurobiological and methodological complexities"], :prefix "10.1016", @@ -1735,12 +1709,12 @@ :content-version "vor", :intended-application "text-mining"}], :deposited - {:date-time "2017-06-25T06:04:21Z", - :date-parts [[2017 6 25]], + {:date-parts [[2017 6 25]], + :date-time "2017-06-25T06:04:21Z", :timestamp 1498370661000}, - :score 1.0, - :issued {:date-parts [[2017 2]]}, - :references-count 0, + :score 0.0, + :issued {:date-parts [[2017 2 1]]}, + :references-count 397, :alternative-id ["S0149763416301713"], :URL "http://dx.doi.org/10.1016/j.neubiorev.2016.12.013", :ISSN ["0149-7634"], @@ -1763,42 +1737,39 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 84, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start - {:date-time "2017-05-01T00:00:00Z", - :date-parts [[2017 5 1]], + [{:start + {:date-parts [[2017 5 1]], + :date-time "2017-05-01T00:00:00Z", :timestamp 1493596800000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], :funder [{:DOI "10.13039/100000738", :name "Department of Veterans Affairs", - :doi-asserted-by "crossref", - :award ["NCPTSD; IK2CX000772"]} + :doi-asserted-by "crossref"} {:DOI "10.13039/100000025", :name "NIMH", - :doi-asserted-by "publisher", - :award ["K23MH101498"]} - {:name "Yale Center for Clinical Investigation", - :award ["UL1RR024139"]}], + :doi-asserted-by "publisher"} + {:name "Yale Center for Clinical Investigation"}], :content-domain {:domain ["elsevier.com" "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Neuroscience Letters"], - :published-print {:date-parts [[2017 5]]}, + :published-print {:date-parts [[2017 5 1]]}, :DOI "10.1016/j.neulet.2016.11.064", :type "journal-article", :created - {:date-time "2016-12-01T19:15:56Z", - :date-parts [[2016 12 1]], + {:date-parts [[2016 12 1]], + :date-time "2016-12-01T19:15:56Z", :timestamp 1480619756000}, :page "147-155", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", :source "Crossref", - :is-referenced-by-count 10, + :is-referenced-by-count 8, :title ["Glutamate dysregulation and glutamatergic therapeutics for PTSD: Evidence from human studies"], :prefix "10.1016", @@ -1843,12 +1814,12 @@ :content-version "vor", :intended-application "text-mining"}], :deposited - {:date-time "2017-12-19T01:21:02Z", - :date-parts [[2017 12 19]], - :timestamp 1513646462000}, - :score 1.0, - :issued {:date-parts [[2017 5]]}, - :references-count 0, + {:date-parts [[2017 5 4]], + :date-time "2017-05-04T23:03:23Z", + :timestamp 1493939003000}, + :score 0.0, + :issued {:date-parts [[2017 5 1]]}, + :references-count 84, :alternative-id ["S0304394016309351"], :URL "http://dx.doi.org/10.1016/j.neulet.2016.11.064", :ISSN ["0304-3940"], @@ -1871,46 +1842,41 @@ {:value "Published by Elsevier Ireland Ltd.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 38, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start - {:date-time "2017-01-01T00:00:00Z", - :date-parts [[2017 1 1]], + [{:start + {:date-parts [[2017 1 1]], + :date-time "2017-01-01T00:00:00Z", :timestamp 1483228800000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], :funder - [{:DOI "10.13039/501100001809", + [{:name "Suzhou Clinical Research Center of Neurological Disease"} + {:DOI "10.13039/501100001809", :name "National Natural Science Foundation of China", - :doi-asserted-by "publisher", - :award ["81471299"]} - {:name "Suzhou Clinical Research Center of Neurological Disease", - :award ["Szzx201503"]} - {:name "Jiangsu Provincial Special Program of Medical Science", - :award ["BL2014042"]} + :doi-asserted-by "publisher"} + {:name "Jiangsu Provincial Special Program of Medical Science"} {:name - "Suzhou Clinical Key Disease Diagnosis and Treatment Technology Foundation", - :award ["LCZX201304"]} + "Suzhou Clinical Key Disease Diagnosis and Treatment Technology Foundation"} {:name - "Plans for Graduate Research and Innovation in Colleges and Universities of Jiangsu Province", - :award ["KYZZ15_0334"]}], + "Plans for Graduate Research and Innovation in Colleges and Universities of Jiangsu Province"}], :content-domain {:domain ["elsevier.com" "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["NeuroToxicology"], - :published-print {:date-parts [[2017 1]]}, + :published-print {:date-parts [[2017 1 1]]}, :DOI "10.1016/j.neuro.2016.11.006", :type "journal-article", :created - {:date-time "2016-11-17T21:32:49Z", - :date-parts [[2016 11 17]], + {:date-parts [[2016 11 17]], + :date-time "2016-11-17T21:32:49Z", :timestamp 1479418369000}, :page "103-109", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", :source "Crossref", - :is-referenced-by-count 5, + :is-referenced-by-count 4, :title ["Parkinson’s disease-like motor and non-motor symptoms in rotenone-treated zebrafish"], :prefix "10.1016", @@ -1964,12 +1930,12 @@ :content-version "vor", :intended-application "text-mining"}], :deposited - {:date-time "2017-12-07T18:03:59Z", - :date-parts [[2017 12 7]], + {:date-parts [[2017 12 7]], + :date-time "2017-12-07T18:03:59Z", :timestamp 1512669839000}, - :score 1.0, - :issued {:date-parts [[2017 1]]}, - :references-count 0, + :score 0.0, + :issued {:date-parts [[2017 1 1]]}, + :references-count 38, :alternative-id ["S0161813X16302443"], :URL "http://dx.doi.org/10.1016/j.neuro.2016.11.006", :ISSN ["0161-813X"], @@ -1992,34 +1958,34 @@ {:value "© 2016 Elsevier B.V. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 56, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start - {:date-time "2017-03-01T00:00:00Z", - :date-parts [[2017 3 1]], + [{:start + {:date-parts [[2017 3 1]], + :date-time "2017-03-01T00:00:00Z", :timestamp 1488326400000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], :content-domain {:domain ["clinicalkey.jp" "clinicalkey.com" "neurobiologyofaging.org" "clinicalkey.es" - "clinicalkey.fr" "clinicalkey.com.au" + "clinicalkey.fr" "elsevier.com" "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Neurobiology of Aging"], - :published-print {:date-parts [[2017 3]]}, + :published-print {:date-parts [[2017 3 1]]}, :DOI "10.1016/j.neurobiolaging.2016.11.014", :type "journal-article", :created - {:date-time "2016-12-01T07:05:09Z", - :date-parts [[2016 12 1]], + {:date-parts [[2016 12 1]], + :date-time "2016-12-01T07:05:09Z", :timestamp 1480575909000}, :page "1-8", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", @@ -2061,22 +2027,22 @@ :language "en", :link [{:URL - "http://api.elsevier.com/content/article/PII:S0197458016303013?httpAccept=text/xml", - :content-type "text/xml", + "http://api.elsevier.com/content/article/PII:S0197458016303013?httpAccept=text/plain", + :content-type "text/plain", :content-version "vor", :intended-application "text-mining"} {:URL - "http://api.elsevier.com/content/article/PII:S0197458016303013?httpAccept=text/plain", - :content-type "text/plain", + "http://api.elsevier.com/content/article/PII:S0197458016303013?httpAccept=text/xml", + :content-type "text/xml", :content-version "vor", :intended-application "text-mining"}], :deposited - {:date-time "2018-01-04T22:08:16Z", - :date-parts [[2018 1 4]], - :timestamp 1515103696000}, - :score 1.0, - :issued {:date-parts [[2017 3]]}, - :references-count 0, + {:date-parts [[2017 6 25]], + :date-time "2017-06-25T04:57:19Z", + :timestamp 1498366639000}, + :score 0.0, + :issued {:date-parts [[2017 3 1]]}, + :references-count 56, :alternative-id ["S0197458016303013"], :URL "http://dx.doi.org/10.1016/j.neurobiolaging.2016.11.014", :ISSN ["0197-4580"], @@ -2099,31 +2065,30 @@ {:value "© 2016 Elsevier Inc. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 70, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start - {:date-time "2017-02-01T00:00:00Z", - :date-parts [[2017 2 1]], + [{:start + {:date-parts [[2017 2 1]], + :date-time "2017-02-01T00:00:00Z", :timestamp 1485907200000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], :funder [{:DOI "10.13039/100000925", :name "John Templeton Foundation", - :doi-asserted-by "crossref", - :award ["40463"]}], + :doi-asserted-by "crossref"}], :content-domain {:domain ["elsevier.com" "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["NeuroImage"], - :published-print {:date-parts [[2017 2]]}, + :published-print {:date-parts [[2017 2 1]]}, :DOI "10.1016/j.neuroimage.2016.12.046", :type "journal-article", :created - {:date-time "2016-12-16T05:16:22Z", - :date-parts [[2016 12 16]], + {:date-parts [[2016 12 16]], + :date-time "2016-12-16T05:16:22Z", :timestamp 1481865382000}, :page "314-329", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", @@ -2155,22 +2120,22 @@ :language "en", :link [{:URL - "http://api.elsevier.com/content/article/PII:S1053811916307650?httpAccept=text/xml", - :content-type "text/xml", + "http://api.elsevier.com/content/article/PII:S1053811916307650?httpAccept=text/plain", + :content-type "text/plain", :content-version "vor", :intended-application "text-mining"} {:URL - "http://api.elsevier.com/content/article/PII:S1053811916307650?httpAccept=text/plain", - :content-type "text/plain", + "http://api.elsevier.com/content/article/PII:S1053811916307650?httpAccept=text/xml", + :content-type "text/xml", :content-version "vor", :intended-application "text-mining"}], :deposited - {:date-time "2018-01-20T14:43:22Z", - :date-parts [[2018 1 20]], - :timestamp 1516459402000}, - :score 1.0, - :issued {:date-parts [[2017 2]]}, - :references-count 0, + {:date-parts [[2017 6 25]], + :date-time "2017-06-25T06:02:50Z", + :timestamp 1498370570000}, + :score 0.0, + :issued {:date-parts [[2017 2 1]]}, + :references-count 70, :alternative-id ["S1053811916307650"], :URL "http://dx.doi.org/10.1016/j.neuroimage.2016.12.046", :ISSN ["1053-8119"], @@ -2191,48 +2156,46 @@ {:value "© 2016 Elsevier Inc. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 204, :publisher "Elsevier BV", :issue "1", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start - {:date-time "2016-10-01T00:00:00Z", - :date-parts [[2016 10 1]], + [{:start + {:date-parts [[2016 10 1]], + :date-time "2016-10-01T00:00:00Z", :timestamp 1475280000000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"} - {:URL "http://www.elsevier.com/open-access/userlicense/1.0/", - :start - {:date-time "2017-10-05T00:00:00Z", - :date-parts [[2017 10 5]], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"} + {:start + {:date-parts [[2017 10 5]], + :date-time "2017-10-05T00:00:00Z", :timestamp 1507161600000}, + :content-version "vor", :delay-in-days 369, - :content-version "vor"}], + :URL "http://www.elsevier.com/open-access/userlicense/1.0/"}], :funder [{:DOI "10.13039/100000005", :name "Department of Defense", - :doi-asserted-by "publisher", - :award ["W81XWH-13-1-0377"]} + :doi-asserted-by "publisher"} {:DOI "10.13039/100000025", :name "National Institute of Mental Health", - :doi-asserted-by "publisher", - :award ["R24 MH075999" "RO1 MH093486"]}], + :doi-asserted-by "publisher"}], :content-domain {:domain ["cell.com" "elsevier.com" "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Neuron"], - :published-print {:date-parts [[2016 10]]}, + :published-print {:date-parts [[2016 10 1]]}, :DOI "10.1016/j.neuron.2016.09.039", :type "journal-article", :created - {:date-time "2016-10-05T17:06:26Z", - :date-parts [[2016 10 5]], + {:date-parts [[2016 10 5]], + :date-time "2016-10-05T17:06:26Z", :timestamp 1475687186000}, :page "14-30", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", :source "Crossref", - :is-referenced-by-count 39, + :is-referenced-by-count 31, :title ["Context Processing and the Neurobiology of Post-Traumatic Stress Disorder"], :prefix "10.1016", @@ -2261,14 +2224,14 @@ :content-version "vor", :intended-application "text-mining"}], :deposited - {:date-time "2017-10-28T20:46:11Z", - :date-parts [[2017 10 28]], + {:date-parts [[2017 10 28]], + :date-time "2017-10-28T20:46:11Z", :timestamp 1509223571000}, - :score 1.0, - :issued {:date-parts [[2016 10]]}, - :references-count 0, + :score 0.0, + :issued {:date-parts [[2016 10 1]]}, + :references-count 204, :journal-issue - {:published-print {:date-parts [[2016 10]]}, :issue "1"}, + {:issue "1", :published-print {:date-parts [[2016 10 1]]}}, :alternative-id ["S0896627316306407"], :URL "http://dx.doi.org/10.1016/j.neuron.2016.09.039", :ISSN ["0896-6273"], @@ -2289,40 +2252,38 @@ {:value "Published by Elsevier Inc.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 78, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start - {:date-time "2017-01-01T00:00:00Z", - :date-parts [[2017 1 1]], + [{:start + {:date-parts [[2017 1 1]], + :date-time "2017-01-01T00:00:00Z", :timestamp 1483228800000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"} - {:URL "http://creativecommons.org/licenses/by/4.0/", - :start - {:date-time "2016-11-16T00:00:00Z", - :date-parts [[2016 11 16]], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"} + {:start + {:date-parts [[2016 11 16]], + :date-time "2016-11-16T00:00:00Z", :timestamp 1479254400000}, + :content-version "vor", :delay-in-days 0, - :content-version "vor"}], + :URL "http://creativecommons.org/licenses/by/4.0/"}], :funder - [{:DOI "10.13039/501100005416", + [{:name "South-Eastern Norway Regional Health Authority"} + {:DOI "10.13039/501100005416", :name "Research Council of Norway", - :doi-asserted-by "publisher", - :award ["204966" "249795"]} - {:name "South-Eastern Norway Regional Health Authority", - :award ["2015073" "2013087" "2014097"]}], + :doi-asserted-by "publisher"}], :content-domain {:domain ["elsevier.com" "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["NeuroImage: Clinical"], - :published-print {:date-parts [[2017]]}, + :published-print {:date-parts [[2017 1 1]]}, :DOI "10.1016/j.nicl.2016.11.014", :type "journal-article", :created - {:date-time "2016-11-17T20:00:20Z", - :date-parts [[2016 11 17]], + {:date-parts [[2016 11 17]], + :date-time "2016-11-17T20:00:20Z", :timestamp 1479412820000}, :page "62-69", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", @@ -2370,12 +2331,12 @@ :content-version "vor", :intended-application "text-mining"}], :deposited - {:date-time "2017-09-23T07:54:55Z", - :date-parts [[2017 9 23]], + {:date-parts [[2017 9 23]], + :date-time "2017-09-23T07:54:55Z", :timestamp 1506153295000}, - :score 1.0, - :issued {:date-parts [[2017]]}, - :references-count 0, + :score 0.0, + :issued {:date-parts [[2017 1 1]]}, + :references-count 78, :alternative-id ["S2213158216302224"], :URL "http://dx.doi.org/10.1016/j.nicl.2016.11.014", :ISSN ["2213-1582"], @@ -2398,26 +2359,26 @@ {:value "© 2016 The Authors. Published by Elsevier Inc.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 82, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start - {:date-time "2016-12-01T00:00:00Z", - :date-parts [[2016 12 1]], + [{:start + {:date-parts [[2016 12 1]], + :date-time "2016-12-01T00:00:00Z", :timestamp 1480550400000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], :content-domain {:domain ["elsevier.com" "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Neurobiology of Learning and Memory"], - :published-print {:date-parts [[2016 12]]}, + :published-print {:date-parts [[2016 12 1]]}, :DOI "10.1016/j.nlm.2016.10.006", :type "journal-article", :created - {:date-time "2016-10-11T01:25:28Z", - :date-parts [[2016 10 11]], + {:date-parts [[2016 10 11]], + :date-time "2016-10-11T01:25:28Z", :timestamp 1476149128000}, :page "139-146", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", @@ -2467,12 +2428,12 @@ :content-version "vor", :intended-application "text-mining"}], :deposited - {:date-time "2017-06-25T00:48:02Z", - :date-parts [[2017 6 25]], + {:date-parts [[2017 6 25]], + :date-time "2017-06-25T00:48:02Z", :timestamp 1498351682000}, - :score 1.0, - :issued {:date-parts [[2016 12]]}, - :references-count 0, + :score 0.0, + :issued {:date-parts [[2016 12 1]]}, + :references-count 82, :alternative-id ["S1074742716302519"], :URL "http://dx.doi.org/10.1016/j.nlm.2016.10.006", :ISSN ["1074-7427"], @@ -2495,36 +2456,35 @@ {:value "© 2016 Elsevier Inc. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 119, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start - {:date-time "2017-07-01T00:00:00Z", - :date-parts [[2017 7 1]], - :timestamp 1498867200000}, + [{:start + {:date-parts [[2017 5 30]], + :date-time "2017-05-30T20:25:25Z", + :timestamp 1496175925000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], :funder [{:DOI "10.13039/501100001659", :name "German Research Foundation", - :doi-asserted-by "publisher", - :award []}], + :doi-asserted-by "publisher"}], :content-domain {:domain ["elsevier.com" "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Neurobiology of Learning and Memory"], - :published-print {:date-parts [[2017 7]]}, + :published-print {:date-parts [[2017 7 1]]}, :DOI "10.1016/j.nlm.2016.11.008", :type "journal-article", :created - {:date-time "2016-11-18T20:46:23Z", - :date-parts [[2016 11 18]], + {:date-parts [[2016 11 18]], + :date-time "2016-11-18T20:46:23Z", :timestamp 1479501983000}, :page "126-134", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", :source "Crossref", - :is-referenced-by-count 6, + :is-referenced-by-count 5, :title ["The role of glucocorticoids in emotional memory reconsolidation"], :prefix "10.1016", @@ -2553,12 +2513,12 @@ :content-version "vor", :intended-application "text-mining"}], :deposited - {:date-time "2017-12-29T11:50:46Z", - :date-parts [[2017 12 29]], - :timestamp 1514548246000}, - :score 1.0, - :issued {:date-parts [[2017 7]]}, - :references-count 0, + {:date-parts [[2017 5 30]], + :date-time "2017-05-30T20:25:25Z", + :timestamp 1496175925000}, + :score 0.0, + :issued {:date-parts [[2017 5 30]]}, + :references-count 119, :alternative-id ["S107474271630315X"], :URL "http://dx.doi.org/10.1016/j.nlm.2016.11.008", :ISSN ["1074-7427"], @@ -2581,35 +2541,34 @@ {:value "© 2016 Elsevier Inc. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 65, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start - {:date-time "2017-01-01T00:00:00Z", - :date-parts [[2017 1 1]], + [{:start + {:date-parts [[2017 1 1]], + :date-time "2017-01-01T00:00:00Z", :timestamp 1483228800000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], :funder [{:name - "The Scientific and Technological Research Council of Turkey (TUBITAK)", - :award []}], + "The Scientific and Technological Research Council of Turkey (TUBITAK)"}], :content-domain {:domain ["elsevier.com" "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Peptides"], - :published-print {:date-parts [[2017 1]]}, + :published-print {:date-parts [[2017 1 1]]}, :DOI "10.1016/j.peptides.2016.11.001", :type "journal-article", :created - {:date-time "2016-11-06T15:01:28Z", - :date-parts [[2016 11 6]], + {:date-parts [[2016 11 6]], + :date-time "2016-11-06T15:01:28Z", :timestamp 1478444488000}, :page "1-11", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", :source "Crossref", - :is-referenced-by-count 4, + :is-referenced-by-count 2, :title ["Opposite effects of central oxytocin and arginine vasopressin on changes in gastric motor function induced by chronic stress"], :prefix "10.1016", @@ -2646,12 +2605,12 @@ :content-version "vor", :intended-application "text-mining"}], :deposited - {:date-time "2017-06-25T02:57:32Z", - :date-parts [[2017 6 25]], + {:date-parts [[2017 6 25]], + :date-time "2017-06-25T02:57:32Z", :timestamp 1498359452000}, - :score 1.0, - :issued {:date-parts [[2017 1]]}, - :references-count 0, + :score 0.0, + :issued {:date-parts [[2017 1 1]]}, + :references-count 65, :alternative-id ["S0196978116302157"], :URL "http://dx.doi.org/10.1016/j.peptides.2016.11.001", :ISSN ["0196-9781"], @@ -2672,16 +2631,16 @@ {:value "© 2016 Elsevier Inc. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 63, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start - {:date-time "2017-01-01T00:00:00Z", - :date-parts [[2017 1 1]], + [{:start + {:date-parts [[2017 1 1]], + :date-time "2017-01-01T00:00:00Z", :timestamp 1483228800000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], :content-domain {:domain ["clinicalkey.jp" @@ -2693,17 +2652,17 @@ "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Physiology & Behavior"], - :published-print {:date-parts [[2017 1]]}, + :published-print {:date-parts [[2017 1 1]]}, :DOI "10.1016/j.physbeh.2016.10.010", :type "journal-article", :created - {:date-time "2016-10-16T20:59:08Z", - :date-parts [[2016 10 16]], + {:date-parts [[2016 10 16]], + :date-time "2016-10-16T20:59:08Z", :timestamp 1476651548000}, :page "1-10", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", :source "Crossref", - :is-referenced-by-count 4, + :is-referenced-by-count 3, :title ["Protective effect of low dose caffeine on psychological stress and cognitive function"], :prefix "10.1016", @@ -2750,22 +2709,22 @@ :language "en", :link [{:URL - "http://api.elsevier.com/content/article/PII:S0031938416307041?httpAccept=text/xml", - :content-type "text/xml", + "http://api.elsevier.com/content/article/PII:S0031938416307041?httpAccept=text/plain", + :content-type "text/plain", :content-version "vor", :intended-application "text-mining"} {:URL - "http://api.elsevier.com/content/article/PII:S0031938416307041?httpAccept=text/plain", - :content-type "text/plain", + "http://api.elsevier.com/content/article/PII:S0031938416307041?httpAccept=text/xml", + :content-type "text/xml", :content-version "vor", :intended-application "text-mining"}], :deposited - {:date-time "2018-03-27T00:25:41Z", - :date-parts [[2018 3 27]], - :timestamp 1522110341000}, - :score 1.0, - :issued {:date-parts [[2017 1]]}, - :references-count 0, + {:date-parts [[2017 6 25]], + :date-time "2017-06-25T01:17:03Z", + :timestamp 1498353423000}, + :score 0.0, + :issued {:date-parts [[2017 1 1]]}, + :references-count 63, :alternative-id ["S0031938416307041"], :URL "http://dx.doi.org/10.1016/j.physbeh.2016.10.010", :ISSN ["0031-9384"], @@ -2788,29 +2747,26 @@ {:value "© 2016 Elsevier Inc. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 61, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start - {:date-time "2017-03-01T00:00:00Z", - :date-parts [[2017 3 1]], + [{:start + {:date-parts [[2017 3 1]], + :date-time "2017-03-01T00:00:00Z", :timestamp 1488326400000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], :funder [{:DOI "10.13039/501100003593", :name "CNPq", - :doi-asserted-by "publisher", - :award ["483115/2012-6"]} + :doi-asserted-by "publisher"} {:DOI "10.13039/501100004263", :name "FAPERGS PRONEM", - :doi-asserted-by "publisher", - :award ["11/2032-5"]} + :doi-asserted-by "publisher"} {:DOI "10.13039/501100002322", :name "CAPES", - :doi-asserted-by "publisher", - :award []}], + :doi-asserted-by "publisher"}], :content-domain {:domain ["clinicalkey.jp" @@ -2822,17 +2778,17 @@ "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Physiology & Behavior"], - :published-print {:date-parts [[2017 3]]}, + :published-print {:date-parts [[2017 3 1]]}, :DOI "10.1016/j.physbeh.2016.11.030", :type "journal-article", :created - {:date-time "2016-11-24T22:18:36Z", - :date-parts [[2016 11 24]], + {:date-parts [[2016 11 24]], + :date-time "2016-11-24T22:18:36Z", :timestamp 1480025916000}, :page "47-53", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", :source "Crossref", - :is-referenced-by-count 2, + :is-referenced-by-count 1, :title ["Aged mice receiving caffeine since adulthood show distinct patterns of anxiety-related behavior"], :prefix "10.1016", @@ -2883,12 +2839,12 @@ :content-version "vor", :intended-application "text-mining"}], :deposited - {:date-time "2017-06-25T04:26:38Z", - :date-parts [[2017 6 25]], + {:date-parts [[2017 6 25]], + :date-time "2017-06-25T04:26:38Z", :timestamp 1498364798000}, - :score 1.0, - :issued {:date-parts [[2017 3]]}, - :references-count 0, + :score 0.0, + :issued {:date-parts [[2017 3 1]]}, + :references-count 61, :alternative-id ["S0031938416309064"], :URL "http://dx.doi.org/10.1016/j.physbeh.2016.11.030", :ISSN ["0031-9384"], @@ -2911,16 +2867,16 @@ {:value "© 2016 Elsevier Inc. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 80, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start - {:date-time "2017-02-01T00:00:00Z", - :date-parts [[2017 2 1]], + [{:start + {:date-parts [[2017 2 1]], + :date-time "2017-02-01T00:00:00Z", :timestamp 1485907200000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], :content-domain {:domain ["clinicalkey.jp" @@ -2932,12 +2888,12 @@ "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Physiology & Behavior"], - :published-print {:date-parts [[2017 2]]}, + :published-print {:date-parts [[2017 2 1]]}, :DOI "10.1016/j.physbeh.2016.12.004", :type "journal-article", :created - {:date-time "2016-12-05T17:48:33Z", - :date-parts [[2016 12 5]], + {:date-parts [[2016 12 5]], + :date-time "2016-12-05T17:48:33Z", :timestamp 1480960113000}, :page "169-177", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", @@ -2989,12 +2945,12 @@ :content-version "vor", :intended-application "text-mining"}], :deposited - {:date-time "2017-06-25T05:16:33Z", - :date-parts [[2017 6 25]], + {:date-parts [[2017 6 25]], + :date-time "2017-06-25T05:16:33Z", :timestamp 1498367793000}, - :score 1.0, - :issued {:date-parts [[2017 2]]}, - :references-count 0, + :score 0.0, + :issued {:date-parts [[2017 2 1]]}, + :references-count 80, :alternative-id ["S0031938416305728"], :URL "http://dx.doi.org/10.1016/j.physbeh.2016.12.004", :ISSN ["0031-9384"], @@ -3017,17 +2973,17 @@ {:value "© 2016 Elsevier Inc. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 5, :publisher "Elsevier BV", :issue "2", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start - {:date-time "2017-03-01T00:00:00Z", - :date-parts [[2017 3 1]], + [{:start + {:date-parts [[2017 3 1]], + :date-time "2017-03-01T00:00:00Z", :timestamp 1488326400000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], :content-domain {:domain ["clinicalkey.jp" @@ -3040,12 +2996,12 @@ "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Psychosomatics"], - :published-print {:date-parts [[2017 3]]}, + :published-print {:date-parts [[2017 3 1]]}, :DOI "10.1016/j.psym.2016.11.008", :type "journal-article", :created - {:date-time "2016-11-17T21:45:48Z", - :date-parts [[2016 11 17]], + {:date-parts [[2016 11 17]], + :date-time "2016-11-17T21:45:48Z", :timestamp 1479419148000}, :page "214-215", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", @@ -3083,14 +3039,14 @@ :content-version "vor", :intended-application "text-mining"}], :deposited - {:date-time "2017-06-25T03:53:24Z", - :date-parts [[2017 6 25]], + {:date-parts [[2017 6 25]], + :date-time "2017-06-25T03:53:24Z", :timestamp 1498362804000}, - :score 1.0, - :issued {:date-parts [[2017 3]]}, - :references-count 0, + :score 0.0, + :issued {:date-parts [[2017 3 1]]}, + :references-count 5, :journal-issue - {:published-print {:date-parts [[2017 3]]}, :issue "2"}, + {:issue "2", :published-print {:date-parts [[2017 3 1]]}}, :alternative-id ["S0033318216301426"], :URL "http://dx.doi.org/10.1016/j.psym.2016.11.008", :ISSN ["0033-3182"], @@ -3116,16 +3072,16 @@ "© 2016 Academy of Psychosomatic Medicine. Published by Elsevier Inc. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 34, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start - {:date-time "2017-01-01T00:00:00Z", - :date-parts [[2017 1 1]], + [{:start + {:date-parts [[2017 1 1]], + :date-time "2017-01-01T00:00:00Z", :timestamp 1483228800000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], :content-domain {:domain ["psyneuen-journal.com" @@ -3138,12 +3094,12 @@ "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Psychoneuroendocrinology"], - :published-print {:date-parts [[2017 1]]}, + :published-print {:date-parts [[2017 1 1]]}, :DOI "10.1016/j.psyneuen.2016.09.025", :type "journal-article", :created - {:date-time "2016-10-10T07:11:11Z", - :date-parts [[2016 10 10]], + {:date-parts [[2016 10 10]], + :date-time "2016-10-10T07:11:11Z", :timestamp 1476083471000}, :page "36-43", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", @@ -3181,12 +3137,12 @@ :content-version "vor", :intended-application "text-mining"}], :deposited - {:date-time "2017-11-30T15:51:07Z", - :date-parts [[2017 11 30]], + {:date-parts [[2017 11 30]], + :date-time "2017-11-30T15:51:07Z", :timestamp 1512057067000}, - :score 1.0, - :issued {:date-parts [[2017 1]]}, - :references-count 0, + :score 0.0, + :issued {:date-parts [[2017 1 1]]}, + :references-count 34, :alternative-id ["S0306453016307545"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.09.025", :ISSN ["0306-4530"], @@ -3209,16 +3165,16 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 55, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start - {:date-time "2016-12-01T00:00:00Z", - :date-parts [[2016 12 1]], + [{:start + {:date-parts [[2016 12 1]], + :date-time "2016-12-01T00:00:00Z", :timestamp 1480550400000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], :content-domain {:domain ["psyneuen-journal.com" @@ -3231,12 +3187,12 @@ "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Psychoneuroendocrinology"], - :published-print {:date-parts [[2016 12]]}, + :published-print {:date-parts [[2016 12 1]]}, :DOI "10.1016/j.psyneuen.2016.09.027", :type "journal-article", :created - {:date-time "2016-10-08T17:45:26Z", - :date-parts [[2016 10 8]], + {:date-parts [[2016 10 8]], + :date-time "2016-10-08T17:45:26Z", :timestamp 1475948726000}, :page "342-349", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", @@ -3290,12 +3246,12 @@ :content-version "vor", :intended-application "text-mining"}], :deposited - {:date-time "2017-06-25T00:40:57Z", - :date-parts [[2017 6 25]], + {:date-parts [[2017 6 25]], + :date-time "2017-06-25T00:40:57Z", :timestamp 1498351257000}, - :score 1.0, - :issued {:date-parts [[2016 12]]}, - :references-count 0, + :score 0.0, + :issued {:date-parts [[2016 12 1]]}, + :references-count 55, :alternative-id ["S0306453016307594"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.09.027", :ISSN ["0306-4530"], @@ -3318,21 +3274,20 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 67, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start - {:date-time "2016-12-01T00:00:00Z", - :date-parts [[2016 12 1]], + [{:start + {:date-parts [[2016 12 1]], + :date-time "2016-12-01T00:00:00Z", :timestamp 1480550400000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], :funder [{:DOI "10.13039/501100002428", :name "Austrian Science Fund", - :doi-asserted-by "publisher", - :award ["FWF P23021"]}], + :doi-asserted-by "publisher"}], :content-domain {:domain ["psyneuen-journal.com" @@ -3345,17 +3300,17 @@ "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Psychoneuroendocrinology"], - :published-print {:date-parts [[2016 12]]}, + :published-print {:date-parts [[2016 12 1]]}, :DOI "10.1016/j.psyneuen.2016.09.028", :type "journal-article", :created - {:date-time "2016-10-09T08:09:37Z", - :date-parts [[2016 10 9]], + {:date-parts [[2016 10 9]], + :date-time "2016-10-09T08:09:37Z", :timestamp 1476000577000}, :page "371-379", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", :source "Crossref", - :is-referenced-by-count 4, + :is-referenced-by-count 2, :title ["Subcortical gray matter changes in transgender subjects after long-term cross-sex hormone administration"], :prefix "10.1016", @@ -3424,12 +3379,12 @@ :content-version "vor", :intended-application "text-mining"}], :deposited - {:date-time "2017-06-25T00:42:04Z", - :date-parts [[2017 6 25]], + {:date-parts [[2017 6 25]], + :date-time "2017-06-25T00:42:04Z", :timestamp 1498351324000}, - :score 1.0, - :issued {:date-parts [[2016 12]]}, - :references-count 0, + :score 0.0, + :issued {:date-parts [[2016 12 1]]}, + :references-count 67, :alternative-id ["S0306453016307144"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.09.028", :ISSN ["0306-4530"], @@ -3452,16 +3407,16 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 80, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start - {:date-time "2016-12-01T00:00:00Z", - :date-parts [[2016 12 1]], + [{:start + {:date-parts [[2016 12 1]], + :date-time "2016-12-01T00:00:00Z", :timestamp 1480550400000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], :content-domain {:domain ["psyneuen-journal.com" @@ -3474,17 +3429,17 @@ "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Psychoneuroendocrinology"], - :published-print {:date-parts [[2016 12]]}, + :published-print {:date-parts [[2016 12 1]]}, :DOI "10.1016/j.psyneuen.2016.10.001", :type "journal-article", :created - {:date-time "2016-10-10T07:02:58Z", - :date-parts [[2016 10 10]], + {:date-parts [[2016 10 10]], + :date-time "2016-10-10T07:02:58Z", :timestamp 1476082978000}, :page "387-396", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", :source "Crossref", - :is-referenced-by-count 3, + :is-referenced-by-count 2, :title ["Exploring the neural mechanisms of finasteride: a proteomic analysis in the nucleus accumbens"], :prefix "10.1016", @@ -3537,12 +3492,12 @@ :content-version "vor", :intended-application "text-mining"}], :deposited - {:date-time "2017-06-25T00:44:04Z", - :date-parts [[2017 6 25]], + {:date-parts [[2017 6 25]], + :date-time "2017-06-25T00:44:04Z", :timestamp 1498351444000}, - :score 1.0, - :issued {:date-parts [[2016 12]]}, - :references-count 0, + :score 0.0, + :issued {:date-parts [[2016 12 1]]}, + :references-count 80, :alternative-id ["S0306453016307715"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.10.001", :ISSN ["0306-4530"], @@ -3565,17 +3520,17 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 13, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start - {:date-time "2017-01-01T00:00:00Z", - :date-parts [[2017 1 1]], + [{:start + {:date-parts [[2017 1 1]], + :date-time "2017-01-01T00:00:00Z", :timestamp 1483228800000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], - :funder [{:name "Fabienne Ropeter", :award []}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], + :funder [{:name "Fabienne Ropeter"}], :content-domain {:domain ["psyneuen-journal.com" @@ -3588,17 +3543,17 @@ "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Psychoneuroendocrinology"], - :published-print {:date-parts [[2017 1]]}, + :published-print {:date-parts [[2017 1 1]]}, :DOI "10.1016/j.psyneuen.2016.10.002", :type "journal-article", :created - {:date-time "2016-10-19T07:06:54Z", - :date-parts [[2016 10 19]], + {:date-parts [[2016 10 19]], + :date-time "2016-10-19T07:06:54Z", :timestamp 1476860814000}, :page "52-55", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", :source "Crossref", - :is-referenced-by-count 4, + :is-referenced-by-count 2, :title ["Testing the ecological validity of the Trier Social Stress Test: Association with real-life exam stress"], :prefix "10.1016", @@ -3647,12 +3602,12 @@ :content-version "vor", :intended-application "text-mining"}], :deposited - {:date-time "2017-11-30T15:51:13Z", - :date-parts [[2017 11 30]], + {:date-parts [[2017 11 30]], + :date-time "2017-11-30T15:51:13Z", :timestamp 1512057073000}, - :score 1.0, - :issued {:date-parts [[2017 1]]}, - :references-count 0, + :score 0.0, + :issued {:date-parts [[2017 1 1]]}, + :references-count 13, :alternative-id ["S0306453016307740"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.10.002", :ISSN ["0306-4530"], @@ -3675,16 +3630,16 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 59, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start - {:date-time "2017-01-01T00:00:00Z", - :date-parts [[2017 1 1]], + [{:start + {:date-parts [[2017 1 1]], + :date-time "2017-01-01T00:00:00Z", :timestamp 1483228800000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], :content-domain {:domain ["psyneuen-journal.com" @@ -3697,17 +3652,17 @@ "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Psychoneuroendocrinology"], - :published-print {:date-parts [[2017 1]]}, + :published-print {:date-parts [[2017 1 1]]}, :DOI "10.1016/j.psyneuen.2016.10.003", :type "journal-article", :created - {:date-time "2016-10-17T18:06:11Z", - :date-parts [[2016 10 17]], + {:date-parts [[2016 10 17]], + :date-time "2016-10-17T18:06:11Z", :timestamp 1476727571000}, :page "26-35", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", :source "Crossref", - :is-referenced-by-count 1, + :is-referenced-by-count 0, :title ["Do sex hormones or hormone therapy modify the relation of n-3 fatty acids with incident depressive symptoms in postmenopausal women? The MESA Study"], :prefix "10.1016", @@ -3756,12 +3711,12 @@ :content-version "vor", :intended-application "text-mining"}], :deposited - {:date-time "2017-11-30T15:50:29Z", - :date-parts [[2017 11 30]], + {:date-parts [[2017 11 30]], + :date-time "2017-11-30T15:50:29Z", :timestamp 1512057029000}, - :score 1.0, - :issued {:date-parts [[2017 1]]}, - :references-count 0, + :score 0.0, + :issued {:date-parts [[2017 1 1]]}, + :references-count 59, :alternative-id ["S0306453016307867"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.10.003", :ISSN ["0306-4530"], @@ -3784,16 +3739,16 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 95, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start - {:date-time "2017-01-01T00:00:00Z", - :date-parts [[2017 1 1]], + [{:start + {:date-parts [[2017 1 1]], + :date-time "2017-01-01T00:00:00Z", :timestamp 1483228800000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], :content-domain {:domain ["psyneuen-journal.com" @@ -3806,12 +3761,12 @@ "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Psychoneuroendocrinology"], - :published-print {:date-parts [[2017 1]]}, + :published-print {:date-parts [[2017 1 1]]}, :DOI "10.1016/j.psyneuen.2016.10.004", :type "journal-article", :created - {:date-time "2016-10-18T15:51:12Z", - :date-parts [[2016 10 18]], + {:date-parts [[2016 10 18]], + :date-time "2016-10-18T15:51:12Z", :timestamp 1476805872000}, :page "5-14", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", @@ -3841,12 +3796,12 @@ :content-version "vor", :intended-application "text-mining"}], :deposited - {:date-time "2017-11-30T15:50:55Z", - :date-parts [[2017 11 30]], + {:date-parts [[2017 11 30]], + :date-time "2017-11-30T15:50:55Z", :timestamp 1512057055000}, - :score 1.0, - :issued {:date-parts [[2017 1]]}, - :references-count 0, + :score 0.0, + :issued {:date-parts [[2017 1 1]]}, + :references-count 95, :alternative-id ["S0306453016307880"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.10.004", :ISSN ["0306-4530"], @@ -3869,22 +3824,20 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 74, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start - {:date-time "2017-01-01T00:00:00Z", - :date-parts [[2017 1 1]], + [{:start + {:date-parts [[2017 1 1]], + :date-time "2017-01-01T00:00:00Z", :timestamp 1483228800000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], :funder [{:DOI "10.13039/100000002", :name "NIH", - :doi-asserted-by "publisher", - :award - ["HD065823" "NS041298" "P50MH096889" "HD51852" "HD50662"]}], + :doi-asserted-by "publisher"}], :content-domain {:domain ["psyneuen-journal.com" @@ -3897,17 +3850,17 @@ "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Psychoneuroendocrinology"], - :published-print {:date-parts [[2017 1]]}, + :published-print {:date-parts [[2017 1 1]]}, :DOI "10.1016/j.psyneuen.2016.10.005", :type "journal-article", :created - {:date-time "2016-10-18T01:27:09Z", - :date-parts [[2016 10 18]], + {:date-parts [[2016 10 18]], + :date-time "2016-10-18T01:27:09Z", :timestamp 1476754029000}, :page "56-63", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", :source "Crossref", - :is-referenced-by-count 7, + :is-referenced-by-count 5, :title ["Prenatal maternal cortisol concentrations predict neurodevelopment in middle childhood"], :prefix "10.1016", @@ -3944,12 +3897,12 @@ :content-version "vor", :intended-application "text-mining"}], :deposited - {:date-time "2017-11-30T15:51:09Z", - :date-parts [[2017 11 30]], + {:date-parts [[2017 11 30]], + :date-time "2017-11-30T15:51:09Z", :timestamp 1512057069000}, - :score 1.0, - :issued {:date-parts [[2017 1]]}, - :references-count 0, + :score 0.0, + :issued {:date-parts [[2017 1 1]]}, + :references-count 74, :alternative-id ["S0306453016307892"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.10.005", :ISSN ["0306-4530"], @@ -3972,16 +3925,16 @@ {:value "© 2016 Published by Elsevier Ltd.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 15, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start - {:date-time "2017-01-01T00:00:00Z", - :date-parts [[2017 1 1]], + [{:start + {:date-parts [[2017 1 1]], + :date-time "2017-01-01T00:00:00Z", :timestamp 1483228800000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], :content-domain {:domain ["psyneuen-journal.com" @@ -3994,12 +3947,12 @@ "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Psychoneuroendocrinology"], - :published-print {:date-parts [[2017 1]]}, + :published-print {:date-parts [[2017 1 1]]}, :DOI "10.1016/j.psyneuen.2016.10.006", :type "journal-article", :created - {:date-time "2016-10-16T19:04:53Z", - :date-parts [[2016 10 16]], + {:date-parts [[2016 10 16]], + :date-time "2016-10-16T19:04:53Z", :timestamp 1476644693000}, :page "1-4", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", @@ -4045,12 +3998,12 @@ :content-version "vor", :intended-application "text-mining"}], :deposited - {:date-time "2017-11-30T15:51:34Z", - :date-parts [[2017 11 30]], + {:date-parts [[2017 11 30]], + :date-time "2017-11-30T15:51:34Z", :timestamp 1512057094000}, - :score 1.0, - :issued {:date-parts [[2017 1]]}, - :references-count 0, + :score 0.0, + :issued {:date-parts [[2017 1 1]]}, + :references-count 15, :alternative-id ["S0306453016307909"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.10.006", :ISSN ["0306-4530"], @@ -4073,16 +4026,16 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 54, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start - {:date-time "2017-01-01T00:00:00Z", - :date-parts [[2017 1 1]], + [{:start + {:date-parts [[2017 1 1]], + :date-time "2017-01-01T00:00:00Z", :timestamp 1483228800000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], :content-domain {:domain ["psyneuen-journal.com" @@ -4095,12 +4048,12 @@ "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Psychoneuroendocrinology"], - :published-print {:date-parts [[2017 1]]}, + :published-print {:date-parts [[2017 1 1]]}, :DOI "10.1016/j.psyneuen.2016.10.007", :type "journal-article", :created - {:date-time "2016-10-19T15:14:11Z", - :date-parts [[2016 10 19]], + {:date-parts [[2016 10 19]], + :date-time "2016-10-19T15:14:11Z", :timestamp 1476890051000}, :page "164-172", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", @@ -4158,12 +4111,12 @@ :content-version "vor", :intended-application "text-mining"}], :deposited - {:date-time "2017-11-30T15:51:31Z", - :date-parts [[2017 11 30]], + {:date-parts [[2017 11 30]], + :date-time "2017-11-30T15:51:31Z", :timestamp 1512057091000}, - :score 1.0, - :issued {:date-parts [[2017 1]]}, - :references-count 0, + :score 0.0, + :issued {:date-parts [[2017 1 1]]}, + :references-count 54, :alternative-id ["S0306453016305327"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.10.007", :ISSN ["0306-4530"], @@ -4186,16 +4139,16 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 51, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start - {:date-time "2017-01-01T00:00:00Z", - :date-parts [[2017 1 1]], + [{:start + {:date-parts [[2017 1 1]], + :date-time "2017-01-01T00:00:00Z", :timestamp 1483228800000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], :content-domain {:domain ["psyneuen-journal.com" @@ -4208,12 +4161,12 @@ "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Psychoneuroendocrinology"], - :published-print {:date-parts [[2017 1]]}, + :published-print {:date-parts [[2017 1 1]]}, :DOI "10.1016/j.psyneuen.2016.10.008", :type "journal-article", :created - {:date-time "2016-10-19T15:10:40Z", - :date-parts [[2016 10 19]], + {:date-parts [[2016 10 19]], + :date-time "2016-10-19T15:10:40Z", :timestamp 1476889840000}, :page "91-99", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", @@ -4255,12 +4208,12 @@ :content-version "vor", :intended-application "text-mining"}], :deposited - {:date-time "2017-11-30T15:51:48Z", - :date-parts [[2017 11 30]], + {:date-parts [[2017 11 30]], + :date-time "2017-11-30T15:51:48Z", :timestamp 1512057108000}, - :score 1.0, - :issued {:date-parts [[2017 1]]}, - :references-count 0, + :score 0.0, + :issued {:date-parts [[2017 1 1]]}, + :references-count 51, :alternative-id ["S0306453016302190"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.10.008", :ISSN ["0306-4530"], @@ -4283,19 +4236,17 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 48, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start - {:date-time "2017-01-01T00:00:00Z", - :date-parts [[2017 1 1]], + [{:start + {:date-parts [[2017 1 1]], + :date-time "2017-01-01T00:00:00Z", :timestamp 1483228800000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], - :funder - [{:name "Eunice Kennedy Shriver NICHD/NIH (NCTRI)", - :award ["P50-HD28934"]}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], + :funder [{:name "Eunice Kennedy Shriver NICHD/NIH (NCTRI)"}], :content-domain {:domain ["psyneuen-journal.com" @@ -4308,12 +4259,12 @@ "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Psychoneuroendocrinology"], - :published-print {:date-parts [[2017 1]]}, + :published-print {:date-parts [[2017 1 1]]}, :DOI "10.1016/j.psyneuen.2016.10.009", :type "journal-article", :created - {:date-time "2016-10-17T18:06:04Z", - :date-parts [[2016 10 17]], + {:date-parts [[2016 10 17]], + :date-time "2016-10-17T18:06:04Z", :timestamp 1476727564000}, :page "44-51", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", @@ -4355,12 +4306,12 @@ :content-version "vor", :intended-application "text-mining"}], :deposited - {:date-time "2017-11-30T15:51:22Z", - :date-parts [[2017 11 30]], + {:date-parts [[2017 11 30]], + :date-time "2017-11-30T15:51:22Z", :timestamp 1512057082000}, - :score 1.0, - :issued {:date-parts [[2017 1]]}, - :references-count 0, + :score 0.0, + :issued {:date-parts [[2017 1 1]]}, + :references-count 48, :alternative-id ["S0306453016307983"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.10.009", :ISSN ["0306-4530"], @@ -4383,16 +4334,16 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 83, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start - {:date-time "2017-01-01T00:00:00Z", - :date-parts [[2017 1 1]], + [{:start + {:date-parts [[2017 1 1]], + :date-time "2017-01-01T00:00:00Z", :timestamp 1483228800000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], :content-domain {:domain ["psyneuen-journal.com" @@ -4405,12 +4356,12 @@ "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Psychoneuroendocrinology"], - :published-print {:date-parts [[2017 1]]}, + :published-print {:date-parts [[2017 1 1]]}, :DOI "10.1016/j.psyneuen.2016.10.010", :type "journal-article", :created - {:date-time "2016-10-20T18:32:30Z", - :date-parts [[2016 10 20]], + {:date-parts [[2016 10 20]], + :date-time "2016-10-20T18:32:30Z", :timestamp 1476988350000}, :page "72-82", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", @@ -4488,12 +4439,12 @@ :content-version "vor", :intended-application "text-mining"}], :deposited - {:date-time "2017-11-30T15:50:59Z", - :date-parts [[2017 11 30]], + {:date-parts [[2017 11 30]], + :date-time "2017-11-30T15:50:59Z", :timestamp 1512057059000}, - :score 1.0, - :issued {:date-parts [[2017 1]]}, - :references-count 0, + :score 0.0, + :issued {:date-parts [[2017 1 1]]}, + :references-count 83, :alternative-id ["S0306453016308022"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.10.010", :ISSN ["0306-4530"], @@ -4516,29 +4467,26 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 70, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start - {:date-time "2017-02-01T00:00:00Z", - :date-parts [[2017 2 1]], + [{:start + {:date-parts [[2017 2 1]], + :date-time "2017-02-01T00:00:00Z", :timestamp 1485907200000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], :funder - [{:DOI "10.13039/100000738", + [{:name "INIAStress"} + {:DOI "10.13039/100000738", :name "Department of Veterans Affairs", - :doi-asserted-by "crossref", - :award []} - {:name "INIAStress", :award ["U01AA016668"]} - {:name "Veterans Health Administration", :award []} + :doi-asserted-by "crossref"} + {:name "Veterans Health Administration"} {:name - "Office of Research and Development, Clinical Sciences Research", - :award []} + "Office of Research and Development, Clinical Sciences Research"} {:name - "Development and the UT Southwestern Center for Translational Medicine", - :award ["UL1TR000451"]}], + "Development and the UT Southwestern Center for Translational Medicine"}], :content-domain {:domain ["psyneuen-journal.com" @@ -4551,12 +4499,12 @@ "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Psychoneuroendocrinology"], - :published-print {:date-parts [[2017 2]]}, + :published-print {:date-parts [[2017 2 1]]}, :DOI "10.1016/j.psyneuen.2016.10.011", :type "journal-article", :created - {:date-time "2016-11-05T07:02:53Z", - :date-parts [[2016 11 5]], + {:date-parts [[2016 11 5]], + :date-time "2016-11-05T07:02:53Z", :timestamp 1478329373000}, :page "67-76", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", @@ -4614,12 +4562,12 @@ :content-version "vor", :intended-application "text-mining"}], :deposited - {:date-time "2017-06-25T02:55:28Z", - :date-parts [[2017 6 25]], + {:date-parts [[2017 6 25]], + :date-time "2017-06-25T02:55:28Z", :timestamp 1498359328000}, - :score 1.0, - :issued {:date-parts [[2017 2]]}, - :references-count 0, + :score 0.0, + :issued {:date-parts [[2017 2 1]]}, + :references-count 70, :alternative-id ["S030645301630806X"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.10.011", :ISSN ["0306-4530"], @@ -4642,16 +4590,16 @@ {:value "Published by Elsevier Ltd.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 64, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start - {:date-time "2017-01-01T00:00:00Z", - :date-parts [[2017 1 1]], + [{:start + {:date-parts [[2017 1 1]], + :date-time "2017-01-01T00:00:00Z", :timestamp 1483228800000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], :content-domain {:domain ["psyneuen-journal.com" @@ -4664,12 +4612,12 @@ "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Psychoneuroendocrinology"], - :published-print {:date-parts [[2017 1]]}, + :published-print {:date-parts [[2017 1 1]]}, :DOI "10.1016/j.psyneuen.2016.10.012", :type "journal-article", :created - {:date-time "2016-10-25T17:18:31Z", - :date-parts [[2016 10 25]], + {:date-parts [[2016 10 25]], + :date-time "2016-10-25T17:18:31Z", :timestamp 1477415911000}, :page "64-71", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", @@ -4719,12 +4667,12 @@ :content-version "vor", :intended-application "text-mining"}], :deposited - {:date-time "2017-11-30T15:51:44Z", - :date-parts [[2017 11 30]], + {:date-parts [[2017 11 30]], + :date-time "2017-11-30T15:51:44Z", :timestamp 1512057104000}, - :score 1.0, - :issued {:date-parts [[2017 1]]}, - :references-count 0, + :score 0.0, + :issued {:date-parts [[2017 1 1]]}, + :references-count 64, :alternative-id ["S0306453016308083"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.10.012", :ISSN ["0306-4530"], @@ -4747,16 +4695,16 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 88, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start - {:date-time "2017-01-01T00:00:00Z", - :date-parts [[2017 1 1]], + [{:start + {:date-parts [[2017 1 1]], + :date-time "2017-01-01T00:00:00Z", :timestamp 1483228800000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], :content-domain {:domain ["psyneuen-journal.com" @@ -4769,12 +4717,12 @@ "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Psychoneuroendocrinology"], - :published-print {:date-parts [[2017 1]]}, + :published-print {:date-parts [[2017 1 1]]}, :DOI "10.1016/j.psyneuen.2016.10.013", :type "journal-article", :created - {:date-time "2016-10-25T17:16:12Z", - :date-parts [[2016 10 25]], + {:date-parts [[2016 10 25]], + :date-time "2016-10-25T17:16:12Z", :timestamp 1477415772000}, :page "141-151", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", @@ -4808,12 +4756,12 @@ :content-version "vor", :intended-application "text-mining"}], :deposited - {:date-time "2017-11-30T15:51:18Z", - :date-parts [[2017 11 30]], + {:date-parts [[2017 11 30]], + :date-time "2017-11-30T15:51:18Z", :timestamp 1512057078000}, - :score 1.0, - :issued {:date-parts [[2017 1]]}, - :references-count 0, + :score 0.0, + :issued {:date-parts [[2017 1 1]]}, + :references-count 88, :alternative-id ["S0306453016302128"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.10.013", :ISSN ["0306-4530"], @@ -4836,16 +4784,16 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 45, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start - {:date-time "2017-01-01T00:00:00Z", - :date-parts [[2017 1 1]], + [{:start + {:date-parts [[2017 1 1]], + :date-time "2017-01-01T00:00:00Z", :timestamp 1483228800000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], :content-domain {:domain ["psyneuen-journal.com" @@ -4858,12 +4806,12 @@ "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Psychoneuroendocrinology"], - :published-print {:date-parts [[2017 1]]}, + :published-print {:date-parts [[2017 1 1]]}, :DOI "10.1016/j.psyneuen.2016.10.014", :type "journal-article", :created - {:date-time "2016-10-19T21:19:38Z", - :date-parts [[2016 10 19]], + {:date-parts [[2016 10 19]], + :date-time "2016-10-19T21:19:38Z", :timestamp 1476911978000}, :page "222-227", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", @@ -4901,12 +4849,12 @@ :content-version "vor", :intended-application "text-mining"}], :deposited - {:date-time "2017-11-30T15:50:41Z", - :date-parts [[2017 11 30]], + {:date-parts [[2017 11 30]], + :date-time "2017-11-30T15:50:41Z", :timestamp 1512057041000}, - :score 1.0, - :issued {:date-parts [[2017 1]]}, - :references-count 0, + :score 0.0, + :issued {:date-parts [[2017 1 1]]}, + :references-count 45, :alternative-id ["S0306453016308216"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.10.014", :ISSN ["0306-4530"], @@ -4929,16 +4877,16 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 39, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start - {:date-time "2017-02-01T00:00:00Z", - :date-parts [[2017 2 1]], + [{:start + {:date-parts [[2017 2 1]], + :date-time "2017-02-01T00:00:00Z", :timestamp 1485907200000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], :content-domain {:domain ["psyneuen-journal.com" @@ -4951,12 +4899,12 @@ "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Psychoneuroendocrinology"], - :published-print {:date-parts [[2017 2]]}, + :published-print {:date-parts [[2017 2 1]]}, :DOI "10.1016/j.psyneuen.2016.10.015", :type "journal-article", :created - {:date-time "2016-10-20T18:31:33Z", - :date-parts [[2016 10 20]], + {:date-parts [[2016 10 20]], + :date-time "2016-10-20T18:31:33Z", :timestamp 1476988293000}, :page "183-191", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", @@ -5030,12 +4978,12 @@ :content-version "vor", :intended-application "text-mining"}], :deposited - {:date-time "2017-06-25T01:42:48Z", - :date-parts [[2017 6 25]], + {:date-parts [[2017 6 25]], + :date-time "2017-06-25T01:42:48Z", :timestamp 1498354968000}, - :score 1.0, - :issued {:date-parts [[2017 2]]}, - :references-count 0, + :score 0.0, + :issued {:date-parts [[2017 2 1]]}, + :references-count 39, :alternative-id ["S0306453016308332"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.10.015", :ISSN ["0306-4530"], @@ -5058,28 +5006,27 @@ {:value "© 2016 Published by Elsevier Ltd.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 45, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start - {:date-time "2017-01-01T00:00:00Z", - :date-parts [[2017 1 1]], + [{:start + {:date-parts [[2017 1 1]], + :date-time "2017-01-01T00:00:00Z", :timestamp 1483228800000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"} - {:URL "http://creativecommons.org/licenses/by/4.0/", - :start - {:date-time "2016-10-21T00:00:00Z", - :date-parts [[2016 10 21]], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"} + {:start + {:date-parts [[2016 10 21]], + :date-time "2016-10-21T00:00:00Z", :timestamp 1477008000000}, + :content-version "vor", :delay-in-days 0, - :content-version "vor"}], + :URL "http://creativecommons.org/licenses/by/4.0/"}], :funder [{:DOI "10.13039/501100000268", :name "BBSRC", - :doi-asserted-by "publisher", - :award []}], + :doi-asserted-by "publisher"}], :content-domain {:domain ["psyneuen-journal.com" @@ -5092,12 +5039,12 @@ "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Psychoneuroendocrinology"], - :published-print {:date-parts [[2017 1]]}, + :published-print {:date-parts [[2017 1 1]]}, :DOI "10.1016/j.psyneuen.2016.10.016", :type "journal-article", :created - {:date-time "2016-10-21T17:18:50Z", - :date-parts [[2016 10 21]], + {:date-parts [[2016 10 21]], + :date-time "2016-10-21T17:18:50Z", :timestamp 1477070330000}, :page "173-182", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", @@ -5152,12 +5099,12 @@ :content-version "vor", :intended-application "text-mining"}], :deposited - {:date-time "2017-11-30T15:51:26Z", - :date-parts [[2017 11 30]], + {:date-parts [[2017 11 30]], + :date-time "2017-11-30T15:51:26Z", :timestamp 1512057086000}, - :score 1.0, - :issued {:date-parts [[2017 1]]}, - :references-count 0, + :score 0.0, + :issued {:date-parts [[2017 1 1]]}, + :references-count 45, :alternative-id ["S0306453016305595"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.10.016", :ISSN ["0306-4530"], @@ -5180,16 +5127,16 @@ {:value "© 2016 The Authors. Published by Elsevier Ltd.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 36, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start - {:date-time "2017-01-01T00:00:00Z", - :date-parts [[2017 1 1]], + [{:start + {:date-parts [[2017 1 1]], + :date-time "2017-01-01T00:00:00Z", :timestamp 1483228800000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], :content-domain {:domain ["psyneuen-journal.com" @@ -5202,17 +5149,17 @@ "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Psychoneuroendocrinology"], - :published-print {:date-parts [[2017 1]]}, + :published-print {:date-parts [[2017 1 1]]}, :DOI "10.1016/j.psyneuen.2016.10.017", :type "journal-article", :created - {:date-time "2016-10-21T17:16:32Z", - :date-parts [[2016 10 21]], + {:date-parts [[2016 10 21]], + :date-time "2016-10-21T17:16:32Z", :timestamp 1477070192000}, :page "124-131", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", :source "Crossref", - :is-referenced-by-count 5, + :is-referenced-by-count 3, :title ["The impact of perceived intensity and frequency of police work occupational stressors on the cortisol awakening response (CAR): Findings from the BCOPS study"], :prefix "10.1016", @@ -5261,12 +5208,12 @@ :content-version "vor", :intended-application "text-mining"}], :deposited - {:date-time "2017-11-30T15:51:18Z", - :date-parts [[2017 11 30]], + {:date-parts [[2017 11 30]], + :date-time "2017-11-30T15:51:18Z", :timestamp 1512057078000}, - :score 1.0, - :issued {:date-parts [[2017 1]]}, - :references-count 0, + :score 0.0, + :issued {:date-parts [[2017 1 1]]}, + :references-count 36, :alternative-id ["S0306453016302025"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.10.017", :ISSN ["0306-4530"], @@ -5289,16 +5236,16 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 83, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start - {:date-time "2017-01-01T00:00:00Z", - :date-parts [[2017 1 1]], + [{:start + {:date-parts [[2017 1 1]], + :date-time "2017-01-01T00:00:00Z", :timestamp 1483228800000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], :content-domain {:domain ["psyneuen-journal.com" @@ -5311,17 +5258,17 @@ "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Psychoneuroendocrinology"], - :published-print {:date-parts [[2017 1]]}, + :published-print {:date-parts [[2017 1 1]]}, :DOI "10.1016/j.psyneuen.2016.10.018", :type "journal-article", :created - {:date-time "2016-10-22T16:18:08Z", - :date-parts [[2016 10 22]], + {:date-parts [[2016 10 22]], + :date-time "2016-10-22T16:18:08Z", :timestamp 1477153088000}, :page "132-140", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", :source "Crossref", - :is-referenced-by-count 1, + :is-referenced-by-count 0, :title ["Effects of mineralocorticoid-receptor stimulation on risk taking behavior in young healthy men and women"], :prefix "10.1016", @@ -5366,12 +5313,12 @@ :content-version "vor", :intended-application "text-mining"}], :deposited - {:date-time "2017-11-30T15:51:45Z", - :date-parts [[2017 11 30]], + {:date-parts [[2017 11 30]], + :date-time "2017-11-30T15:51:45Z", :timestamp 1512057105000}, - :score 1.0, - :issued {:date-parts [[2017 1]]}, - :references-count 0, + :score 0.0, + :issued {:date-parts [[2017 1 1]]}, + :references-count 83, :alternative-id ["S0306453016308447"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.10.018", :ISSN ["0306-4530"], @@ -5394,23 +5341,23 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 41, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start - {:date-time "2017-01-01T00:00:00Z", - :date-parts [[2017 1 1]], + [{:start + {:date-parts [[2017 1 1]], + :date-time "2017-01-01T00:00:00Z", :timestamp 1483228800000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"} - {:URL "http://www.elsevier.com/open-access/userlicense/1.0/", - :start - {:date-time "2017-11-09T00:00:00Z", - :date-parts [[2017 11 9]], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"} + {:start + {:date-parts [[2017 11 9]], + :date-time "2017-11-09T00:00:00Z", :timestamp 1510185600000}, + :content-version "am", :delay-in-days 312, - :content-version "am"}], + :URL "http://www.elsevier.com/open-access/userlicense/1.0/"}], :content-domain {:domain ["psyneuen-journal.com" @@ -5423,17 +5370,17 @@ "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Psychoneuroendocrinology"], - :published-print {:date-parts [[2017 1]]}, + :published-print {:date-parts [[2017 1 1]]}, :DOI "10.1016/j.psyneuen.2016.10.019", :type "journal-article", :created - {:date-time "2016-10-24T19:45:40Z", - :date-parts [[2016 10 24]], + {:date-parts [[2016 10 24]], + :date-time "2016-10-24T19:45:40Z", :timestamp 1477338340000}, :page "183-191", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", :source "Crossref", - :is-referenced-by-count 7, + :is-referenced-by-count 5, :title ["Cortisol reactivity and suicidal behavior: Investigating the role of hypothalamic-pituitary-adrenal axis responses to stress in suicide attempters and ideators"], :prefix "10.1016", @@ -5474,12 +5421,12 @@ :content-version "vor", :intended-application "text-mining"}], :deposited - {:date-time "2017-11-30T15:51:51Z", - :date-parts [[2017 11 30]], + {:date-parts [[2017 11 30]], + :date-time "2017-11-30T15:51:51Z", :timestamp 1512057111000}, - :score 1.0, - :issued {:date-parts [[2017 1]]}, - :references-count 0, + :score 0.0, + :issued {:date-parts [[2017 1 1]]}, + :references-count 41, :alternative-id ["S0306453016308435"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.10.019", :ISSN ["0306-4530"], @@ -5502,16 +5449,16 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 43, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start - {:date-time "2017-01-01T00:00:00Z", - :date-parts [[2017 1 1]], + [{:start + {:date-parts [[2017 1 1]], + :date-time "2017-01-01T00:00:00Z", :timestamp 1483228800000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], :content-domain {:domain ["psyneuen-journal.com" @@ -5524,12 +5471,12 @@ "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Psychoneuroendocrinology"], - :published-print {:date-parts [[2017 1]]}, + :published-print {:date-parts [[2017 1 1]]}, :DOI "10.1016/j.psyneuen.2016.10.020", :type "journal-article", :created - {:date-time "2016-10-24T20:30:15Z", - :date-parts [[2016 10 24]], + {:date-parts [[2016 10 24]], + :date-time "2016-10-24T20:30:15Z", :timestamp 1477341015000}, :page "116-123", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", @@ -5587,12 +5534,12 @@ :content-version "vor", :intended-application "text-mining"}], :deposited - {:date-time "2017-11-30T15:50:58Z", - :date-parts [[2017 11 30]], + {:date-parts [[2017 11 30]], + :date-time "2017-11-30T15:50:58Z", :timestamp 1512057058000}, - :score 1.0, - :issued {:date-parts [[2017 1]]}, - :references-count 0, + :score 0.0, + :issued {:date-parts [[2017 1 1]]}, + :references-count 43, :alternative-id ["S0306453016308459"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.10.020", :ISSN ["0306-4530"], @@ -5615,16 +5562,16 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 47, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start - {:date-time "2017-02-01T00:00:00Z", - :date-parts [[2017 2 1]], + [{:start + {:date-parts [[2017 2 1]], + :date-time "2017-02-01T00:00:00Z", :timestamp 1485907200000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], :content-domain {:domain ["psyneuen-journal.com" @@ -5637,17 +5584,17 @@ "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Psychoneuroendocrinology"], - :published-print {:date-parts [[2017 2]]}, + :published-print {:date-parts [[2017 2 1]]}, :DOI "10.1016/j.psyneuen.2016.10.021", :type "journal-article", :created - {:date-time "2016-11-10T18:31:09Z", - :date-parts [[2016 11 10]], + {:date-parts [[2016 11 10]], + :date-time "2016-11-10T18:31:09Z", :timestamp 1478802669000}, :page "77-83", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", :source "Crossref", - :is-referenced-by-count 3, + :is-referenced-by-count 2, :title ["The role of oxytocin in modulating interpersonal space: A pharmacological fMRI study"], :prefix "10.1016", @@ -5696,12 +5643,12 @@ :content-version "vor", :intended-application "text-mining"}], :deposited - {:date-time "2017-06-25T03:19:26Z", - :date-parts [[2017 6 25]], + {:date-parts [[2017 6 25]], + :date-time "2017-06-25T03:19:26Z", :timestamp 1498360766000}, - :score 1.0, - :issued {:date-parts [[2017 2]]}, - :references-count 0, + :score 0.0, + :issued {:date-parts [[2017 2 1]]}, + :references-count 47, :alternative-id ["S0306453016304668"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.10.021", :ISSN ["0306-4530"], @@ -5724,21 +5671,20 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 51, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start - {:date-time "2017-01-01T00:00:00Z", - :date-parts [[2017 1 1]], + [{:start + {:date-parts [[2017 1 1]], + :date-time "2017-01-01T00:00:00Z", :timestamp 1483228800000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], :funder [{:DOI "10.13039/100008545", :name "Georgia State University", - :doi-asserted-by "crossref", - :award []}], + :doi-asserted-by "crossref"}], :content-domain {:domain ["psyneuen-journal.com" @@ -5751,12 +5697,12 @@ "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Psychoneuroendocrinology"], - :published-print {:date-parts [[2017 1]]}, + :published-print {:date-parts [[2017 1 1]]}, :DOI "10.1016/j.psyneuen.2016.10.022", :type "journal-article", :created - {:date-time "2016-10-26T03:30:55Z", - :date-parts [[2016 10 26]], + {:date-parts [[2016 10 26]], + :date-time "2016-10-26T03:30:55Z", :timestamp 1477452655000}, :page "100-109", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", @@ -5806,12 +5752,12 @@ :content-version "vor", :intended-application "text-mining"}], :deposited - {:date-time "2017-11-30T15:51:29Z", - :date-parts [[2017 11 30]], + {:date-parts [[2017 11 30]], + :date-time "2017-11-30T15:51:29Z", :timestamp 1512057089000}, - :score 1.0, - :issued {:date-parts [[2017 1]]}, - :references-count 0, + :score 0.0, + :issued {:date-parts [[2017 1 1]]}, + :references-count 51, :alternative-id ["S0306453016308587"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.10.022", :ISSN ["0306-4530"], @@ -5834,25 +5780,23 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 54, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start - {:date-time "2017-02-01T00:00:00Z", - :date-parts [[2017 2 1]], + [{:start + {:date-parts [[2017 2 1]], + :date-time "2017-02-01T00:00:00Z", :timestamp 1485907200000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], :funder [{:DOI "10.13039/100000002", :name "NIH", - :doi-asserted-by "publisher", - :award ["1R01HD057962"]} + :doi-asserted-by "publisher"} {:DOI "10.13039/100009429", :name "NRSA", - :doi-asserted-by "crossref", - :award ["MH099892"]}], + :doi-asserted-by "crossref"}], :content-domain {:domain ["psyneuen-journal.com" @@ -5865,17 +5809,17 @@ "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Psychoneuroendocrinology"], - :published-print {:date-parts [[2017 2]]}, + :published-print {:date-parts [[2017 2 1]]}, :DOI "10.1016/j.psyneuen.2016.10.023", :type "journal-article", :created - {:date-time "2016-11-19T17:02:15Z", - :date-parts [[2016 11 19]], + {:date-parts [[2016 11 19]], + :date-time "2016-11-19T17:02:15Z", :timestamp 1479574935000}, :page "97-106", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", :source "Crossref", - :is-referenced-by-count 6, + :is-referenced-by-count 5, :title ["Motherhood and infant contact regulate neuroplasticity in the serotonergic midbrain dorsal raphe"], :prefix "10.1016", @@ -5904,12 +5848,12 @@ :content-version "vor", :intended-application "text-mining"}], :deposited - {:date-time "2017-06-25T04:01:56Z", - :date-parts [[2017 6 25]], + {:date-parts [[2017 6 25]], + :date-time "2017-06-25T04:01:56Z", :timestamp 1498363316000}, - :score 1.0, - :issued {:date-parts [[2017 2]]}, - :references-count 0, + :score 0.0, + :issued {:date-parts [[2017 2 1]]}, + :references-count 54, :alternative-id ["S0306453016308605"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.10.023", :ISSN ["0306-4530"], @@ -5932,22 +5876,20 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 63, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start - {:date-time "2017-01-01T00:00:00Z", - :date-parts [[2017 1 1]], + [{:start + {:date-parts [[2017 1 1]], + :date-time "2017-01-01T00:00:00Z", :timestamp 1483228800000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], :funder [{:name - "“Conselho Nacional de Desenvolvimento Científico e Tecnológico” CNPq-Brazil Program Ciência sem Fronteiras CNPJ", - :award ["401898/2013-0"]} - {:name "RCUK/FAPESP Newton grant", - :award ["MR/M026574/1" "2014/50829-4"]}], + "“Conselho Nacional de Desenvolvimento Científico e Tecnológico” CNPq-Brazil Program Ciência sem Fronteiras CNPJ"} + {:name "RCUK/FAPESP Newton grant"}], :content-domain {:domain ["psyneuen-journal.com" @@ -5960,12 +5902,12 @@ "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Psychoneuroendocrinology"], - :published-print {:date-parts [[2017 1]]}, + :published-print {:date-parts [[2017 1 1]]}, :DOI "10.1016/j.psyneuen.2016.10.024", :type "journal-article", :created - {:date-time "2016-10-27T21:15:43Z", - :date-parts [[2016 10 27]], + {:date-parts [[2016 10 27]], + :date-time "2016-10-27T21:15:43Z", :timestamp 1477602943000}, :page "83-90", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", @@ -6019,12 +5961,12 @@ :content-version "vor", :intended-application "text-mining"}], :deposited - {:date-time "2017-11-30T15:50:13Z", - :date-parts [[2017 11 30]], + {:date-parts [[2017 11 30]], + :date-time "2017-11-30T15:50:13Z", :timestamp 1512057013000}, - :score 1.0, - :issued {:date-parts [[2017 1]]}, - :references-count 0, + :score 0.0, + :issued {:date-parts [[2017 1 1]]}, + :references-count 63, :alternative-id ["S0306453016308630"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.10.024", :ISSN ["0306-4530"], @@ -6048,16 +5990,16 @@ "Crown Copyright © 2016 Published by Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 44, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start - {:date-time "2017-01-01T00:00:00Z", - :date-parts [[2017 1 1]], + [{:start + {:date-parts [[2017 1 1]], + :date-time "2017-01-01T00:00:00Z", :timestamp 1483228800000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], :content-domain {:domain ["psyneuen-journal.com" @@ -6070,12 +6012,12 @@ "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Psychoneuroendocrinology"], - :published-print {:date-parts [[2017 1]]}, + :published-print {:date-parts [[2017 1 1]]}, :DOI "10.1016/j.psyneuen.2016.10.025", :type "journal-article", :created - {:date-time "2016-10-29T03:31:33Z", - :date-parts [[2016 10 29]], + {:date-parts [[2016 10 29]], + :date-time "2016-10-29T03:31:33Z", :timestamp 1477711893000}, :page "110-115", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", @@ -6129,12 +6071,12 @@ :content-version "vor", :intended-application "text-mining"}], :deposited - {:date-time "2017-11-30T15:49:55Z", - :date-parts [[2017 11 30]], + {:date-parts [[2017 11 30]], + :date-time "2017-11-30T15:49:55Z", :timestamp 1512056995000}, - :score 1.0, - :issued {:date-parts [[2017 1]]}, - :references-count 0, + :score 0.0, + :issued {:date-parts [[2017 1 1]]}, + :references-count 44, :alternative-id ["S0306453016308563"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.10.025", :ISSN ["0306-4530"], @@ -6157,29 +6099,29 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 67, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start - {:date-time "2017-01-01T00:00:00Z", - :date-parts [[2017 1 1]], + [{:start + {:date-parts [[2017 1 1]], + :date-time "2017-01-01T00:00:00Z", :timestamp 1483228800000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], :funder [{:DOI "10.13039/100000049", :name "National Institute on Aging", - :doi-asserted-by "publisher", - :award ["AG018436" "P01-AG020166"]} + :doi-asserted-by "publisher"} {:DOI "10.13039/100000071", :name "National Institute of Child Health and Human Development", - :doi-asserted-by "publisher", - :award ["HD058502" "F32HD078048"]} + :doi-asserted-by "publisher"} + {:DOI "10.13039/100000049", + :name "National Institute on Aging", + :doi-asserted-by "publisher"} {:DOI "10.13039/100000026", :name "National Institute on Drug Abuse", - :doi-asserted-by "publisher", - :award ["DA027827"]}], + :doi-asserted-by "publisher"}], :content-domain {:domain ["psyneuen-journal.com" @@ -6192,12 +6134,12 @@ "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Psychoneuroendocrinology"], - :published-print {:date-parts [[2017 1]]}, + :published-print {:date-parts [[2017 1 1]]}, :DOI "10.1016/j.psyneuen.2016.10.026", :type "journal-article", :created - {:date-time "2016-10-29T15:01:26Z", - :date-parts [[2016 10 29]], + {:date-parts [[2016 10 29]], + :date-time "2016-10-29T15:01:26Z", :timestamp 1477753286000}, :page "152-163", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", @@ -6255,12 +6197,12 @@ :content-version "vor", :intended-application "text-mining"}], :deposited - {:date-time "2017-11-30T15:51:40Z", - :date-parts [[2017 11 30]], + {:date-parts [[2017 11 30]], + :date-time "2017-11-30T15:51:40Z", :timestamp 1512057100000}, - :score 1.0, - :issued {:date-parts [[2017 1]]}, - :references-count 0, + :score 0.0, + :issued {:date-parts [[2017 1 1]]}, + :references-count 67, :alternative-id ["S0306453016308654"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.10.026", :ISSN ["0306-4530"], @@ -6283,16 +6225,16 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 54, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start - {:date-time "2017-02-01T00:00:00Z", - :date-parts [[2017 2 1]], + [{:start + {:date-parts [[2017 2 1]], + :date-time "2017-02-01T00:00:00Z", :timestamp 1485907200000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], :content-domain {:domain ["psyneuen-journal.com" @@ -6305,12 +6247,12 @@ "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Psychoneuroendocrinology"], - :published-print {:date-parts [[2017 2]]}, + :published-print {:date-parts [[2017 2 1]]}, :DOI "10.1016/j.psyneuen.2016.10.027", :type "journal-article", :created - {:date-time "2016-11-10T18:31:33Z", - :date-parts [[2016 11 10]], + {:date-parts [[2016 11 10]], + :date-time "2016-11-10T18:31:33Z", :timestamp 1478802693000}, :page "49-56", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", @@ -6384,12 +6326,12 @@ :content-version "vor", :intended-application "text-mining"}], :deposited - {:date-time "2017-06-25T03:19:26Z", - :date-parts [[2017 6 25]], + {:date-parts [[2017 6 25]], + :date-time "2017-06-25T03:19:26Z", :timestamp 1498360766000}, - :score 1.0, - :issued {:date-parts [[2017 2]]}, - :references-count 0, + :score 0.0, + :issued {:date-parts [[2017 2 1]]}, + :references-count 54, :alternative-id ["S0306453016304528"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.10.027", :ISSN ["0306-4530"], @@ -6412,16 +6354,16 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 56, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start - {:date-time "2017-02-01T00:00:00Z", - :date-parts [[2017 2 1]], + [{:start + {:date-parts [[2017 2 1]], + :date-time "2017-02-01T00:00:00Z", :timestamp 1485907200000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], :content-domain {:domain ["psyneuen-journal.com" @@ -6434,17 +6376,17 @@ "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Psychoneuroendocrinology"], - :published-print {:date-parts [[2017 2]]}, + :published-print {:date-parts [[2017 2 1]]}, :DOI "10.1016/j.psyneuen.2016.10.028", :type "journal-article", :created - {:date-time "2016-11-05T17:48:21Z", - :date-parts [[2016 11 5]], + {:date-parts [[2016 11 5]], + :date-time "2016-11-05T17:48:21Z", :timestamp 1478368101000}, :page "29-37", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", :source "Crossref", - :is-referenced-by-count 2, + :is-referenced-by-count 0, :title ["Maternal care and affective behavior in female offspring: Implication of the neurosteroid/GABAergic system"], :prefix "10.1016", @@ -6473,12 +6415,12 @@ :content-version "vor", :intended-application "text-mining"}], :deposited - {:date-time "2017-06-25T02:56:49Z", - :date-parts [[2017 6 25]], + {:date-parts [[2017 6 25]], + :date-time "2017-06-25T02:56:49Z", :timestamp 1498359409000}, - :score 1.0, - :issued {:date-parts [[2017 2]]}, - :references-count 0, + :score 0.0, + :issued {:date-parts [[2017 2 1]]}, + :references-count 56, :alternative-id ["S0306453016304723"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.10.028", :ISSN ["0306-4530"], @@ -6501,50 +6443,22 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 45, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start - {:date-time "2017-02-01T00:00:00Z", - :date-parts [[2017 2 1]], + [{:start + {:date-parts [[2017 2 1]], + :date-time "2017-02-01T00:00:00Z", :timestamp 1485907200000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], :funder - [{:name "P51", :award ["OD011107"]} - {:name "R01", - :award - ["DA024441" - "K07CA188237-01A1" - "AG043404" - "CA160890" - "AI52737" - "AG033590"]} - {:name "R01", - :award - ["DA024441" - "K07CA188237-01A1" - "AG043404" - "CA160890" - "AI52737" - "AG033590"]} - {:name "R01", - :award - ["DA024441" - "K07CA188237-01A1" - "AG043404" - "CA160890" - "AI52737" - "AG033590"]} - {:name "R01", - :award - ["DA024441" - "K07CA188237-01A1" - "AG043404" - "CA160890" - "AI52737" - "AG033590"]}], + [{:name "P51"} + {:name "R01"} + {:name "R01"} + {:name "R01"} + {:name "R01"}], :content-domain {:domain ["psyneuen-journal.com" @@ -6557,12 +6471,12 @@ "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Psychoneuroendocrinology"], - :published-print {:date-parts [[2017 2]]}, + :published-print {:date-parts [[2017 2 1]]}, :DOI "10.1016/j.psyneuen.2016.10.029", :type "journal-article", :created - {:date-time "2016-11-14T19:05:24Z", - :date-parts [[2016 11 14]], + {:date-parts [[2016 11 14]], + :date-time "2016-11-14T19:05:24Z", :timestamp 1479150324000}, :page "107-113", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", @@ -6609,12 +6523,12 @@ :content-version "vor", :intended-application "text-mining"}], :deposited - {:date-time "2017-06-25T03:33:24Z", - :date-parts [[2017 6 25]], + {:date-parts [[2017 6 25]], + :date-time "2017-06-25T03:33:24Z", :timestamp 1498361604000}, - :score 1.0, - :issued {:date-parts [[2017 2]]}, - :references-count 0, + :score 0.0, + :issued {:date-parts [[2017 2 1]]}, + :references-count 45, :alternative-id ["S030645301630470X"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.10.029", :ISSN ["0306-4530"], @@ -6639,40 +6553,40 @@ :label "Copyright"}]} {:update-to [{:updated - {:date-time "2017-04-01T00:00:00Z", - :date-parts [[2017 4 1]], + {:date-parts [[2017 4 1]], + :date-time "2017-04-01T00:00:00Z", :timestamp 1491004800000}, - :DOI "10.1016/j.psyneuen.2015.09.028", + :DOI "http://dx.doi.org/10.1016/j.psyneuen.2015.09.028", :type "erratum", - :label "Erratum"}], + :label nil}], :reference-count 0, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start - {:date-time "2017-04-01T00:00:00Z", - :date-parts [[2017 4 1]], - :timestamp 1491004800000}, + [{:start + {:date-parts [[2017 3 17]], + :date-time "2017-03-17T15:31:03Z", + :timestamp 1489764663000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], :content-domain {:domain ["psyneuen-journal.com" "clinicalkey.jp" "clinicalkey.com" "clinicalkey.es" - "clinicalkey.fr" "clinicalkey.com.au" + "clinicalkey.fr" "elsevier.com" "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Psychoneuroendocrinology"], - :published-print {:date-parts [[2017 4]]}, + :published-print {:date-parts [[2017 4 1]]}, :DOI "10.1016/j.psyneuen.2016.11.001", :type "journal-article", :created - {:date-time "2016-11-18T17:46:38Z", - :date-parts [[2016 11 18]], + {:date-parts [[2016 11 18]], + :date-time "2016-11-18T17:46:38Z", :timestamp 1479491198000}, :page "257", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", @@ -6717,21 +6631,21 @@ :language "en", :link [{:URL - "http://api.elsevier.com/content/article/PII:S0306453016308757?httpAccept=text/xml", - :content-type "text/xml", + "http://api.elsevier.com/content/article/PII:S0306453016308757?httpAccept=text/plain", + :content-type "text/plain", :content-version "vor", :intended-application "text-mining"} {:URL - "http://api.elsevier.com/content/article/PII:S0306453016308757?httpAccept=text/plain", - :content-type "text/plain", + "http://api.elsevier.com/content/article/PII:S0306453016308757?httpAccept=text/xml", + :content-type "text/xml", :content-version "vor", :intended-application "text-mining"}], :deposited - {:date-time "2017-12-21T03:37:35Z", - :date-parts [[2017 12 21]], - :timestamp 1513827455000}, - :score 1.0, - :issued {:date-parts [[2017 4]]}, + {:date-parts [[2017 3 17]], + :date-time "2017-03-17T15:31:03Z", + :timestamp 1489764663000}, + :score 0.0, + :issued {:date-parts [[2017 3 17]]}, :references-count 0, :alternative-id ["S0306453016308757"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.11.001", @@ -6760,16 +6674,16 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 64, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start - {:date-time "2017-01-01T00:00:00Z", - :date-parts [[2017 1 1]], + [{:start + {:date-parts [[2017 1 1]], + :date-time "2017-01-01T00:00:00Z", :timestamp 1483228800000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], :content-domain {:domain ["psyneuen-journal.com" @@ -6782,12 +6696,12 @@ "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Psychoneuroendocrinology"], - :published-print {:date-parts [[2017 1]]}, + :published-print {:date-parts [[2017 1 1]]}, :DOI "10.1016/j.psyneuen.2016.11.002", :type "journal-article", :created - {:date-time "2016-11-05T07:33:00Z", - :date-parts [[2016 11 5]], + {:date-parts [[2016 11 5]], + :date-time "2016-11-05T07:33:00Z", :timestamp 1478331180000}, :page "192-202", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", @@ -6829,12 +6743,12 @@ :content-version "vor", :intended-application "text-mining"}], :deposited - {:date-time "2017-11-30T15:51:41Z", - :date-parts [[2017 11 30]], + {:date-parts [[2017 11 30]], + :date-time "2017-11-30T15:51:41Z", :timestamp 1512057101000}, - :score 1.0, - :issued {:date-parts [[2017 1]]}, - :references-count 0, + :score 0.0, + :issued {:date-parts [[2017 1 1]]}, + :references-count 64, :alternative-id ["S0306453016308824"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.11.002", :ISSN ["0306-4530"], @@ -6857,16 +6771,16 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 81, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start - {:date-time "2017-01-01T00:00:00Z", - :date-parts [[2017 1 1]], + [{:start + {:date-parts [[2017 1 1]], + :date-time "2017-01-01T00:00:00Z", :timestamp 1483228800000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], :content-domain {:domain ["psyneuen-journal.com" @@ -6879,12 +6793,12 @@ "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Psychoneuroendocrinology"], - :published-print {:date-parts [[2017 1]]}, + :published-print {:date-parts [[2017 1 1]]}, :DOI "10.1016/j.psyneuen.2016.11.003", :type "journal-article", :created - {:date-time "2016-11-06T10:15:32Z", - :date-parts [[2016 11 6]], + {:date-parts [[2016 11 6]], + :date-time "2016-11-06T10:15:32Z", :timestamp 1478427332000}, :page "203-212", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", @@ -6938,12 +6852,12 @@ :content-version "vor", :intended-application "text-mining"}], :deposited - {:date-time "2017-11-30T15:52:20Z", - :date-parts [[2017 11 30]], + {:date-parts [[2017 11 30]], + :date-time "2017-11-30T15:52:20Z", :timestamp 1512057140000}, - :score 1.0, - :issued {:date-parts [[2017 1]]}, - :references-count 0, + :score 0.0, + :issued {:date-parts [[2017 1 1]]}, + :references-count 81, :alternative-id ["S0306453016308836"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.11.003", :ISSN ["0306-4530"], @@ -6966,16 +6880,16 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 50, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start - {:date-time "2017-02-01T00:00:00Z", - :date-parts [[2017 2 1]], + [{:start + {:date-parts [[2017 2 1]], + :date-time "2017-02-01T00:00:00Z", :timestamp 1485907200000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], :content-domain {:domain ["psyneuen-journal.com" @@ -6988,12 +6902,12 @@ "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Psychoneuroendocrinology"], - :published-print {:date-parts [[2017 2]]}, + :published-print {:date-parts [[2017 2 1]]}, :DOI "10.1016/j.psyneuen.2016.11.004", :type "journal-article", :created - {:date-time "2016-11-11T18:02:35Z", - :date-parts [[2016 11 11]], + {:date-parts [[2016 11 11]], + :date-time "2016-11-11T18:02:35Z", :timestamp 1478887355000}, :page "127-134", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", @@ -7048,12 +6962,12 @@ :content-version "vor", :intended-application "text-mining"}], :deposited - {:date-time "2017-06-25T03:24:46Z", - :date-parts [[2017 6 25]], + {:date-parts [[2017 6 25]], + :date-time "2017-06-25T03:24:46Z", :timestamp 1498361086000}, - :score 1.0, - :issued {:date-parts [[2017 2]]}, - :references-count 0, + :score 0.0, + :issued {:date-parts [[2017 2 1]]}, + :references-count 50, :alternative-id ["S030645301630511X"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.11.004", :ISSN ["0306-4530"], @@ -7077,27 +6991,26 @@ "Crown Copyright © 2016 Published by Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 54, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start - {:date-time "2017-01-01T00:00:00Z", - :date-parts [[2017 1 1]], + [{:start + {:date-parts [[2017 1 1]], + :date-time "2017-01-01T00:00:00Z", :timestamp 1483228800000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"} - {:URL "http://www.elsevier.com/open-access/userlicense/1.0/", - :start - {:date-time "2017-11-10T00:00:00Z", - :date-parts [[2017 11 10]], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"} + {:start + {:date-parts [[2017 11 10]], + :date-time "2017-11-10T00:00:00Z", :timestamp 1510272000000}, + :content-version "am", :delay-in-days 313, - :content-version "am"}], + :URL "http://www.elsevier.com/open-access/userlicense/1.0/"}], :funder [{:name - "Swiss National Science Foundation awarded to J.S. Lobmaier", - :award ["PP00P1_139072/1"]}], + "Swiss National Science Foundation awarded to J.S. Lobmaier"}], :content-domain {:domain ["psyneuen-journal.com" @@ -7110,12 +7023,12 @@ "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Psychoneuroendocrinology"], - :published-print {:date-parts [[2017 1]]}, + :published-print {:date-parts [[2017 1 1]]}, :DOI "10.1016/j.psyneuen.2016.11.005", :type "journal-article", :created - {:date-time "2016-11-08T05:19:30Z", - :date-parts [[2016 11 8]], + {:date-parts [[2016 11 8]], + :date-time "2016-11-08T05:19:30Z", :timestamp 1478582370000}, :page "213-221", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", @@ -7165,12 +7078,12 @@ :content-version "vor", :intended-application "text-mining"}], :deposited - {:date-time "2017-11-30T15:51:46Z", - :date-parts [[2017 11 30]], + {:date-parts [[2017 11 30]], + :date-time "2017-11-30T15:51:46Z", :timestamp 1512057106000}, - :score 1.0, - :issued {:date-parts [[2017 1]]}, - :references-count 0, + :score 0.0, + :issued {:date-parts [[2017 1 1]]}, + :references-count 54, :alternative-id ["S0306453016308903"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.11.005", :ISSN ["0306-4530"], @@ -7193,16 +7106,16 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 19, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start - {:date-time "2017-02-01T00:00:00Z", - :date-parts [[2017 2 1]], + [{:start + {:date-parts [[2017 2 1]], + :date-time "2017-02-01T00:00:00Z", :timestamp 1485907200000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], :content-domain {:domain ["psyneuen-journal.com" @@ -7215,12 +7128,12 @@ "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Psychoneuroendocrinology"], - :published-print {:date-parts [[2017 2]]}, + :published-print {:date-parts [[2017 2 1]]}, :DOI "10.1016/j.psyneuen.2016.11.006", :type "journal-article", :created - {:date-time "2016-11-08T05:19:15Z", - :date-parts [[2016 11 8]], + {:date-parts [[2016 11 8]], + :date-time "2016-11-08T05:19:15Z", :timestamp 1478582355000}, :page "14-18", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", @@ -7270,12 +7183,12 @@ :content-version "vor", :intended-application "text-mining"}], :deposited - {:date-time "2017-06-25T03:02:43Z", - :date-parts [[2017 6 25]], + {:date-parts [[2017 6 25]], + :date-time "2017-06-25T03:02:43Z", :timestamp 1498359763000}, - :score 1.0, - :issued {:date-parts [[2017 2]]}, - :references-count 0, + :score 0.0, + :issued {:date-parts [[2017 2 1]]}, + :references-count 19, :alternative-id ["S0306453016308915"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.11.006", :ISSN ["0306-4530"], @@ -7298,16 +7211,16 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 52, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start - {:date-time "2017-02-01T00:00:00Z", - :date-parts [[2017 2 1]], + [{:start + {:date-parts [[2017 2 1]], + :date-time "2017-02-01T00:00:00Z", :timestamp 1485907200000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], :content-domain {:domain ["psyneuen-journal.com" @@ -7320,17 +7233,17 @@ "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Psychoneuroendocrinology"], - :published-print {:date-parts [[2017 2]]}, + :published-print {:date-parts [[2017 2 1]]}, :DOI "10.1016/j.psyneuen.2016.11.007", :type "journal-article", :created - {:date-time "2016-11-10T18:33:42Z", - :date-parts [[2016 11 10]], + {:date-parts [[2016 11 10]], + :date-time "2016-11-10T18:33:42Z", :timestamp 1478802822000}, :page "38-48", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", :source "Crossref", - :is-referenced-by-count 6, + :is-referenced-by-count 2, :title ["Hypothalamic-pituitary-adrenal axis activity and cognition in major depression: The role of remission status"], :prefix "10.1016", @@ -7399,12 +7312,12 @@ :content-version "vor", :intended-application "text-mining"}], :deposited - {:date-time "2017-06-25T03:19:29Z", - :date-parts [[2017 6 25]], + {:date-parts [[2017 6 25]], + :date-time "2017-06-25T03:19:29Z", :timestamp 1498360769000}, - :score 1.0, - :issued {:date-parts [[2017 2]]}, - :references-count 0, + :score 0.0, + :issued {:date-parts [[2017 2 1]]}, + :references-count 52, :alternative-id ["S0306453016302293"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.11.007", :ISSN ["0306-4530"], @@ -7427,21 +7340,20 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 67, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start - {:date-time "2017-02-01T00:00:00Z", - :date-parts [[2017 2 1]], + [{:start + {:date-parts [[2017 2 1]], + :date-time "2017-02-01T00:00:00Z", :timestamp 1485907200000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], :funder [{:DOI "10.13039/501100000829", :name "Department of Education", - :doi-asserted-by "crossref", - :award []}], + :doi-asserted-by "crossref"}], :content-domain {:domain ["psyneuen-journal.com" @@ -7454,12 +7366,12 @@ "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Psychoneuroendocrinology"], - :published-print {:date-parts [[2017 2]]}, + :published-print {:date-parts [[2017 2 1]]}, :DOI "10.1016/j.psyneuen.2016.11.008", :type "journal-article", :created - {:date-time "2016-11-09T22:33:31Z", - :date-parts [[2016 11 9]], + {:date-parts [[2016 11 9]], + :date-time "2016-11-09T22:33:31Z", :timestamp 1478730811000}, :page "1-10", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", @@ -7525,12 +7437,12 @@ :content-version "vor", :intended-application "text-mining"}], :deposited - {:date-time "2017-06-25T03:14:07Z", - :date-parts [[2017 6 25]], + {:date-parts [[2017 6 25]], + :date-time "2017-06-25T03:14:07Z", :timestamp 1498360447000}, - :score 1.0, - :issued {:date-parts [[2017 2]]}, - :references-count 0, + :score 0.0, + :issued {:date-parts [[2017 2 1]]}, + :references-count 67, :alternative-id ["S0306453016308952"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.11.008", :ISSN ["0306-4530"], @@ -7553,16 +7465,16 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 19, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start - {:date-time "2017-02-01T00:00:00Z", - :date-parts [[2017 2 1]], + [{:start + {:date-parts [[2017 2 1]], + :date-time "2017-02-01T00:00:00Z", :timestamp 1485907200000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], :content-domain {:domain ["psyneuen-journal.com" @@ -7575,12 +7487,12 @@ "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Psychoneuroendocrinology"], - :published-print {:date-parts [[2017 2]]}, + :published-print {:date-parts [[2017 2 1]]}, :DOI "10.1016/j.psyneuen.2016.11.009", :type "journal-article", :created - {:date-time "2016-11-14T19:05:11Z", - :date-parts [[2016 11 14]], + {:date-parts [[2016 11 14]], + :date-time "2016-11-14T19:05:11Z", :timestamp 1479150311000}, :page "84-87", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", @@ -7634,12 +7546,12 @@ :content-version "vor", :intended-application "text-mining"}], :deposited - {:date-time "2017-06-25T03:33:24Z", - :date-parts [[2017 6 25]], + {:date-parts [[2017 6 25]], + :date-time "2017-06-25T03:33:24Z", :timestamp 1498361604000}, - :score 1.0, - :issued {:date-parts [[2017 2]]}, - :references-count 0, + :score 0.0, + :issued {:date-parts [[2017 2 1]]}, + :references-count 19, :alternative-id ["S0306453016305005"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.11.009", :ISSN ["0306-4530"], @@ -7662,16 +7574,16 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 17, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start - {:date-time "2017-02-01T00:00:00Z", - :date-parts [[2017 2 1]], + [{:start + {:date-parts [[2017 2 1]], + :date-time "2017-02-01T00:00:00Z", :timestamp 1485907200000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], :content-domain {:domain ["psyneuen-journal.com" @@ -7684,12 +7596,12 @@ "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Psychoneuroendocrinology"], - :published-print {:date-parts [[2017 2]]}, + :published-print {:date-parts [[2017 2 1]]}, :DOI "10.1016/j.psyneuen.2016.11.010", :type "journal-article", :created - {:date-time "2016-11-16T00:13:15Z", - :date-parts [[2016 11 16]], + {:date-parts [[2016 11 16]], + :date-time "2016-11-16T00:13:15Z", :timestamp 1479255195000}, :page "11-13", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", @@ -7727,12 +7639,12 @@ :content-version "vor", :intended-application "text-mining"}], :deposited - {:date-time "2017-06-25T03:39:19Z", - :date-parts [[2017 6 25]], + {:date-parts [[2017 6 25]], + :date-time "2017-06-25T03:39:19Z", :timestamp 1498361959000}, - :score 1.0, - :issued {:date-parts [[2017 2]]}, - :references-count 0, + :score 0.0, + :issued {:date-parts [[2017 2 1]]}, + :references-count 17, :alternative-id ["S030645301630899X"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.11.010", :ISSN ["0306-4530"], @@ -7755,23 +7667,23 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 36, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start - {:date-time "2017-02-01T00:00:00Z", - :date-parts [[2017 2 1]], + [{:start + {:date-parts [[2017 2 1]], + :date-time "2017-02-01T00:00:00Z", :timestamp 1485907200000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"} - {:URL "http://www.elsevier.com/open-access/userlicense/1.0/", - :start - {:date-time "2017-12-04T00:00:00Z", - :date-parts [[2017 12 4]], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"} + {:start + {:date-parts [[2017 12 4]], + :date-time "2017-12-04T00:00:00Z", :timestamp 1512345600000}, + :content-version "am", :delay-in-days 306, - :content-version "am"}], + :URL "http://www.elsevier.com/open-access/userlicense/1.0/"}], :content-domain {:domain ["psyneuen-journal.com" @@ -7784,17 +7696,17 @@ "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Psychoneuroendocrinology"], - :published-print {:date-parts [[2017 2]]}, + :published-print {:date-parts [[2017 2 1]]}, :DOI "10.1016/j.psyneuen.2016.11.011", :type "journal-article", :created - {:date-time "2016-11-18T00:01:34Z", - :date-parts [[2016 11 18]], + {:date-parts [[2016 11 18]], + :date-time "2016-11-18T00:01:34Z", :timestamp 1479427294000}, :page "144-153", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", :source "Crossref", - :is-referenced-by-count 10, + :is-referenced-by-count 8, :title ["Sociodemographic, lifestyle, and psychosocial determinants of hair cortisol in a South London community sample"], :prefix "10.1016", @@ -7847,12 +7759,12 @@ :content-version "vor", :intended-application "text-mining"}], :deposited - {:date-time "2017-10-09T19:55:05Z", - :date-parts [[2017 10 9]], + {:date-parts [[2017 10 9]], + :date-time "2017-10-09T19:55:05Z", :timestamp 1507578905000}, - :score 1.0, - :issued {:date-parts [[2017 2]]}, - :references-count 0, + :score 0.0, + :issued {:date-parts [[2017 2 1]]}, + :references-count 36, :alternative-id ["S0306453016305923"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.11.011", :ISSN ["0306-4530"], @@ -7875,16 +7787,16 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 92, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start - {:date-time "2017-02-01T00:00:00Z", - :date-parts [[2017 2 1]], + [{:start + {:date-parts [[2017 2 1]], + :date-time "2017-02-01T00:00:00Z", :timestamp 1485907200000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], :content-domain {:domain ["psyneuen-journal.com" @@ -7897,17 +7809,17 @@ "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Psychoneuroendocrinology"], - :published-print {:date-parts [[2017 2]]}, + :published-print {:date-parts [[2017 2 1]]}, :DOI "10.1016/j.psyneuen.2016.11.012", :type "journal-article", :created - {:date-time "2016-11-11T17:47:45Z", - :date-parts [[2016 11 11]], + {:date-parts [[2016 11 11]], + :date-time "2016-11-11T17:47:45Z", :timestamp 1478886465000}, :page "19-28", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", :source "Crossref", - :is-referenced-by-count 7, + :is-referenced-by-count 6, :title ["Trauma exposure relates to heightened stress, altered amygdala morphology and deficient extinction learning: Implications for psychopathology"], :prefix "10.1016", @@ -7960,12 +7872,12 @@ :content-version "vor", :intended-application "text-mining"}], :deposited - {:date-time "2017-06-25T03:24:39Z", - :date-parts [[2017 6 25]], + {:date-parts [[2017 6 25]], + :date-time "2017-06-25T03:24:39Z", :timestamp 1498361079000}, - :score 1.0, - :issued {:date-parts [[2017 2]]}, - :references-count 0, + :score 0.0, + :issued {:date-parts [[2017 2 1]]}, + :references-count 92, :alternative-id ["S0306453016309015"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.11.012", :ISSN ["0306-4530"], @@ -7988,16 +7900,16 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 18, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start - {:date-time "2017-02-01T00:00:00Z", - :date-parts [[2017 2 1]], + [{:start + {:date-parts [[2017 2 1]], + :date-time "2017-02-01T00:00:00Z", :timestamp 1485907200000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], :content-domain {:domain ["psyneuen-journal.com" @@ -8010,17 +7922,17 @@ "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Psychoneuroendocrinology"], - :published-print {:date-parts [[2017 2]]}, + :published-print {:date-parts [[2017 2 1]]}, :DOI "10.1016/j.psyneuen.2016.11.014", :type "journal-article", :created - {:date-time "2016-11-17T00:30:37Z", - :date-parts [[2016 11 17]], + {:date-parts [[2016 11 17]], + :date-time "2016-11-17T00:30:37Z", :timestamp 1479342637000}, :page "114-118", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", :source "Crossref", - :is-referenced-by-count 1, + :is-referenced-by-count 0, :title ["Association between dehydroepiandrosterone-sulfate and attention in long-term survivors of childhood acute lymphoblastic leukemia treated with only chemotherapy"], :prefix "10.1016", @@ -8085,12 +7997,12 @@ :content-version "vor", :intended-application "text-mining"}], :deposited - {:date-time "2017-06-25T03:46:05Z", - :date-parts [[2017 6 25]], + {:date-parts [[2017 6 25]], + :date-time "2017-06-25T03:46:05Z", :timestamp 1498362365000}, - :score 1.0, - :issued {:date-parts [[2017 2]]}, - :references-count 0, + :score 0.0, + :issued {:date-parts [[2017 2 1]]}, + :references-count 18, :alternative-id ["S0306453016305601"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.11.014", :ISSN ["0306-4530"], @@ -8113,19 +8025,17 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 69, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start - {:date-time "2017-02-01T00:00:00Z", - :date-parts [[2017 2 1]], + [{:start + {:date-parts [[2017 2 1]], + :date-time "2017-02-01T00:00:00Z", :timestamp 1485907200000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], - :funder - [{:name "Tri-Service General Hospital, Taipei, Taiwan", - :award ["TSGH-C105-122" "TSGH-C103-130"]}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], + :funder [{:name "Tri-Service General Hospital, Taipei, Taiwan"}], :content-domain {:domain ["psyneuen-journal.com" @@ -8138,12 +8048,12 @@ "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Psychoneuroendocrinology"], - :published-print {:date-parts [[2017 2]]}, + :published-print {:date-parts [[2017 2 1]]}, :DOI "10.1016/j.psyneuen.2016.11.015", :type "journal-article", :created - {:date-time "2016-11-17T00:17:50Z", - :date-parts [[2016 11 17]], + {:date-parts [[2016 11 17]], + :date-time "2016-11-17T00:17:50Z", :timestamp 1479341870000}, :page "119-126", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", @@ -8193,12 +8103,12 @@ :content-version "vor", :intended-application "text-mining"}], :deposited - {:date-time "2017-06-25T03:46:01Z", - :date-parts [[2017 6 25]], + {:date-parts [[2017 6 25]], + :date-time "2017-06-25T03:46:01Z", :timestamp 1498362361000}, - :score 1.0, - :issued {:date-parts [[2017 2]]}, - :references-count 0, + :score 0.0, + :issued {:date-parts [[2017 2 1]]}, + :references-count 69, :alternative-id ["S0306453016305996"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.11.015", :ISSN ["0306-4530"], @@ -8221,23 +8131,23 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 20, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start - {:date-time "2017-03-01T00:00:00Z", - :date-parts [[2017 3 1]], + [{:start + {:date-parts [[2017 3 1]], + :date-time "2017-03-01T00:00:00Z", :timestamp 1488326400000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"} - {:URL "http://creativecommons.org/licenses/by-nc-nd/4.0/", - :start - {:date-time "2016-12-07T00:00:00Z", - :date-parts [[2016 12 7]], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"} + {:start + {:date-parts [[2016 12 7]], + :date-time "2016-12-07T00:00:00Z", :timestamp 1481068800000}, + :content-version "vor", :delay-in-days 0, - :content-version "vor"}], + :URL "http://creativecommons.org/licenses/by-nc-nd/4.0/"}], :content-domain {:domain ["psyneuen-journal.com" @@ -8250,12 +8160,12 @@ "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Psychoneuroendocrinology"], - :published-print {:date-parts [[2017 3]]}, + :published-print {:date-parts [[2017 3 1]]}, :DOI "10.1016/j.psyneuen.2016.11.016", :type "journal-article", :created - {:date-time "2016-12-05T06:17:51Z", - :date-parts [[2016 12 5]], + {:date-parts [[2016 12 5]], + :date-time "2016-12-05T06:17:51Z", :timestamp 1480918671000}, :page "90-94", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", @@ -8309,12 +8219,12 @@ :content-version "vor", :intended-application "text-mining"}], :deposited - {:date-time "2017-08-18T11:20:23Z", - :date-parts [[2017 8 18]], + {:date-parts [[2017 8 18]], + :date-time "2017-08-18T11:20:23Z", :timestamp 1503055223000}, - :score 1.0, - :issued {:date-parts [[2017 3]]}, - :references-count 0, + :score 0.0, + :issued {:date-parts [[2017 3 1]]}, + :references-count 20, :alternative-id ["S0306453016302049"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.11.016", :ISSN ["0306-4530"], @@ -8337,16 +8247,16 @@ {:value "© 2016 The Authors. Published by Elsevier Ltd.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 47, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start - {:date-time "2017-02-01T00:00:00Z", - :date-parts [[2017 2 1]], + [{:start + {:date-parts [[2017 2 1]], + :date-time "2017-02-01T00:00:00Z", :timestamp 1485907200000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], :content-domain {:domain ["psyneuen-journal.com" @@ -8359,17 +8269,17 @@ "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Psychoneuroendocrinology"], - :published-print {:date-parts [[2017 2]]}, + :published-print {:date-parts [[2017 2 1]]}, :DOI "10.1016/j.psyneuen.2016.11.017", :type "journal-article", :created - {:date-time "2016-11-23T01:29:01Z", - :date-parts [[2016 11 23]], + {:date-parts [[2016 11 23]], + :date-time "2016-11-23T01:29:01Z", :timestamp 1479864541000}, :page "174-182", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", :source "Crossref", - :is-referenced-by-count 3, + :is-referenced-by-count 2, :title ["Women recovering from social rejection: The effect of the person and the situation on a hormonal mechanism of affiliation"], :prefix "10.1016", @@ -8406,12 +8316,12 @@ :content-version "vor", :intended-application "text-mining"}], :deposited - {:date-time "2017-06-25T04:14:47Z", - :date-parts [[2017 6 25]], + {:date-parts [[2017 6 25]], + :date-time "2017-06-25T04:14:47Z", :timestamp 1498364087000}, - :score 1.0, - :issued {:date-parts [[2017 2]]}, - :references-count 0, + :score 0.0, + :issued {:date-parts [[2017 2 1]]}, + :references-count 47, :alternative-id ["S0306453016305066"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.11.017", :ISSN ["0306-4530"], @@ -8434,40 +8344,35 @@ {:value "Published by Elsevier Ltd.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 68, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start - {:date-time "2017-02-01T00:00:00Z", - :date-parts [[2017 2 1]], + [{:start + {:date-parts [[2017 2 1]], + :date-time "2017-02-01T00:00:00Z", :timestamp 1485907200000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"} - {:URL "http://www.elsevier.com/open-access/userlicense/1.0/", - :start - {:date-time "2017-11-23T00:00:00Z", - :date-parts [[2017 11 23]], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"} + {:start + {:date-parts [[2017 11 23]], + :date-time "2017-11-23T00:00:00Z", :timestamp 1511395200000}, + :content-version "am", :delay-in-days 295, - :content-version "am"}], + :URL "http://www.elsevier.com/open-access/userlicense/1.0/"}], :funder [{:DOI "10.13039/100000025", :name "National Institute for Mental Health", - :doi-asserted-by "crossref", - :award ["MH58846"]} + :doi-asserted-by "crossref"} + {:name "National Institute for Child Health and Development"} + {:name + "Integrated Training in Psychobiology and Psychopathology Fellowship"} {:DOI "10.13039/100000001", :name "National Science Foundation", - :doi-asserted-by "publisher", - :award ["NSF IBN9876754"]} - {:name "National Institute for Child Health and Development", - :award ["HD35471"]} + :doi-asserted-by "publisher"} {:name - "Integrated Training in Psychobiology and Psychopathology Fellowship", - :award ["NIMH T32 MH732525"]} - {:name - "National Institutes of Health, Office of Research Infrastructure Programs", - :award ["ORIP/OD P51-OD011132"]}], + "National Institutes of Health, Office of Research Infrastructure Programs"}], :content-domain {:domain ["psyneuen-journal.com" @@ -8480,17 +8385,17 @@ "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Psychoneuroendocrinology"], - :published-print {:date-parts [[2017 2]]}, + :published-print {:date-parts [[2017 2 1]]}, :DOI "10.1016/j.psyneuen.2016.11.018", :type "journal-article", :created - {:date-time "2016-11-18T20:17:20Z", - :date-parts [[2016 11 18]], + {:date-parts [[2016 11 18]], + :date-time "2016-11-18T20:17:20Z", :timestamp 1479500240000}, :page "57-66", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", :source "Crossref", - :is-referenced-by-count 3, + :is-referenced-by-count 1, :title ["Increased anxiety-like behaviors, but blunted cortisol stress response after neonatal hippocampal lesions in monkeys"], :prefix "10.1016", @@ -8531,12 +8436,12 @@ :content-version "vor", :intended-application "text-mining"}], :deposited - {:date-time "2017-10-09T19:55:19Z", - :date-parts [[2017 10 9]], + {:date-parts [[2017 10 9]], + :date-time "2017-10-09T19:55:19Z", :timestamp 1507578919000}, - :score 1.0, - :issued {:date-parts [[2017 2]]}, - :references-count 0, + :score 0.0, + :issued {:date-parts [[2017 2 1]]}, + :references-count 68, :alternative-id ["S0306453016309210"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.11.018", :ISSN ["0306-4530"], @@ -8559,16 +8464,16 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 49, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start - {:date-time "2017-03-01T00:00:00Z", - :date-parts [[2017 3 1]], + [{:start + {:date-parts [[2017 3 1]], + :date-time "2017-03-01T00:00:00Z", :timestamp 1488326400000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], :content-domain {:domain ["psyneuen-journal.com" @@ -8581,17 +8486,17 @@ "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Psychoneuroendocrinology"], - :published-print {:date-parts [[2017 3]]}, + :published-print {:date-parts [[2017 3 1]]}, :DOI "10.1016/j.psyneuen.2016.11.019", :type "journal-article", :created - {:date-time "2016-11-24T23:32:27Z", - :date-parts [[2016 11 24]], + {:date-parts [[2016 11 24]], + :date-time "2016-11-24T23:32:27Z", :timestamp 1480030347000}, :page "131-140", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", :source "Crossref", - :is-referenced-by-count 11, + :is-referenced-by-count 8, :title ["Rapid effects of dorsal hippocampal G-protein coupled estrogen receptor on learning in female mice"], :prefix "10.1016", @@ -8628,12 +8533,12 @@ :content-version "vor", :intended-application "text-mining"}], :deposited - {:date-time "2017-08-18T11:20:42Z", - :date-parts [[2017 8 18]], + {:date-parts [[2017 8 18]], + :date-time "2017-08-18T11:20:42Z", :timestamp 1503055242000}, - :score 1.0, - :issued {:date-parts [[2017 3]]}, - :references-count 0, + :score 0.0, + :issued {:date-parts [[2017 3 1]]}, + :references-count 49, :alternative-id ["S0306453016304267"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.11.019", :ISSN ["0306-4530"], @@ -8656,16 +8561,16 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 15, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start - {:date-time "2017-03-01T00:00:00Z", - :date-parts [[2017 3 1]], + [{:start + {:date-parts [[2017 3 1]], + :date-time "2017-03-01T00:00:00Z", :timestamp 1488326400000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], :content-domain {:domain ["psyneuen-journal.com" @@ -8678,12 +8583,12 @@ "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Psychoneuroendocrinology"], - :published-print {:date-parts [[2017 3]]}, + :published-print {:date-parts [[2017 3 1]]}, :DOI "10.1016/j.psyneuen.2016.11.020", :type "journal-article", :created - {:date-time "2016-11-24T23:31:48Z", - :date-parts [[2016 11 24]], + {:date-parts [[2016 11 24]], + :date-time "2016-11-24T23:31:48Z", :timestamp 1480030308000}, :page "47-50", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", @@ -8741,12 +8646,12 @@ :content-version "vor", :intended-application "text-mining"}], :deposited - {:date-time "2017-08-18T11:18:17Z", - :date-parts [[2017 8 18]], + {:date-parts [[2017 8 18]], + :date-time "2017-08-18T11:18:17Z", :timestamp 1503055097000}, - :score 1.0, - :issued {:date-parts [[2017 3]]}, - :references-count 0, + :score 0.0, + :issued {:date-parts [[2017 3 1]]}, + :references-count 15, :alternative-id ["S030645301630703X"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.11.020", :ISSN ["0306-4530"], @@ -8769,33 +8674,24 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 48, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start - {:date-time "2017-03-01T00:00:00Z", - :date-parts [[2017 3 1]], + [{:start + {:date-parts [[2017 3 1]], + :date-time "2017-03-01T00:00:00Z", :timestamp 1488326400000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], :funder [{:DOI "10.13039/100000002", :name "National Institutes of Health", - :doi-asserted-by "publisher", - :award - ["R01EB015611" - "R01MH085646" - "U01MH108148" - "T32MH067533" - "U54 EB020403" - "P50MH103222" - "R01DA027680"]} + :doi-asserted-by "publisher"} + {:name "State of Maryland"} {:DOI "10.13039/100000874", :name "Brain and Behavior Research Foundation", - :doi-asserted-by "publisher", - :award []} - {:name "State of Maryland", :award ["M00B6400091"]}], + :doi-asserted-by "publisher"}], :content-domain {:domain ["psyneuen-journal.com" @@ -8808,17 +8704,17 @@ "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Psychoneuroendocrinology"], - :published-print {:date-parts [[2017 3]]}, + :published-print {:date-parts [[2017 3 1]]}, :DOI "10.1016/j.psyneuen.2016.11.021", :type "journal-article", :created - {:date-time "2016-11-24T23:32:18Z", - :date-parts [[2016 11 24]], + {:date-parts [[2016 11 24]], + :date-time "2016-11-24T23:32:18Z", :timestamp 1480030338000}, :page "105-111", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", :source "Crossref", - :is-referenced-by-count 4, + :is-referenced-by-count 3, :title ["Allostatic load and reduced cortical thickness in schizophrenia"], :prefix "10.1016", @@ -8871,12 +8767,12 @@ :content-version "vor", :intended-application "text-mining"}], :deposited - {:date-time "2017-08-18T11:19:42Z", - :date-parts [[2017 8 18]], + {:date-parts [[2017 8 18]], + :date-time "2017-08-18T11:19:42Z", :timestamp 1503055182000}, - :score 1.0, - :issued {:date-parts [[2017 3]]}, - :references-count 0, + :score 0.0, + :issued {:date-parts [[2017 3 1]]}, + :references-count 48, :alternative-id ["S0306453016307600"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.11.021", :ISSN ["0306-4530"], @@ -8899,16 +8795,16 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 71, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start - {:date-time "2017-02-01T00:00:00Z", - :date-parts [[2017 2 1]], + [{:start + {:date-parts [[2017 2 1]], + :date-time "2017-02-01T00:00:00Z", :timestamp 1485907200000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], :content-domain {:domain ["psyneuen-journal.com" @@ -8921,12 +8817,12 @@ "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Psychoneuroendocrinology"], - :published-print {:date-parts [[2017 2]]}, + :published-print {:date-parts [[2017 2 1]]}, :DOI "10.1016/j.psyneuen.2016.11.022", :type "journal-article", :created - {:date-time "2016-11-18T21:31:56Z", - :date-parts [[2016 11 18]], + {:date-parts [[2016 11 18]], + :date-time "2016-11-18T21:31:56Z", :timestamp 1479504716000}, :page "88-96", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", @@ -8964,12 +8860,12 @@ :content-version "vor", :intended-application "text-mining"}], :deposited - {:date-time "2017-06-25T03:59:09Z", - :date-parts [[2017 6 25]], + {:date-parts [[2017 6 25]], + :date-time "2017-06-25T03:59:09Z", :timestamp 1498363149000}, - :score 1.0, - :issued {:date-parts [[2017 2]]}, - :references-count 0, + :score 0.0, + :issued {:date-parts [[2017 2 1]]}, + :references-count 71, :alternative-id ["S0306453016309362"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.11.022", :ISSN ["0306-4530"], @@ -8992,21 +8888,20 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 18, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start - {:date-time "2017-03-01T00:00:00Z", - :date-parts [[2017 3 1]], + [{:start + {:date-parts [[2017 3 1]], + :date-time "2017-03-01T00:00:00Z", :timestamp 1488326400000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], :funder [{:DOI "10.13039/100000002", :name "NIH", - :doi-asserted-by "publisher", - :award ["R01 HD075716" "P50 DA035763"]}], + :doi-asserted-by "publisher"}], :content-domain {:domain ["psyneuen-journal.com" @@ -9019,17 +8914,17 @@ "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Psychoneuroendocrinology"], - :published-print {:date-parts [[2017 3]]}, + :published-print {:date-parts [[2017 3 1]]}, :DOI "10.1016/j.psyneuen.2016.11.023", :type "journal-article", :created - {:date-time "2016-11-29T18:48:01Z", - :date-parts [[2016 11 29]], + {:date-parts [[2016 11 29]], + :date-time "2016-11-29T18:48:01Z", :timestamp 1480445281000}, :page "51-55", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", :source "Crossref", - :is-referenced-by-count 1, + :is-referenced-by-count 0, :title ["Validation of autonomic and endocrine reactivity to a laboratory stressor in young children"], :prefix "10.1016", @@ -9074,12 +8969,12 @@ :content-version "vor", :intended-application "text-mining"}], :deposited - {:date-time "2017-08-18T11:20:22Z", - :date-parts [[2017 8 18]], + {:date-parts [[2017 8 18]], + :date-time "2017-08-18T11:20:22Z", :timestamp 1503055222000}, - :score 1.0, - :issued {:date-parts [[2017 3]]}, - :references-count 0, + :score 0.0, + :issued {:date-parts [[2017 3 1]]}, + :references-count 18, :alternative-id ["S0306453016306503"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.11.023", :ISSN ["0306-4530"], @@ -9102,25 +8997,23 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 46, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start - {:date-time "2017-03-01T00:00:00Z", - :date-parts [[2017 3 1]], + [{:start + {:date-parts [[2017 3 1]], + :date-time "2017-03-01T00:00:00Z", :timestamp 1488326400000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], :funder [{:DOI "10.13039/100000002", :name "NIH", - :doi-asserted-by "publisher", - :award ["F320MH107129" "MH101495" "F32-MH102013" "K01-MH106805"]} + :doi-asserted-by "publisher"} {:DOI "10.13039/100000874", :name "Brain & Behavior Research Foundation", - :doi-asserted-by "crossref", - :award ["23582" "22337" "23819"]}], + :doi-asserted-by "crossref"}], :content-domain {:domain ["psyneuen-journal.com" @@ -9133,12 +9026,12 @@ "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Psychoneuroendocrinology"], - :published-print {:date-parts [[2017 3]]}, + :published-print {:date-parts [[2017 3 1]]}, :DOI "10.1016/j.psyneuen.2016.11.024", :type "journal-article", :created - {:date-time "2016-11-25T01:17:12Z", - :date-parts [[2016 11 25]], + {:date-parts [[2016 11 25]], + :date-time "2016-11-25T01:17:12Z", :timestamp 1480036632000}, :page "68-74", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", @@ -9192,12 +9085,12 @@ :content-version "vor", :intended-application "text-mining"}], :deposited - {:date-time "2017-08-18T11:19:36Z", - :date-parts [[2017 8 18]], + {:date-parts [[2017 8 18]], + :date-time "2017-08-18T11:19:36Z", :timestamp 1503055176000}, - :score 1.0, - :issued {:date-parts [[2017 3]]}, - :references-count 0, + :score 0.0, + :issued {:date-parts [[2017 3 1]]}, + :references-count 46, :alternative-id ["S030645301630498X"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.11.024", :ISSN ["0306-4530"], @@ -9220,16 +9113,16 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 48, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start - {:date-time "2017-03-01T00:00:00Z", - :date-parts [[2017 3 1]], + [{:start + {:date-parts [[2017 3 1]], + :date-time "2017-03-01T00:00:00Z", :timestamp 1488326400000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], :content-domain {:domain ["psyneuen-journal.com" @@ -9242,17 +9135,17 @@ "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Psychoneuroendocrinology"], - :published-print {:date-parts [[2017 3]]}, + :published-print {:date-parts [[2017 3 1]]}, :DOI "10.1016/j.psyneuen.2016.11.025", :type "journal-article", :created - {:date-time "2016-11-30T17:35:55Z", - :date-parts [[2016 11 30]], + {:date-parts [[2016 11 30]], + :date-time "2016-11-30T17:35:55Z", :timestamp 1480527355000}, :page "112-121", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", :source "Crossref", - :is-referenced-by-count 4, + :is-referenced-by-count 2, :title ["Association between anxiety and metabolic syndrome: A systematic review and meta-analysis of epidemiological studies"], :prefix "10.1016", @@ -9282,12 +9175,12 @@ :content-version "vor", :intended-application "text-mining"}], :deposited - {:date-time "2017-08-18T11:20:48Z", - :date-parts [[2017 8 18]], + {:date-parts [[2017 8 18]], + :date-time "2017-08-18T11:20:48Z", :timestamp 1503055248000}, - :score 1.0, - :issued {:date-parts [[2017 3]]}, - :references-count 0, + :score 0.0, + :issued {:date-parts [[2017 3 1]]}, + :references-count 48, :alternative-id ["S0306453016304711"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.11.025", :ISSN ["0306-4530"], @@ -9310,26 +9203,23 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 36, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start - {:date-time "2017-03-01T00:00:00Z", - :date-parts [[2017 3 1]], + [{:start + {:date-parts [[2017 3 1]], + :date-time "2017-03-01T00:00:00Z", :timestamp 1488326400000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], :funder [{:DOI "10.13039/501100001809", :name "National Natural Science Foundation of China", - :doi-asserted-by "publisher", - :award ["91332102" "31271130"]} - {:name "Nature Science Foundation of Zhejiang Province", - :award ["LY12H09007"]} + :doi-asserted-by "publisher"} + {:name "Nature Science Foundation of Zhejiang Province"} {:name - "Key Laboratory of Mental Disorder’s Management of Zhejiang Province", - :award []}], + "Key Laboratory of Mental Disorder’s Management of Zhejiang Province"}], :content-domain {:domain ["psyneuen-journal.com" @@ -9342,12 +9232,12 @@ "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Psychoneuroendocrinology"], - :published-print {:date-parts [[2017 3]]}, + :published-print {:date-parts [[2017 3 1]]}, :DOI "10.1016/j.psyneuen.2016.11.026", :type "journal-article", :created - {:date-time "2016-11-30T17:33:15Z", - :date-parts [[2016 11 30]], + {:date-parts [[2016 11 30]], + :date-time "2016-11-30T17:33:15Z", :timestamp 1480527195000}, :page "56-62", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", @@ -9417,12 +9307,12 @@ :content-version "vor", :intended-application "text-mining"}], :deposited - {:date-time "2017-08-18T11:20:04Z", - :date-parts [[2017 8 18]], + {:date-parts [[2017 8 18]], + :date-time "2017-08-18T11:20:04Z", :timestamp 1503055204000}, - :score 1.0, - :issued {:date-parts [[2017 3]]}, - :references-count 0, + :score 0.0, + :issued {:date-parts [[2017 3 1]]}, + :references-count 36, :alternative-id ["S0306453016305364"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.11.026", :ISSN ["0306-4530"], @@ -9445,16 +9335,16 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 66, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start - {:date-time "2017-03-01T00:00:00Z", - :date-parts [[2017 3 1]], + [{:start + {:date-parts [[2017 3 1]], + :date-time "2017-03-01T00:00:00Z", :timestamp 1488326400000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], :content-domain {:domain ["psyneuen-journal.com" @@ -9467,17 +9357,17 @@ "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Psychoneuroendocrinology"], - :published-print {:date-parts [[2017 3]]}, + :published-print {:date-parts [[2017 3 1]]}, :DOI "10.1016/j.psyneuen.2016.11.027", :type "journal-article", :created - {:date-time "2016-11-25T09:01:12Z", - :date-parts [[2016 11 25]], + {:date-parts [[2016 11 25]], + :date-time "2016-11-25T09:01:12Z", :timestamp 1480064472000}, :page "95-104", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", :source "Crossref", - :is-referenced-by-count 5, + :is-referenced-by-count 4, :title ["Stress disrupts the reconsolidation of fear memories in men"], :prefix "10.1016", @@ -9506,12 +9396,12 @@ :content-version "vor", :intended-application "text-mining"}], :deposited - {:date-time "2017-08-18T11:19:44Z", - :date-parts [[2017 8 18]], + {:date-parts [[2017 8 18]], + :date-time "2017-08-18T11:19:44Z", :timestamp 1503055184000}, - :score 1.0, - :issued {:date-parts [[2017 3]]}, - :references-count 0, + :score 0.0, + :issued {:date-parts [[2017 3 1]]}, + :references-count 66, :alternative-id ["S0306453016305583"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.11.027", :ISSN ["0306-4530"], @@ -9534,16 +9424,16 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 52, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start - {:date-time "2017-03-01T00:00:00Z", - :date-parts [[2017 3 1]], + [{:start + {:date-parts [[2017 3 1]], + :date-time "2017-03-01T00:00:00Z", :timestamp 1488326400000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], :content-domain {:domain ["psyneuen-journal.com" @@ -9556,17 +9446,17 @@ "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Psychoneuroendocrinology"], - :published-print {:date-parts [[2017 3]]}, + :published-print {:date-parts [[2017 3 1]]}, :DOI "10.1016/j.psyneuen.2016.11.028", :type "journal-article", :created - {:date-time "2016-11-30T17:34:24Z", - :date-parts [[2016 11 30]], + {:date-parts [[2016 11 30]], + :date-time "2016-11-30T17:34:24Z", :timestamp 1480527264000}, :page "203-210", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", :source "Crossref", - :is-referenced-by-count 1, + :is-referenced-by-count 0, :title ["Altered cerebral insulin response in transgenic mice expressing the epsilon-4 allele of the human apolipoprotein E gene"], :prefix "10.1016", @@ -9615,12 +9505,12 @@ :content-version "vor", :intended-application "text-mining"}], :deposited - {:date-time "2017-08-18T11:18:57Z", - :date-parts [[2017 8 18]], + {:date-parts [[2017 8 18]], + :date-time "2017-08-18T11:18:57Z", :timestamp 1503055137000}, - :score 1.0, - :issued {:date-parts [[2017 3]]}, - :references-count 0, + :score 0.0, + :issued {:date-parts [[2017 3 1]]}, + :references-count 52, :alternative-id ["S0306453016306199"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.11.028", :ISSN ["0306-4530"], @@ -9643,28 +9533,27 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 30, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start - {:date-time "2017-03-01T00:00:00Z", - :date-parts [[2017 3 1]], + [{:start + {:date-parts [[2017 3 1]], + :date-time "2017-03-01T00:00:00Z", :timestamp 1488326400000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"} - {:URL "http://creativecommons.org/licenses/by/4.0/", - :start - {:date-time "2016-11-25T00:00:00Z", - :date-parts [[2016 11 25]], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"} + {:start + {:date-parts [[2016 11 25]], + :date-time "2016-11-25T00:00:00Z", :timestamp 1480032000000}, + :content-version "vor", :delay-in-days 0, - :content-version "vor"}], + :URL "http://creativecommons.org/licenses/by/4.0/"}], :funder [{:DOI "10.13039/501100000268", :name "BBSRC", - :doi-asserted-by "publisher", - :award []}], + :doi-asserted-by "publisher"}], :content-domain {:domain ["psyneuen-journal.com" @@ -9677,12 +9566,12 @@ "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Psychoneuroendocrinology"], - :published-print {:date-parts [[2017 3]]}, + :published-print {:date-parts [[2017 3 1]]}, :DOI "10.1016/j.psyneuen.2016.11.029", :type "journal-article", :created - {:date-time "2016-11-30T17:32:49Z", - :date-parts [[2016 11 30]], + {:date-parts [[2016 11 30]], + :date-time "2016-11-30T17:32:49Z", :timestamp 1480527169000}, :page "1-8", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", @@ -9733,12 +9622,12 @@ :content-version "vor", :intended-application "text-mining"}], :deposited - {:date-time "2017-08-18T11:19:04Z", - :date-parts [[2017 8 18]], + {:date-parts [[2017 8 18]], + :date-time "2017-08-18T11:19:04Z", :timestamp 1503055144000}, - :score 1.0, - :issued {:date-parts [[2017 3]]}, - :references-count 0, + :score 0.0, + :issued {:date-parts [[2017 3 1]]}, + :references-count 30, :alternative-id ["S0306453016307922"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.11.029", :ISSN ["0306-4530"], @@ -9761,16 +9650,16 @@ {:value "© 2016 The Authors. Published by Elsevier Ltd.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 73, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start - {:date-time "2017-03-01T00:00:00Z", - :date-parts [[2017 3 1]], + [{:start + {:date-parts [[2017 3 1]], + :date-time "2017-03-01T00:00:00Z", :timestamp 1488326400000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], :content-domain {:domain ["psyneuen-journal.com" @@ -9783,17 +9672,17 @@ "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Psychoneuroendocrinology"], - :published-print {:date-parts [[2017 3]]}, + :published-print {:date-parts [[2017 3 1]]}, :DOI "10.1016/j.psyneuen.2016.11.030", :type "journal-article", :created - {:date-time "2016-11-30T17:32:19Z", - :date-parts [[2016 11 30]], + {:date-parts [[2016 11 30]], + :date-time "2016-11-30T17:32:19Z", :timestamp 1480527139000}, :page "9-17", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", :source "Crossref", - :is-referenced-by-count 4, + :is-referenced-by-count 3, :title ["Effects of the cortisol stress response on the psychotherapy outcome of panic disorder patients"], :prefix "10.1016", @@ -9830,12 +9719,12 @@ :content-version "vor", :intended-application "text-mining"}], :deposited - {:date-time "2017-08-18T11:20:32Z", - :date-parts [[2017 8 18]], + {:date-parts [[2017 8 18]], + :date-time "2017-08-18T11:20:32Z", :timestamp 1503055232000}, - :score 1.0, - :issued {:date-parts [[2017 3]]}, - :references-count 0, + :score 0.0, + :issued {:date-parts [[2017 3 1]]}, + :references-count 73, :alternative-id ["S0306453016308125"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.11.030", :ISSN ["0306-4530"], @@ -9858,33 +9747,28 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 55, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start - {:date-time "2017-02-01T00:00:00Z", - :date-parts [[2017 2 1]], + [{:start + {:date-parts [[2017 2 1]], + :date-time "2017-02-01T00:00:00Z", :timestamp 1485907200000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], :funder [{:DOI "10.13039/100000025", :name "National Institute of Mental Health", - :doi-asserted-by "publisher", - :award ["R01-MH083784"]} + :doi-asserted-by "publisher"} + {:name "O'Shaughnessy Foundation"} + {:name "Tinberg family, and grants from the UCSF Academic Senate"} + {:name "UCSF Research Evaluation and Allocation Committee"} + {:name + "National Institutes of Health/National Center for Research Resources"} {:DOI "10.13039/100006108", :name "National Center for Advancing Translational Sciences", - :doi-asserted-by "publisher", - :award ["UL1 RR024131"]} - {:name "O'Shaughnessy Foundation", :award []} - {:name "Tinberg family, and grants from the UCSF Academic Senate", - :award []} - {:name "UCSF Research Evaluation and Allocation Committee", - :award []} - {:name - "National Institutes of Health/National Center for Research Resources", - :award []}], + :doi-asserted-by "publisher"}], :content-domain {:domain ["psyneuen-journal.com" @@ -9897,17 +9781,17 @@ "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Psychoneuroendocrinology"], - :published-print {:date-parts [[2017 2]]}, + :published-print {:date-parts [[2017 2 1]]}, :DOI "10.1016/j.psyneuen.2016.11.031", :type "journal-article", :created - {:date-time "2016-11-30T17:39:59Z", - :date-parts [[2016 11 30]], + {:date-parts [[2016 11 30]], + :date-time "2016-11-30T17:39:59Z", :timestamp 1480527599000}, :page "197-205", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", :source "Crossref", - :is-referenced-by-count 22, + :is-referenced-by-count 19, :title ["Oxidative stress, inflammation and treatment response in major depression"], :prefix "10.1016", @@ -9980,12 +9864,12 @@ :content-version "vor", :intended-application "text-mining"}], :deposited - {:date-time "2017-06-25T04:53:05Z", - :date-parts [[2017 6 25]], + {:date-parts [[2017 6 25]], + :date-time "2017-06-25T04:53:05Z", :timestamp 1498366385000}, - :score 1.0, - :issued {:date-parts [[2017 2]]}, - :references-count 0, + :score 0.0, + :issued {:date-parts [[2017 2 1]]}, + :references-count 55, :alternative-id ["S0306453016306862"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.11.031", :ISSN ["0306-4530"], @@ -10008,16 +9892,16 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 35, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start - {:date-time "2017-02-01T00:00:00Z", - :date-parts [[2017 2 1]], + [{:start + {:date-parts [[2017 2 1]], + :date-time "2017-02-01T00:00:00Z", :timestamp 1485907200000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], :content-domain {:domain ["psyneuen-journal.com" @@ -10030,17 +9914,17 @@ "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Psychoneuroendocrinology"], - :published-print {:date-parts [[2017 2]]}, + :published-print {:date-parts [[2017 2 1]]}, :DOI "10.1016/j.psyneuen.2016.11.032", :type "journal-article", :created - {:date-time "2016-11-30T17:32:34Z", - :date-parts [[2016 11 30]], + {:date-parts [[2016 11 30]], + :date-time "2016-11-30T17:32:34Z", :timestamp 1480527154000}, :page "154-161", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", :source "Crossref", - :is-referenced-by-count 1, + :is-referenced-by-count 0, :title ["Adolescent binge alcohol exposure increases risk assessment behaviors in male Wistar rats after exposure to an acute psychological stressor in adulthood"], :prefix "10.1016", @@ -10077,12 +9961,12 @@ :content-version "vor", :intended-application "text-mining"}], :deposited - {:date-time "2017-06-25T04:53:02Z", - :date-parts [[2017 6 25]], + {:date-parts [[2017 6 25]], + :date-time "2017-06-25T04:53:02Z", :timestamp 1498366382000}, - :score 1.0, - :issued {:date-parts [[2017 2]]}, - :references-count 0, + :score 0.0, + :issued {:date-parts [[2017 2 1]]}, + :references-count 35, :alternative-id ["S0306453016309623"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.11.032", :ISSN ["0306-4530"], @@ -10105,21 +9989,20 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 37, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start - {:date-time "2017-02-01T00:00:00Z", - :date-parts [[2017 2 1]], + [{:start + {:date-parts [[2017 2 1]], + :date-time "2017-02-01T00:00:00Z", :timestamp 1485907200000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], :funder [{:DOI "10.13039/501100001862", :name "The Swedish Research Council", - :doi-asserted-by "crossref", - :award []}], + :doi-asserted-by "crossref"}], :content-domain {:domain ["psyneuen-journal.com" @@ -10132,17 +10015,17 @@ "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Psychoneuroendocrinology"], - :published-print {:date-parts [[2017 2]]}, + :published-print {:date-parts [[2017 2 1]]}, :DOI "10.1016/j.psyneuen.2016.11.033", :type "journal-article", :created - {:date-time "2016-11-29T18:48:05Z", - :date-parts [[2016 11 29]], + {:date-parts [[2016 11 29]], + :date-time "2016-11-29T18:48:05Z", :timestamp 1480445285000}, :page "135-143", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", :source "Crossref", - :is-referenced-by-count 11, + :is-referenced-by-count 8, :title ["Combined oral contraceptive use is associated with both improvement and worsening of mood in the different phases of the treatment cycle—A double-blind, placebo-controlled randomized trial"], :prefix "10.1016", @@ -10207,12 +10090,12 @@ :content-version "vor", :intended-application "text-mining"}], :deposited - {:date-time "2017-06-25T04:46:28Z", - :date-parts [[2017 6 25]], + {:date-parts [[2017 6 25]], + :date-time "2017-06-25T04:46:28Z", :timestamp 1498365988000}, - :score 1.0, - :issued {:date-parts [[2017 2]]}, - :references-count 0, + :score 0.0, + :issued {:date-parts [[2017 2 1]]}, + :references-count 37, :alternative-id ["S0306453016309635"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.11.033", :ISSN ["0306-4530"], @@ -10235,16 +10118,16 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 13, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start - {:date-time "2017-02-01T00:00:00Z", - :date-parts [[2017 2 1]], + [{:start + {:date-parts [[2017 2 1]], + :date-time "2017-02-01T00:00:00Z", :timestamp 1485907200000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], :content-domain {:domain ["psyneuen-journal.com" @@ -10257,12 +10140,12 @@ "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Psychoneuroendocrinology"], - :published-print {:date-parts [[2017 2]]}, + :published-print {:date-parts [[2017 2 1]]}, :DOI "10.1016/j.psyneuen.2016.11.034", :type "journal-article", :created - {:date-time "2016-12-01T20:03:06Z", - :date-parts [[2016 12 1]], + {:date-parts [[2016 12 1]], + :date-time "2016-12-01T20:03:06Z", :timestamp 1480622586000}, :page "192-196", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", @@ -10336,12 +10219,12 @@ :content-version "vor", :intended-application "text-mining"}], :deposited - {:date-time "2017-06-25T05:03:55Z", - :date-parts [[2017 6 25]], + {:date-parts [[2017 6 25]], + :date-time "2017-06-25T05:03:55Z", :timestamp 1498367035000}, - :score 1.0, - :issued {:date-parts [[2017 2]]}, - :references-count 0, + :score 0.0, + :issued {:date-parts [[2017 2 1]]}, + :references-count 13, :alternative-id ["S0306453016309659"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.11.034", :ISSN ["0306-4530"], @@ -10364,16 +10247,16 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 44, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start - {:date-time "2017-03-01T00:00:00Z", - :date-parts [[2017 3 1]], + [{:start + {:date-parts [[2017 3 1]], + :date-time "2017-03-01T00:00:00Z", :timestamp 1488326400000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], :content-domain {:domain ["psyneuen-journal.com" @@ -10386,17 +10269,17 @@ "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Psychoneuroendocrinology"], - :published-print {:date-parts [[2017 3]]}, + :published-print {:date-parts [[2017 3 1]]}, :DOI "10.1016/j.psyneuen.2016.11.035", :type "journal-article", :created - {:date-time "2016-12-05T06:17:29Z", - :date-parts [[2016 12 5]], + {:date-parts [[2016 12 5]], + :date-time "2016-12-05T06:17:29Z", :timestamp 1480918649000}, :page "122-130", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", :source "Crossref", - :is-referenced-by-count 1, + :is-referenced-by-count 0, :title ["Higher serum DHEA concentrations before and after SSRI treatment are associated with remission of major depression"], :prefix "10.1016", @@ -10461,12 +10344,12 @@ :content-version "vor", :intended-application "text-mining"}], :deposited - {:date-time "2017-08-18T11:20:11Z", - :date-parts [[2017 8 18]], + {:date-parts [[2017 8 18]], + :date-time "2017-08-18T11:20:11Z", :timestamp 1503055211000}, - :score 1.0, - :issued {:date-parts [[2017 3]]}, - :references-count 0, + :score 0.0, + :issued {:date-parts [[2017 3 1]]}, + :references-count 44, :alternative-id ["S0306453016307466"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.11.035", :ISSN ["0306-4530"], @@ -10489,16 +10372,16 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 60, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start - {:date-time "2017-03-01T00:00:00Z", - :date-parts [[2017 3 1]], + [{:start + {:date-parts [[2017 3 1]], + :date-time "2017-03-01T00:00:00Z", :timestamp 1488326400000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], :content-domain {:domain ["psyneuen-journal.com" @@ -10511,17 +10394,17 @@ "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Psychoneuroendocrinology"], - :published-print {:date-parts [[2017 3]]}, + :published-print {:date-parts [[2017 3 1]]}, :DOI "10.1016/j.psyneuen.2016.11.036", :type "journal-article", :created - {:date-time "2016-12-08T20:48:27Z", - :date-parts [[2016 12 8]], + {:date-parts [[2016 12 8]], + :date-time "2016-12-08T20:48:27Z", :timestamp 1481230107000}, :page "25-36", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", :source "Crossref", - :is-referenced-by-count 30, + :is-referenced-by-count 25, :title ["Cortisol stress reactivity across psychiatric disorders: A systematic review and meta-analysis"], :prefix "10.1016", @@ -10566,12 +10449,12 @@ :content-version "vor", :intended-application "text-mining"}], :deposited - {:date-time "2017-08-18T11:20:42Z", - :date-parts [[2017 8 18]], + {:date-parts [[2017 8 18]], + :date-time "2017-08-18T11:20:42Z", :timestamp 1503055242000}, - :score 1.0, - :issued {:date-parts [[2017 3]]}, - :references-count 0, + :score 0.0, + :issued {:date-parts [[2017 3 1]]}, + :references-count 60, :alternative-id ["S0306453016304735"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.11.036", :ISSN ["0306-4530"], @@ -10594,17 +10477,17 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 63, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start - {:date-time "2017-02-01T00:00:00Z", - :date-parts [[2017 2 1]], + [{:start + {:date-parts [[2017 2 1]], + :date-time "2017-02-01T00:00:00Z", :timestamp 1485907200000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], - :funder [{:name "COST Action ADMIRE BM1301", :award []}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], + :funder [{:name "COST Action ADMIRE BM1301"}], :content-domain {:domain ["psyneuen-journal.com" @@ -10617,17 +10500,17 @@ "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Psychoneuroendocrinology"], - :published-print {:date-parts [[2017 2]]}, + :published-print {:date-parts [[2017 2 1]]}, :DOI "10.1016/j.psyneuen.2016.11.037", :type "journal-article", :created - {:date-time "2016-11-30T06:56:59Z", - :date-parts [[2016 11 30]], + {:date-parts [[2016 11 30]], + :date-time "2016-11-30T06:56:59Z", :timestamp 1480489019000}, :page "162-173", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", :source "Crossref", - :is-referenced-by-count 6, + :is-referenced-by-count 5, :title ["Mineralocorticoid receptor haplotype, estradiol, progesterone and emotional information processing"], :prefix "10.1016", @@ -10668,12 +10551,12 @@ :content-version "vor", :intended-application "text-mining"}], :deposited - {:date-time "2017-06-25T04:49:46Z", - :date-parts [[2017 6 25]], + {:date-parts [[2017 6 25]], + :date-time "2017-06-25T04:49:46Z", :timestamp 1498366186000}, - :score 1.0, - :issued {:date-parts [[2017 2]]}, - :references-count 0, + :score 0.0, + :issued {:date-parts [[2017 2 1]]}, + :references-count 63, :alternative-id ["S0306453016309660"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.11.037", :ISSN ["0306-4530"], @@ -10696,16 +10579,16 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 55, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start - {:date-time "2017-03-01T00:00:00Z", - :date-parts [[2017 3 1]], + [{:start + {:date-parts [[2017 3 1]], + :date-time "2017-03-01T00:00:00Z", :timestamp 1488326400000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], :content-domain {:domain ["psyneuen-journal.com" @@ -10718,17 +10601,17 @@ "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Psychoneuroendocrinology"], - :published-print {:date-parts [[2017 3]]}, + :published-print {:date-parts [[2017 3 1]]}, :DOI "10.1016/j.psyneuen.2016.11.039", :type "journal-article", :created - {:date-time "2016-12-03T23:16:54Z", - :date-parts [[2016 12 3]], + {:date-parts [[2016 12 3]], + :date-time "2016-12-03T23:16:54Z", :timestamp 1480807014000}, :page "18-24", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", :source "Crossref", - :is-referenced-by-count 4, + :is-referenced-by-count 3, :title ["Oxytocin modulates third-party sanctioning of selfish and generous behavior within and between groups"], :prefix "10.1016", @@ -10765,12 +10648,12 @@ :content-version "vor", :intended-application "text-mining"}], :deposited - {:date-time "2017-08-18T11:19:04Z", - :date-parts [[2017 8 18]], + {:date-parts [[2017 8 18]], + :date-time "2017-08-18T11:19:04Z", :timestamp 1503055144000}, - :score 1.0, - :issued {:date-parts [[2017 3]]}, - :references-count 0, + :score 0.0, + :issued {:date-parts [[2017 3 1]]}, + :references-count 55, :alternative-id ["S0306453016308678"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.11.039", :ISSN ["0306-4530"], @@ -10793,21 +10676,20 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 53, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start - {:date-time "2017-03-01T00:00:00Z", - :date-parts [[2017 3 1]], + [{:start + {:date-parts [[2017 3 1]], + :date-time "2017-03-01T00:00:00Z", :timestamp 1488326400000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], :funder [{:DOI "10.13039/100000002", :name "National Institutes of Health", - :doi-asserted-by "publisher", - :award []}], + :doi-asserted-by "publisher"}], :content-domain {:domain ["psyneuen-journal.com" @@ -10820,12 +10702,12 @@ "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Psychoneuroendocrinology"], - :published-print {:date-parts [[2017 3]]}, + :published-print {:date-parts [[2017 3 1]]}, :DOI "10.1016/j.psyneuen.2016.11.040", :type "journal-article", :created - {:date-time "2016-12-02T22:16:35Z", - :date-parts [[2016 12 2]], + {:date-parts [[2016 12 2]], + :date-time "2016-12-02T22:16:35Z", :timestamp 1480716995000}, :page "37-46", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", @@ -10879,12 +10761,12 @@ :content-version "vor", :intended-application "text-mining"}], :deposited - {:date-time "2017-08-18T11:19:14Z", - :date-parts [[2017 8 18]], + {:date-parts [[2017 8 18]], + :date-time "2017-08-18T11:19:14Z", :timestamp 1503055154000}, - :score 1.0, - :issued {:date-parts [[2017 3]]}, - :references-count 0, + :score 0.0, + :issued {:date-parts [[2017 3 1]]}, + :references-count 53, :alternative-id ["S0306453016304279"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.11.040", :ISSN ["0306-4530"], @@ -10907,23 +10789,23 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 24, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start - {:date-time "2017-03-01T00:00:00Z", - :date-parts [[2017 3 1]], + [{:start + {:date-parts [[2017 3 1]], + :date-time "2017-03-01T00:00:00Z", :timestamp 1488326400000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"} - {:URL "http://creativecommons.org/licenses/by-nc-nd/4.0/", - :start - {:date-time "2016-12-08T00:00:00Z", - :date-parts [[2016 12 8]], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"} + {:start + {:date-parts [[2016 12 8]], + :date-time "2016-12-08T00:00:00Z", :timestamp 1481155200000}, + :content-version "vor", :delay-in-days 0, - :content-version "vor"}], + :URL "http://creativecommons.org/licenses/by-nc-nd/4.0/"}], :content-domain {:domain ["psyneuen-journal.com" @@ -10936,12 +10818,12 @@ "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Psychoneuroendocrinology"], - :published-print {:date-parts [[2017 3]]}, + :published-print {:date-parts [[2017 3 1]]}, :DOI "10.1016/j.psyneuen.2016.12.002", :type "journal-article", :created - {:date-time "2016-12-10T01:47:41Z", - :date-parts [[2016 12 10]], + {:date-parts [[2016 12 10]], + :date-time "2016-12-10T01:47:41Z", :timestamp 1481334461000}, :page "63-67", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", @@ -10987,12 +10869,12 @@ :content-version "vor", :intended-application "text-mining"}], :deposited - {:date-time "2017-08-18T11:19:33Z", - :date-parts [[2017 8 18]], + {:date-parts [[2017 8 18]], + :date-time "2017-08-18T11:19:33Z", :timestamp 1503055173000}, - :score 1.0, - :issued {:date-parts [[2017 3]]}, - :references-count 0, + :score 0.0, + :issued {:date-parts [[2017 3 1]]}, + :references-count 24, :alternative-id ["S0306453016305315"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.12.002", :ISSN ["0306-4530"], @@ -11015,16 +10897,16 @@ {:value "© 2016 The Authors. Published by Elsevier Ltd.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 42, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start - {:date-time "2017-03-01T00:00:00Z", - :date-parts [[2017 3 1]], + [{:start + {:date-parts [[2017 3 1]], + :date-time "2017-03-01T00:00:00Z", :timestamp 1488326400000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], :content-domain {:domain ["psyneuen-journal.com" @@ -11037,17 +10919,17 @@ "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Psychoneuroendocrinology"], - :published-print {:date-parts [[2017 3]]}, + :published-print {:date-parts [[2017 3 1]]}, :DOI "10.1016/j.psyneuen.2016.12.003", :type "journal-article", :created - {:date-time "2016-12-07T20:01:41Z", - :date-parts [[2016 12 7]], + {:date-parts [[2016 12 7]], + :date-time "2016-12-07T20:01:41Z", :timestamp 1481140901000}, :page "84-89", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", :source "Crossref", - :is-referenced-by-count 1, + :is-referenced-by-count 0, :title ["OXTR polymorphism in depression and completed suicide—A study on a large population sample"], :prefix "10.1016", @@ -11112,12 +10994,12 @@ :content-version "vor", :intended-application "text-mining"}], :deposited - {:date-time "2017-08-18T11:20:37Z", - :date-parts [[2017 8 18]], + {:date-parts [[2017 8 18]], + :date-time "2017-08-18T11:20:37Z", :timestamp 1503055237000}, - :score 1.0, - :issued {:date-parts [[2017 3]]}, - :references-count 0, + :score 0.0, + :issued {:date-parts [[2017 3 1]]}, + :references-count 42, :alternative-id ["S0306453016307132"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.12.003", :ISSN ["0306-4530"], @@ -11140,16 +11022,16 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 49, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start - {:date-time "2017-03-01T00:00:00Z", - :date-parts [[2017 3 1]], + [{:start + {:date-parts [[2017 3 1]], + :date-time "2017-03-01T00:00:00Z", :timestamp 1488326400000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], :content-domain {:domain ["psyneuen-journal.com" @@ -11162,12 +11044,12 @@ "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Psychoneuroendocrinology"], - :published-print {:date-parts [[2017 3]]}, + :published-print {:date-parts [[2017 3 1]]}, :DOI "10.1016/j.psyneuen.2016.12.004", :type "journal-article", :created - {:date-time "2016-12-10T01:48:20Z", - :date-parts [[2016 12 10]], + {:date-parts [[2016 12 10]], + :date-time "2016-12-10T01:48:20Z", :timestamp 1481334500000}, :page "75-83", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", @@ -11205,12 +11087,12 @@ :content-version "vor", :intended-application "text-mining"}], :deposited - {:date-time "2017-08-18T11:19:42Z", - :date-parts [[2017 8 18]], + {:date-parts [[2017 8 18]], + :date-time "2017-08-18T11:19:42Z", :timestamp 1503055182000}, - :score 1.0, - :issued {:date-parts [[2017 3]]}, - :references-count 0, + :score 0.0, + :issued {:date-parts [[2017 3 1]]}, + :references-count 49, :alternative-id ["S0306453016302268"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.12.004", :ISSN ["0306-4530"], @@ -11233,27 +11115,24 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 73, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start - {:date-time "2017-02-01T00:00:00Z", - :date-parts [[2017 2 1]], + [{:start + {:date-parts [[2017 2 1]], + :date-time "2017-02-01T00:00:00Z", :timestamp 1485907200000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], :funder - [{:DOI "10.13039/100000065", - :name "National Institute of Neurological Disorders and Stroke", - :doi-asserted-by "publisher", - :award ["N01-MH9-0002" "N01-NS-9-2314" "N01-HD02-3343"]} - {:name - "Federal funds from the National Institute of Child Health and Human Development", - :award []} + [{:name + "Federal funds from the National Institute of Child Health and Human Development"} {:name - "National Institute on Drug Abuse, the National Institute of Mental Health", - :award []}], + "National Institute on Drug Abuse, the National Institute of Mental Health"} + {:DOI "10.13039/100000065", + :name "National Institute of Neurological Disorders and Stroke", + :doi-asserted-by "publisher"}], :content-domain {:domain ["psyneuen-journal.com" @@ -11266,17 +11145,17 @@ "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Psychoneuroendocrinology"], - :published-print {:date-parts [[2017 2]]}, + :published-print {:date-parts [[2017 2 1]]}, :DOI "10.1016/j.psyneuen.2016.12.005", :type "journal-article", :created - {:date-time "2016-12-08T20:48:35Z", - :date-parts [[2016 12 8]], + {:date-parts [[2016 12 8]], + :date-time "2016-12-08T20:48:35Z", :timestamp 1481230115000}, :page "206-217", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", :source "Crossref", - :is-referenced-by-count 5, + :is-referenced-by-count 4, :title ["Sex-specific associations of testosterone with prefrontal-hippocampal development and executive function"], :prefix "10.1016", @@ -11333,12 +11212,12 @@ :content-version "vor", :intended-application "text-mining"}], :deposited - {:date-time "2017-06-25T05:32:33Z", - :date-parts [[2017 6 25]], + {:date-parts [[2017 6 25]], + :date-time "2017-06-25T05:32:33Z", :timestamp 1498368753000}, - :score 1.0, - :issued {:date-parts [[2017 2]]}, - :references-count 0, + :score 0.0, + :issued {:date-parts [[2017 2 1]]}, + :references-count 73, :alternative-id ["S0306453016309994"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.12.005", :ISSN ["0306-4530"], @@ -11361,16 +11240,16 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 66, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start - {:date-time "2017-03-01T00:00:00Z", - :date-parts [[2017 3 1]], + [{:start + {:date-parts [[2017 3 1]], + :date-time "2017-03-01T00:00:00Z", :timestamp 1488326400000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], :content-domain {:domain ["psyneuen-journal.com" @@ -11383,12 +11262,12 @@ "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Psychoneuroendocrinology"], - :published-print {:date-parts [[2017 3]]}, + :published-print {:date-parts [[2017 3 1]]}, :DOI "10.1016/j.psyneuen.2016.12.006", :type "journal-article", :created - {:date-time "2016-12-16T22:28:32Z", - :date-parts [[2016 12 16]], + {:date-parts [[2016 12 16]], + :date-time "2016-12-16T22:28:32Z", :timestamp 1481927312000}, :page "165-174", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", @@ -11430,12 +11309,12 @@ :content-version "vor", :intended-application "text-mining"}], :deposited - {:date-time "2017-08-18T11:19:11Z", - :date-parts [[2017 8 18]], + {:date-parts [[2017 8 18]], + :date-time "2017-08-18T11:19:11Z", :timestamp 1503055151000}, - :score 1.0, - :issued {:date-parts [[2017 3]]}, - :references-count 0, + :score 0.0, + :issued {:date-parts [[2017 3 1]]}, + :references-count 66, :alternative-id ["S0306453016306801"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.12.006", :ISSN ["0306-4530"], @@ -11458,17 +11337,17 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 48, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start - {:date-time "2017-03-01T00:00:00Z", - :date-parts [[2017 3 1]], + [{:start + {:date-parts [[2017 3 1]], + :date-time "2017-03-01T00:00:00Z", :timestamp 1488326400000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], - :funder [{:name "CIFRE scholarship", :award []}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], + :funder [{:name "CIFRE scholarship"}], :content-domain {:domain ["psyneuen-journal.com" @@ -11481,12 +11360,12 @@ "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Psychoneuroendocrinology"], - :published-print {:date-parts [[2017 3]]}, + :published-print {:date-parts [[2017 3 1]]}, :DOI "10.1016/j.psyneuen.2016.12.008", :type "journal-article", :created - {:date-time "2016-12-19T21:18:28Z", - :date-parts [[2016 12 19]], + {:date-parts [[2016 12 19]], + :date-time "2016-12-19T21:18:28Z", :timestamp 1482182308000}, :page "275-283", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", @@ -11524,12 +11403,12 @@ :content-version "vor", :intended-application "text-mining"}], :deposited - {:date-time "2017-08-18T11:18:43Z", - :date-parts [[2017 8 18]], + {:date-parts [[2017 8 18]], + :date-time "2017-08-18T11:18:43Z", :timestamp 1503055123000}, - :score 1.0, - :issued {:date-parts [[2017 3]]}, - :references-count 0, + :score 0.0, + :issued {:date-parts [[2017 3 1]]}, + :references-count 48, :alternative-id ["S0306453016310289"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.12.008", :ISSN ["0306-4530"], @@ -11552,16 +11431,16 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 47, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start - {:date-time "2017-05-01T00:00:00Z", - :date-parts [[2017 5 1]], + [{:start + {:date-parts [[2017 5 1]], + :date-time "2017-05-01T00:00:00Z", :timestamp 1493596800000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], :content-domain {:domain ["clinicalkey.jp" @@ -11574,17 +11453,17 @@ "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Schizophrenia Research"], - :published-print {:date-parts [[2017 5]]}, + :published-print {:date-parts [[2017 5 1]]}, :DOI "10.1016/j.schres.2016.11.002", :type "journal-article", :created - {:date-time "2016-11-10T03:15:34Z", - :date-parts [[2016 11 10]], + {:date-parts [[2016 11 10]], + :date-time "2016-11-10T03:15:34Z", :timestamp 1478747734000}, :page "151-156", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", :source "Crossref", - :is-referenced-by-count 3, + :is-referenced-by-count 1, :title ["Neurocognitive deficits or stress overload: Why do individuals with schizophrenia show poor performance in neurocognitive tests?"], :prefix "10.1016", @@ -11617,12 +11496,12 @@ :content-version "vor", :intended-application "text-mining"}], :deposited - {:date-time "2017-05-12T09:18:40Z", - :date-parts [[2017 5 12]], + {:date-parts [[2017 5 12]], + :date-time "2017-05-12T09:18:40Z", :timestamp 1494580720000}, - :score 1.0, - :issued {:date-parts [[2017 5]]}, - :references-count 0, + :score 0.0, + :issued {:date-parts [[2017 5 1]]}, + :references-count 47, :alternative-id ["S0920996416304959"], :URL "http://dx.doi.org/10.1016/j.schres.2016.11.002", :ISSN ["0920-9964"], @@ -11645,16 +11524,16 @@ {:value "© 2016 Elsevier B.V. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 59, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start - {:date-time "2017-07-01T00:00:00Z", - :date-parts [[2017 7 1]], - :timestamp 1498867200000}, + [{:start + {:date-parts [[2017 6 13]], + :date-time "2017-06-13T02:49:45Z", + :timestamp 1497322185000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], :content-domain {:domain ["clinicalkey.jp" @@ -11667,12 +11546,12 @@ "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Schizophrenia Research"], - :published-print {:date-parts [[2017 7]]}, + :published-print {:date-parts [[2017 7 1]]}, :DOI "10.1016/j.schres.2016.12.016", :type "journal-article", :created - {:date-time "2016-12-18T02:33:29Z", - :date-parts [[2016 12 18]], + {:date-parts [[2016 12 18]], + :date-time "2016-12-18T02:33:29Z", :timestamp 1482028409000}, :page "51-57", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", @@ -11724,12 +11603,12 @@ :content-version "vor", :intended-application "text-mining"}], :deposited - {:date-time "2017-06-13T02:49:45Z", - :date-parts [[2017 6 13]], + {:date-parts [[2017 6 13]], + :date-time "2017-06-13T02:49:45Z", :timestamp 1497322185000}, - :score 1.0, - :issued {:date-parts [[2017 7]]}, - :references-count 0, + :score 0.0, + :issued {:date-parts [[2017 6 13]]}, + :references-count 59, :alternative-id ["S0920996416305904"], :URL "http://dx.doi.org/10.1016/j.schres.2016.12.016", :ISSN ["0920-9964"], @@ -11752,31 +11631,31 @@ {:value "© 2016 Elsevier B.V. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 51, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start - {:date-time "2017-02-01T00:00:00Z", - :date-parts [[2017 2 1]], + [{:start + {:date-parts [[2017 2 1]], + :date-time "2017-02-01T00:00:00Z", :timestamp 1485907200000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], :content-domain {:domain ["elsevier.com" "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Steroids"], - :published-print {:date-parts [[2017 2]]}, + :published-print {:date-parts [[2017 2 1]]}, :DOI "10.1016/j.steroids.2016.12.008", :type "journal-article", :created - {:date-time "2016-12-18T13:00:22Z", - :date-parts [[2016 12 18]], + {:date-parts [[2016 12 18]], + :date-time "2016-12-18T13:00:22Z", :timestamp 1482066022000}, :page "61-67", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", :source "Crossref", - :is-referenced-by-count 4, + :is-referenced-by-count 2, :title ["Intraindividual stability of cortisol and cortisone and the ratio of cortisol to cortisone in saliva, urine and hair"], :prefix "10.1016", @@ -11817,12 +11696,12 @@ :content-version "vor", :intended-application "text-mining"}], :deposited - {:date-time "2017-06-25T06:09:59Z", - :date-parts [[2017 6 25]], + {:date-parts [[2017 6 25]], + :date-time "2017-06-25T06:09:59Z", :timestamp 1498370999000}, - :score 1.0, - :issued {:date-parts [[2017 2]]}, - :references-count 0, + :score 0.0, + :issued {:date-parts [[2017 2 1]]}, + :references-count 51, :alternative-id ["S0039128X16301969"], :URL "http://dx.doi.org/10.1016/j.steroids.2016.12.008", :ISSN ["0039-128X"], @@ -11843,24 +11722,22 @@ {:value "© 2016 Elsevier Inc. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 357, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start - {:date-time "2017-01-01T00:00:00Z", - :date-parts [[2017 1 1]], + [{:start + {:date-parts [[2017 1 1]], + :date-time "2017-01-01T00:00:00Z", :timestamp 1483228800000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], :funder [{:DOI "10.13039/501100001700", :name "Japanese Ministry of Education, Culture, Sports, Science and Technology", - :doi-asserted-by "crossref", - :award ["23591667"]} - {:name "Hokkaido University Clark Memorial Foundation", - :award []}], + :doi-asserted-by "crossref"} + {:name "Hokkaido University Clark Memorial Foundation"}], :content-domain {:domain ["clinicalkey.jp" @@ -11872,17 +11749,17 @@ "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Frontiers in Neuroendocrinology"], - :published-print {:date-parts [[2017 1]]}, + :published-print {:date-parts [[2017 1 1]]}, :DOI "10.1016/j.yfrne.2016.12.001", :type "journal-article", :created - {:date-time "2016-12-10T01:54:26Z", - :date-parts [[2016 12 10]], + {:date-parts [[2016 12 10]], + :date-time "2016-12-10T01:54:26Z", :timestamp 1481334866000}, :page "83-102", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", :source "Crossref", - :is-referenced-by-count 9, + :is-referenced-by-count 7, :title ["The exercise-glucocorticoid paradox: How exercise is beneficial to cognition, mood, and the brain while increasing glucocorticoid levels"], :prefix "10.1016", @@ -11927,12 +11804,12 @@ :content-version "vor", :intended-application "text-mining"}], :deposited - {:date-time "2017-06-25T05:38:47Z", - :date-parts [[2017 6 25]], + {:date-parts [[2017 6 25]], + :date-time "2017-06-25T05:38:47Z", :timestamp 1498369127000}, - :score 1.0, - :issued {:date-parts [[2017 1]]}, - :references-count 0, + :score 0.0, + :issued {:date-parts [[2017 1 1]]}, + :references-count 357, :alternative-id ["S0091302216300619"], :URL "http://dx.doi.org/10.1016/j.yfrne.2016.12.001", :ISSN ["0091-3022"], @@ -11955,25 +11832,22 @@ {:value "© 2016 Elsevier Inc. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 152, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start - {:date-time "2017-01-01T00:00:00Z", - :date-parts [[2017 1 1]], + [{:start + {:date-parts [[2017 1 1]], + :date-time "2017-01-01T00:00:00Z", :timestamp 1483228800000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], :funder [{:DOI "10.13039/100000025", :name "National Institute of Mental Health", - :doi-asserted-by "crossref", - :award []} - {:name "Eunice Kennedy Shriver National Institute of Child Health", - :award []} - {:name "Human Development of the National Institutes of Health", - :award ["F32HD078084" "R01MH087563" "K01MH1087610"]}], + :doi-asserted-by "crossref"} + {:name "Eunice Kennedy Shriver National Institute of Child Health"} + {:name "Human Development of the National Institutes of Health"}], :content-domain {:domain ["clinicalkey.jp" @@ -11985,17 +11859,17 @@ "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Frontiers in Neuroendocrinology"], - :published-print {:date-parts [[2017 1]]}, + :published-print {:date-parts [[2017 1 1]]}, :DOI "10.1016/j.yfrne.2016.12.003", :type "journal-article", :created - {:date-time "2016-12-19T21:31:26Z", - :date-parts [[2016 12 19]], + {:date-parts [[2016 12 19]], + :date-time "2016-12-19T21:31:26Z", :timestamp 1482183086000}, :page "122-137", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", :source "Crossref", - :is-referenced-by-count 12, + :is-referenced-by-count 6, :title ["Puberty and structural brain development in humans"], :prefix "10.1016", :volume "44", @@ -12023,12 +11897,12 @@ :content-version "vor", :intended-application "text-mining"}], :deposited - {:date-time "2017-06-10T02:01:10Z", - :date-parts [[2017 6 10]], + {:date-parts [[2017 6 10]], + :date-time "2017-06-10T02:01:10Z", :timestamp 1497060070000}, - :score 1.0, - :issued {:date-parts [[2017 1]]}, - :references-count 0, + :score 0.0, + :issued {:date-parts [[2017 1 1]]}, + :references-count 152, :alternative-id ["S0091302216300632"], :URL "http://dx.doi.org/10.1016/j.yfrne.2016.12.003", :ISSN ["0091-3022"], @@ -12050,38 +11924,36 @@ {:value "© 2017 Elsevier Inc. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 82, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start - {:date-time "2017-01-01T00:00:00Z", - :date-parts [[2017 1 1]], + [{:start + {:date-parts [[2017 1 1]], + :date-time "2017-01-01T00:00:00Z", :timestamp 1483228800000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], :funder [{:DOI "10.13039/100000002", :name "NIH", - :doi-asserted-by "publisher", - :award ["R01MH096983" "1P50MH100023"]} - {:name "NIH Office of Research Infrastructure Programs", - :award ["OD P51OD11132"]}], + :doi-asserted-by "publisher"} + {:name "NIH Office of Research Infrastructure Programs"}], :content-domain {:domain ["elsevier.com" "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Hormones and Behavior"], - :published-print {:date-parts [[2017 1]]}, + :published-print {:date-parts [[2017 1 1]]}, :DOI "10.1016/j.yhbeh.2016.10.009", :type "journal-article", :created - {:date-time "2016-10-26T04:01:20Z", - :date-parts [[2016 10 26]], + {:date-parts [[2016 10 26]], + :date-time "2016-10-26T04:01:20Z", :timestamp 1477454480000}, :page "16-24", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", :source "Crossref", - :is-referenced-by-count 10, + :is-referenced-by-count 7, :title ["Oxytocin receptors modulate a social salience neural network in male prairie voles"], :prefix "10.1016", @@ -12122,12 +11994,12 @@ :content-version "vor", :intended-application "text-mining"}], :deposited - {:date-time "2017-08-24T19:55:39Z", - :date-parts [[2017 8 24]], + {:date-parts [[2017 8 24]], + :date-time "2017-08-24T19:55:39Z", :timestamp 1503604539000}, - :score 1.0, - :issued {:date-parts [[2017 1]]}, - :references-count 0, + :score 0.0, + :issued {:date-parts [[2017 1 1]]}, + :references-count 82, :alternative-id ["S0018506X1630280X"], :URL "http://dx.doi.org/10.1016/j.yhbeh.2016.10.009", :ISSN ["0018-506X"], @@ -12150,26 +12022,26 @@ {:value "Published by Elsevier Inc.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 98, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start - {:date-time "2017-06-01T00:00:00Z", - :date-parts [[2017 6 1]], + [{:start + {:date-parts [[2017 6 1]], + :date-time "2017-06-01T00:00:00Z", :timestamp 1496275200000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], :content-domain {:domain ["elsevier.com" "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Hormones and Behavior"], - :published-print {:date-parts [[2017 6]]}, + :published-print {:date-parts [[2017 6 1]]}, :DOI "10.1016/j.yhbeh.2016.10.014", :type "journal-article", :created - {:date-time "2016-11-02T18:18:40Z", - :date-parts [[2016 11 2]], + {:date-parts [[2016 11 2]], + :date-time "2016-11-02T18:18:40Z", :timestamp 1478110720000}, :page "117-127", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", @@ -12219,12 +12091,12 @@ :content-version "vor", :intended-application "text-mining"}], :deposited - {:date-time "2017-06-16T02:48:07Z", - :date-parts [[2017 6 16]], + {:date-parts [[2017 6 16]], + :date-time "2017-06-16T02:48:07Z", :timestamp 1497581287000}, - :score 1.0, - :issued {:date-parts [[2017 6]]}, - :references-count 0, + :score 0.0, + :issued {:date-parts [[2017 6 1]]}, + :references-count 98, :alternative-id ["S0018506X16301039"], :URL "http://dx.doi.org/10.1016/j.yhbeh.2016.10.014", :ISSN ["0018-506X"], @@ -12247,32 +12119,31 @@ {:value "© 2016 Elsevier Inc. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 112, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start - {:date-time "2017-06-01T00:00:00Z", - :date-parts [[2017 6 1]], + [{:start + {:date-parts [[2017 6 1]], + :date-time "2017-06-01T00:00:00Z", :timestamp 1496275200000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], :funder [{:DOI "10.13039/501100001352", :name "National University of Singapore", - :doi-asserted-by "publisher", - :award []} - {:name "NSF", :award ["1451848"]}], + :doi-asserted-by "publisher"} + {:name "NSF"}], :content-domain {:domain ["elsevier.com" "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Hormones and Behavior"], - :published-print {:date-parts [[2017 6]]}, + :published-print {:date-parts [[2017 6 1]]}, :DOI "10.1016/j.yhbeh.2016.10.020", :type "journal-article", :created - {:date-time "2016-11-01T21:46:54Z", - :date-parts [[2016 11 1]], + {:date-parts [[2016 11 1]], + :date-time "2016-11-01T21:46:54Z", :timestamp 1478036814000}, :page "128-140", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", @@ -12322,12 +12193,12 @@ :content-version "vor", :intended-application "text-mining"}], :deposited - {:date-time "2017-06-16T02:47:24Z", - :date-parts [[2017 6 16]], + {:date-parts [[2017 6 16]], + :date-time "2017-06-16T02:47:24Z", :timestamp 1497581244000}, - :score 1.0, - :issued {:date-parts [[2017 6]]}, - :references-count 0, + :score 0.0, + :issued {:date-parts [[2017 6 1]]}, + :references-count 112, :alternative-id ["S0018506X16300277"], :URL "http://dx.doi.org/10.1016/j.yhbeh.2016.10.020", :ISSN ["0018-506X"], @@ -12350,31 +12221,30 @@ {:value "© 2016 Elsevier Inc. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 76, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start - {:date-time "2017-06-01T00:00:00Z", - :date-parts [[2017 6 1]], + [{:start + {:date-parts [[2017 6 1]], + :date-time "2017-06-01T00:00:00Z", :timestamp 1496275200000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], :funder [{:DOI "10.13039/100006920", :name "University of Pennsylvania", - :doi-asserted-by "publisher", - :award []}], + :doi-asserted-by "publisher"}], :content-domain {:domain ["elsevier.com" "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Hormones and Behavior"], - :published-print {:date-parts [[2017 6]]}, + :published-print {:date-parts [[2017 6 1]]}, :DOI "10.1016/j.yhbeh.2016.11.003", :type "journal-article", :created - {:date-time "2016-11-10T09:46:30Z", - :date-parts [[2016 11 10]], + {:date-parts [[2016 11 10]], + :date-time "2016-11-10T09:46:30Z", :timestamp 1478771190000}, :page "172-181", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", @@ -12408,12 +12278,12 @@ :content-version "vor", :intended-application "text-mining"}], :deposited - {:date-time "2017-06-16T02:46:21Z", - :date-parts [[2017 6 16]], + {:date-parts [[2017 6 16]], + :date-time "2017-06-16T02:46:21Z", :timestamp 1497581181000}, - :score 1.0, - :issued {:date-parts [[2017 6]]}, - :references-count 0, + :score 0.0, + :issued {:date-parts [[2017 6 1]]}, + :references-count 76, :alternative-id ["S0018506X1630023X"], :URL "http://dx.doi.org/10.1016/j.yhbeh.2016.11.003", :ISSN ["0018-506X"], @@ -12436,26 +12306,26 @@ {:value "© 2016 Elsevier Inc. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 104, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start - {:date-time "2017-06-01T00:00:00Z", - :date-parts [[2017 6 1]], + [{:start + {:date-parts [[2017 6 1]], + :date-time "2017-06-01T00:00:00Z", :timestamp 1496275200000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], :content-domain {:domain ["elsevier.com" "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Hormones and Behavior"], - :published-print {:date-parts [[2017 6]]}, + :published-print {:date-parts [[2017 6 1]]}, :DOI "10.1016/j.yhbeh.2016.11.006", :type "journal-article", :created - {:date-time "2016-11-11T08:17:00Z", - :date-parts [[2016 11 11]], + {:date-parts [[2016 11 11]], + :date-time "2016-11-11T08:17:00Z", :timestamp 1478852220000}, :page "155-163", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", @@ -12485,12 +12355,12 @@ :content-version "vor", :intended-application "text-mining"}], :deposited - {:date-time "2017-06-16T02:47:38Z", - :date-parts [[2017 6 16]], + {:date-parts [[2017 6 16]], + :date-time "2017-06-16T02:47:38Z", :timestamp 1497581258000}, - :score 1.0, - :issued {:date-parts [[2017 6]]}, - :references-count 0, + :score 0.0, + :issued {:date-parts [[2017 6 1]]}, + :references-count 104, :alternative-id ["S0018506X16300848"], :URL "http://dx.doi.org/10.1016/j.yhbeh.2016.11.006", :ISSN ["0018-506X"], @@ -12513,45 +12383,43 @@ {:value "© 2016 Elsevier Inc. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 171, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start - {:date-time "2017-02-01T00:00:00Z", - :date-parts [[2017 2 1]], + [{:start + {:date-parts [[2017 2 1]], + :date-time "2017-02-01T00:00:00Z", :timestamp 1485907200000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"} - {:URL "http://creativecommons.org/licenses/by-nc-nd/4.0/", - :start - {:date-time "2016-07-01T00:00:00Z", - :date-parts [[2016 7 1]], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"} + {:start + {:date-parts [[2016 7 1]], + :date-time "2016-07-01T00:00:00Z", :timestamp 1467331200000}, + :content-version "vor", :delay-in-days 0, - :content-version "vor"}], + :URL "http://creativecommons.org/licenses/by-nc-nd/4.0/"}], :funder - [{:DOI "10.13039/501100001602", + [{:name "Health Research Board, Ireland (HRB)"} + {:DOI "10.13039/501100001602", :name "Science Foundation Ireland", - :doi-asserted-by "publisher", - :award ["SFI/12/RC/2273"]} - {:name "Health Research Board, Ireland (HRB)", - :award ["GC, TGD" "HRA_POR_2014_647"]}], + :doi-asserted-by "publisher"}], :content-domain {:domain ["elsevier.com" "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Neurobiology of Stress"], - :published-print {:date-parts [[2017 2]]}, + :published-print {:date-parts [[2017 2 1]]}, :DOI "10.1016/j.ynstr.2016.11.001", :type "journal-article", :created - {:date-time "2016-11-12T07:31:05Z", - :date-parts [[2016 11 12]], + {:date-parts [[2016 11 12]], + :date-time "2016-11-12T07:31:05Z", :timestamp 1478935865000}, :page "113-126", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", :source "Crossref", - :is-referenced-by-count 9, + :is-referenced-by-count 6, :title ["The Trier Social Stress Test: Principles and practice"], :prefix "10.1016", :volume "6", @@ -12595,12 +12463,12 @@ :content-version "vor", :intended-application "text-mining"}], :deposited - {:date-time "2017-07-13T16:58:45Z", - :date-parts [[2017 7 13]], + {:date-parts [[2017 7 13]], + :date-time "2017-07-13T16:58:45Z", :timestamp 1499965125000}, - :score 1.0, - :issued {:date-parts [[2017 2]]}, - :references-count 0, + :score 0.0, + :issued {:date-parts [[2017 2 1]]}, + :references-count 171, :alternative-id ["S2352289516300224"], :URL "http://dx.doi.org/10.1016/j.ynstr.2016.11.001", :ISSN ["2352-2895"], @@ -12622,16 +12490,16 @@ {:value "© 2016 The Authors. Published by Elsevier Inc.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 68, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start - {:date-time "2017-01-01T00:00:00Z", - :date-parts [[2017 1 1]], + [{:start + {:date-parts [[2017 1 1]], + :date-time "2017-01-01T00:00:00Z", :timestamp 1483228800000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], :content-domain {:domain ["clinicalkey.jp" @@ -12643,12 +12511,12 @@ "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Preventive Medicine"], - :published-print {:date-parts [[2017 1]]}, + :published-print {:date-parts [[2017 1 1]]}, :DOI "10.1016/j.ypmed.2016.11.003", :type "journal-article", :created - {:date-time "2016-11-09T12:01:48Z", - :date-parts [[2016 11 9]], + {:date-parts [[2016 11 9]], + :date-time "2016-11-09T12:01:48Z", :timestamp 1478692908000}, :page "12-19", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", @@ -12692,12 +12560,12 @@ :content-version "vor", :intended-application "text-mining"}], :deposited - {:date-time "2017-06-25T03:10:36Z", - :date-parts [[2017 6 25]], + {:date-parts [[2017 6 25]], + :date-time "2017-06-25T03:10:36Z", :timestamp 1498360236000}, - :score 1.0, - :issued {:date-parts [[2017 1]]}, - :references-count 0, + :score 0.0, + :issued {:date-parts [[2017 1 1]]}, + :references-count 68, :alternative-id ["S0091743516303486"], :URL "http://dx.doi.org/10.1016/j.ypmed.2016.11.003", :ISSN ["0091-7435"], diff --git a/dev-resources/works/?filter=type:peer-review.edn b/dev-resources/works/?filter=type:peer-review.edn index 932f4c2c..e35be056 100644 --- a/dev-resources/works/?filter=type:peer-review.edn +++ b/dev-resources/works/?filter=type:peer-review.edn @@ -2,27 +2,25 @@ :total-results 2, :items ({:reference-count 0, - :publisher "PeerJ", :content-domain {:domain []}, :published-print {:date-parts [[2015 7 14]]}, :DOI "10.7287/peerj.1078v0.2/reviews/1", :type "peer-review", :created - {:date-time "2018-01-10T17:22:19Z", - :date-parts [[2018 1 10]], + {:date-parts [[2018 1 10]], + :date-time "2018-01-10T17:22:19Z", :timestamp 1515604939000}, :source "Crossref", :is-referenced-by-count 0, :title ["Peer Review #1 of \"Multimodal Imaging Brain Connectivity Analysis (MIBCA) toolbox (v0.2)\""], :prefix "10.7287", - :member "4443", :review {:revision-round "3", :stage "pre-publication"}, :deposited - {:date-time "2018-01-10T17:22:19Z", - :date-parts [[2018 1 10]], + {:date-parts [[2018 1 10]], + :date-time "2018-01-10T17:22:19Z", :timestamp 1515604939000}, - :score 1.0, + :score 0.0, :issued {:date-parts [[2015 7 14]]}, :references-count 0, :URL "http://dx.doi.org/10.7287/peerj.1078v0.2/reviews/1", @@ -31,29 +29,50 @@ [{:id-type "doi", :id "10.7717/peerj.1078", :asserted-by "subject"}]}} - {:reference-count 0, - :publisher "PeerJ", + {:institution + {:name "Psychoceramics Institute", + :acronym ["PI"], + :place ["Pittsburg, Arizona"], + :department ["Soft furnishings"]}, + :reference-count 0, + :publisher "Rockefeller University Press", :content-domain {:domain []}, - :published-print {:date-parts [[2016 7 26]]}, + :published-print {:date-parts [[2017 4 19]]}, :DOI "10.7287/peerj.2196v0.1/reviews/2", :type "peer-review", :created - {:date-time "2018-01-09T23:59:03Z", - :date-parts [[2018 1 9]], - :timestamp 1515542343000}, + {:date-parts [[2018 1 9]], + :date-time "2018-01-09T18:42:21Z", + :timestamp 1515523341000}, :source "Crossref", :is-referenced-by-count 0, :title ["Peer Review #2 of \"Tissue mortality by Caribbean ciliate infection and white band disease in three reef-building coral species (v0.1)\""], :prefix "10.7287", - :member "4443", - :review {:revision-round "2", :stage "pre-publication"}, + :author + [{:ORCID "http://orcid.org/0000-0002-3368-4133", + :authenticated-orcid false, + :given "Xiaoguang", + :family "Fang", + :sequence "first", + :affiliation []}], + :member "291", + :review + {:type "referee-report", + :running-number "RC1", + :revision-round "2", + :stage "pre-publication", + :competing-interest-statement "There were no competing interests", + :recommendation "major-revision", + :language "en"}, + :original-title ["Der Titel"], :deposited - {:date-time "2018-01-09T23:59:03Z", - :date-parts [[2018 1 9]], - :timestamp 1515542343000}, - :score 1.0, - :issued {:date-parts [[2016 7 26]]}, + {:date-parts [[2018 1 9]], + :date-time "2018-01-09T18:42:21Z", + :timestamp 1515523341000}, + :score 0.0, + :subtitle ["The Subtitle"], + :issued {:date-parts [[2017 4 19]]}, :references-count 0, :URL "http://dx.doi.org/10.7287/peerj.2196v0.1/reviews/2", :relation diff --git a/dev-resources/works/query.title=Peer.edn b/dev-resources/works/query.title=Peer.edn index 88c15290..343c3835 100644 --- a/dev-resources/works/query.title=Peer.edn +++ b/dev-resources/works/query.title=Peer.edn @@ -2,27 +2,25 @@ :total-results 2, :items ({:reference-count 0, - :publisher "PeerJ", :content-domain {:domain []}, :published-print {:date-parts [[2015 7 14]]}, :DOI "10.7287/peerj.1078v0.2/reviews/1", :type "peer-review", :created - {:date-time "2018-01-10T17:22:19Z", - :date-parts [[2018 1 10]], + {:date-parts [[2018 1 10]], + :date-time "2018-01-10T17:22:19Z", :timestamp 1515604939000}, :source "Crossref", :is-referenced-by-count 0, :title ["Peer Review #1 of \"Multimodal Imaging Brain Connectivity Analysis (MIBCA) toolbox (v0.2)\""], :prefix "10.7287", - :member "4443", :review {:revision-round "3", :stage "pre-publication"}, :deposited - {:date-time "2018-01-10T17:22:19Z", - :date-parts [[2018 1 10]], + {:date-parts [[2018 1 10]], + :date-time "2018-01-10T17:22:19Z", :timestamp 1515604939000}, - :score 4.049763, + :score 4.5820146, :issued {:date-parts [[2015 7 14]]}, :references-count 0, :URL "http://dx.doi.org/10.7287/peerj.1078v0.2/reviews/1", @@ -31,29 +29,50 @@ [{:id-type "doi", :id "10.7717/peerj.1078", :asserted-by "subject"}]}} - {:reference-count 0, - :publisher "PeerJ", + {:institution + {:name "Psychoceramics Institute", + :acronym ["PI"], + :place ["Pittsburg, Arizona"], + :department ["Soft furnishings"]}, + :reference-count 0, + :publisher "Rockefeller University Press", :content-domain {:domain []}, - :published-print {:date-parts [[2016 7 26]]}, + :published-print {:date-parts [[2017 4 19]]}, :DOI "10.7287/peerj.2196v0.1/reviews/2", :type "peer-review", :created - {:date-time "2018-01-09T23:59:03Z", - :date-parts [[2018 1 9]], - :timestamp 1515542343000}, + {:date-parts [[2018 1 9]], + :date-time "2018-01-09T18:42:21Z", + :timestamp 1515523341000}, :source "Crossref", :is-referenced-by-count 0, :title ["Peer Review #2 of \"Tissue mortality by Caribbean ciliate infection and white band disease in three reef-building coral species (v0.1)\""], :prefix "10.7287", - :member "4443", - :review {:revision-round "2", :stage "pre-publication"}, + :author + [{:ORCID "http://orcid.org/0000-0002-3368-4133", + :authenticated-orcid false, + :given "Xiaoguang", + :family "Fang", + :sequence "first", + :affiliation []}], + :member "291", + :review + {:type "referee-report", + :running-number "RC1", + :revision-round "2", + :stage "pre-publication", + :competing-interest-statement "There were no competing interests", + :recommendation "major-revision", + :language "en"}, + :original-title ["Der Titel"], :deposited - {:date-time "2018-01-09T23:59:03Z", - :date-parts [[2018 1 9]], - :timestamp 1515542343000}, - :score 3.0164347, - :issued {:date-parts [[2016 7 26]]}, + {:date-parts [[2018 1 9]], + :date-time "2018-01-09T18:42:21Z", + :timestamp 1515523341000}, + :score 3.4288158, + :subtitle ["The Subtitle"], + :issued {:date-parts [[2017 4 19]]}, :references-count 0, :URL "http://dx.doi.org/10.7287/peerj.2196v0.1/reviews/2", :relation diff --git a/dev-resources/works/query.title=Socioeconomic.edn b/dev-resources/works/query.title=Socioeconomic.edn index 0e1de0ad..705df52b 100644 --- a/dev-resources/works/query.title=Socioeconomic.edn +++ b/dev-resources/works/query.title=Socioeconomic.edn @@ -1,16 +1,16 @@ {:facets {}, :total-results 1, :items - ({:reference-count 0, + ({:reference-count 34, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start - {:date-time "2017-01-01T00:00:00Z", - :date-parts [[2017 1 1]], + [{:start + {:date-parts [[2017 1 1]], + :date-time "2017-01-01T00:00:00Z", :timestamp 1483228800000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], :content-domain {:domain ["psyneuen-journal.com" @@ -23,12 +23,12 @@ "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Psychoneuroendocrinology"], - :published-print {:date-parts [[2017 1]]}, + :published-print {:date-parts [[2017 1 1]]}, :DOI "10.1016/j.psyneuen.2016.09.025", :type "journal-article", :created - {:date-time "2016-10-10T07:11:11Z", - :date-parts [[2016 10 10]], + {:date-parts [[2016 10 10]], + :date-time "2016-10-10T07:11:11Z", :timestamp 1476083471000}, :page "36-43", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", @@ -66,12 +66,12 @@ :content-version "vor", :intended-application "text-mining"}], :deposited - {:date-time "2017-11-30T15:51:07Z", - :date-parts [[2017 11 30]], + {:date-parts [[2017 11 30]], + :date-time "2017-11-30T15:51:07Z", :timestamp 1512057067000}, - :score 4.5334864, - :issued {:date-parts [[2017 1]]}, - :references-count 0, + :score 4.9771366, + :issued {:date-parts [[2017 1 1]]}, + :references-count 34, :alternative-id ["S0306453016307545"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.09.025", :ISSN ["0306-4530"], From f38ad2e4bff88be19af16386d180b3cc14b6814d Mon Sep 17 00:00:00 2001 From: Mark Woodhall Date: Tue, 8 May 2018 10:59:51 +0100 Subject: [PATCH 133/156] Extract long doi for transform resources As per the logic for a works resource we should extract the long doi. This commit also includes minor updates to the transform assertion data. --- .../j.psyneuen.2016.10.018/transform/application/rdf+xml | 6 +++--- .../transform/application/x-research-info-systems | 2 +- .../10.1016/j.psyneuen.2016.10.018/transform/text/n-triples | 4 ++-- .../works/10.1016/j.psyneuen.2016.10.018/transform/text/n3 | 2 +- .../10.1016/j.psyneuen.2016.10.018/transform/text/turtle | 2 +- src/cayenne/api/v1/routes.clj | 6 ++---- 6 files changed, 10 insertions(+), 12 deletions(-) diff --git a/dev-resources/works/10.1016/j.psyneuen.2016.10.018/transform/application/rdf+xml b/dev-resources/works/10.1016/j.psyneuen.2016.10.018/transform/application/rdf+xml index 7f182226..d942ac90 100644 --- a/dev-resources/works/10.1016/j.psyneuen.2016.10.018/transform/application/rdf+xml +++ b/dev-resources/works/10.1016/j.psyneuen.2016.10.018/transform/application/rdf+xml @@ -7,7 +7,8 @@ xmlns:j.3="http://xmlns.com/foaf/0.1/"> - Elsevier BV + 2017-01-01 132 75 @@ -37,8 +38,6 @@ Katharina - 2017-01 Christian Otte @@ -70,6 +69,7 @@ Katja + Elsevier BV 140 diff --git a/dev-resources/works/10.1016/j.psyneuen.2016.10.018/transform/application/x-research-info-systems b/dev-resources/works/10.1016/j.psyneuen.2016.10.018/transform/application/x-research-info-systems index 44ebddbd..1cdda368 100644 --- a/dev-resources/works/10.1016/j.psyneuen.2016.10.018/transform/application/x-research-info-systems +++ b/dev-resources/works/10.1016/j.psyneuen.2016.10.018/transform/application/x-research-info-systems @@ -10,7 +10,7 @@ AU - Hellmann-Regen, Julian AU - Piber, Dominique AU - Otte, Christian PY - 2017 -DA - 2017/01 +DA - 2017/01/01 PB - Elsevier BV SP - 132-140 VL - 75 diff --git a/dev-resources/works/10.1016/j.psyneuen.2016.10.018/transform/text/n-triples b/dev-resources/works/10.1016/j.psyneuen.2016.10.018/transform/text/n-triples index 7ac02149..70e4d92e 100644 --- a/dev-resources/works/10.1016/j.psyneuen.2016.10.018/transform/text/n-triples +++ b/dev-resources/works/10.1016/j.psyneuen.2016.10.018/transform/text/n-triples @@ -1,5 +1,5 @@ . - "Elsevier BV" . + "2017-01-01"^^ . "132" . "75" . . @@ -11,13 +11,13 @@ "10.1016/j.psyneuen.2016.10.018" . "75" . . - "2017-01"^^ . . . "140" . "10.1016/j.psyneuen.2016.10.018" . . . + "Elsevier BV" . "140" . "urn:issn:0306-4530" . "Psychoneuroendocrinology" . diff --git a/dev-resources/works/10.1016/j.psyneuen.2016.10.018/transform/text/n3 b/dev-resources/works/10.1016/j.psyneuen.2016.10.018/transform/text/n3 index ec666084..2264a131 100644 --- a/dev-resources/works/10.1016/j.psyneuen.2016.10.018/transform/text/n3 +++ b/dev-resources/works/10.1016/j.psyneuen.2016.10.018/transform/text/n3 @@ -19,7 +19,7 @@ , , , , , ; - "2017-01"^^ ; + "2017-01-01"^^ ; "10.1016/j.psyneuen.2016.10.018" ; diff --git a/dev-resources/works/10.1016/j.psyneuen.2016.10.018/transform/text/turtle b/dev-resources/works/10.1016/j.psyneuen.2016.10.018/transform/text/turtle index 3f6c68a4..ec45177a 100644 --- a/dev-resources/works/10.1016/j.psyneuen.2016.10.018/transform/text/turtle +++ b/dev-resources/works/10.1016/j.psyneuen.2016.10.018/transform/text/turtle @@ -19,7 +19,7 @@ , , , , , ; - "2017-01"^^ ; + "2017-01-01"^^ ; "10.1016/j.psyneuen.2016.10.018" ; diff --git a/src/cayenne/api/v1/routes.clj b/src/cayenne/api/v1/routes.clj index 979dbf96..6bf3c009 100644 --- a/src/cayenne/api/v1/routes.clj +++ b/src/cayenne/api/v1/routes.clj @@ -166,8 +166,7 @@ :allowed-methods [:get :options :head] :media-type-available? (conneg/content-type-matches t/work-transform) :exists? (->1 #(when-let [work (-> doi - (URLDecoder/decode) - (doi-id/to-long-doi-uri) + doi-id/extract-long-doi (work/fetch-one))] {:work work})) :handle-ok #(let [links (link/make-link-headers @@ -184,8 +183,7 @@ :allowed-methods [:get :options :head] :media-type-available? (fn [_] (some #{content-type} t/work-transform)) :exists? (->1 #(when-let [work (-> doi - (URLDecoder/decode) - (doi-id/to-long-doi-uri) + doi-id/extract-long-doi (work/fetch-one))] {:work work})) :handle-ok #(let [links (link/make-link-headers From 74e1441d45f9d37b24a03d4d9e56e0f9224c8880 Mon Sep 17 00:00:00 2001 From: Mark Woodhall Date: Tue, 8 May 2018 14:21:57 +0100 Subject: [PATCH 134/156] expose issn type as :type not :kind This commit also includes a regeneration of the journal based assertion date for minor changes --- dev-resources/titles-offset-20.edn | 152 ++- dev-resources/titles-offset-40.edn | 294 +++- dev-resources/titles.edn | 90 +- dev-resources/titles/0306-4530-works.edn | 1555 ++++++++++------------ dev-resources/titles/0306-4530.edn | 12 +- dev-resources/titles/2303-5595.edn | 2 +- dev-resources/titles/2542-1298.edn | 2 +- src/cayenne/tasks/journal.clj | 6 +- 8 files changed, 1151 insertions(+), 962 deletions(-) diff --git a/dev-resources/titles-offset-20.edn b/dev-resources/titles-offset-20.edn index 29784568..11978597 100644 --- a/dev-resources/titles-offset-20.edn +++ b/dev-resources/titles-offset-20.edn @@ -2,7 +2,7 @@ :query {:start-index 20, :search-terms nil}, :total-results 366, :items - ({:counts {:total-dois 0, :current-dois 0, :backfile-dois 0}, + ({:counts {:current-dois 0, :backfile-dois 0, :total-dois 0}, :breakdowns {:dois-by-issued-year []}, :publisher "Vilnius Gediminas Technical University", :coverage @@ -50,7 +50,7 @@ :deposits-licenses-current false}, :ISSN ["2029-7149"], :issn-type [{:value "2029-7149", :type "electronic"}]} - {:counts {:total-dois 0, :current-dois 0, :backfile-dois 0}, + {:counts {:current-dois 0, :backfile-dois 0, :total-dois 0}, :breakdowns {:dois-by-issued-year []}, :publisher "OpenEdition", :coverage @@ -95,11 +95,11 @@ :deposits-funders-backfile false, :deposits-update-policies-current false, :deposits-licenses-current false}, - :ISSN ["1960-6176" "0769-0959"], + :ISSN ["0769-0959" "1960-6176"], :issn-type - [{:value "1960-6176", :type "electronic"} - {:value "0769-0959", :type "print"}]} - {:counts {:total-dois 0, :current-dois 0, :backfile-dois 0}, + [{:value "0769-0959", :type "print"} + {:value "1960-6176", :type "electronic"}]} + {:counts {:current-dois 0, :backfile-dois 0, :total-dois 0}, :breakdowns {:dois-by-issued-year []}, :publisher "Open Library of Humanities", :coverage @@ -147,7 +147,7 @@ :deposits-licenses-current false}, :ISSN ["1755-1560"], :issn-type [{:value "1755-1560", :type "electronic"}]} - {:counts {:total-dois 0, :current-dois 0, :backfile-dois 0}, + {:counts {:current-dois 0, :backfile-dois 0, :total-dois 0}, :breakdowns {:dois-by-issued-year []}, :publisher "University of California Press", :coverage @@ -192,11 +192,11 @@ :deposits-funders-backfile false, :deposits-update-policies-current false, :deposits-licenses-current false}, - :ISSN ["1533-8606" "0148-2076"], + :ISSN ["0148-2076" "1533-8606"], :issn-type - [{:value "1533-8606", :type "electronic"} - {:value "0148-2076", :type "print"}]} - {:counts {:total-dois 0, :current-dois 0, :backfile-dois 0}, + [{:value "0148-2076", :type "print"} + {:value "1533-8606", :type "electronic"}]} + {:counts {:current-dois 0, :backfile-dois 0, :total-dois 0}, :breakdowns {:dois-by-issued-year []}, :publisher "21st Century Political Science Association", :coverage @@ -243,7 +243,7 @@ :deposits-licenses-current false}, :ISSN ["1229-5167"], :issn-type [{:value "1229-5167", :type "print"}]} - {:counts {:total-dois 0, :current-dois 0, :backfile-dois 0}, + {:counts {:current-dois 0, :backfile-dois 0, :total-dois 0}, :breakdowns {:dois-by-issued-year []}, :publisher "21st Century Political Science Association", :coverage @@ -290,7 +290,7 @@ :deposits-licenses-current false}, :ISSN ["1229-5167"], :issn-type [{:value "1229-5167", :type "print"}]} - {:counts {:total-dois 0, :current-dois 0, :backfile-dois 0}, + {:counts {:current-dois 0, :backfile-dois 0, :total-dois 0}, :breakdowns {:dois-by-issued-year []}, :publisher "ABED - Associacao Brasileira de Educacao a Distancia", :coverage @@ -338,7 +338,7 @@ :deposits-licenses-current false}, :ISSN ["2175-4098"], :issn-type [{:value "2175-4098", :type "electronic"}]} - {:counts {:total-dois 0, :current-dois 0, :backfile-dois 0}, + {:counts {:current-dois 0, :backfile-dois 0, :total-dois 0}, :breakdowns {:dois-by-issued-year []}, :publisher "\"Editora Edgard Blucher, Ltda.\"", :coverage @@ -385,7 +385,7 @@ :deposits-licenses-current false}, :ISSN ["2358-9337"], :issn-type [{:value "2358-9337", :type "electronic"}]} - {:counts {:total-dois 0, :current-dois 0, :backfile-dois 0}, + {:counts {:current-dois 0, :backfile-dois 0, :total-dois 0}, :breakdowns {:dois-by-issued-year []}, :publisher "JSTOR", :coverage @@ -432,7 +432,7 @@ :deposits-licenses-current false}, :ISSN ["1054-7193"], :issn-type [{:value "1054-7193", :type "print"}]} - {:counts {:total-dois 0, :current-dois 0, :backfile-dois 0}, + {:counts {:current-dois 0, :backfile-dois 0, :total-dois 0}, :breakdowns {:dois-by-issued-year []}, :publisher "IOP Publishing", :coverage @@ -479,7 +479,7 @@ :deposits-licenses-current false}, :ISSN ["2053-1583"], :issn-type [{:value "2053-1583", :type "electronic"}]} - {:counts {:total-dois 0, :current-dois 0, :backfile-dois 0}, + {:counts {:current-dois 0, :backfile-dois 0, :total-dois 0}, :breakdowns {:dois-by-issued-year []}, :publisher "Springer-Verlag", :coverage @@ -524,11 +524,11 @@ :deposits-funders-backfile false, :deposits-update-policies-current false, :deposits-licenses-current false}, - :ISSN ["2190-5738" "2190-572X"], + :ISSN ["2190-572X" "2190-5738"], :issn-type - [{:value "2190-5738", :type "electronic"} - {:value "2190-572X", :type "print"}]} - {:counts {:total-dois 0, :current-dois 0, :backfile-dois 0}, + [{:value "2190-572X", :type "print"} + {:value "2190-5738", :type "electronic"}]} + {:counts {:current-dois 0, :backfile-dois 0, :total-dois 0}, :breakdowns {:dois-by-issued-year []}, :publisher "Makale Sistemi/Geomes", :coverage @@ -575,16 +575,54 @@ :deposits-licenses-current false}, :ISSN ["2148-1237"], :issn-type [{:value "2148-1237", :type "electronic"}]} - {:counts nil, - :breakdowns nil, + {:counts {:current-dois 0, :backfile-dois 0, :total-dois 0}, + :breakdowns {:dois-by-issued-year []}, :publisher "DEStech Publications", - :coverage nil, + :coverage + {:affiliations-current 0, + :funders-backfile 0, + :licenses-backfile 0, + :funders-current 0, + :affiliations-backfile 0, + :resource-links-backfile 0, + :orcids-backfile 0, + :update-policies-current 0, + :orcids-current 0, + :references-backfile 0, + :award-numbers-backfile 0, + :update-policies-backfile 0, + :licenses-current 0, + :award-numbers-current 0, + :abstracts-backfile 0, + :resource-links-current 0, + :abstracts-current 0, + :references-current 0}, :title "30th International Symposium on Ballistics", :subjects [], - :flags nil, + :flags + {:deposits-abstracts-current false, + :deposits-orcids-current false, + :deposits false, + :deposits-affiliations-backfile false, + :deposits-update-policies-backfile false, + :deposits-award-numbers-current false, + :deposits-resource-links-current false, + :deposits-articles false, + :deposits-affiliations-current false, + :deposits-funders-current false, + :deposits-references-backfile false, + :deposits-abstracts-backfile false, + :deposits-licenses-backfile false, + :deposits-award-numbers-backfile false, + :deposits-references-current false, + :deposits-resource-links-backfile false, + :deposits-orcids-backfile false, + :deposits-funders-backfile false, + :deposits-update-policies-current false, + :deposits-licenses-current false}, :ISSN [], :issn-type []} - {:counts {:total-dois 0, :current-dois 0, :backfile-dois 0}, + {:counts {:current-dois 0, :backfile-dois 0, :total-dois 0}, :breakdowns {:dois-by-issued-year []}, :publisher "Sistema de Bibliotecas PUCP", :coverage @@ -631,7 +669,7 @@ :deposits-licenses-current false}, :ISSN ["2518-0495"], :issn-type [{:value "2518-0495", :type "electronic"}]} - {:counts {:total-dois 0, :current-dois 0, :backfile-dois 0}, + {:counts {:current-dois 0, :backfile-dois 0, :total-dois 0}, :breakdowns {:dois-by-issued-year []}, :publisher "Barbara Budrich Publishers", :coverage @@ -677,20 +715,58 @@ :deposits-funders-backfile false, :deposits-update-policies-current false, :deposits-licenses-current false}, - :ISSN ["2366-4177" "1863-8783"], + :ISSN ["1863-8783" "2366-4177"], :issn-type - [{:value "2366-4177", :type "electronic"} - {:value "1863-8783", :type "print"}]} - {:counts nil, - :breakdowns nil, + [{:value "1863-8783", :type "print"} + {:value "2366-4177", :type "electronic"}]} + {:counts {:current-dois 0, :backfile-dois 0, :total-dois 0}, + :breakdowns {:dois-by-issued-year []}, :publisher "Innovative Medical Technologies Development Foundation", - :coverage nil, + :coverage + {:affiliations-current 0, + :funders-backfile 0, + :licenses-backfile 0, + :funders-current 0, + :affiliations-backfile 0, + :resource-links-backfile 0, + :orcids-backfile 0, + :update-policies-current 0, + :orcids-current 0, + :references-backfile 0, + :award-numbers-backfile 0, + :update-policies-backfile 0, + :licenses-current 0, + :award-numbers-current 0, + :abstracts-backfile 0, + :resource-links-current 0, + :abstracts-current 0, + :references-current 0}, :title "36510", :subjects [], - :flags nil, + :flags + {:deposits-abstracts-current false, + :deposits-orcids-current false, + :deposits false, + :deposits-affiliations-backfile false, + :deposits-update-policies-backfile false, + :deposits-award-numbers-current false, + :deposits-resource-links-current false, + :deposits-articles false, + :deposits-affiliations-current false, + :deposits-funders-current false, + :deposits-references-backfile false, + :deposits-abstracts-backfile false, + :deposits-licenses-backfile false, + :deposits-award-numbers-backfile false, + :deposits-references-current false, + :deposits-resource-links-backfile false, + :deposits-orcids-backfile false, + :deposits-funders-backfile false, + :deposits-update-policies-current false, + :deposits-licenses-current false}, :ISSN [], :issn-type []} - {:counts {:total-dois 0, :current-dois 0, :backfile-dois 0}, + {:counts {:current-dois 0, :backfile-dois 0, :total-dois 0}, :breakdowns {:dois-by-issued-year []}, :publisher "\"Area de Innovacion y Desarrollo, S.L. - 3 Ciencias\"", :coverage @@ -737,7 +813,7 @@ :deposits-licenses-current false}, :ISSN ["2254-3376"], :issn-type [{:value "2254-3376", :type "electronic"}]} - {:counts {:total-dois 0, :current-dois 0, :backfile-dois 0}, + {:counts {:current-dois 0, :backfile-dois 0, :total-dois 0}, :breakdowns {:dois-by-issued-year []}, :publisher "Association for Computing Machinery", :coverage @@ -784,7 +860,7 @@ :deposits-licenses-current false}, :ISSN ["1078-2192"], :issn-type [{:value "1078-2192", :type "print"}]} - {:counts {:total-dois 0, :current-dois 0, :backfile-dois 0}, + {:counts {:current-dois 0, :backfile-dois 0, :total-dois 0}, :breakdowns {:dois-by-issued-year []}, :publisher "\"Area de Innovacion y Desarrollo, S.L. - 3 Ciencias\"", :coverage @@ -831,7 +907,7 @@ :deposits-licenses-current false}, :ISSN ["2254-4143"], :issn-type [{:value "2254-4143", :type "electronic"}]} - {:counts {:total-dois 0, :current-dois 0, :backfile-dois 0}, + {:counts {:current-dois 0, :backfile-dois 0, :total-dois 0}, :breakdowns {:dois-by-issued-year []}, :publisher "\"Area de Innovacion y Desarrollo, S.L. - 3 Ciencias\"", :coverage diff --git a/dev-resources/titles-offset-40.edn b/dev-resources/titles-offset-40.edn index fda52036..2bba5ca6 100644 --- a/dev-resources/titles-offset-40.edn +++ b/dev-resources/titles-offset-40.edn @@ -2,7 +2,7 @@ :query {:start-index 40, :search-terms nil}, :total-results 366, :items - ({:counts {:total-dois 0, :current-dois 0, :backfile-dois 0}, + ({:counts {:current-dois 0, :backfile-dois 0, :total-dois 0}, :breakdowns {:dois-by-issued-year []}, :publisher "Mary Ann Liebert", :coverage @@ -47,11 +47,11 @@ :deposits-funders-backfile false, :deposits-update-policies-current false, :deposits-licenses-current false}, - :ISSN ["2329-7670" "2329-7662"], + :ISSN ["2329-7662" "2329-7670"], :issn-type - [{:value "2329-7670", :type "electronic"} - {:value "2329-7662", :type "print"}]} - {:counts {:total-dois 0, :current-dois 0, :backfile-dois 0}, + [{:value "2329-7662", :type "print"} + {:value "2329-7670", :type "electronic"}]} + {:counts {:current-dois 0, :backfile-dois 0, :total-dois 0}, :breakdowns {:dois-by-issued-year []}, :publisher "Springer (Biomed Central Ltd.)", :coverage @@ -98,7 +98,7 @@ :deposits-licenses-current false}, :ISSN ["2365-6271"], :issn-type [{:value "2365-6271", :type "electronic"}]} - {:counts {:total-dois 0, :current-dois 0, :backfile-dois 0}, + {:counts {:current-dois 0, :backfile-dois 0, :total-dois 0}, :breakdowns {:dois-by-issued-year []}, :publisher "Springer-Verlag", :coverage @@ -145,7 +145,7 @@ :deposits-licenses-current false}, :ISSN ["2092-6731"], :issn-type [{:value "2092-6731", :type "electronic"}]} - {:counts {:total-dois 0, :current-dois 0, :backfile-dois 0}, + {:counts {:current-dois 0, :backfile-dois 0, :total-dois 0}, :breakdowns {:dois-by-issued-year []}, :publisher "Penerbit Universiti Kebangsaan Malaysia (UKM Press)", :coverage @@ -190,11 +190,11 @@ :deposits-funders-backfile false, :deposits-update-policies-current false, :deposits-licenses-current false}, - :ISSN ["2550-2247" "0128-5157"], + :ISSN ["0128-5157" "2550-2247"], :issn-type - [{:value "2550-2247", :type "electronic"} - {:value "0128-5157", :type "print"}]} - {:counts {:total-dois 0, :current-dois 0, :backfile-dois 0}, + [{:value "0128-5157", :type "print"} + {:value "2550-2247", :type "electronic"}]} + {:counts {:current-dois 0, :backfile-dois 0, :total-dois 0}, :breakdowns {:dois-by-issued-year []}, :publisher "EDP Sciences", :coverage @@ -241,7 +241,7 @@ :deposits-licenses-current false}, :ISSN ["2557-0250"], :issn-type [{:value "2557-0250", :type "electronic"}]} - {:counts {:total-dois 0, :current-dois 0, :backfile-dois 0}, + {:counts {:current-dois 0, :backfile-dois 0, :total-dois 0}, :breakdowns {:dois-by-issued-year []}, :publisher "Springer-Verlag", :coverage @@ -286,11 +286,11 @@ :deposits-funders-backfile false, :deposits-update-policies-current false, :deposits-licenses-current false}, - :ISSN ["1614-2411" "1619-4500"], + :ISSN ["1619-4500" "1614-2411"], :issn-type - [{:value "1614-2411", :type "electronic"} - {:value "1619-4500", :type "print"}]} - {:counts {:total-dois 0, :current-dois 0, :backfile-dois 0}, + [{:value "1619-4500", :type "print"} + {:value "1614-2411", :type "electronic"}]} + {:counts {:current-dois 0, :backfile-dois 0, :total-dois 0}, :breakdowns {:dois-by-issued-year []}, :publisher "Mark Allen Group", :coverage @@ -335,11 +335,11 @@ :deposits-funders-backfile false, :deposits-update-policies-current false, :deposits-licenses-current false}, - :ISSN ["2052-4595" "1746-7500"], + :ISSN ["1746-7500" "2052-4595"], :issn-type - [{:value "2052-4595", :type "electronic"} - {:value "1746-7500", :type "print"}]} - {:counts {:total-dois 0, :current-dois 0, :backfile-dois 0}, + [{:value "1746-7500", :type "print"} + {:value "2052-4595", :type "electronic"}]} + {:counts {:current-dois 0, :backfile-dois 0, :total-dois 0}, :breakdowns {:dois-by-issued-year []}, :publisher "Ovid Technologies (Wolters Kluwer) - Anesthesia & Analgesia", @@ -387,7 +387,7 @@ :deposits-licenses-current false}, :ISSN ["2325-7237"], :issn-type [{:value "2325-7237", :type "print"}]} - {:counts {:total-dois 0, :current-dois 0, :backfile-dois 0}, + {:counts {:current-dois 0, :backfile-dois 0, :total-dois 0}, :breakdowns {:dois-by-issued-year []}, :publisher "Ovid Technologies (Wolters Kluwer) - Anesthesia & Analgesia", @@ -435,7 +435,7 @@ :deposits-licenses-current false}, :ISSN ["2575-3126"], :issn-type [{:value "2575-3126", :type "print"}]} - {:counts {:total-dois 0, :current-dois 0, :backfile-dois 0}, + {:counts {:current-dois 0, :backfile-dois 0, :total-dois 0}, :breakdowns {:dois-by-issued-year []}, :publisher "International Monetary Fund", :coverage @@ -482,7 +482,7 @@ :deposits-licenses-current false}, :ISSN ["1934-7073"], :issn-type [{:value "1934-7073", :type "print"}]} - {:counts {:total-dois 0, :current-dois 0, :backfile-dois 0}, + {:counts {:current-dois 0, :backfile-dois 0, :total-dois 0}, :breakdowns {:dois-by-issued-year []}, :publisher "Centro interdisciplinar de Pesquisa em Educacao e Direito CIPED", @@ -530,7 +530,7 @@ :deposits-licenses-current false}, :ISSN ["2236-6695"], :issn-type [{:value "2236-6695", :type "electronic"}]} - {:counts {:total-dois 0, :current-dois 0, :backfile-dois 0}, + {:counts {:current-dois 0, :backfile-dois 0, :total-dois 0}, :breakdowns {:dois-by-issued-year []}, :publisher "Universidade Estadual de Feira de Santana", :coverage @@ -577,7 +577,7 @@ :deposits-licenses-current false}, :ISSN ["1415-8973"], :issn-type [{:value "1415-8973", :type "print"}]} - {:counts {:total-dois 0, :current-dois 0, :backfile-dois 0}, + {:counts {:current-dois 0, :backfile-dois 0, :total-dois 0}, :breakdowns {:dois-by-issued-year []}, :publisher "SAGE Publications", :coverage @@ -622,21 +622,59 @@ :deposits-funders-backfile false, :deposits-update-policies-current false, :deposits-licenses-current false}, - :ISSN ["2376-6662" "0011-3255"], + :ISSN ["0011-3255" "2376-6662"], :issn-type - [{:value "2376-6662", :type "electronic"} - {:value "0011-3255", :type "print"}]} - {:counts nil, - :breakdowns nil, + [{:value "0011-3255", :type "print"} + {:value "2376-6662", :type "electronic"}]} + {:counts {:current-dois 0, :backfile-dois 0, :total-dois 0}, + :breakdowns {:dois-by-issued-year []}, :publisher "Fundacao Educacional de Criciuma- FUCRI", - :coverage nil, + :coverage + {:affiliations-current 0, + :funders-backfile 0, + :licenses-backfile 0, + :funders-current 0, + :affiliations-backfile 0, + :resource-links-backfile 0, + :orcids-backfile 0, + :update-policies-current 0, + :orcids-current 0, + :references-backfile 0, + :award-numbers-backfile 0, + :update-policies-backfile 0, + :licenses-current 0, + :award-numbers-current 0, + :abstracts-backfile 0, + :resource-links-current 0, + :abstracts-current 0, + :references-current 0}, :title "A ESCALA DE BORG COMO INSTRUMENTO DE MENSURAÇÃO DA INTENSIDADE DE AULAS DE ZUMBA", :subjects [], - :flags nil, + :flags + {:deposits-abstracts-current false, + :deposits-orcids-current false, + :deposits false, + :deposits-affiliations-backfile false, + :deposits-update-policies-backfile false, + :deposits-award-numbers-current false, + :deposits-resource-links-current false, + :deposits-articles false, + :deposits-affiliations-current false, + :deposits-funders-current false, + :deposits-references-backfile false, + :deposits-abstracts-backfile false, + :deposits-licenses-backfile false, + :deposits-award-numbers-backfile false, + :deposits-references-current false, + :deposits-resource-links-backfile false, + :deposits-orcids-backfile false, + :deposits-funders-backfile false, + :deposits-update-policies-current false, + :deposits-licenses-current false}, :ISSN [], :issn-type []} - {:counts {:total-dois 0, :current-dois 0, :backfile-dois 0}, + {:counts {:current-dois 0, :backfile-dois 0, :total-dois 0}, :breakdowns {:dois-by-issued-year []}, :publisher "\"Universidade Autonoma de Lisboa, EdiUal\"", :coverage @@ -683,18 +721,56 @@ :deposits-licenses-current false}, :ISSN ["0873-495X" "0873-495X"], :issn-type - [{:value "0873-495X", :type "electronic"} - {:value "0873-495X", :type "print"}]} - {:counts nil, - :breakdowns nil, + [{:value "0873-495X", :type "print"} + {:value "0873-495X", :type "electronic"}]} + {:counts {:current-dois 0, :backfile-dois 0, :total-dois 0}, + :breakdowns {:dois-by-issued-year []}, :publisher "Cairo Center for Development Benchmarking", - :coverage nil, + :coverage + {:affiliations-current 0, + :funders-backfile 0, + :licenses-backfile 0, + :funders-current 0, + :affiliations-backfile 0, + :resource-links-backfile 0, + :orcids-backfile 0, + :update-policies-current 0, + :orcids-current 0, + :references-backfile 0, + :award-numbers-backfile 0, + :update-policies-backfile 0, + :licenses-current 0, + :award-numbers-current 0, + :abstracts-backfile 0, + :resource-links-current 0, + :abstracts-current 0, + :references-current 0}, :title "A General Approach to Panel Data Set-Theoretic Research", :subjects [], - :flags nil, + :flags + {:deposits-abstracts-current false, + :deposits-orcids-current false, + :deposits false, + :deposits-affiliations-backfile false, + :deposits-update-policies-backfile false, + :deposits-award-numbers-current false, + :deposits-resource-links-current false, + :deposits-articles false, + :deposits-affiliations-current false, + :deposits-funders-current false, + :deposits-references-backfile false, + :deposits-abstracts-backfile false, + :deposits-licenses-backfile false, + :deposits-award-numbers-backfile false, + :deposits-references-current false, + :deposits-resource-links-backfile false, + :deposits-orcids-backfile false, + :deposits-funders-backfile false, + :deposits-update-policies-current false, + :deposits-licenses-current false}, :ISSN [], :issn-type []} - {:counts {:total-dois 0, :current-dois 0, :backfile-dois 0}, + {:counts {:current-dois 0, :backfile-dois 0, :total-dois 0}, :breakdowns {:dois-by-issued-year []}, :publisher "Informa UK (Taylor & Francis)", :coverage @@ -741,33 +817,147 @@ :deposits-licenses-current false}, :ISSN ["0569-5554"], :issn-type [{:value "0569-5554", :type "print"}]} - {:counts nil, - :breakdowns nil, + {:counts {:current-dois 0, :backfile-dois 0, :total-dois 0}, + :breakdowns {:dois-by-issued-year []}, :publisher "Fundacao Educacional de Criciuma- FUCRI", - :coverage nil, + :coverage + {:affiliations-current 0, + :funders-backfile 0, + :licenses-backfile 0, + :funders-current 0, + :affiliations-backfile 0, + :resource-links-backfile 0, + :orcids-backfile 0, + :update-policies-current 0, + :orcids-current 0, + :references-backfile 0, + :award-numbers-backfile 0, + :update-policies-backfile 0, + :licenses-current 0, + :award-numbers-current 0, + :abstracts-backfile 0, + :resource-links-current 0, + :abstracts-current 0, + :references-current 0}, :title "A INFLUÊNCIA DA PUBLICIDADE NA TRANSIÇÃO NUTRICIONAL UMA SÍNTESE PARA ENTENDER A OBESIDADE", :subjects [], - :flags nil, + :flags + {:deposits-abstracts-current false, + :deposits-orcids-current false, + :deposits false, + :deposits-affiliations-backfile false, + :deposits-update-policies-backfile false, + :deposits-award-numbers-current false, + :deposits-resource-links-current false, + :deposits-articles false, + :deposits-affiliations-current false, + :deposits-funders-current false, + :deposits-references-backfile false, + :deposits-abstracts-backfile false, + :deposits-licenses-backfile false, + :deposits-award-numbers-backfile false, + :deposits-references-current false, + :deposits-resource-links-backfile false, + :deposits-orcids-backfile false, + :deposits-funders-backfile false, + :deposits-update-policies-current false, + :deposits-licenses-current false}, :ISSN [], :issn-type []} - {:counts nil, - :breakdowns nil, + {:counts {:current-dois 0, :backfile-dois 0, :total-dois 0}, + :breakdowns {:dois-by-issued-year []}, :publisher "Fundacao Educacional de Criciuma- FUCRI", - :coverage nil, + :coverage + {:affiliations-current 0, + :funders-backfile 0, + :licenses-backfile 0, + :funders-current 0, + :affiliations-backfile 0, + :resource-links-backfile 0, + :orcids-backfile 0, + :update-policies-current 0, + :orcids-current 0, + :references-backfile 0, + :award-numbers-backfile 0, + :update-policies-backfile 0, + :licenses-current 0, + :award-numbers-current 0, + :abstracts-backfile 0, + :resource-links-current 0, + :abstracts-current 0, + :references-current 0}, :title "A INFLUÊNCIA DE 15 SEMANAS DE ATIVIDADES PSICOMOTORAS NA AUTONOMIA FUNCIONAL DE IDOSOS", :subjects [], - :flags nil, + :flags + {:deposits-abstracts-current false, + :deposits-orcids-current false, + :deposits false, + :deposits-affiliations-backfile false, + :deposits-update-policies-backfile false, + :deposits-award-numbers-current false, + :deposits-resource-links-current false, + :deposits-articles false, + :deposits-affiliations-current false, + :deposits-funders-current false, + :deposits-references-backfile false, + :deposits-abstracts-backfile false, + :deposits-licenses-backfile false, + :deposits-award-numbers-backfile false, + :deposits-references-current false, + :deposits-resource-links-backfile false, + :deposits-orcids-backfile false, + :deposits-funders-backfile false, + :deposits-update-policies-current false, + :deposits-licenses-current false}, :ISSN [], :issn-type []} - {:counts nil, - :breakdowns nil, + {:counts {:current-dois 0, :backfile-dois 0, :total-dois 0}, + :breakdowns {:dois-by-issued-year []}, :publisher "Fundacao Educacional de Criciuma- FUCRI", - :coverage nil, + :coverage + {:affiliations-current 0, + :funders-backfile 0, + :licenses-backfile 0, + :funders-current 0, + :affiliations-backfile 0, + :resource-links-backfile 0, + :orcids-backfile 0, + :update-policies-current 0, + :orcids-current 0, + :references-backfile 0, + :award-numbers-backfile 0, + :update-policies-backfile 0, + :licenses-current 0, + :award-numbers-current 0, + :abstracts-backfile 0, + :resource-links-current 0, + :abstracts-current 0, + :references-current 0}, :title "A INFLUÊNCIA DE 15 SEMANAS DE ATIVIDADES PSICOMOTORAS NA AUTONOMIA FUNCIONAL DE IDOSOS", :subjects [], - :flags nil, + :flags + {:deposits-abstracts-current false, + :deposits-orcids-current false, + :deposits false, + :deposits-affiliations-backfile false, + :deposits-update-policies-backfile false, + :deposits-award-numbers-current false, + :deposits-resource-links-current false, + :deposits-articles false, + :deposits-affiliations-current false, + :deposits-funders-current false, + :deposits-references-backfile false, + :deposits-abstracts-backfile false, + :deposits-licenses-backfile false, + :deposits-award-numbers-backfile false, + :deposits-references-current false, + :deposits-resource-links-backfile false, + :deposits-orcids-backfile false, + :deposits-funders-backfile false, + :deposits-update-policies-current false, + :deposits-licenses-current false}, :ISSN [], :issn-type []})} diff --git a/dev-resources/titles.edn b/dev-resources/titles.edn index d746be3b..8a69e6a3 100644 --- a/dev-resources/titles.edn +++ b/dev-resources/titles.edn @@ -2,7 +2,7 @@ :query {:start-index 0, :search-terms nil}, :total-results 366, :items - ({:counts {:total-dois 0, :current-dois 0, :backfile-dois 0}, + ({:counts {:current-dois 0, :backfile-dois 0, :total-dois 0}, :breakdowns {:dois-by-issued-year []}, :publisher "Kniga - Service Agency Ltd.", :coverage @@ -49,7 +49,7 @@ :deposits-licenses-current false}, :ISSN ["2541-8416"], :issn-type [{:value "2541-8416", :type "print"}]} - {:counts {:total-dois 0, :current-dois 0, :backfile-dois 0}, + {:counts {:current-dois 0, :backfile-dois 0, :total-dois 0}, :breakdowns {:dois-by-issued-year []}, :publisher "Arterialnaya Gipertenziya", :coverage @@ -94,11 +94,11 @@ :deposits-funders-backfile false, :deposits-update-policies-current false, :deposits-licenses-current false}, - :ISSN ["2411-8524" "1607-419X"], + :ISSN ["1607-419X" "2411-8524"], :issn-type - [{:value "2411-8524", :type "electronic"} - {:value "1607-419X", :type "print"}]} - {:counts {:total-dois 0, :current-dois 0, :backfile-dois 0}, + [{:value "1607-419X", :type "print"} + {:value "2411-8524", :type "electronic"}]} + {:counts {:current-dois 0, :backfile-dois 0, :total-dois 0}, :breakdowns {:dois-by-issued-year []}, :publisher "Academic Journals", :coverage @@ -145,7 +145,7 @@ :deposits-licenses-current false}, :ISSN ["2141-6494"], :issn-type [{:value "2141-6494", :type "electronic"}]} - {:counts {:total-dois 0, :current-dois 0, :backfile-dois 0}, + {:counts {:current-dois 0, :backfile-dois 0, :total-dois 0}, :breakdowns {:dois-by-issued-year []}, :publisher "Kniga - Service Agency Ltd.", :coverage @@ -192,7 +192,7 @@ :deposits-licenses-current false}, :ISSN ["2542-1298"], :issn-type [{:value "2542-1298", :type "print"}]} - {:counts {:total-dois 0, :current-dois 0, :backfile-dois 0}, + {:counts {:current-dois 0, :backfile-dois 0, :total-dois 0}, :breakdowns {:dois-by-issued-year []}, :publisher "Uniwersytet Kardynala Stefana Wyszynskiego", :coverage @@ -240,7 +240,7 @@ :deposits-licenses-current false}, :ISSN ["2353-1185"], :issn-type [{:value "2353-1185", :type "electronic"}]} - {:counts {:total-dois 0, :current-dois 0, :backfile-dois 0}, + {:counts {:current-dois 0, :backfile-dois 0, :total-dois 0}, :breakdowns {:dois-by-issued-year []}, :publisher "Publishing House Ophthalmology", :coverage @@ -287,9 +287,9 @@ :deposits-licenses-current false}, :ISSN ["2221-9528" "2221-9528"], :issn-type - [{:value "2221-9528", :type "electronic"} - {:value "2221-9528", :type "print"}]} - {:counts {:total-dois 0, :current-dois 0, :backfile-dois 0}, + [{:value "2221-9528", :type "print"} + {:value "2221-9528", :type "electronic"}]} + {:counts {:current-dois 0, :backfile-dois 0, :total-dois 0}, :breakdowns {:dois-by-issued-year []}, :publisher "Oil Gas Scientific Research Project Institute", :coverage @@ -335,11 +335,11 @@ :deposits-funders-backfile false, :deposits-update-policies-current false, :deposits-licenses-current false}, - :ISSN ["2218-8622" "2218-6867"], + :ISSN ["2218-6867" "2218-8622"], :issn-type - [{:value "2218-8622", :type "electronic"} - {:value "2218-6867", :type "print"}]} - {:counts {:total-dois 0, :current-dois 0, :backfile-dois 0}, + [{:value "2218-6867", :type "print"} + {:value "2218-8622", :type "electronic"}]} + {:counts {:current-dois 0, :backfile-dois 0, :total-dois 0}, :breakdowns {:dois-by-issued-year []}, :publisher "National Medical Research Radiological Centre", :coverage @@ -385,11 +385,11 @@ :deposits-funders-backfile false, :deposits-update-policies-current false, :deposits-licenses-current false}, - :ISSN ["2412-950X" "0131-3878"], + :ISSN ["0131-3878" "2412-950X"], :issn-type - [{:value "2412-950X", :type "electronic"} - {:value "0131-3878", :type "print"}]} - {:counts {:total-dois 0, :current-dois 0, :backfile-dois 0}, + [{:value "0131-3878", :type "print"} + {:value "2412-950X", :type "electronic"}]} + {:counts {:current-dois 0, :backfile-dois 0, :total-dois 0}, :breakdowns {:dois-by-issued-year []}, :publisher "Polish Rhetoric Society", :coverage @@ -436,7 +436,7 @@ :deposits-licenses-current false}, :ISSN ["2392-3113"], :issn-type [{:value "2392-3113", :type "electronic"}]} - {:counts {:total-dois 0, :current-dois 0, :backfile-dois 0}, + {:counts {:current-dois 0, :backfile-dois 0, :total-dois 0}, :breakdowns {:dois-by-issued-year []}, :publisher "National and University Library of the Republic of Srpska", @@ -484,7 +484,7 @@ :deposits-licenses-current false}, :ISSN ["2303-5595"], :issn-type [{:value "2303-5595", :type "print"}]} - {:counts {:total-dois 0, :current-dois 0, :backfile-dois 0}, + {:counts {:current-dois 0, :backfile-dois 0, :total-dois 0}, :breakdowns {:dois-by-issued-year []}, :publisher "Swarthmore College", :coverage @@ -532,7 +532,7 @@ :deposits-licenses-current false}, :ISSN ["2473-912X"], :issn-type [{:value "2473-912X", :type "electronic"}]} - {:counts {:total-dois 0, :current-dois 0, :backfile-dois 0}, + {:counts {:current-dois 0, :backfile-dois 0, :total-dois 0}, :breakdowns {:dois-by-issued-year []}, :publisher "Georg Thieme Verlag KG", :coverage @@ -579,7 +579,7 @@ :deposits-licenses-current false}, :ISSN ["2040-0330"], :issn-type [{:value "2040-0330", :type "electronic"}]} - {:counts {:total-dois 0, :current-dois 0, :backfile-dois 0}, + {:counts {:current-dois 0, :backfile-dois 0, :total-dois 0}, :breakdowns {:dois-by-issued-year []}, :publisher "Universidade do Estado do Rio de Janeiro UERJ", :coverage @@ -624,11 +624,11 @@ :deposits-funders-backfile false, :deposits-update-policies-current false, :deposits-licenses-current false}, - :ISSN ["2358-4130" "1414-915X"], + :ISSN ["1414-915X" "2358-4130"], :issn-type - [{:value "2358-4130", :type "electronic"} - {:value "1414-915X", :type "print"}]} - {:counts {:total-dois 0, :current-dois 0, :backfile-dois 0}, + [{:value "1414-915X", :type "print"} + {:value "2358-4130", :type "electronic"}]} + {:counts {:current-dois 0, :backfile-dois 0, :total-dois 0}, :breakdowns {:dois-by-issued-year []}, :publisher "Universidad Nacional del Litoral", :coverage @@ -673,11 +673,11 @@ :deposits-funders-backfile false, :deposits-update-policies-current false, :deposits-licenses-current false}, - :ISSN ["2346-9986" "2250-4591"], + :ISSN ["2250-4591" "2346-9986"], :issn-type - [{:value "2346-9986", :type "electronic"} - {:value "2250-4591", :type "print"}]} - {:counts {:total-dois 0, :current-dois 0, :backfile-dois 0}, + [{:value "2250-4591", :type "print"} + {:value "2346-9986", :type "electronic"}]} + {:counts {:current-dois 0, :backfile-dois 0, :total-dois 0}, :breakdowns {:dois-by-issued-year []}, :publisher "Georg Thieme Verlag KG", :coverage @@ -724,7 +724,7 @@ :deposits-licenses-current false}, :ISSN ["2040-0233"], :issn-type [{:value "2040-0233", :type "electronic"}]} - {:counts {:total-dois 0, :current-dois 0, :backfile-dois 0}, + {:counts {:current-dois 0, :backfile-dois 0, :total-dois 0}, :breakdowns {:dois-by-issued-year []}, :publisher "Georg Thieme Verlag KG", :coverage @@ -771,7 +771,7 @@ :deposits-licenses-current false}, :ISSN ["2020-0420"], :issn-type [{:value "2020-0420", :type "electronic"}]} - {:counts {:total-dois 0, :current-dois 0, :backfile-dois 0}, + {:counts {:current-dois 0, :backfile-dois 0, :total-dois 0}, :breakdowns {:dois-by-issued-year []}, :publisher "Georg Thieme Verlag KG", :coverage @@ -818,14 +818,14 @@ :deposits-licenses-current false}, :ISSN ["2020-0447"], :issn-type [{:value "2020-0447", :type "electronic"}]} - {:counts {:total-dois 76, :current-dois 76, :backfile-dois 0}, + {:counts {:current-dois 76, :backfile-dois 0, :total-dois 76}, :breakdowns {:dois-by-issued-year [[2017 73] [2016 3]]}, :publisher "Elsevier ", :coverage {:affiliations-current 0.0, :funders-backfile 0, :licenses-backfile 0, - :funders-current 0.34210526943206787, + :funders-current 0.3421052631578947, :affiliations-backfile 0, :resource-links-backfile 0, :orcids-backfile 0, @@ -835,11 +835,11 @@ :award-numbers-backfile 0, :update-policies-backfile 0, :licenses-current 1.0, - :award-numbers-current 0.22368420660495758, + :award-numbers-current 0.0, :abstracts-backfile 0, :resource-links-current 1.0, :abstracts-current 0.0, - :references-current 0.0}, + :references-current 0.9868421052631579}, :title "Psychoneuroendocrinology", :subjects [], :flags @@ -848,7 +848,7 @@ :deposits true, :deposits-affiliations-backfile false, :deposits-update-policies-backfile false, - :deposits-award-numbers-current true, + :deposits-award-numbers-current false, :deposits-resource-links-current true, :deposits-articles true, :deposits-affiliations-current false, @@ -857,7 +857,7 @@ :deposits-abstracts-backfile false, :deposits-licenses-backfile false, :deposits-award-numbers-backfile false, - :deposits-references-current false, + :deposits-references-current true, :deposits-resource-links-backfile false, :deposits-orcids-backfile false, :deposits-funders-backfile false, @@ -865,7 +865,7 @@ :deposits-licenses-current true}, :ISSN ["0306-4530"], :issn-type [{:value "0306-4530", :type "print"}]} - {:counts {:total-dois 0, :current-dois 0, :backfile-dois 0}, + {:counts {:current-dois 0, :backfile-dois 0, :total-dois 0}, :breakdowns {:dois-by-issued-year []}, :publisher "\"Science and Education, Ltd.\"", :coverage @@ -912,7 +912,7 @@ :deposits-licenses-current false}, :ISSN ["2072-0483"], :issn-type [{:value "2072-0483", :type "print"}]} - {:counts {:total-dois 0, :current-dois 0, :backfile-dois 0}, + {:counts {:current-dois 0, :backfile-dois 0, :total-dois 0}, :breakdowns {:dois-by-issued-year []}, :publisher "Universitas Mercu Buana Yogyakarta", :coverage @@ -957,7 +957,7 @@ :deposits-funders-backfile false, :deposits-update-policies-current false, :deposits-licenses-current false}, - :ISSN ["2548-4338" "2460-1233"], + :ISSN ["2460-1233" "2548-4338"], :issn-type - [{:value "2548-4338", :type "electronic"} - {:value "2460-1233", :type "print"}]})} + [{:value "2460-1233", :type "print"} + {:value "2548-4338", :type "electronic"}]})} diff --git a/dev-resources/titles/0306-4530-works.edn b/dev-resources/titles/0306-4530-works.edn index c567bf31..bae6af9e 100644 --- a/dev-resources/titles/0306-4530-works.edn +++ b/dev-resources/titles/0306-4530-works.edn @@ -1,16 +1,16 @@ {:facets {}, :total-results 76, :items - ({:reference-count 0, + ({:reference-count 34, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start + [{:start {:date-parts [[2017 1 1]], :date-time "2017-01-01T00:00:00Z", :timestamp 1483228800000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], :content-domain {:domain ["psyneuen-journal.com" @@ -23,7 +23,7 @@ "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Psychoneuroendocrinology"], - :published-print {:date-parts [[2017 1]]}, + :published-print {:date-parts [[2017 1 1]]}, :DOI "10.1016/j.psyneuen.2016.09.025", :type "journal-article", :created @@ -69,9 +69,9 @@ {:date-parts [[2017 11 30]], :date-time "2017-11-30T15:51:07Z", :timestamp 1512057067000}, - :score 1.0, - :issued {:date-parts [[2017 1]]}, - :references-count 0, + :score 0.7913856, + :issued {:date-parts [[2017 1 1]]}, + :references-count 34, :alternative-id ["S0306453016307545"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.09.025", :ISSN ["0306-4530"], @@ -94,16 +94,16 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 55, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start + [{:start {:date-parts [[2016 12 1]], :date-time "2016-12-01T00:00:00Z", :timestamp 1480550400000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], :content-domain {:domain ["psyneuen-journal.com" @@ -116,7 +116,7 @@ "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Psychoneuroendocrinology"], - :published-print {:date-parts [[2016 12]]}, + :published-print {:date-parts [[2016 12 1]]}, :DOI "10.1016/j.psyneuen.2016.09.027", :type "journal-article", :created @@ -178,9 +178,9 @@ {:date-parts [[2017 6 25]], :date-time "2017-06-25T00:40:57Z", :timestamp 1498351257000}, - :score 1.0, - :issued {:date-parts [[2016 12]]}, - :references-count 0, + :score 0.7913856, + :issued {:date-parts [[2016 12 1]]}, + :references-count 55, :alternative-id ["S0306453016307594"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.09.027", :ISSN ["0306-4530"], @@ -203,21 +203,20 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 67, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start + [{:start {:date-parts [[2016 12 1]], :date-time "2016-12-01T00:00:00Z", :timestamp 1480550400000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], :funder [{:DOI "10.13039/501100002428", :name "Austrian Science Fund", - :doi-asserted-by "publisher", - :award ["FWF P23021"]}], + :doi-asserted-by "publisher"}], :content-domain {:domain ["psyneuen-journal.com" @@ -230,7 +229,7 @@ "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Psychoneuroendocrinology"], - :published-print {:date-parts [[2016 12]]}, + :published-print {:date-parts [[2016 12 1]]}, :DOI "10.1016/j.psyneuen.2016.09.028", :type "journal-article", :created @@ -240,7 +239,7 @@ :page "371-379", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", :source "Crossref", - :is-referenced-by-count 4, + :is-referenced-by-count 2, :title ["Subcortical gray matter changes in transgender subjects after long-term cross-sex hormone administration"], :prefix "10.1016", @@ -312,9 +311,9 @@ {:date-parts [[2017 6 25]], :date-time "2017-06-25T00:42:04Z", :timestamp 1498351324000}, - :score 1.0, - :issued {:date-parts [[2016 12]]}, - :references-count 0, + :score 0.7913856, + :issued {:date-parts [[2016 12 1]]}, + :references-count 67, :alternative-id ["S0306453016307144"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.09.028", :ISSN ["0306-4530"], @@ -337,16 +336,16 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 80, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start + [{:start {:date-parts [[2016 12 1]], :date-time "2016-12-01T00:00:00Z", :timestamp 1480550400000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], :content-domain {:domain ["psyneuen-journal.com" @@ -359,7 +358,7 @@ "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Psychoneuroendocrinology"], - :published-print {:date-parts [[2016 12]]}, + :published-print {:date-parts [[2016 12 1]]}, :DOI "10.1016/j.psyneuen.2016.10.001", :type "journal-article", :created @@ -369,7 +368,7 @@ :page "387-396", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", :source "Crossref", - :is-referenced-by-count 3, + :is-referenced-by-count 2, :title ["Exploring the neural mechanisms of finasteride: a proteomic analysis in the nucleus accumbens"], :prefix "10.1016", @@ -425,9 +424,9 @@ {:date-parts [[2017 6 25]], :date-time "2017-06-25T00:44:04Z", :timestamp 1498351444000}, - :score 1.0, - :issued {:date-parts [[2016 12]]}, - :references-count 0, + :score 0.7913856, + :issued {:date-parts [[2016 12 1]]}, + :references-count 80, :alternative-id ["S0306453016307715"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.10.001", :ISSN ["0306-4530"], @@ -450,17 +449,17 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 13, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start + [{:start {:date-parts [[2017 1 1]], :date-time "2017-01-01T00:00:00Z", :timestamp 1483228800000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], - :funder [{:name "Fabienne Ropeter", :award []}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], + :funder [{:name "Fabienne Ropeter"}], :content-domain {:domain ["psyneuen-journal.com" @@ -473,7 +472,7 @@ "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Psychoneuroendocrinology"], - :published-print {:date-parts [[2017 1]]}, + :published-print {:date-parts [[2017 1 1]]}, :DOI "10.1016/j.psyneuen.2016.10.002", :type "journal-article", :created @@ -483,7 +482,7 @@ :page "52-55", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", :source "Crossref", - :is-referenced-by-count 4, + :is-referenced-by-count 2, :title ["Testing the ecological validity of the Trier Social Stress Test: Association with real-life exam stress"], :prefix "10.1016", @@ -535,9 +534,9 @@ {:date-parts [[2017 11 30]], :date-time "2017-11-30T15:51:13Z", :timestamp 1512057073000}, - :score 1.0, - :issued {:date-parts [[2017 1]]}, - :references-count 0, + :score 0.7913856, + :issued {:date-parts [[2017 1 1]]}, + :references-count 13, :alternative-id ["S0306453016307740"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.10.002", :ISSN ["0306-4530"], @@ -560,16 +559,16 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 59, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start + [{:start {:date-parts [[2017 1 1]], :date-time "2017-01-01T00:00:00Z", :timestamp 1483228800000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], :content-domain {:domain ["psyneuen-journal.com" @@ -582,7 +581,7 @@ "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Psychoneuroendocrinology"], - :published-print {:date-parts [[2017 1]]}, + :published-print {:date-parts [[2017 1 1]]}, :DOI "10.1016/j.psyneuen.2016.10.003", :type "journal-article", :created @@ -592,7 +591,7 @@ :page "26-35", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", :source "Crossref", - :is-referenced-by-count 1, + :is-referenced-by-count 0, :title ["Do sex hormones or hormone therapy modify the relation of n-3 fatty acids with incident depressive symptoms in postmenopausal women? The MESA Study"], :prefix "10.1016", @@ -644,9 +643,9 @@ {:date-parts [[2017 11 30]], :date-time "2017-11-30T15:50:29Z", :timestamp 1512057029000}, - :score 1.0, - :issued {:date-parts [[2017 1]]}, - :references-count 0, + :score 0.7913856, + :issued {:date-parts [[2017 1 1]]}, + :references-count 59, :alternative-id ["S0306453016307867"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.10.003", :ISSN ["0306-4530"], @@ -669,16 +668,16 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 95, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start + [{:start {:date-parts [[2017 1 1]], :date-time "2017-01-01T00:00:00Z", :timestamp 1483228800000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], :content-domain {:domain ["psyneuen-journal.com" @@ -691,7 +690,7 @@ "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Psychoneuroendocrinology"], - :published-print {:date-parts [[2017 1]]}, + :published-print {:date-parts [[2017 1 1]]}, :DOI "10.1016/j.psyneuen.2016.10.004", :type "journal-article", :created @@ -729,9 +728,9 @@ {:date-parts [[2017 11 30]], :date-time "2017-11-30T15:50:55Z", :timestamp 1512057055000}, - :score 1.0, - :issued {:date-parts [[2017 1]]}, - :references-count 0, + :score 0.7913856, + :issued {:date-parts [[2017 1 1]]}, + :references-count 95, :alternative-id ["S0306453016307880"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.10.004", :ISSN ["0306-4530"], @@ -754,22 +753,20 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 74, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start + [{:start {:date-parts [[2017 1 1]], :date-time "2017-01-01T00:00:00Z", :timestamp 1483228800000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], :funder [{:DOI "10.13039/100000002", :name "NIH", - :doi-asserted-by "publisher", - :award - ["HD065823" "NS041298" "P50MH096889" "HD51852" "HD50662"]}], + :doi-asserted-by "publisher"}], :content-domain {:domain ["psyneuen-journal.com" @@ -782,7 +779,7 @@ "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Psychoneuroendocrinology"], - :published-print {:date-parts [[2017 1]]}, + :published-print {:date-parts [[2017 1 1]]}, :DOI "10.1016/j.psyneuen.2016.10.005", :type "journal-article", :created @@ -792,7 +789,7 @@ :page "56-63", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", :source "Crossref", - :is-referenced-by-count 7, + :is-referenced-by-count 5, :title ["Prenatal maternal cortisol concentrations predict neurodevelopment in middle childhood"], :prefix "10.1016", @@ -832,9 +829,9 @@ {:date-parts [[2017 11 30]], :date-time "2017-11-30T15:51:09Z", :timestamp 1512057069000}, - :score 1.0, - :issued {:date-parts [[2017 1]]}, - :references-count 0, + :score 0.7913856, + :issued {:date-parts [[2017 1 1]]}, + :references-count 74, :alternative-id ["S0306453016307892"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.10.005", :ISSN ["0306-4530"], @@ -857,16 +854,16 @@ {:value "© 2016 Published by Elsevier Ltd.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 15, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start + [{:start {:date-parts [[2017 1 1]], :date-time "2017-01-01T00:00:00Z", :timestamp 1483228800000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], :content-domain {:domain ["psyneuen-journal.com" @@ -879,7 +876,7 @@ "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Psychoneuroendocrinology"], - :published-print {:date-parts [[2017 1]]}, + :published-print {:date-parts [[2017 1 1]]}, :DOI "10.1016/j.psyneuen.2016.10.006", :type "journal-article", :created @@ -933,9 +930,9 @@ {:date-parts [[2017 11 30]], :date-time "2017-11-30T15:51:34Z", :timestamp 1512057094000}, - :score 1.0, - :issued {:date-parts [[2017 1]]}, - :references-count 0, + :score 0.7913856, + :issued {:date-parts [[2017 1 1]]}, + :references-count 15, :alternative-id ["S0306453016307909"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.10.006", :ISSN ["0306-4530"], @@ -958,16 +955,16 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 54, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start + [{:start {:date-parts [[2017 1 1]], :date-time "2017-01-01T00:00:00Z", :timestamp 1483228800000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], :content-domain {:domain ["psyneuen-journal.com" @@ -980,7 +977,7 @@ "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Psychoneuroendocrinology"], - :published-print {:date-parts [[2017 1]]}, + :published-print {:date-parts [[2017 1 1]]}, :DOI "10.1016/j.psyneuen.2016.10.007", :type "journal-article", :created @@ -1046,9 +1043,9 @@ {:date-parts [[2017 11 30]], :date-time "2017-11-30T15:51:31Z", :timestamp 1512057091000}, - :score 1.0, - :issued {:date-parts [[2017 1]]}, - :references-count 0, + :score 0.7913856, + :issued {:date-parts [[2017 1 1]]}, + :references-count 54, :alternative-id ["S0306453016305327"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.10.007", :ISSN ["0306-4530"], @@ -1071,16 +1068,16 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 51, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start + [{:start {:date-parts [[2017 1 1]], :date-time "2017-01-01T00:00:00Z", :timestamp 1483228800000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], :content-domain {:domain ["psyneuen-journal.com" @@ -1093,7 +1090,7 @@ "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Psychoneuroendocrinology"], - :published-print {:date-parts [[2017 1]]}, + :published-print {:date-parts [[2017 1 1]]}, :DOI "10.1016/j.psyneuen.2016.10.008", :type "journal-article", :created @@ -1143,9 +1140,9 @@ {:date-parts [[2017 11 30]], :date-time "2017-11-30T15:51:48Z", :timestamp 1512057108000}, - :score 1.0, - :issued {:date-parts [[2017 1]]}, - :references-count 0, + :score 0.7913856, + :issued {:date-parts [[2017 1 1]]}, + :references-count 51, :alternative-id ["S0306453016302190"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.10.008", :ISSN ["0306-4530"], @@ -1168,19 +1165,17 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 48, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start + [{:start {:date-parts [[2017 1 1]], :date-time "2017-01-01T00:00:00Z", :timestamp 1483228800000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], - :funder - [{:name "Eunice Kennedy Shriver NICHD/NIH (NCTRI)", - :award ["P50-HD28934"]}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], + :funder [{:name "Eunice Kennedy Shriver NICHD/NIH (NCTRI)"}], :content-domain {:domain ["psyneuen-journal.com" @@ -1193,7 +1188,7 @@ "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Psychoneuroendocrinology"], - :published-print {:date-parts [[2017 1]]}, + :published-print {:date-parts [[2017 1 1]]}, :DOI "10.1016/j.psyneuen.2016.10.009", :type "journal-article", :created @@ -1243,9 +1238,9 @@ {:date-parts [[2017 11 30]], :date-time "2017-11-30T15:51:22Z", :timestamp 1512057082000}, - :score 1.0, - :issued {:date-parts [[2017 1]]}, - :references-count 0, + :score 0.7913856, + :issued {:date-parts [[2017 1 1]]}, + :references-count 48, :alternative-id ["S0306453016307983"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.10.009", :ISSN ["0306-4530"], @@ -1268,16 +1263,16 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 83, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start + [{:start {:date-parts [[2017 1 1]], :date-time "2017-01-01T00:00:00Z", :timestamp 1483228800000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], :content-domain {:domain ["psyneuen-journal.com" @@ -1290,7 +1285,7 @@ "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Psychoneuroendocrinology"], - :published-print {:date-parts [[2017 1]]}, + :published-print {:date-parts [[2017 1 1]]}, :DOI "10.1016/j.psyneuen.2016.10.010", :type "journal-article", :created @@ -1376,9 +1371,9 @@ {:date-parts [[2017 11 30]], :date-time "2017-11-30T15:50:59Z", :timestamp 1512057059000}, - :score 1.0, - :issued {:date-parts [[2017 1]]}, - :references-count 0, + :score 0.7913856, + :issued {:date-parts [[2017 1 1]]}, + :references-count 83, :alternative-id ["S0306453016308022"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.10.010", :ISSN ["0306-4530"], @@ -1401,29 +1396,26 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 70, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start + [{:start {:date-parts [[2017 2 1]], :date-time "2017-02-01T00:00:00Z", :timestamp 1485907200000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], :funder - [{:DOI "10.13039/100000738", + [{:name "INIAStress"} + {:DOI "10.13039/100000738", :name "Department of Veterans Affairs", - :doi-asserted-by "crossref", - :award []} - {:name "INIAStress", :award ["U01AA016668"]} - {:name "Veterans Health Administration", :award []} + :doi-asserted-by "crossref"} + {:name "Veterans Health Administration"} {:name - "Office of Research and Development, Clinical Sciences Research", - :award []} + "Office of Research and Development, Clinical Sciences Research"} {:name - "Development and the UT Southwestern Center for Translational Medicine", - :award ["UL1TR000451"]}], + "Development and the UT Southwestern Center for Translational Medicine"}], :content-domain {:domain ["psyneuen-journal.com" @@ -1436,7 +1428,7 @@ "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Psychoneuroendocrinology"], - :published-print {:date-parts [[2017 2]]}, + :published-print {:date-parts [[2017 2 1]]}, :DOI "10.1016/j.psyneuen.2016.10.011", :type "journal-article", :created @@ -1502,9 +1494,9 @@ {:date-parts [[2017 6 25]], :date-time "2017-06-25T02:55:28Z", :timestamp 1498359328000}, - :score 1.0, - :issued {:date-parts [[2017 2]]}, - :references-count 0, + :score 0.7913856, + :issued {:date-parts [[2017 2 1]]}, + :references-count 70, :alternative-id ["S030645301630806X"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.10.011", :ISSN ["0306-4530"], @@ -1527,16 +1519,16 @@ {:value "Published by Elsevier Ltd.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 64, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start + [{:start {:date-parts [[2017 1 1]], :date-time "2017-01-01T00:00:00Z", :timestamp 1483228800000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], :content-domain {:domain ["psyneuen-journal.com" @@ -1549,7 +1541,7 @@ "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Psychoneuroendocrinology"], - :published-print {:date-parts [[2017 1]]}, + :published-print {:date-parts [[2017 1 1]]}, :DOI "10.1016/j.psyneuen.2016.10.012", :type "journal-article", :created @@ -1607,9 +1599,9 @@ {:date-parts [[2017 11 30]], :date-time "2017-11-30T15:51:44Z", :timestamp 1512057104000}, - :score 1.0, - :issued {:date-parts [[2017 1]]}, - :references-count 0, + :score 0.7913856, + :issued {:date-parts [[2017 1 1]]}, + :references-count 64, :alternative-id ["S0306453016308083"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.10.012", :ISSN ["0306-4530"], @@ -1632,16 +1624,16 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 88, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start + [{:start {:date-parts [[2017 1 1]], :date-time "2017-01-01T00:00:00Z", :timestamp 1483228800000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], :content-domain {:domain ["psyneuen-journal.com" @@ -1654,7 +1646,7 @@ "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Psychoneuroendocrinology"], - :published-print {:date-parts [[2017 1]]}, + :published-print {:date-parts [[2017 1 1]]}, :DOI "10.1016/j.psyneuen.2016.10.013", :type "journal-article", :created @@ -1696,9 +1688,9 @@ {:date-parts [[2017 11 30]], :date-time "2017-11-30T15:51:18Z", :timestamp 1512057078000}, - :score 1.0, - :issued {:date-parts [[2017 1]]}, - :references-count 0, + :score 0.7913856, + :issued {:date-parts [[2017 1 1]]}, + :references-count 88, :alternative-id ["S0306453016302128"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.10.013", :ISSN ["0306-4530"], @@ -1721,16 +1713,16 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 45, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start + [{:start {:date-parts [[2017 1 1]], :date-time "2017-01-01T00:00:00Z", :timestamp 1483228800000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], :content-domain {:domain ["psyneuen-journal.com" @@ -1743,7 +1735,7 @@ "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Psychoneuroendocrinology"], - :published-print {:date-parts [[2017 1]]}, + :published-print {:date-parts [[2017 1 1]]}, :DOI "10.1016/j.psyneuen.2016.10.014", :type "journal-article", :created @@ -1789,9 +1781,9 @@ {:date-parts [[2017 11 30]], :date-time "2017-11-30T15:50:41Z", :timestamp 1512057041000}, - :score 1.0, - :issued {:date-parts [[2017 1]]}, - :references-count 0, + :score 0.7913856, + :issued {:date-parts [[2017 1 1]]}, + :references-count 45, :alternative-id ["S0306453016308216"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.10.014", :ISSN ["0306-4530"], @@ -1814,16 +1806,16 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 39, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start + [{:start {:date-parts [[2017 2 1]], :date-time "2017-02-01T00:00:00Z", :timestamp 1485907200000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], :content-domain {:domain ["psyneuen-journal.com" @@ -1836,7 +1828,7 @@ "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Psychoneuroendocrinology"], - :published-print {:date-parts [[2017 2]]}, + :published-print {:date-parts [[2017 2 1]]}, :DOI "10.1016/j.psyneuen.2016.10.015", :type "journal-article", :created @@ -1918,9 +1910,9 @@ {:date-parts [[2017 6 25]], :date-time "2017-06-25T01:42:48Z", :timestamp 1498354968000}, - :score 1.0, - :issued {:date-parts [[2017 2]]}, - :references-count 0, + :score 0.7913856, + :issued {:date-parts [[2017 2 1]]}, + :references-count 39, :alternative-id ["S0306453016308332"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.10.015", :ISSN ["0306-4530"], @@ -1943,28 +1935,27 @@ {:value "© 2016 Published by Elsevier Ltd.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 45, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start + [{:start {:date-parts [[2017 1 1]], :date-time "2017-01-01T00:00:00Z", :timestamp 1483228800000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"} - {:URL "http://creativecommons.org/licenses/by/4.0/", - :start + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"} + {:start {:date-parts [[2016 10 21]], :date-time "2016-10-21T00:00:00Z", :timestamp 1477008000000}, + :content-version "vor", :delay-in-days 0, - :content-version "vor"}], + :URL "http://creativecommons.org/licenses/by/4.0/"}], :funder [{:DOI "10.13039/501100000268", :name "BBSRC", - :doi-asserted-by "publisher", - :award []}], + :doi-asserted-by "publisher"}], :content-domain {:domain ["psyneuen-journal.com" @@ -1977,7 +1968,7 @@ "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Psychoneuroendocrinology"], - :published-print {:date-parts [[2017 1]]}, + :published-print {:date-parts [[2017 1 1]]}, :DOI "10.1016/j.psyneuen.2016.10.016", :type "journal-article", :created @@ -2040,9 +2031,9 @@ {:date-parts [[2017 11 30]], :date-time "2017-11-30T15:51:26Z", :timestamp 1512057086000}, - :score 1.0, - :issued {:date-parts [[2017 1]]}, - :references-count 0, + :score 0.7913856, + :issued {:date-parts [[2017 1 1]]}, + :references-count 45, :alternative-id ["S0306453016305595"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.10.016", :ISSN ["0306-4530"], @@ -2065,16 +2056,16 @@ {:value "© 2016 The Authors. Published by Elsevier Ltd.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 36, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start + [{:start {:date-parts [[2017 1 1]], :date-time "2017-01-01T00:00:00Z", :timestamp 1483228800000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], :content-domain {:domain ["psyneuen-journal.com" @@ -2087,7 +2078,7 @@ "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Psychoneuroendocrinology"], - :published-print {:date-parts [[2017 1]]}, + :published-print {:date-parts [[2017 1 1]]}, :DOI "10.1016/j.psyneuen.2016.10.017", :type "journal-article", :created @@ -2097,7 +2088,7 @@ :page "124-131", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", :source "Crossref", - :is-referenced-by-count 5, + :is-referenced-by-count 3, :title ["The impact of perceived intensity and frequency of police work occupational stressors on the cortisol awakening response (CAR): Findings from the BCOPS study"], :prefix "10.1016", @@ -2149,9 +2140,9 @@ {:date-parts [[2017 11 30]], :date-time "2017-11-30T15:51:18Z", :timestamp 1512057078000}, - :score 1.0, - :issued {:date-parts [[2017 1]]}, - :references-count 0, + :score 0.7913856, + :issued {:date-parts [[2017 1 1]]}, + :references-count 36, :alternative-id ["S0306453016302025"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.10.017", :ISSN ["0306-4530"], @@ -2174,16 +2165,16 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 83, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start + [{:start {:date-parts [[2017 1 1]], :date-time "2017-01-01T00:00:00Z", :timestamp 1483228800000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], :content-domain {:domain ["psyneuen-journal.com" @@ -2196,7 +2187,7 @@ "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Psychoneuroendocrinology"], - :published-print {:date-parts [[2017 1]]}, + :published-print {:date-parts [[2017 1 1]]}, :DOI "10.1016/j.psyneuen.2016.10.018", :type "journal-article", :created @@ -2206,7 +2197,7 @@ :page "132-140", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", :source "Crossref", - :is-referenced-by-count 1, + :is-referenced-by-count 0, :title ["Effects of mineralocorticoid-receptor stimulation on risk taking behavior in young healthy men and women"], :prefix "10.1016", @@ -2254,9 +2245,9 @@ {:date-parts [[2017 11 30]], :date-time "2017-11-30T15:51:45Z", :timestamp 1512057105000}, - :score 1.0, - :issued {:date-parts [[2017 1]]}, - :references-count 0, + :score 0.7913856, + :issued {:date-parts [[2017 1 1]]}, + :references-count 83, :alternative-id ["S0306453016308447"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.10.018", :ISSN ["0306-4530"], @@ -2279,23 +2270,23 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 41, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start + [{:start {:date-parts [[2017 1 1]], :date-time "2017-01-01T00:00:00Z", :timestamp 1483228800000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"} - {:URL "http://www.elsevier.com/open-access/userlicense/1.0/", - :start + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"} + {:start {:date-parts [[2017 11 9]], :date-time "2017-11-09T00:00:00Z", :timestamp 1510185600000}, + :content-version "am", :delay-in-days 312, - :content-version "am"}], + :URL "http://www.elsevier.com/open-access/userlicense/1.0/"}], :content-domain {:domain ["psyneuen-journal.com" @@ -2308,7 +2299,7 @@ "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Psychoneuroendocrinology"], - :published-print {:date-parts [[2017 1]]}, + :published-print {:date-parts [[2017 1 1]]}, :DOI "10.1016/j.psyneuen.2016.10.019", :type "journal-article", :created @@ -2318,7 +2309,7 @@ :page "183-191", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", :source "Crossref", - :is-referenced-by-count 7, + :is-referenced-by-count 5, :title ["Cortisol reactivity and suicidal behavior: Investigating the role of hypothalamic-pituitary-adrenal axis responses to stress in suicide attempters and ideators"], :prefix "10.1016", @@ -2362,9 +2353,9 @@ {:date-parts [[2017 11 30]], :date-time "2017-11-30T15:51:51Z", :timestamp 1512057111000}, - :score 1.0, - :issued {:date-parts [[2017 1]]}, - :references-count 0, + :score 0.7913856, + :issued {:date-parts [[2017 1 1]]}, + :references-count 41, :alternative-id ["S0306453016308435"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.10.019", :ISSN ["0306-4530"], @@ -2387,16 +2378,16 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 43, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start + [{:start {:date-parts [[2017 1 1]], :date-time "2017-01-01T00:00:00Z", :timestamp 1483228800000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], :content-domain {:domain ["psyneuen-journal.com" @@ -2409,7 +2400,7 @@ "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Psychoneuroendocrinology"], - :published-print {:date-parts [[2017 1]]}, + :published-print {:date-parts [[2017 1 1]]}, :DOI "10.1016/j.psyneuen.2016.10.020", :type "journal-article", :created @@ -2475,9 +2466,9 @@ {:date-parts [[2017 11 30]], :date-time "2017-11-30T15:50:58Z", :timestamp 1512057058000}, - :score 1.0, - :issued {:date-parts [[2017 1]]}, - :references-count 0, + :score 0.7913856, + :issued {:date-parts [[2017 1 1]]}, + :references-count 43, :alternative-id ["S0306453016308459"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.10.020", :ISSN ["0306-4530"], @@ -2500,16 +2491,16 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 47, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start + [{:start {:date-parts [[2017 2 1]], :date-time "2017-02-01T00:00:00Z", :timestamp 1485907200000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], :content-domain {:domain ["psyneuen-journal.com" @@ -2522,7 +2513,7 @@ "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Psychoneuroendocrinology"], - :published-print {:date-parts [[2017 2]]}, + :published-print {:date-parts [[2017 2 1]]}, :DOI "10.1016/j.psyneuen.2016.10.021", :type "journal-article", :created @@ -2532,7 +2523,7 @@ :page "77-83", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", :source "Crossref", - :is-referenced-by-count 3, + :is-referenced-by-count 2, :title ["The role of oxytocin in modulating interpersonal space: A pharmacological fMRI study"], :prefix "10.1016", @@ -2584,9 +2575,9 @@ {:date-parts [[2017 6 25]], :date-time "2017-06-25T03:19:26Z", :timestamp 1498360766000}, - :score 1.0, - :issued {:date-parts [[2017 2]]}, - :references-count 0, + :score 0.7913856, + :issued {:date-parts [[2017 2 1]]}, + :references-count 47, :alternative-id ["S0306453016304668"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.10.021", :ISSN ["0306-4530"], @@ -2609,21 +2600,20 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 51, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start + [{:start {:date-parts [[2017 1 1]], :date-time "2017-01-01T00:00:00Z", :timestamp 1483228800000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], :funder [{:DOI "10.13039/100008545", :name "Georgia State University", - :doi-asserted-by "crossref", - :award []}], + :doi-asserted-by "crossref"}], :content-domain {:domain ["psyneuen-journal.com" @@ -2636,7 +2626,7 @@ "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Psychoneuroendocrinology"], - :published-print {:date-parts [[2017 1]]}, + :published-print {:date-parts [[2017 1 1]]}, :DOI "10.1016/j.psyneuen.2016.10.022", :type "journal-article", :created @@ -2694,9 +2684,9 @@ {:date-parts [[2017 11 30]], :date-time "2017-11-30T15:51:29Z", :timestamp 1512057089000}, - :score 1.0, - :issued {:date-parts [[2017 1]]}, - :references-count 0, + :score 0.7913856, + :issued {:date-parts [[2017 1 1]]}, + :references-count 51, :alternative-id ["S0306453016308587"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.10.022", :ISSN ["0306-4530"], @@ -2719,25 +2709,23 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 54, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start + [{:start {:date-parts [[2017 2 1]], :date-time "2017-02-01T00:00:00Z", :timestamp 1485907200000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], :funder [{:DOI "10.13039/100000002", :name "NIH", - :doi-asserted-by "publisher", - :award ["1R01HD057962"]} + :doi-asserted-by "publisher"} {:DOI "10.13039/100009429", :name "NRSA", - :doi-asserted-by "crossref", - :award ["MH099892"]}], + :doi-asserted-by "crossref"}], :content-domain {:domain ["psyneuen-journal.com" @@ -2750,7 +2738,7 @@ "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Psychoneuroendocrinology"], - :published-print {:date-parts [[2017 2]]}, + :published-print {:date-parts [[2017 2 1]]}, :DOI "10.1016/j.psyneuen.2016.10.023", :type "journal-article", :created @@ -2760,7 +2748,7 @@ :page "97-106", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", :source "Crossref", - :is-referenced-by-count 6, + :is-referenced-by-count 5, :title ["Motherhood and infant contact regulate neuroplasticity in the serotonergic midbrain dorsal raphe"], :prefix "10.1016", @@ -2792,9 +2780,9 @@ {:date-parts [[2017 6 25]], :date-time "2017-06-25T04:01:56Z", :timestamp 1498363316000}, - :score 1.0, - :issued {:date-parts [[2017 2]]}, - :references-count 0, + :score 0.7913856, + :issued {:date-parts [[2017 2 1]]}, + :references-count 54, :alternative-id ["S0306453016308605"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.10.023", :ISSN ["0306-4530"], @@ -2817,22 +2805,20 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 63, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start + [{:start {:date-parts [[2017 1 1]], :date-time "2017-01-01T00:00:00Z", :timestamp 1483228800000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], :funder [{:name - "“Conselho Nacional de Desenvolvimento Científico e Tecnológico” CNPq-Brazil Program Ciência sem Fronteiras CNPJ", - :award ["401898/2013-0"]} - {:name "RCUK/FAPESP Newton grant", - :award ["MR/M026574/1" "2014/50829-4"]}], + "“Conselho Nacional de Desenvolvimento Científico e Tecnológico” CNPq-Brazil Program Ciência sem Fronteiras CNPJ"} + {:name "RCUK/FAPESP Newton grant"}], :content-domain {:domain ["psyneuen-journal.com" @@ -2845,7 +2831,7 @@ "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Psychoneuroendocrinology"], - :published-print {:date-parts [[2017 1]]}, + :published-print {:date-parts [[2017 1 1]]}, :DOI "10.1016/j.psyneuen.2016.10.024", :type "journal-article", :created @@ -2907,9 +2893,9 @@ {:date-parts [[2017 11 30]], :date-time "2017-11-30T15:50:13Z", :timestamp 1512057013000}, - :score 1.0, - :issued {:date-parts [[2017 1]]}, - :references-count 0, + :score 0.7913856, + :issued {:date-parts [[2017 1 1]]}, + :references-count 63, :alternative-id ["S0306453016308630"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.10.024", :ISSN ["0306-4530"], @@ -2933,16 +2919,16 @@ "Crown Copyright © 2016 Published by Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 44, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start + [{:start {:date-parts [[2017 1 1]], :date-time "2017-01-01T00:00:00Z", :timestamp 1483228800000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], :content-domain {:domain ["psyneuen-journal.com" @@ -2955,7 +2941,7 @@ "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Psychoneuroendocrinology"], - :published-print {:date-parts [[2017 1]]}, + :published-print {:date-parts [[2017 1 1]]}, :DOI "10.1016/j.psyneuen.2016.10.025", :type "journal-article", :created @@ -3017,9 +3003,9 @@ {:date-parts [[2017 11 30]], :date-time "2017-11-30T15:49:55Z", :timestamp 1512056995000}, - :score 1.0, - :issued {:date-parts [[2017 1]]}, - :references-count 0, + :score 0.7913856, + :issued {:date-parts [[2017 1 1]]}, + :references-count 44, :alternative-id ["S0306453016308563"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.10.025", :ISSN ["0306-4530"], @@ -3042,29 +3028,29 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 67, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start + [{:start {:date-parts [[2017 1 1]], :date-time "2017-01-01T00:00:00Z", :timestamp 1483228800000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], :funder [{:DOI "10.13039/100000049", :name "National Institute on Aging", - :doi-asserted-by "publisher", - :award ["AG018436" "P01-AG020166"]} + :doi-asserted-by "publisher"} {:DOI "10.13039/100000071", :name "National Institute of Child Health and Human Development", - :doi-asserted-by "publisher", - :award ["HD058502" "F32HD078048"]} + :doi-asserted-by "publisher"} + {:DOI "10.13039/100000049", + :name "National Institute on Aging", + :doi-asserted-by "publisher"} {:DOI "10.13039/100000026", :name "National Institute on Drug Abuse", - :doi-asserted-by "publisher", - :award ["DA027827"]}], + :doi-asserted-by "publisher"}], :content-domain {:domain ["psyneuen-journal.com" @@ -3077,7 +3063,7 @@ "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Psychoneuroendocrinology"], - :published-print {:date-parts [[2017 1]]}, + :published-print {:date-parts [[2017 1 1]]}, :DOI "10.1016/j.psyneuen.2016.10.026", :type "journal-article", :created @@ -3143,9 +3129,9 @@ {:date-parts [[2017 11 30]], :date-time "2017-11-30T15:51:40Z", :timestamp 1512057100000}, - :score 1.0, - :issued {:date-parts [[2017 1]]}, - :references-count 0, + :score 0.7913856, + :issued {:date-parts [[2017 1 1]]}, + :references-count 67, :alternative-id ["S0306453016308654"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.10.026", :ISSN ["0306-4530"], @@ -3168,16 +3154,16 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 54, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start + [{:start {:date-parts [[2017 2 1]], :date-time "2017-02-01T00:00:00Z", :timestamp 1485907200000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], :content-domain {:domain ["psyneuen-journal.com" @@ -3190,7 +3176,7 @@ "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Psychoneuroendocrinology"], - :published-print {:date-parts [[2017 2]]}, + :published-print {:date-parts [[2017 2 1]]}, :DOI "10.1016/j.psyneuen.2016.10.027", :type "journal-article", :created @@ -3272,9 +3258,9 @@ {:date-parts [[2017 6 25]], :date-time "2017-06-25T03:19:26Z", :timestamp 1498360766000}, - :score 1.0, - :issued {:date-parts [[2017 2]]}, - :references-count 0, + :score 0.7913856, + :issued {:date-parts [[2017 2 1]]}, + :references-count 54, :alternative-id ["S0306453016304528"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.10.027", :ISSN ["0306-4530"], @@ -3297,16 +3283,16 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 56, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start + [{:start {:date-parts [[2017 2 1]], :date-time "2017-02-01T00:00:00Z", :timestamp 1485907200000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], :content-domain {:domain ["psyneuen-journal.com" @@ -3319,7 +3305,7 @@ "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Psychoneuroendocrinology"], - :published-print {:date-parts [[2017 2]]}, + :published-print {:date-parts [[2017 2 1]]}, :DOI "10.1016/j.psyneuen.2016.10.028", :type "journal-article", :created @@ -3329,7 +3315,7 @@ :page "29-37", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", :source "Crossref", - :is-referenced-by-count 2, + :is-referenced-by-count 0, :title ["Maternal care and affective behavior in female offspring: Implication of the neurosteroid/GABAergic system"], :prefix "10.1016", @@ -3361,9 +3347,9 @@ {:date-parts [[2017 6 25]], :date-time "2017-06-25T02:56:49Z", :timestamp 1498359409000}, - :score 1.0, - :issued {:date-parts [[2017 2]]}, - :references-count 0, + :score 0.7913856, + :issued {:date-parts [[2017 2 1]]}, + :references-count 56, :alternative-id ["S0306453016304723"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.10.028", :ISSN ["0306-4530"], @@ -3386,50 +3372,22 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 45, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start + [{:start {:date-parts [[2017 2 1]], :date-time "2017-02-01T00:00:00Z", :timestamp 1485907200000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], :funder - [{:name "P51", :award ["OD011107"]} - {:name "R01", - :award - ["DA024441" - "K07CA188237-01A1" - "AG043404" - "CA160890" - "AI52737" - "AG033590"]} - {:name "R01", - :award - ["DA024441" - "K07CA188237-01A1" - "AG043404" - "CA160890" - "AI52737" - "AG033590"]} - {:name "R01", - :award - ["DA024441" - "K07CA188237-01A1" - "AG043404" - "CA160890" - "AI52737" - "AG033590"]} - {:name "R01", - :award - ["DA024441" - "K07CA188237-01A1" - "AG043404" - "CA160890" - "AI52737" - "AG033590"]}], + [{:name "P51"} + {:name "R01"} + {:name "R01"} + {:name "R01"} + {:name "R01"}], :content-domain {:domain ["psyneuen-journal.com" @@ -3442,7 +3400,7 @@ "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Psychoneuroendocrinology"], - :published-print {:date-parts [[2017 2]]}, + :published-print {:date-parts [[2017 2 1]]}, :DOI "10.1016/j.psyneuen.2016.10.029", :type "journal-article", :created @@ -3497,9 +3455,9 @@ {:date-parts [[2017 6 25]], :date-time "2017-06-25T03:33:24Z", :timestamp 1498361604000}, - :score 1.0, - :issued {:date-parts [[2017 2]]}, - :references-count 0, + :score 0.7913856, + :issued {:date-parts [[2017 2 1]]}, + :references-count 45, :alternative-id ["S030645301630470X"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.10.029", :ISSN ["0306-4530"], @@ -3527,32 +3485,32 @@ {:date-parts [[2017 4 1]], :date-time "2017-04-01T00:00:00Z", :timestamp 1491004800000}, - :DOI "10.1016/j.psyneuen.2015.09.028", + :DOI "http://dx.doi.org/10.1016/j.psyneuen.2015.09.028", :type "erratum", - :label "Erratum"}], + :label nil}], :reference-count 0, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start - {:date-parts [[2017 4 1]], - :date-time "2017-04-01T00:00:00Z", - :timestamp 1491004800000}, + [{:start + {:date-parts [[2017 3 17]], + :date-time "2017-03-17T15:31:03Z", + :timestamp 1489764663000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], :content-domain {:domain ["psyneuen-journal.com" "clinicalkey.jp" "clinicalkey.com" "clinicalkey.es" - "clinicalkey.fr" "clinicalkey.com.au" + "clinicalkey.fr" "elsevier.com" "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Psychoneuroendocrinology"], - :published-print {:date-parts [[2017 4]]}, + :published-print {:date-parts [[2017 4 1]]}, :DOI "10.1016/j.psyneuen.2016.11.001", :type "journal-article", :created @@ -3602,21 +3560,21 @@ :language "en", :link [{:URL - "http://api.elsevier.com/content/article/PII:S0306453016308757?httpAccept=text/xml", - :content-type "text/xml", + "http://api.elsevier.com/content/article/PII:S0306453016308757?httpAccept=text/plain", + :content-type "text/plain", :content-version "vor", :intended-application "text-mining"} {:URL - "http://api.elsevier.com/content/article/PII:S0306453016308757?httpAccept=text/plain", - :content-type "text/plain", + "http://api.elsevier.com/content/article/PII:S0306453016308757?httpAccept=text/xml", + :content-type "text/xml", :content-version "vor", :intended-application "text-mining"}], :deposited - {:date-parts [[2017 12 21]], - :date-time "2017-12-21T03:37:35Z", - :timestamp 1513827455000}, - :score 1.0, - :issued {:date-parts [[2017 4]]}, + {:date-parts [[2017 3 17]], + :date-time "2017-03-17T15:31:03Z", + :timestamp 1489764663000}, + :score 0.7913856, + :issued {:date-parts [[2017 3 17]]}, :references-count 0, :alternative-id ["S0306453016308757"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.11.001", @@ -3645,16 +3603,16 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 64, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start + [{:start {:date-parts [[2017 1 1]], :date-time "2017-01-01T00:00:00Z", :timestamp 1483228800000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], :content-domain {:domain ["psyneuen-journal.com" @@ -3667,7 +3625,7 @@ "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Psychoneuroendocrinology"], - :published-print {:date-parts [[2017 1]]}, + :published-print {:date-parts [[2017 1 1]]}, :DOI "10.1016/j.psyneuen.2016.11.002", :type "journal-article", :created @@ -3717,9 +3675,9 @@ {:date-parts [[2017 11 30]], :date-time "2017-11-30T15:51:41Z", :timestamp 1512057101000}, - :score 1.0, - :issued {:date-parts [[2017 1]]}, - :references-count 0, + :score 0.7913856, + :issued {:date-parts [[2017 1 1]]}, + :references-count 64, :alternative-id ["S0306453016308824"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.11.002", :ISSN ["0306-4530"], @@ -3742,16 +3700,16 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 81, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start + [{:start {:date-parts [[2017 1 1]], :date-time "2017-01-01T00:00:00Z", :timestamp 1483228800000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], :content-domain {:domain ["psyneuen-journal.com" @@ -3764,7 +3722,7 @@ "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Psychoneuroendocrinology"], - :published-print {:date-parts [[2017 1]]}, + :published-print {:date-parts [[2017 1 1]]}, :DOI "10.1016/j.psyneuen.2016.11.003", :type "journal-article", :created @@ -3826,9 +3784,9 @@ {:date-parts [[2017 11 30]], :date-time "2017-11-30T15:52:20Z", :timestamp 1512057140000}, - :score 1.0, - :issued {:date-parts [[2017 1]]}, - :references-count 0, + :score 0.7913856, + :issued {:date-parts [[2017 1 1]]}, + :references-count 81, :alternative-id ["S0306453016308836"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.11.003", :ISSN ["0306-4530"], @@ -3851,16 +3809,16 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 50, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start + [{:start {:date-parts [[2017 2 1]], :date-time "2017-02-01T00:00:00Z", :timestamp 1485907200000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], :content-domain {:domain ["psyneuen-journal.com" @@ -3873,7 +3831,7 @@ "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Psychoneuroendocrinology"], - :published-print {:date-parts [[2017 2]]}, + :published-print {:date-parts [[2017 2 1]]}, :DOI "10.1016/j.psyneuen.2016.11.004", :type "journal-article", :created @@ -3936,9 +3894,9 @@ {:date-parts [[2017 6 25]], :date-time "2017-06-25T03:24:46Z", :timestamp 1498361086000}, - :score 1.0, - :issued {:date-parts [[2017 2]]}, - :references-count 0, + :score 0.7913856, + :issued {:date-parts [[2017 2 1]]}, + :references-count 50, :alternative-id ["S030645301630511X"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.11.004", :ISSN ["0306-4530"], @@ -3962,27 +3920,26 @@ "Crown Copyright © 2016 Published by Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 54, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start + [{:start {:date-parts [[2017 1 1]], :date-time "2017-01-01T00:00:00Z", :timestamp 1483228800000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"} - {:URL "http://www.elsevier.com/open-access/userlicense/1.0/", - :start + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"} + {:start {:date-parts [[2017 11 10]], :date-time "2017-11-10T00:00:00Z", :timestamp 1510272000000}, + :content-version "am", :delay-in-days 313, - :content-version "am"}], + :URL "http://www.elsevier.com/open-access/userlicense/1.0/"}], :funder [{:name - "Swiss National Science Foundation awarded to J.S. Lobmaier", - :award ["PP00P1_139072/1"]}], + "Swiss National Science Foundation awarded to J.S. Lobmaier"}], :content-domain {:domain ["psyneuen-journal.com" @@ -3995,7 +3952,7 @@ "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Psychoneuroendocrinology"], - :published-print {:date-parts [[2017 1]]}, + :published-print {:date-parts [[2017 1 1]]}, :DOI "10.1016/j.psyneuen.2016.11.005", :type "journal-article", :created @@ -4053,9 +4010,9 @@ {:date-parts [[2017 11 30]], :date-time "2017-11-30T15:51:46Z", :timestamp 1512057106000}, - :score 1.0, - :issued {:date-parts [[2017 1]]}, - :references-count 0, + :score 0.7913856, + :issued {:date-parts [[2017 1 1]]}, + :references-count 54, :alternative-id ["S0306453016308903"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.11.005", :ISSN ["0306-4530"], @@ -4078,16 +4035,16 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 19, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start + [{:start {:date-parts [[2017 2 1]], :date-time "2017-02-01T00:00:00Z", :timestamp 1485907200000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], :content-domain {:domain ["psyneuen-journal.com" @@ -4100,7 +4057,7 @@ "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Psychoneuroendocrinology"], - :published-print {:date-parts [[2017 2]]}, + :published-print {:date-parts [[2017 2 1]]}, :DOI "10.1016/j.psyneuen.2016.11.006", :type "journal-article", :created @@ -4158,9 +4115,9 @@ {:date-parts [[2017 6 25]], :date-time "2017-06-25T03:02:43Z", :timestamp 1498359763000}, - :score 1.0, - :issued {:date-parts [[2017 2]]}, - :references-count 0, + :score 0.7913856, + :issued {:date-parts [[2017 2 1]]}, + :references-count 19, :alternative-id ["S0306453016308915"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.11.006", :ISSN ["0306-4530"], @@ -4183,16 +4140,16 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 52, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start + [{:start {:date-parts [[2017 2 1]], :date-time "2017-02-01T00:00:00Z", :timestamp 1485907200000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], :content-domain {:domain ["psyneuen-journal.com" @@ -4205,7 +4162,7 @@ "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Psychoneuroendocrinology"], - :published-print {:date-parts [[2017 2]]}, + :published-print {:date-parts [[2017 2 1]]}, :DOI "10.1016/j.psyneuen.2016.11.007", :type "journal-article", :created @@ -4215,7 +4172,7 @@ :page "38-48", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", :source "Crossref", - :is-referenced-by-count 6, + :is-referenced-by-count 2, :title ["Hypothalamic-pituitary-adrenal axis activity and cognition in major depression: The role of remission status"], :prefix "10.1016", @@ -4287,9 +4244,9 @@ {:date-parts [[2017 6 25]], :date-time "2017-06-25T03:19:29Z", :timestamp 1498360769000}, - :score 1.0, - :issued {:date-parts [[2017 2]]}, - :references-count 0, + :score 0.7913856, + :issued {:date-parts [[2017 2 1]]}, + :references-count 52, :alternative-id ["S0306453016302293"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.11.007", :ISSN ["0306-4530"], @@ -4312,21 +4269,20 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 67, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start + [{:start {:date-parts [[2017 2 1]], :date-time "2017-02-01T00:00:00Z", :timestamp 1485907200000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], :funder [{:DOI "10.13039/501100000829", :name "Department of Education", - :doi-asserted-by "crossref", - :award []}], + :doi-asserted-by "crossref"}], :content-domain {:domain ["psyneuen-journal.com" @@ -4339,7 +4295,7 @@ "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Psychoneuroendocrinology"], - :published-print {:date-parts [[2017 2]]}, + :published-print {:date-parts [[2017 2 1]]}, :DOI "10.1016/j.psyneuen.2016.11.008", :type "journal-article", :created @@ -4413,9 +4369,9 @@ {:date-parts [[2017 6 25]], :date-time "2017-06-25T03:14:07Z", :timestamp 1498360447000}, - :score 1.0, - :issued {:date-parts [[2017 2]]}, - :references-count 0, + :score 0.7913856, + :issued {:date-parts [[2017 2 1]]}, + :references-count 67, :alternative-id ["S0306453016308952"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.11.008", :ISSN ["0306-4530"], @@ -4438,16 +4394,16 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 19, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start + [{:start {:date-parts [[2017 2 1]], :date-time "2017-02-01T00:00:00Z", :timestamp 1485907200000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], :content-domain {:domain ["psyneuen-journal.com" @@ -4460,7 +4416,7 @@ "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Psychoneuroendocrinology"], - :published-print {:date-parts [[2017 2]]}, + :published-print {:date-parts [[2017 2 1]]}, :DOI "10.1016/j.psyneuen.2016.11.009", :type "journal-article", :created @@ -4522,9 +4478,9 @@ {:date-parts [[2017 6 25]], :date-time "2017-06-25T03:33:24Z", :timestamp 1498361604000}, - :score 1.0, - :issued {:date-parts [[2017 2]]}, - :references-count 0, + :score 0.7913856, + :issued {:date-parts [[2017 2 1]]}, + :references-count 19, :alternative-id ["S0306453016305005"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.11.009", :ISSN ["0306-4530"], @@ -4547,16 +4503,16 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 17, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start + [{:start {:date-parts [[2017 2 1]], :date-time "2017-02-01T00:00:00Z", :timestamp 1485907200000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], :content-domain {:domain ["psyneuen-journal.com" @@ -4569,7 +4525,7 @@ "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Psychoneuroendocrinology"], - :published-print {:date-parts [[2017 2]]}, + :published-print {:date-parts [[2017 2 1]]}, :DOI "10.1016/j.psyneuen.2016.11.010", :type "journal-article", :created @@ -4615,9 +4571,9 @@ {:date-parts [[2017 6 25]], :date-time "2017-06-25T03:39:19Z", :timestamp 1498361959000}, - :score 1.0, - :issued {:date-parts [[2017 2]]}, - :references-count 0, + :score 0.7913856, + :issued {:date-parts [[2017 2 1]]}, + :references-count 17, :alternative-id ["S030645301630899X"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.11.010", :ISSN ["0306-4530"], @@ -4640,23 +4596,23 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 36, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start + [{:start {:date-parts [[2017 2 1]], :date-time "2017-02-01T00:00:00Z", :timestamp 1485907200000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"} - {:URL "http://www.elsevier.com/open-access/userlicense/1.0/", - :start + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"} + {:start {:date-parts [[2017 12 4]], :date-time "2017-12-04T00:00:00Z", :timestamp 1512345600000}, + :content-version "am", :delay-in-days 306, - :content-version "am"}], + :URL "http://www.elsevier.com/open-access/userlicense/1.0/"}], :content-domain {:domain ["psyneuen-journal.com" @@ -4669,7 +4625,7 @@ "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Psychoneuroendocrinology"], - :published-print {:date-parts [[2017 2]]}, + :published-print {:date-parts [[2017 2 1]]}, :DOI "10.1016/j.psyneuen.2016.11.011", :type "journal-article", :created @@ -4679,7 +4635,7 @@ :page "144-153", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", :source "Crossref", - :is-referenced-by-count 10, + :is-referenced-by-count 8, :title ["Sociodemographic, lifestyle, and psychosocial determinants of hair cortisol in a South London community sample"], :prefix "10.1016", @@ -4735,9 +4691,9 @@ {:date-parts [[2017 10 9]], :date-time "2017-10-09T19:55:05Z", :timestamp 1507578905000}, - :score 1.0, - :issued {:date-parts [[2017 2]]}, - :references-count 0, + :score 0.7913856, + :issued {:date-parts [[2017 2 1]]}, + :references-count 36, :alternative-id ["S0306453016305923"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.11.011", :ISSN ["0306-4530"], @@ -4760,16 +4716,16 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 92, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start + [{:start {:date-parts [[2017 2 1]], :date-time "2017-02-01T00:00:00Z", :timestamp 1485907200000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], :content-domain {:domain ["psyneuen-journal.com" @@ -4782,7 +4738,7 @@ "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Psychoneuroendocrinology"], - :published-print {:date-parts [[2017 2]]}, + :published-print {:date-parts [[2017 2 1]]}, :DOI "10.1016/j.psyneuen.2016.11.012", :type "journal-article", :created @@ -4792,7 +4748,7 @@ :page "19-28", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", :source "Crossref", - :is-referenced-by-count 7, + :is-referenced-by-count 6, :title ["Trauma exposure relates to heightened stress, altered amygdala morphology and deficient extinction learning: Implications for psychopathology"], :prefix "10.1016", @@ -4848,9 +4804,9 @@ {:date-parts [[2017 6 25]], :date-time "2017-06-25T03:24:39Z", :timestamp 1498361079000}, - :score 1.0, - :issued {:date-parts [[2017 2]]}, - :references-count 0, + :score 0.7913856, + :issued {:date-parts [[2017 2 1]]}, + :references-count 92, :alternative-id ["S0306453016309015"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.11.012", :ISSN ["0306-4530"], @@ -4873,16 +4829,16 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 18, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start + [{:start {:date-parts [[2017 2 1]], :date-time "2017-02-01T00:00:00Z", :timestamp 1485907200000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], :content-domain {:domain ["psyneuen-journal.com" @@ -4895,7 +4851,7 @@ "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Psychoneuroendocrinology"], - :published-print {:date-parts [[2017 2]]}, + :published-print {:date-parts [[2017 2 1]]}, :DOI "10.1016/j.psyneuen.2016.11.014", :type "journal-article", :created @@ -4905,7 +4861,7 @@ :page "114-118", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", :source "Crossref", - :is-referenced-by-count 1, + :is-referenced-by-count 0, :title ["Association between dehydroepiandrosterone-sulfate and attention in long-term survivors of childhood acute lymphoblastic leukemia treated with only chemotherapy"], :prefix "10.1016", @@ -4973,9 +4929,9 @@ {:date-parts [[2017 6 25]], :date-time "2017-06-25T03:46:05Z", :timestamp 1498362365000}, - :score 1.0, - :issued {:date-parts [[2017 2]]}, - :references-count 0, + :score 0.7913856, + :issued {:date-parts [[2017 2 1]]}, + :references-count 18, :alternative-id ["S0306453016305601"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.11.014", :ISSN ["0306-4530"], @@ -4998,19 +4954,17 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 69, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start + [{:start {:date-parts [[2017 2 1]], :date-time "2017-02-01T00:00:00Z", :timestamp 1485907200000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], - :funder - [{:name "Tri-Service General Hospital, Taipei, Taiwan", - :award ["TSGH-C105-122" "TSGH-C103-130"]}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], + :funder [{:name "Tri-Service General Hospital, Taipei, Taiwan"}], :content-domain {:domain ["psyneuen-journal.com" @@ -5023,7 +4977,7 @@ "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Psychoneuroendocrinology"], - :published-print {:date-parts [[2017 2]]}, + :published-print {:date-parts [[2017 2 1]]}, :DOI "10.1016/j.psyneuen.2016.11.015", :type "journal-article", :created @@ -5081,9 +5035,9 @@ {:date-parts [[2017 6 25]], :date-time "2017-06-25T03:46:01Z", :timestamp 1498362361000}, - :score 1.0, - :issued {:date-parts [[2017 2]]}, - :references-count 0, + :score 0.7913856, + :issued {:date-parts [[2017 2 1]]}, + :references-count 69, :alternative-id ["S0306453016305996"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.11.015", :ISSN ["0306-4530"], @@ -5106,23 +5060,23 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 20, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start + [{:start {:date-parts [[2017 3 1]], :date-time "2017-03-01T00:00:00Z", :timestamp 1488326400000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"} - {:URL "http://creativecommons.org/licenses/by-nc-nd/4.0/", - :start + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"} + {:start {:date-parts [[2016 12 7]], :date-time "2016-12-07T00:00:00Z", :timestamp 1481068800000}, + :content-version "vor", :delay-in-days 0, - :content-version "vor"}], + :URL "http://creativecommons.org/licenses/by-nc-nd/4.0/"}], :content-domain {:domain ["psyneuen-journal.com" @@ -5135,7 +5089,7 @@ "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Psychoneuroendocrinology"], - :published-print {:date-parts [[2017 3]]}, + :published-print {:date-parts [[2017 3 1]]}, :DOI "10.1016/j.psyneuen.2016.11.016", :type "journal-article", :created @@ -5197,9 +5151,9 @@ {:date-parts [[2017 8 18]], :date-time "2017-08-18T11:20:23Z", :timestamp 1503055223000}, - :score 1.0, - :issued {:date-parts [[2017 3]]}, - :references-count 0, + :score 0.7913856, + :issued {:date-parts [[2017 3 1]]}, + :references-count 20, :alternative-id ["S0306453016302049"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.11.016", :ISSN ["0306-4530"], @@ -5222,16 +5176,16 @@ {:value "© 2016 The Authors. Published by Elsevier Ltd.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 47, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start + [{:start {:date-parts [[2017 2 1]], :date-time "2017-02-01T00:00:00Z", :timestamp 1485907200000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], :content-domain {:domain ["psyneuen-journal.com" @@ -5244,7 +5198,7 @@ "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Psychoneuroendocrinology"], - :published-print {:date-parts [[2017 2]]}, + :published-print {:date-parts [[2017 2 1]]}, :DOI "10.1016/j.psyneuen.2016.11.017", :type "journal-article", :created @@ -5254,7 +5208,7 @@ :page "174-182", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", :source "Crossref", - :is-referenced-by-count 3, + :is-referenced-by-count 2, :title ["Women recovering from social rejection: The effect of the person and the situation on a hormonal mechanism of affiliation"], :prefix "10.1016", @@ -5294,9 +5248,9 @@ {:date-parts [[2017 6 25]], :date-time "2017-06-25T04:14:47Z", :timestamp 1498364087000}, - :score 1.0, - :issued {:date-parts [[2017 2]]}, - :references-count 0, + :score 0.7913856, + :issued {:date-parts [[2017 2 1]]}, + :references-count 47, :alternative-id ["S0306453016305066"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.11.017", :ISSN ["0306-4530"], @@ -5319,40 +5273,35 @@ {:value "Published by Elsevier Ltd.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 68, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start + [{:start {:date-parts [[2017 2 1]], :date-time "2017-02-01T00:00:00Z", :timestamp 1485907200000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"} - {:URL "http://www.elsevier.com/open-access/userlicense/1.0/", - :start + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"} + {:start {:date-parts [[2017 11 23]], :date-time "2017-11-23T00:00:00Z", :timestamp 1511395200000}, + :content-version "am", :delay-in-days 295, - :content-version "am"}], + :URL "http://www.elsevier.com/open-access/userlicense/1.0/"}], :funder [{:DOI "10.13039/100000025", :name "National Institute for Mental Health", - :doi-asserted-by "crossref", - :award ["MH58846"]} + :doi-asserted-by "crossref"} + {:name "National Institute for Child Health and Development"} + {:name + "Integrated Training in Psychobiology and Psychopathology Fellowship"} {:DOI "10.13039/100000001", :name "National Science Foundation", - :doi-asserted-by "publisher", - :award ["NSF IBN9876754"]} - {:name "National Institute for Child Health and Development", - :award ["HD35471"]} - {:name - "Integrated Training in Psychobiology and Psychopathology Fellowship", - :award ["NIMH T32 MH732525"]} + :doi-asserted-by "publisher"} {:name - "National Institutes of Health, Office of Research Infrastructure Programs", - :award ["ORIP/OD P51-OD011132"]}], + "National Institutes of Health, Office of Research Infrastructure Programs"}], :content-domain {:domain ["psyneuen-journal.com" @@ -5365,7 +5314,7 @@ "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Psychoneuroendocrinology"], - :published-print {:date-parts [[2017 2]]}, + :published-print {:date-parts [[2017 2 1]]}, :DOI "10.1016/j.psyneuen.2016.11.018", :type "journal-article", :created @@ -5375,7 +5324,7 @@ :page "57-66", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", :source "Crossref", - :is-referenced-by-count 3, + :is-referenced-by-count 1, :title ["Increased anxiety-like behaviors, but blunted cortisol stress response after neonatal hippocampal lesions in monkeys"], :prefix "10.1016", @@ -5419,9 +5368,9 @@ {:date-parts [[2017 10 9]], :date-time "2017-10-09T19:55:19Z", :timestamp 1507578919000}, - :score 1.0, - :issued {:date-parts [[2017 2]]}, - :references-count 0, + :score 0.7913856, + :issued {:date-parts [[2017 2 1]]}, + :references-count 68, :alternative-id ["S0306453016309210"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.11.018", :ISSN ["0306-4530"], @@ -5444,16 +5393,16 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 49, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start + [{:start {:date-parts [[2017 3 1]], :date-time "2017-03-01T00:00:00Z", :timestamp 1488326400000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], :content-domain {:domain ["psyneuen-journal.com" @@ -5466,7 +5415,7 @@ "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Psychoneuroendocrinology"], - :published-print {:date-parts [[2017 3]]}, + :published-print {:date-parts [[2017 3 1]]}, :DOI "10.1016/j.psyneuen.2016.11.019", :type "journal-article", :created @@ -5476,7 +5425,7 @@ :page "131-140", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", :source "Crossref", - :is-referenced-by-count 11, + :is-referenced-by-count 8, :title ["Rapid effects of dorsal hippocampal G-protein coupled estrogen receptor on learning in female mice"], :prefix "10.1016", @@ -5516,9 +5465,9 @@ {:date-parts [[2017 8 18]], :date-time "2017-08-18T11:20:42Z", :timestamp 1503055242000}, - :score 1.0, - :issued {:date-parts [[2017 3]]}, - :references-count 0, + :score 0.7913856, + :issued {:date-parts [[2017 3 1]]}, + :references-count 49, :alternative-id ["S0306453016304267"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.11.019", :ISSN ["0306-4530"], @@ -5541,16 +5490,16 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 15, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start + [{:start {:date-parts [[2017 3 1]], :date-time "2017-03-01T00:00:00Z", :timestamp 1488326400000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], :content-domain {:domain ["psyneuen-journal.com" @@ -5563,7 +5512,7 @@ "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Psychoneuroendocrinology"], - :published-print {:date-parts [[2017 3]]}, + :published-print {:date-parts [[2017 3 1]]}, :DOI "10.1016/j.psyneuen.2016.11.020", :type "journal-article", :created @@ -5629,9 +5578,9 @@ {:date-parts [[2017 8 18]], :date-time "2017-08-18T11:18:17Z", :timestamp 1503055097000}, - :score 1.0, - :issued {:date-parts [[2017 3]]}, - :references-count 0, + :score 0.7913856, + :issued {:date-parts [[2017 3 1]]}, + :references-count 15, :alternative-id ["S030645301630703X"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.11.020", :ISSN ["0306-4530"], @@ -5654,33 +5603,24 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 48, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start + [{:start {:date-parts [[2017 3 1]], :date-time "2017-03-01T00:00:00Z", :timestamp 1488326400000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], :funder [{:DOI "10.13039/100000002", :name "National Institutes of Health", - :doi-asserted-by "publisher", - :award - ["R01EB015611" - "R01MH085646" - "U01MH108148" - "T32MH067533" - "U54 EB020403" - "P50MH103222" - "R01DA027680"]} + :doi-asserted-by "publisher"} + {:name "State of Maryland"} {:DOI "10.13039/100000874", :name "Brain and Behavior Research Foundation", - :doi-asserted-by "publisher", - :award []} - {:name "State of Maryland", :award ["M00B6400091"]}], + :doi-asserted-by "publisher"}], :content-domain {:domain ["psyneuen-journal.com" @@ -5693,7 +5633,7 @@ "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Psychoneuroendocrinology"], - :published-print {:date-parts [[2017 3]]}, + :published-print {:date-parts [[2017 3 1]]}, :DOI "10.1016/j.psyneuen.2016.11.021", :type "journal-article", :created @@ -5703,7 +5643,7 @@ :page "105-111", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", :source "Crossref", - :is-referenced-by-count 4, + :is-referenced-by-count 3, :title ["Allostatic load and reduced cortical thickness in schizophrenia"], :prefix "10.1016", @@ -5759,9 +5699,9 @@ {:date-parts [[2017 8 18]], :date-time "2017-08-18T11:19:42Z", :timestamp 1503055182000}, - :score 1.0, - :issued {:date-parts [[2017 3]]}, - :references-count 0, + :score 0.7913856, + :issued {:date-parts [[2017 3 1]]}, + :references-count 48, :alternative-id ["S0306453016307600"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.11.021", :ISSN ["0306-4530"], @@ -5784,16 +5724,16 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 71, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start + [{:start {:date-parts [[2017 2 1]], :date-time "2017-02-01T00:00:00Z", :timestamp 1485907200000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], :content-domain {:domain ["psyneuen-journal.com" @@ -5806,7 +5746,7 @@ "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Psychoneuroendocrinology"], - :published-print {:date-parts [[2017 2]]}, + :published-print {:date-parts [[2017 2 1]]}, :DOI "10.1016/j.psyneuen.2016.11.022", :type "journal-article", :created @@ -5852,9 +5792,9 @@ {:date-parts [[2017 6 25]], :date-time "2017-06-25T03:59:09Z", :timestamp 1498363149000}, - :score 1.0, - :issued {:date-parts [[2017 2]]}, - :references-count 0, + :score 0.7913856, + :issued {:date-parts [[2017 2 1]]}, + :references-count 71, :alternative-id ["S0306453016309362"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.11.022", :ISSN ["0306-4530"], @@ -5877,21 +5817,20 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 18, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start + [{:start {:date-parts [[2017 3 1]], :date-time "2017-03-01T00:00:00Z", :timestamp 1488326400000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], :funder [{:DOI "10.13039/100000002", :name "NIH", - :doi-asserted-by "publisher", - :award ["R01 HD075716" "P50 DA035763"]}], + :doi-asserted-by "publisher"}], :content-domain {:domain ["psyneuen-journal.com" @@ -5904,7 +5843,7 @@ "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Psychoneuroendocrinology"], - :published-print {:date-parts [[2017 3]]}, + :published-print {:date-parts [[2017 3 1]]}, :DOI "10.1016/j.psyneuen.2016.11.023", :type "journal-article", :created @@ -5914,7 +5853,7 @@ :page "51-55", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", :source "Crossref", - :is-referenced-by-count 1, + :is-referenced-by-count 0, :title ["Validation of autonomic and endocrine reactivity to a laboratory stressor in young children"], :prefix "10.1016", @@ -5962,9 +5901,9 @@ {:date-parts [[2017 8 18]], :date-time "2017-08-18T11:20:22Z", :timestamp 1503055222000}, - :score 1.0, - :issued {:date-parts [[2017 3]]}, - :references-count 0, + :score 0.7913856, + :issued {:date-parts [[2017 3 1]]}, + :references-count 18, :alternative-id ["S0306453016306503"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.11.023", :ISSN ["0306-4530"], @@ -5987,25 +5926,23 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 46, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start + [{:start {:date-parts [[2017 3 1]], :date-time "2017-03-01T00:00:00Z", :timestamp 1488326400000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], :funder [{:DOI "10.13039/100000002", :name "NIH", - :doi-asserted-by "publisher", - :award ["F320MH107129" "MH101495" "F32-MH102013" "K01-MH106805"]} + :doi-asserted-by "publisher"} {:DOI "10.13039/100000874", :name "Brain & Behavior Research Foundation", - :doi-asserted-by "crossref", - :award ["23582" "22337" "23819"]}], + :doi-asserted-by "crossref"}], :content-domain {:domain ["psyneuen-journal.com" @@ -6018,7 +5955,7 @@ "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Psychoneuroendocrinology"], - :published-print {:date-parts [[2017 3]]}, + :published-print {:date-parts [[2017 3 1]]}, :DOI "10.1016/j.psyneuen.2016.11.024", :type "journal-article", :created @@ -6080,9 +6017,9 @@ {:date-parts [[2017 8 18]], :date-time "2017-08-18T11:19:36Z", :timestamp 1503055176000}, - :score 1.0, - :issued {:date-parts [[2017 3]]}, - :references-count 0, + :score 0.7913856, + :issued {:date-parts [[2017 3 1]]}, + :references-count 46, :alternative-id ["S030645301630498X"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.11.024", :ISSN ["0306-4530"], @@ -6105,16 +6042,16 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 48, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start + [{:start {:date-parts [[2017 3 1]], :date-time "2017-03-01T00:00:00Z", :timestamp 1488326400000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], :content-domain {:domain ["psyneuen-journal.com" @@ -6127,7 +6064,7 @@ "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Psychoneuroendocrinology"], - :published-print {:date-parts [[2017 3]]}, + :published-print {:date-parts [[2017 3 1]]}, :DOI "10.1016/j.psyneuen.2016.11.025", :type "journal-article", :created @@ -6137,7 +6074,7 @@ :page "112-121", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", :source "Crossref", - :is-referenced-by-count 4, + :is-referenced-by-count 2, :title ["Association between anxiety and metabolic syndrome: A systematic review and meta-analysis of epidemiological studies"], :prefix "10.1016", @@ -6170,9 +6107,9 @@ {:date-parts [[2017 8 18]], :date-time "2017-08-18T11:20:48Z", :timestamp 1503055248000}, - :score 1.0, - :issued {:date-parts [[2017 3]]}, - :references-count 0, + :score 0.7913856, + :issued {:date-parts [[2017 3 1]]}, + :references-count 48, :alternative-id ["S0306453016304711"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.11.025", :ISSN ["0306-4530"], @@ -6195,26 +6132,23 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 36, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start + [{:start {:date-parts [[2017 3 1]], :date-time "2017-03-01T00:00:00Z", :timestamp 1488326400000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], :funder [{:DOI "10.13039/501100001809", :name "National Natural Science Foundation of China", - :doi-asserted-by "publisher", - :award ["91332102" "31271130"]} - {:name "Nature Science Foundation of Zhejiang Province", - :award ["LY12H09007"]} + :doi-asserted-by "publisher"} + {:name "Nature Science Foundation of Zhejiang Province"} {:name - "Key Laboratory of Mental Disorder’s Management of Zhejiang Province", - :award []}], + "Key Laboratory of Mental Disorder’s Management of Zhejiang Province"}], :content-domain {:domain ["psyneuen-journal.com" @@ -6227,7 +6161,7 @@ "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Psychoneuroendocrinology"], - :published-print {:date-parts [[2017 3]]}, + :published-print {:date-parts [[2017 3 1]]}, :DOI "10.1016/j.psyneuen.2016.11.026", :type "journal-article", :created @@ -6305,9 +6239,9 @@ {:date-parts [[2017 8 18]], :date-time "2017-08-18T11:20:04Z", :timestamp 1503055204000}, - :score 1.0, - :issued {:date-parts [[2017 3]]}, - :references-count 0, + :score 0.7913856, + :issued {:date-parts [[2017 3 1]]}, + :references-count 36, :alternative-id ["S0306453016305364"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.11.026", :ISSN ["0306-4530"], @@ -6330,16 +6264,16 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 66, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start + [{:start {:date-parts [[2017 3 1]], :date-time "2017-03-01T00:00:00Z", :timestamp 1488326400000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], :content-domain {:domain ["psyneuen-journal.com" @@ -6352,7 +6286,7 @@ "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Psychoneuroendocrinology"], - :published-print {:date-parts [[2017 3]]}, + :published-print {:date-parts [[2017 3 1]]}, :DOI "10.1016/j.psyneuen.2016.11.027", :type "journal-article", :created @@ -6362,7 +6296,7 @@ :page "95-104", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", :source "Crossref", - :is-referenced-by-count 5, + :is-referenced-by-count 4, :title ["Stress disrupts the reconsolidation of fear memories in men"], :prefix "10.1016", @@ -6394,9 +6328,9 @@ {:date-parts [[2017 8 18]], :date-time "2017-08-18T11:19:44Z", :timestamp 1503055184000}, - :score 1.0, - :issued {:date-parts [[2017 3]]}, - :references-count 0, + :score 0.7913856, + :issued {:date-parts [[2017 3 1]]}, + :references-count 66, :alternative-id ["S0306453016305583"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.11.027", :ISSN ["0306-4530"], @@ -6419,16 +6353,16 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 52, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start + [{:start {:date-parts [[2017 3 1]], :date-time "2017-03-01T00:00:00Z", :timestamp 1488326400000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], :content-domain {:domain ["psyneuen-journal.com" @@ -6441,7 +6375,7 @@ "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Psychoneuroendocrinology"], - :published-print {:date-parts [[2017 3]]}, + :published-print {:date-parts [[2017 3 1]]}, :DOI "10.1016/j.psyneuen.2016.11.028", :type "journal-article", :created @@ -6451,7 +6385,7 @@ :page "203-210", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", :source "Crossref", - :is-referenced-by-count 1, + :is-referenced-by-count 0, :title ["Altered cerebral insulin response in transgenic mice expressing the epsilon-4 allele of the human apolipoprotein E gene"], :prefix "10.1016", @@ -6503,9 +6437,9 @@ {:date-parts [[2017 8 18]], :date-time "2017-08-18T11:18:57Z", :timestamp 1503055137000}, - :score 1.0, - :issued {:date-parts [[2017 3]]}, - :references-count 0, + :score 0.7913856, + :issued {:date-parts [[2017 3 1]]}, + :references-count 52, :alternative-id ["S0306453016306199"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.11.028", :ISSN ["0306-4530"], @@ -6528,28 +6462,27 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 30, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start + [{:start {:date-parts [[2017 3 1]], :date-time "2017-03-01T00:00:00Z", :timestamp 1488326400000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"} - {:URL "http://creativecommons.org/licenses/by/4.0/", - :start + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"} + {:start {:date-parts [[2016 11 25]], :date-time "2016-11-25T00:00:00Z", :timestamp 1480032000000}, + :content-version "vor", :delay-in-days 0, - :content-version "vor"}], + :URL "http://creativecommons.org/licenses/by/4.0/"}], :funder [{:DOI "10.13039/501100000268", :name "BBSRC", - :doi-asserted-by "publisher", - :award []}], + :doi-asserted-by "publisher"}], :content-domain {:domain ["psyneuen-journal.com" @@ -6562,7 +6495,7 @@ "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Psychoneuroendocrinology"], - :published-print {:date-parts [[2017 3]]}, + :published-print {:date-parts [[2017 3 1]]}, :DOI "10.1016/j.psyneuen.2016.11.029", :type "journal-article", :created @@ -6621,9 +6554,9 @@ {:date-parts [[2017 8 18]], :date-time "2017-08-18T11:19:04Z", :timestamp 1503055144000}, - :score 1.0, - :issued {:date-parts [[2017 3]]}, - :references-count 0, + :score 0.7913856, + :issued {:date-parts [[2017 3 1]]}, + :references-count 30, :alternative-id ["S0306453016307922"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.11.029", :ISSN ["0306-4530"], @@ -6646,16 +6579,16 @@ {:value "© 2016 The Authors. Published by Elsevier Ltd.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 73, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start + [{:start {:date-parts [[2017 3 1]], :date-time "2017-03-01T00:00:00Z", :timestamp 1488326400000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], :content-domain {:domain ["psyneuen-journal.com" @@ -6668,7 +6601,7 @@ "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Psychoneuroendocrinology"], - :published-print {:date-parts [[2017 3]]}, + :published-print {:date-parts [[2017 3 1]]}, :DOI "10.1016/j.psyneuen.2016.11.030", :type "journal-article", :created @@ -6678,7 +6611,7 @@ :page "9-17", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", :source "Crossref", - :is-referenced-by-count 4, + :is-referenced-by-count 3, :title ["Effects of the cortisol stress response on the psychotherapy outcome of panic disorder patients"], :prefix "10.1016", @@ -6718,9 +6651,9 @@ {:date-parts [[2017 8 18]], :date-time "2017-08-18T11:20:32Z", :timestamp 1503055232000}, - :score 1.0, - :issued {:date-parts [[2017 3]]}, - :references-count 0, + :score 0.7913856, + :issued {:date-parts [[2017 3 1]]}, + :references-count 73, :alternative-id ["S0306453016308125"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.11.030", :ISSN ["0306-4530"], @@ -6743,33 +6676,28 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 55, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start + [{:start {:date-parts [[2017 2 1]], :date-time "2017-02-01T00:00:00Z", :timestamp 1485907200000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], :funder [{:DOI "10.13039/100000025", :name "National Institute of Mental Health", - :doi-asserted-by "publisher", - :award ["R01-MH083784"]} + :doi-asserted-by "publisher"} + {:name "O'Shaughnessy Foundation"} + {:name "Tinberg family, and grants from the UCSF Academic Senate"} + {:name "UCSF Research Evaluation and Allocation Committee"} + {:name + "National Institutes of Health/National Center for Research Resources"} {:DOI "10.13039/100006108", :name "National Center for Advancing Translational Sciences", - :doi-asserted-by "publisher", - :award ["UL1 RR024131"]} - {:name "O'Shaughnessy Foundation", :award []} - {:name "Tinberg family, and grants from the UCSF Academic Senate", - :award []} - {:name "UCSF Research Evaluation and Allocation Committee", - :award []} - {:name - "National Institutes of Health/National Center for Research Resources", - :award []}], + :doi-asserted-by "publisher"}], :content-domain {:domain ["psyneuen-journal.com" @@ -6782,7 +6710,7 @@ "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Psychoneuroendocrinology"], - :published-print {:date-parts [[2017 2]]}, + :published-print {:date-parts [[2017 2 1]]}, :DOI "10.1016/j.psyneuen.2016.11.031", :type "journal-article", :created @@ -6792,7 +6720,7 @@ :page "197-205", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", :source "Crossref", - :is-referenced-by-count 22, + :is-referenced-by-count 19, :title ["Oxidative stress, inflammation and treatment response in major depression"], :prefix "10.1016", @@ -6868,9 +6796,9 @@ {:date-parts [[2017 6 25]], :date-time "2017-06-25T04:53:05Z", :timestamp 1498366385000}, - :score 1.0, - :issued {:date-parts [[2017 2]]}, - :references-count 0, + :score 0.7913856, + :issued {:date-parts [[2017 2 1]]}, + :references-count 55, :alternative-id ["S0306453016306862"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.11.031", :ISSN ["0306-4530"], @@ -6893,16 +6821,16 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 35, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start + [{:start {:date-parts [[2017 2 1]], :date-time "2017-02-01T00:00:00Z", :timestamp 1485907200000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], :content-domain {:domain ["psyneuen-journal.com" @@ -6915,7 +6843,7 @@ "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Psychoneuroendocrinology"], - :published-print {:date-parts [[2017 2]]}, + :published-print {:date-parts [[2017 2 1]]}, :DOI "10.1016/j.psyneuen.2016.11.032", :type "journal-article", :created @@ -6925,7 +6853,7 @@ :page "154-161", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", :source "Crossref", - :is-referenced-by-count 1, + :is-referenced-by-count 0, :title ["Adolescent binge alcohol exposure increases risk assessment behaviors in male Wistar rats after exposure to an acute psychological stressor in adulthood"], :prefix "10.1016", @@ -6965,9 +6893,9 @@ {:date-parts [[2017 6 25]], :date-time "2017-06-25T04:53:02Z", :timestamp 1498366382000}, - :score 1.0, - :issued {:date-parts [[2017 2]]}, - :references-count 0, + :score 0.7913856, + :issued {:date-parts [[2017 2 1]]}, + :references-count 35, :alternative-id ["S0306453016309623"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.11.032", :ISSN ["0306-4530"], @@ -6990,21 +6918,20 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 37, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start + [{:start {:date-parts [[2017 2 1]], :date-time "2017-02-01T00:00:00Z", :timestamp 1485907200000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], :funder [{:DOI "10.13039/501100001862", :name "The Swedish Research Council", - :doi-asserted-by "crossref", - :award []}], + :doi-asserted-by "crossref"}], :content-domain {:domain ["psyneuen-journal.com" @@ -7017,7 +6944,7 @@ "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Psychoneuroendocrinology"], - :published-print {:date-parts [[2017 2]]}, + :published-print {:date-parts [[2017 2 1]]}, :DOI "10.1016/j.psyneuen.2016.11.033", :type "journal-article", :created @@ -7027,7 +6954,7 @@ :page "135-143", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", :source "Crossref", - :is-referenced-by-count 11, + :is-referenced-by-count 8, :title ["Combined oral contraceptive use is associated with both improvement and worsening of mood in the different phases of the treatment cycle—A double-blind, placebo-controlled randomized trial"], :prefix "10.1016", @@ -7095,9 +7022,9 @@ {:date-parts [[2017 6 25]], :date-time "2017-06-25T04:46:28Z", :timestamp 1498365988000}, - :score 1.0, - :issued {:date-parts [[2017 2]]}, - :references-count 0, + :score 0.7913856, + :issued {:date-parts [[2017 2 1]]}, + :references-count 37, :alternative-id ["S0306453016309635"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.11.033", :ISSN ["0306-4530"], @@ -7120,16 +7047,16 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 13, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start + [{:start {:date-parts [[2017 2 1]], :date-time "2017-02-01T00:00:00Z", :timestamp 1485907200000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], :content-domain {:domain ["psyneuen-journal.com" @@ -7142,7 +7069,7 @@ "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Psychoneuroendocrinology"], - :published-print {:date-parts [[2017 2]]}, + :published-print {:date-parts [[2017 2 1]]}, :DOI "10.1016/j.psyneuen.2016.11.034", :type "journal-article", :created @@ -7224,9 +7151,9 @@ {:date-parts [[2017 6 25]], :date-time "2017-06-25T05:03:55Z", :timestamp 1498367035000}, - :score 1.0, - :issued {:date-parts [[2017 2]]}, - :references-count 0, + :score 0.7913856, + :issued {:date-parts [[2017 2 1]]}, + :references-count 13, :alternative-id ["S0306453016309659"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.11.034", :ISSN ["0306-4530"], @@ -7249,16 +7176,16 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 44, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start + [{:start {:date-parts [[2017 3 1]], :date-time "2017-03-01T00:00:00Z", :timestamp 1488326400000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], :content-domain {:domain ["psyneuen-journal.com" @@ -7271,7 +7198,7 @@ "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Psychoneuroendocrinology"], - :published-print {:date-parts [[2017 3]]}, + :published-print {:date-parts [[2017 3 1]]}, :DOI "10.1016/j.psyneuen.2016.11.035", :type "journal-article", :created @@ -7281,7 +7208,7 @@ :page "122-130", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", :source "Crossref", - :is-referenced-by-count 1, + :is-referenced-by-count 0, :title ["Higher serum DHEA concentrations before and after SSRI treatment are associated with remission of major depression"], :prefix "10.1016", @@ -7349,9 +7276,9 @@ {:date-parts [[2017 8 18]], :date-time "2017-08-18T11:20:11Z", :timestamp 1503055211000}, - :score 1.0, - :issued {:date-parts [[2017 3]]}, - :references-count 0, + :score 0.7913856, + :issued {:date-parts [[2017 3 1]]}, + :references-count 44, :alternative-id ["S0306453016307466"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.11.035", :ISSN ["0306-4530"], @@ -7374,16 +7301,16 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 60, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start + [{:start {:date-parts [[2017 3 1]], :date-time "2017-03-01T00:00:00Z", :timestamp 1488326400000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], :content-domain {:domain ["psyneuen-journal.com" @@ -7396,7 +7323,7 @@ "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Psychoneuroendocrinology"], - :published-print {:date-parts [[2017 3]]}, + :published-print {:date-parts [[2017 3 1]]}, :DOI "10.1016/j.psyneuen.2016.11.036", :type "journal-article", :created @@ -7406,7 +7333,7 @@ :page "25-36", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", :source "Crossref", - :is-referenced-by-count 30, + :is-referenced-by-count 25, :title ["Cortisol stress reactivity across psychiatric disorders: A systematic review and meta-analysis"], :prefix "10.1016", @@ -7454,9 +7381,9 @@ {:date-parts [[2017 8 18]], :date-time "2017-08-18T11:20:42Z", :timestamp 1503055242000}, - :score 1.0, - :issued {:date-parts [[2017 3]]}, - :references-count 0, + :score 0.7913856, + :issued {:date-parts [[2017 3 1]]}, + :references-count 60, :alternative-id ["S0306453016304735"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.11.036", :ISSN ["0306-4530"], @@ -7479,17 +7406,17 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 63, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start + [{:start {:date-parts [[2017 2 1]], :date-time "2017-02-01T00:00:00Z", :timestamp 1485907200000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], - :funder [{:name "COST Action ADMIRE BM1301", :award []}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], + :funder [{:name "COST Action ADMIRE BM1301"}], :content-domain {:domain ["psyneuen-journal.com" @@ -7502,7 +7429,7 @@ "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Psychoneuroendocrinology"], - :published-print {:date-parts [[2017 2]]}, + :published-print {:date-parts [[2017 2 1]]}, :DOI "10.1016/j.psyneuen.2016.11.037", :type "journal-article", :created @@ -7512,7 +7439,7 @@ :page "162-173", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", :source "Crossref", - :is-referenced-by-count 6, + :is-referenced-by-count 5, :title ["Mineralocorticoid receptor haplotype, estradiol, progesterone and emotional information processing"], :prefix "10.1016", @@ -7556,9 +7483,9 @@ {:date-parts [[2017 6 25]], :date-time "2017-06-25T04:49:46Z", :timestamp 1498366186000}, - :score 1.0, - :issued {:date-parts [[2017 2]]}, - :references-count 0, + :score 0.7913856, + :issued {:date-parts [[2017 2 1]]}, + :references-count 63, :alternative-id ["S0306453016309660"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.11.037", :ISSN ["0306-4530"], @@ -7581,16 +7508,16 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 55, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start + [{:start {:date-parts [[2017 3 1]], :date-time "2017-03-01T00:00:00Z", :timestamp 1488326400000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], :content-domain {:domain ["psyneuen-journal.com" @@ -7603,7 +7530,7 @@ "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Psychoneuroendocrinology"], - :published-print {:date-parts [[2017 3]]}, + :published-print {:date-parts [[2017 3 1]]}, :DOI "10.1016/j.psyneuen.2016.11.039", :type "journal-article", :created @@ -7613,7 +7540,7 @@ :page "18-24", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", :source "Crossref", - :is-referenced-by-count 4, + :is-referenced-by-count 3, :title ["Oxytocin modulates third-party sanctioning of selfish and generous behavior within and between groups"], :prefix "10.1016", @@ -7653,9 +7580,9 @@ {:date-parts [[2017 8 18]], :date-time "2017-08-18T11:19:04Z", :timestamp 1503055144000}, - :score 1.0, - :issued {:date-parts [[2017 3]]}, - :references-count 0, + :score 0.7913856, + :issued {:date-parts [[2017 3 1]]}, + :references-count 55, :alternative-id ["S0306453016308678"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.11.039", :ISSN ["0306-4530"], @@ -7678,21 +7605,20 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 53, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start + [{:start {:date-parts [[2017 3 1]], :date-time "2017-03-01T00:00:00Z", :timestamp 1488326400000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], :funder [{:DOI "10.13039/100000002", :name "National Institutes of Health", - :doi-asserted-by "publisher", - :award []}], + :doi-asserted-by "publisher"}], :content-domain {:domain ["psyneuen-journal.com" @@ -7705,7 +7631,7 @@ "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Psychoneuroendocrinology"], - :published-print {:date-parts [[2017 3]]}, + :published-print {:date-parts [[2017 3 1]]}, :DOI "10.1016/j.psyneuen.2016.11.040", :type "journal-article", :created @@ -7767,9 +7693,9 @@ {:date-parts [[2017 8 18]], :date-time "2017-08-18T11:19:14Z", :timestamp 1503055154000}, - :score 1.0, - :issued {:date-parts [[2017 3]]}, - :references-count 0, + :score 0.7913856, + :issued {:date-parts [[2017 3 1]]}, + :references-count 53, :alternative-id ["S0306453016304279"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.11.040", :ISSN ["0306-4530"], @@ -7792,23 +7718,23 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 24, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start + [{:start {:date-parts [[2017 3 1]], :date-time "2017-03-01T00:00:00Z", :timestamp 1488326400000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"} - {:URL "http://creativecommons.org/licenses/by-nc-nd/4.0/", - :start + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"} + {:start {:date-parts [[2016 12 8]], :date-time "2016-12-08T00:00:00Z", :timestamp 1481155200000}, + :content-version "vor", :delay-in-days 0, - :content-version "vor"}], + :URL "http://creativecommons.org/licenses/by-nc-nd/4.0/"}], :content-domain {:domain ["psyneuen-journal.com" @@ -7821,7 +7747,7 @@ "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Psychoneuroendocrinology"], - :published-print {:date-parts [[2017 3]]}, + :published-print {:date-parts [[2017 3 1]]}, :DOI "10.1016/j.psyneuen.2016.12.002", :type "journal-article", :created @@ -7875,9 +7801,9 @@ {:date-parts [[2017 8 18]], :date-time "2017-08-18T11:19:33Z", :timestamp 1503055173000}, - :score 1.0, - :issued {:date-parts [[2017 3]]}, - :references-count 0, + :score 0.7913856, + :issued {:date-parts [[2017 3 1]]}, + :references-count 24, :alternative-id ["S0306453016305315"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.12.002", :ISSN ["0306-4530"], @@ -7900,16 +7826,16 @@ {:value "© 2016 The Authors. Published by Elsevier Ltd.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 42, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start + [{:start {:date-parts [[2017 3 1]], :date-time "2017-03-01T00:00:00Z", :timestamp 1488326400000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], :content-domain {:domain ["psyneuen-journal.com" @@ -7922,7 +7848,7 @@ "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Psychoneuroendocrinology"], - :published-print {:date-parts [[2017 3]]}, + :published-print {:date-parts [[2017 3 1]]}, :DOI "10.1016/j.psyneuen.2016.12.003", :type "journal-article", :created @@ -7932,7 +7858,7 @@ :page "84-89", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", :source "Crossref", - :is-referenced-by-count 1, + :is-referenced-by-count 0, :title ["OXTR polymorphism in depression and completed suicide—A study on a large population sample"], :prefix "10.1016", @@ -8000,9 +7926,9 @@ {:date-parts [[2017 8 18]], :date-time "2017-08-18T11:20:37Z", :timestamp 1503055237000}, - :score 1.0, - :issued {:date-parts [[2017 3]]}, - :references-count 0, + :score 0.7913856, + :issued {:date-parts [[2017 3 1]]}, + :references-count 42, :alternative-id ["S0306453016307132"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.12.003", :ISSN ["0306-4530"], @@ -8025,16 +7951,16 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 49, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start + [{:start {:date-parts [[2017 3 1]], :date-time "2017-03-01T00:00:00Z", :timestamp 1488326400000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], :content-domain {:domain ["psyneuen-journal.com" @@ -8047,7 +7973,7 @@ "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Psychoneuroendocrinology"], - :published-print {:date-parts [[2017 3]]}, + :published-print {:date-parts [[2017 3 1]]}, :DOI "10.1016/j.psyneuen.2016.12.004", :type "journal-article", :created @@ -8093,9 +8019,9 @@ {:date-parts [[2017 8 18]], :date-time "2017-08-18T11:19:42Z", :timestamp 1503055182000}, - :score 1.0, - :issued {:date-parts [[2017 3]]}, - :references-count 0, + :score 0.7913856, + :issued {:date-parts [[2017 3 1]]}, + :references-count 49, :alternative-id ["S0306453016302268"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.12.004", :ISSN ["0306-4530"], @@ -8118,27 +8044,24 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 73, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start + [{:start {:date-parts [[2017 2 1]], :date-time "2017-02-01T00:00:00Z", :timestamp 1485907200000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], :funder - [{:DOI "10.13039/100000065", - :name "National Institute of Neurological Disorders and Stroke", - :doi-asserted-by "publisher", - :award ["N01-MH9-0002" "N01-NS-9-2314" "N01-HD02-3343"]} - {:name - "Federal funds from the National Institute of Child Health and Human Development", - :award []} + [{:name + "Federal funds from the National Institute of Child Health and Human Development"} {:name - "National Institute on Drug Abuse, the National Institute of Mental Health", - :award []}], + "National Institute on Drug Abuse, the National Institute of Mental Health"} + {:DOI "10.13039/100000065", + :name "National Institute of Neurological Disorders and Stroke", + :doi-asserted-by "publisher"}], :content-domain {:domain ["psyneuen-journal.com" @@ -8151,7 +8074,7 @@ "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Psychoneuroendocrinology"], - :published-print {:date-parts [[2017 2]]}, + :published-print {:date-parts [[2017 2 1]]}, :DOI "10.1016/j.psyneuen.2016.12.005", :type "journal-article", :created @@ -8161,7 +8084,7 @@ :page "206-217", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", :source "Crossref", - :is-referenced-by-count 5, + :is-referenced-by-count 4, :title ["Sex-specific associations of testosterone with prefrontal-hippocampal development and executive function"], :prefix "10.1016", @@ -8221,9 +8144,9 @@ {:date-parts [[2017 6 25]], :date-time "2017-06-25T05:32:33Z", :timestamp 1498368753000}, - :score 1.0, - :issued {:date-parts [[2017 2]]}, - :references-count 0, + :score 0.7913856, + :issued {:date-parts [[2017 2 1]]}, + :references-count 73, :alternative-id ["S0306453016309994"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.12.005", :ISSN ["0306-4530"], @@ -8246,16 +8169,16 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 66, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start + [{:start {:date-parts [[2017 3 1]], :date-time "2017-03-01T00:00:00Z", :timestamp 1488326400000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], :content-domain {:domain ["psyneuen-journal.com" @@ -8268,7 +8191,7 @@ "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Psychoneuroendocrinology"], - :published-print {:date-parts [[2017 3]]}, + :published-print {:date-parts [[2017 3 1]]}, :DOI "10.1016/j.psyneuen.2016.12.006", :type "journal-article", :created @@ -8318,9 +8241,9 @@ {:date-parts [[2017 8 18]], :date-time "2017-08-18T11:19:11Z", :timestamp 1503055151000}, - :score 1.0, - :issued {:date-parts [[2017 3]]}, - :references-count 0, + :score 0.7913856, + :issued {:date-parts [[2017 3 1]]}, + :references-count 66, :alternative-id ["S0306453016306801"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.12.006", :ISSN ["0306-4530"], @@ -8343,17 +8266,17 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 48, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start + [{:start {:date-parts [[2017 3 1]], :date-time "2017-03-01T00:00:00Z", :timestamp 1488326400000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], - :funder [{:name "CIFRE scholarship", :award []}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], + :funder [{:name "CIFRE scholarship"}], :content-domain {:domain ["psyneuen-journal.com" @@ -8366,7 +8289,7 @@ "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Psychoneuroendocrinology"], - :published-print {:date-parts [[2017 3]]}, + :published-print {:date-parts [[2017 3 1]]}, :DOI "10.1016/j.psyneuen.2016.12.008", :type "journal-article", :created @@ -8412,9 +8335,9 @@ {:date-parts [[2017 8 18]], :date-time "2017-08-18T11:18:43Z", :timestamp 1503055123000}, - :score 1.0, - :issued {:date-parts [[2017 3]]}, - :references-count 0, + :score 0.7913856, + :issued {:date-parts [[2017 3 1]]}, + :references-count 48, :alternative-id ["S0306453016310289"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.12.008", :ISSN ["0306-4530"], diff --git a/dev-resources/titles/0306-4530.edn b/dev-resources/titles/0306-4530.edn index cec4fe49..b3bf4a62 100644 --- a/dev-resources/titles/0306-4530.edn +++ b/dev-resources/titles/0306-4530.edn @@ -1,11 +1,11 @@ -{:counts {:total-dois 76, :current-dois 76, :backfile-dois 0}, +{:counts {:current-dois 76, :backfile-dois 0, :total-dois 76}, :breakdowns {:dois-by-issued-year [[2017 73] [2016 3]]}, :publisher "Elsevier ", :coverage {:affiliations-current 0.0, :funders-backfile 0, :licenses-backfile 0, - :funders-current 0.34210526943206787, + :funders-current 0.3421052631578947, :affiliations-backfile 0, :resource-links-backfile 0, :orcids-backfile 0, @@ -15,11 +15,11 @@ :award-numbers-backfile 0, :update-policies-backfile 0, :licenses-current 1.0, - :award-numbers-current 0.22368420660495758, + :award-numbers-current 0.0, :abstracts-backfile 0, :resource-links-current 1.0, :abstracts-current 0.0, - :references-current 0.0}, + :references-current 0.9868421052631579}, :title "Psychoneuroendocrinology", :subjects [], :flags @@ -28,7 +28,7 @@ :deposits true, :deposits-affiliations-backfile false, :deposits-update-policies-backfile false, - :deposits-award-numbers-current true, + :deposits-award-numbers-current false, :deposits-resource-links-current true, :deposits-articles true, :deposits-affiliations-current false, @@ -37,7 +37,7 @@ :deposits-abstracts-backfile false, :deposits-licenses-backfile false, :deposits-award-numbers-backfile false, - :deposits-references-current false, + :deposits-references-current true, :deposits-resource-links-backfile false, :deposits-orcids-backfile false, :deposits-funders-backfile false, diff --git a/dev-resources/titles/2303-5595.edn b/dev-resources/titles/2303-5595.edn index 9475fcb5..eacd3f14 100644 --- a/dev-resources/titles/2303-5595.edn +++ b/dev-resources/titles/2303-5595.edn @@ -1,4 +1,4 @@ -{:counts {:total-dois 0, :current-dois 0, :backfile-dois 0}, +{:counts {:current-dois 0, :backfile-dois 0, :total-dois 0}, :breakdowns {:dois-by-issued-year []}, :publisher "National and University Library of the Republic of Srpska", diff --git a/dev-resources/titles/2542-1298.edn b/dev-resources/titles/2542-1298.edn index 0237c8e7..42a65927 100644 --- a/dev-resources/titles/2542-1298.edn +++ b/dev-resources/titles/2542-1298.edn @@ -1,4 +1,4 @@ -{:counts {:total-dois 0, :current-dois 0, :backfile-dois 0}, +{:counts {:current-dois 0, :backfile-dois 0, :total-dois 0}, :breakdowns {:dois-by-issued-year []}, :publisher "Kniga - Service Agency Ltd.", :coverage diff --git a/src/cayenne/tasks/journal.clj b/src/cayenne/tasks/journal.clj index a5c9cf00..4f67130a 100644 --- a/src/cayenne/tasks/journal.clj +++ b/src/cayenne/tasks/journal.clj @@ -24,9 +24,9 @@ e-issn (nth csv-row eissn-column)] (cond-> [] (not (string/blank? p-issn)) - (conj {:value (issn/normalize-issn p-issn) :kind "print"}) + (conj {:value (issn/normalize-issn p-issn) :type "print"}) (not (string/blank? e-issn)) - (conj {:value (issn/normalize-issn e-issn) :kind "electronic"})))) + (conj {:value (issn/normalize-issn e-issn) :type "electronic"})))) (defn index-command [csv-row] (let [title (nth csv-row title-column) @@ -38,7 +38,7 @@ :doi (-> csv-row (nth doi-column) doi-id/normalize-long-doi) :publisher (nth csv-row publisher-column) :issn (issns csv-row)}])) - + (defn index-journals [] (with-open [body (io/reader (conf/get-param [:location :cr-titles-csv]))] (let [cleaned (string/replace (slurp body) #"\\\"" "")] From f906b47279778da758b396de66d33011c6fc1b7b Mon Sep 17 00:00:00 2001 From: Mark Woodhall Date: Tue, 8 May 2018 14:32:01 +0100 Subject: [PATCH 135/156] Remove score comparsion from certain works tests Since we now have corpus tests to very scoring across citation matching we can get away without asserting against score for all other works related tests, this is helpful because score does vary per test run using the elastic implementation. --- .../works/10.1016/j.psyneuen.2016.10.018.edn | 1 - dev-resources/works/10.1084/jem.20151673.edn | 1 - .../works/10.7287/peerj.1078v0.2/reviews/1.edn | 1 - .../works/10.7287/peerj.2196v0.1/reviews/2.edn | 1 - dev-resources/works/query.title=Peer.edn | 2 -- dev-resources/works/query.title=Socioeconomic.edn | 1 - test/cayenne/api_fixture.clj | 5 +++++ test/cayenne/works_test.clj | 12 +++++++----- 8 files changed, 12 insertions(+), 12 deletions(-) diff --git a/dev-resources/works/10.1016/j.psyneuen.2016.10.018.edn b/dev-resources/works/10.1016/j.psyneuen.2016.10.018.edn index fcd0c057..badad751 100644 --- a/dev-resources/works/10.1016/j.psyneuen.2016.10.018.edn +++ b/dev-resources/works/10.1016/j.psyneuen.2016.10.018.edn @@ -79,7 +79,6 @@ {:date-parts [[2017 11 30]], :date-time "2017-11-30T15:51:45Z", :timestamp 1512057105000}, - :score 4.787492, :subtitle [], :short-title [], :issued {:date-parts [[2017 1]]}, diff --git a/dev-resources/works/10.1084/jem.20151673.edn b/dev-resources/works/10.1084/jem.20151673.edn index 250930f9..ecac0a10 100644 --- a/dev-resources/works/10.1084/jem.20151673.edn +++ b/dev-resources/works/10.1084/jem.20151673.edn @@ -39,7 +39,6 @@ {:date-parts [[2017 4 19]], :date-time "2017-04-19T23:50:05Z", :timestamp 1492645805000}, - :score 4.787492, :subtitle [], :free-to-read {:start-date {:date-parts [[2015 1 15]]}, diff --git a/dev-resources/works/10.7287/peerj.1078v0.2/reviews/1.edn b/dev-resources/works/10.7287/peerj.1078v0.2/reviews/1.edn index c738c23a..0cb6f4a0 100644 --- a/dev-resources/works/10.7287/peerj.1078v0.2/reviews/1.edn +++ b/dev-resources/works/10.7287/peerj.1078v0.2/reviews/1.edn @@ -22,7 +22,6 @@ {:date-time "2018-01-10T17:22:19Z", :date-parts [[2018 1 10]], :timestamp 1515604939000}, - :score 4.787492, :subtitle [], :short-title [], :issued {:date-parts [[2015 7 14]]}, diff --git a/dev-resources/works/10.7287/peerj.2196v0.1/reviews/2.edn b/dev-resources/works/10.7287/peerj.2196v0.1/reviews/2.edn index b106a767..16f0e902 100644 --- a/dev-resources/works/10.7287/peerj.2196v0.1/reviews/2.edn +++ b/dev-resources/works/10.7287/peerj.2196v0.1/reviews/2.edn @@ -41,7 +41,6 @@ {:date-parts [[2018 1 9]], :date-time "2018-01-09T18:42:21Z", :timestamp 1515523341000}, - :score 4.787492, :subtitle ["The Subtitle"], :short-title [], :issued {:date-parts [[2017 4 19]]}, diff --git a/dev-resources/works/query.title=Peer.edn b/dev-resources/works/query.title=Peer.edn index 343c3835..a6ee939e 100644 --- a/dev-resources/works/query.title=Peer.edn +++ b/dev-resources/works/query.title=Peer.edn @@ -20,7 +20,6 @@ {:date-parts [[2018 1 10]], :date-time "2018-01-10T17:22:19Z", :timestamp 1515604939000}, - :score 4.5820146, :issued {:date-parts [[2015 7 14]]}, :references-count 0, :URL "http://dx.doi.org/10.7287/peerj.1078v0.2/reviews/1", @@ -70,7 +69,6 @@ {:date-parts [[2018 1 9]], :date-time "2018-01-09T18:42:21Z", :timestamp 1515523341000}, - :score 3.4288158, :subtitle ["The Subtitle"], :issued {:date-parts [[2017 4 19]]}, :references-count 0, diff --git a/dev-resources/works/query.title=Socioeconomic.edn b/dev-resources/works/query.title=Socioeconomic.edn index 705df52b..9ac1ab9a 100644 --- a/dev-resources/works/query.title=Socioeconomic.edn +++ b/dev-resources/works/query.title=Socioeconomic.edn @@ -69,7 +69,6 @@ {:date-parts [[2017 11 30]], :date-time "2017-11-30T15:51:07Z", :timestamp 1512057067000}, - :score 4.9771366, :issued {:date-parts [[2017 1 1]]}, :references-count 34, :alternative-id ["S0306453016307545"], diff --git a/test/cayenne/api_fixture.clj b/test/cayenne/api_fixture.clj index e6c61df9..d3d861ef 100644 --- a/test/cayenne/api_fixture.clj +++ b/test/cayenne/api_fixture.clj @@ -23,6 +23,11 @@ (update :items (partial sort-by sorter))) (:descendants message) (update :descendants sort)))) +(defn no-scores [m] + (cond-> m + (:score m) (dissoc :score) + (:items m) (-> (update :items (partial map #(dissoc % :score)))))) + (def api-with-works (api-with user/index-feed)) diff --git a/test/cayenne/works_test.clj b/test/cayenne/works_test.clj index 6e7fcf06..dd7171fc 100644 --- a/test/cayenne/works_test.clj +++ b/test/cayenne/works_test.clj @@ -1,5 +1,5 @@ (ns cayenne.works-test - (:require [cayenne.api-fixture :refer [api-root api-get api-with-works]] + (:require [cayenne.api-fixture :refer [api-root api-get api-with-works no-scores]] [clj-http.client :as http] [clojure.data.json :refer [write-str]] [clojure.test :refer [use-fixtures deftest testing is]] @@ -10,16 +10,18 @@ (doseq [doi ["10.1016/j.psyneuen.2016.10.018" "10.7287/peerj.2196v0.1/reviews/2" "10.7287/peerj.1078v0.2/reviews/1" - "10.1084/jem.20151673" "10.1101/026963" - "10.5555/test5"]] - (let [response (api-get (str "/v1/works/" doi)) + "10.5555/test5" + "10.1084/jem.20151673"]] + (let [response (-> (api-get (str "/v1/works/" doi)) + no-scores) expected-response (read-string (slurp (resource (str "works/" doi ".edn"))))] (is (= expected-response response) (str "Unexpected response for DOI " doi))))) (testing "works endpoint returns expected result for query" (doseq [q-filter ["query.title=Peer" "query.title=Socioeconomic"]] - (let [response (api-get (str "/v1/works?" q-filter)) + (let [response (-> (api-get (str "/v1/works?" q-filter)) + no-scores) expected-response (read-string (slurp (resource (str "works/" q-filter ".edn"))))] (is (= expected-response response) (str "unexpected result for query " q-filter))))) From 4d966e4fe12e6bddb85b9014fe404c4caaa1bdbb Mon Sep 17 00:00:00 2001 From: Mark Woodhall Date: Tue, 8 May 2018 14:45:18 +0100 Subject: [PATCH 136/156] Use one shard for work index As per other indexes we will use one shard for the work index, this also happens to be the most similar to the existing solr setup. --- src/cayenne/elastic/mappings.clj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/cayenne/elastic/mappings.clj b/src/cayenne/elastic/mappings.clj index ec11d411..438effe6 100644 --- a/src/cayenne/elastic/mappings.clj +++ b/src/cayenne/elastic/mappings.clj @@ -286,7 +286,7 @@ "journal" {"_all" {:enabled false} :properties journal-properties}}) (def index-settings - {"work" {:number_of_shards 24 :number_of_replicas 3} + {"work" {:number_of_shards 1 :number_of_replicas 3} "member" {:number_of_shards 1 :number_of_replicas 3} "funder" {:number_of_shards 1 :number_of_replicas 3} "subject" {:number_of_shards 1 :number_of_replicas 3} From 8764d797b3d14490351e3217d4f6867e9e257a01 Mon Sep 17 00:00:00 2001 From: Mark Woodhall Date: Tue, 8 May 2018 14:46:25 +0100 Subject: [PATCH 137/156] Add helper function to pretty print resource to path --- dev/user.clj | 3 +++ 1 file changed, 3 insertions(+) diff --git a/dev/user.clj b/dev/user.clj index 90f229bb..2e811c31 100644 --- a/dev/user.clj +++ b/dev/user.clj @@ -133,6 +133,9 @@ :body {:query {:match_all {}}}}) :body :hits :hits))) +(defn spit-resource [path data] + (spit (str "dev-resources/" path) (with-out-str (clojure.pprint/pprint data)))) + (def system @cores) (defn remove-feed-references [] From a0094ac21d6bf4e2bbb8abc4c8edfe98e7d82a7e Mon Sep 17 00:00:00 2001 From: Mark Woodhall Date: Tue, 8 May 2018 15:37:51 +0100 Subject: [PATCH 138/156] Remove score comparison from journal work test --- dev-resources/titles/0306-4530-works.edn | 76 ------------------------ test/cayenne/journals_test.clj | 5 +- 2 files changed, 3 insertions(+), 78 deletions(-) diff --git a/dev-resources/titles/0306-4530-works.edn b/dev-resources/titles/0306-4530-works.edn index bae6af9e..ef9ccf71 100644 --- a/dev-resources/titles/0306-4530-works.edn +++ b/dev-resources/titles/0306-4530-works.edn @@ -69,7 +69,6 @@ {:date-parts [[2017 11 30]], :date-time "2017-11-30T15:51:07Z", :timestamp 1512057067000}, - :score 0.7913856, :issued {:date-parts [[2017 1 1]]}, :references-count 34, :alternative-id ["S0306453016307545"], @@ -178,7 +177,6 @@ {:date-parts [[2017 6 25]], :date-time "2017-06-25T00:40:57Z", :timestamp 1498351257000}, - :score 0.7913856, :issued {:date-parts [[2016 12 1]]}, :references-count 55, :alternative-id ["S0306453016307594"], @@ -311,7 +309,6 @@ {:date-parts [[2017 6 25]], :date-time "2017-06-25T00:42:04Z", :timestamp 1498351324000}, - :score 0.7913856, :issued {:date-parts [[2016 12 1]]}, :references-count 67, :alternative-id ["S0306453016307144"], @@ -424,7 +421,6 @@ {:date-parts [[2017 6 25]], :date-time "2017-06-25T00:44:04Z", :timestamp 1498351444000}, - :score 0.7913856, :issued {:date-parts [[2016 12 1]]}, :references-count 80, :alternative-id ["S0306453016307715"], @@ -534,7 +530,6 @@ {:date-parts [[2017 11 30]], :date-time "2017-11-30T15:51:13Z", :timestamp 1512057073000}, - :score 0.7913856, :issued {:date-parts [[2017 1 1]]}, :references-count 13, :alternative-id ["S0306453016307740"], @@ -643,7 +638,6 @@ {:date-parts [[2017 11 30]], :date-time "2017-11-30T15:50:29Z", :timestamp 1512057029000}, - :score 0.7913856, :issued {:date-parts [[2017 1 1]]}, :references-count 59, :alternative-id ["S0306453016307867"], @@ -728,7 +722,6 @@ {:date-parts [[2017 11 30]], :date-time "2017-11-30T15:50:55Z", :timestamp 1512057055000}, - :score 0.7913856, :issued {:date-parts [[2017 1 1]]}, :references-count 95, :alternative-id ["S0306453016307880"], @@ -829,7 +822,6 @@ {:date-parts [[2017 11 30]], :date-time "2017-11-30T15:51:09Z", :timestamp 1512057069000}, - :score 0.7913856, :issued {:date-parts [[2017 1 1]]}, :references-count 74, :alternative-id ["S0306453016307892"], @@ -930,7 +922,6 @@ {:date-parts [[2017 11 30]], :date-time "2017-11-30T15:51:34Z", :timestamp 1512057094000}, - :score 0.7913856, :issued {:date-parts [[2017 1 1]]}, :references-count 15, :alternative-id ["S0306453016307909"], @@ -1043,7 +1034,6 @@ {:date-parts [[2017 11 30]], :date-time "2017-11-30T15:51:31Z", :timestamp 1512057091000}, - :score 0.7913856, :issued {:date-parts [[2017 1 1]]}, :references-count 54, :alternative-id ["S0306453016305327"], @@ -1140,7 +1130,6 @@ {:date-parts [[2017 11 30]], :date-time "2017-11-30T15:51:48Z", :timestamp 1512057108000}, - :score 0.7913856, :issued {:date-parts [[2017 1 1]]}, :references-count 51, :alternative-id ["S0306453016302190"], @@ -1238,7 +1227,6 @@ {:date-parts [[2017 11 30]], :date-time "2017-11-30T15:51:22Z", :timestamp 1512057082000}, - :score 0.7913856, :issued {:date-parts [[2017 1 1]]}, :references-count 48, :alternative-id ["S0306453016307983"], @@ -1371,7 +1359,6 @@ {:date-parts [[2017 11 30]], :date-time "2017-11-30T15:50:59Z", :timestamp 1512057059000}, - :score 0.7913856, :issued {:date-parts [[2017 1 1]]}, :references-count 83, :alternative-id ["S0306453016308022"], @@ -1494,7 +1481,6 @@ {:date-parts [[2017 6 25]], :date-time "2017-06-25T02:55:28Z", :timestamp 1498359328000}, - :score 0.7913856, :issued {:date-parts [[2017 2 1]]}, :references-count 70, :alternative-id ["S030645301630806X"], @@ -1599,7 +1585,6 @@ {:date-parts [[2017 11 30]], :date-time "2017-11-30T15:51:44Z", :timestamp 1512057104000}, - :score 0.7913856, :issued {:date-parts [[2017 1 1]]}, :references-count 64, :alternative-id ["S0306453016308083"], @@ -1688,7 +1673,6 @@ {:date-parts [[2017 11 30]], :date-time "2017-11-30T15:51:18Z", :timestamp 1512057078000}, - :score 0.7913856, :issued {:date-parts [[2017 1 1]]}, :references-count 88, :alternative-id ["S0306453016302128"], @@ -1781,7 +1765,6 @@ {:date-parts [[2017 11 30]], :date-time "2017-11-30T15:50:41Z", :timestamp 1512057041000}, - :score 0.7913856, :issued {:date-parts [[2017 1 1]]}, :references-count 45, :alternative-id ["S0306453016308216"], @@ -1910,7 +1893,6 @@ {:date-parts [[2017 6 25]], :date-time "2017-06-25T01:42:48Z", :timestamp 1498354968000}, - :score 0.7913856, :issued {:date-parts [[2017 2 1]]}, :references-count 39, :alternative-id ["S0306453016308332"], @@ -2031,7 +2013,6 @@ {:date-parts [[2017 11 30]], :date-time "2017-11-30T15:51:26Z", :timestamp 1512057086000}, - :score 0.7913856, :issued {:date-parts [[2017 1 1]]}, :references-count 45, :alternative-id ["S0306453016305595"], @@ -2140,7 +2121,6 @@ {:date-parts [[2017 11 30]], :date-time "2017-11-30T15:51:18Z", :timestamp 1512057078000}, - :score 0.7913856, :issued {:date-parts [[2017 1 1]]}, :references-count 36, :alternative-id ["S0306453016302025"], @@ -2245,7 +2225,6 @@ {:date-parts [[2017 11 30]], :date-time "2017-11-30T15:51:45Z", :timestamp 1512057105000}, - :score 0.7913856, :issued {:date-parts [[2017 1 1]]}, :references-count 83, :alternative-id ["S0306453016308447"], @@ -2353,7 +2332,6 @@ {:date-parts [[2017 11 30]], :date-time "2017-11-30T15:51:51Z", :timestamp 1512057111000}, - :score 0.7913856, :issued {:date-parts [[2017 1 1]]}, :references-count 41, :alternative-id ["S0306453016308435"], @@ -2466,7 +2444,6 @@ {:date-parts [[2017 11 30]], :date-time "2017-11-30T15:50:58Z", :timestamp 1512057058000}, - :score 0.7913856, :issued {:date-parts [[2017 1 1]]}, :references-count 43, :alternative-id ["S0306453016308459"], @@ -2575,7 +2552,6 @@ {:date-parts [[2017 6 25]], :date-time "2017-06-25T03:19:26Z", :timestamp 1498360766000}, - :score 0.7913856, :issued {:date-parts [[2017 2 1]]}, :references-count 47, :alternative-id ["S0306453016304668"], @@ -2684,7 +2660,6 @@ {:date-parts [[2017 11 30]], :date-time "2017-11-30T15:51:29Z", :timestamp 1512057089000}, - :score 0.7913856, :issued {:date-parts [[2017 1 1]]}, :references-count 51, :alternative-id ["S0306453016308587"], @@ -2780,7 +2755,6 @@ {:date-parts [[2017 6 25]], :date-time "2017-06-25T04:01:56Z", :timestamp 1498363316000}, - :score 0.7913856, :issued {:date-parts [[2017 2 1]]}, :references-count 54, :alternative-id ["S0306453016308605"], @@ -2893,7 +2867,6 @@ {:date-parts [[2017 11 30]], :date-time "2017-11-30T15:50:13Z", :timestamp 1512057013000}, - :score 0.7913856, :issued {:date-parts [[2017 1 1]]}, :references-count 63, :alternative-id ["S0306453016308630"], @@ -3003,7 +2976,6 @@ {:date-parts [[2017 11 30]], :date-time "2017-11-30T15:49:55Z", :timestamp 1512056995000}, - :score 0.7913856, :issued {:date-parts [[2017 1 1]]}, :references-count 44, :alternative-id ["S0306453016308563"], @@ -3129,7 +3101,6 @@ {:date-parts [[2017 11 30]], :date-time "2017-11-30T15:51:40Z", :timestamp 1512057100000}, - :score 0.7913856, :issued {:date-parts [[2017 1 1]]}, :references-count 67, :alternative-id ["S0306453016308654"], @@ -3258,7 +3229,6 @@ {:date-parts [[2017 6 25]], :date-time "2017-06-25T03:19:26Z", :timestamp 1498360766000}, - :score 0.7913856, :issued {:date-parts [[2017 2 1]]}, :references-count 54, :alternative-id ["S0306453016304528"], @@ -3347,7 +3317,6 @@ {:date-parts [[2017 6 25]], :date-time "2017-06-25T02:56:49Z", :timestamp 1498359409000}, - :score 0.7913856, :issued {:date-parts [[2017 2 1]]}, :references-count 56, :alternative-id ["S0306453016304723"], @@ -3455,7 +3424,6 @@ {:date-parts [[2017 6 25]], :date-time "2017-06-25T03:33:24Z", :timestamp 1498361604000}, - :score 0.7913856, :issued {:date-parts [[2017 2 1]]}, :references-count 45, :alternative-id ["S030645301630470X"], @@ -3573,7 +3541,6 @@ {:date-parts [[2017 3 17]], :date-time "2017-03-17T15:31:03Z", :timestamp 1489764663000}, - :score 0.7913856, :issued {:date-parts [[2017 3 17]]}, :references-count 0, :alternative-id ["S0306453016308757"], @@ -3675,7 +3642,6 @@ {:date-parts [[2017 11 30]], :date-time "2017-11-30T15:51:41Z", :timestamp 1512057101000}, - :score 0.7913856, :issued {:date-parts [[2017 1 1]]}, :references-count 64, :alternative-id ["S0306453016308824"], @@ -3784,7 +3750,6 @@ {:date-parts [[2017 11 30]], :date-time "2017-11-30T15:52:20Z", :timestamp 1512057140000}, - :score 0.7913856, :issued {:date-parts [[2017 1 1]]}, :references-count 81, :alternative-id ["S0306453016308836"], @@ -3894,7 +3859,6 @@ {:date-parts [[2017 6 25]], :date-time "2017-06-25T03:24:46Z", :timestamp 1498361086000}, - :score 0.7913856, :issued {:date-parts [[2017 2 1]]}, :references-count 50, :alternative-id ["S030645301630511X"], @@ -4010,7 +3974,6 @@ {:date-parts [[2017 11 30]], :date-time "2017-11-30T15:51:46Z", :timestamp 1512057106000}, - :score 0.7913856, :issued {:date-parts [[2017 1 1]]}, :references-count 54, :alternative-id ["S0306453016308903"], @@ -4115,7 +4078,6 @@ {:date-parts [[2017 6 25]], :date-time "2017-06-25T03:02:43Z", :timestamp 1498359763000}, - :score 0.7913856, :issued {:date-parts [[2017 2 1]]}, :references-count 19, :alternative-id ["S0306453016308915"], @@ -4244,7 +4206,6 @@ {:date-parts [[2017 6 25]], :date-time "2017-06-25T03:19:29Z", :timestamp 1498360769000}, - :score 0.7913856, :issued {:date-parts [[2017 2 1]]}, :references-count 52, :alternative-id ["S0306453016302293"], @@ -4369,7 +4330,6 @@ {:date-parts [[2017 6 25]], :date-time "2017-06-25T03:14:07Z", :timestamp 1498360447000}, - :score 0.7913856, :issued {:date-parts [[2017 2 1]]}, :references-count 67, :alternative-id ["S0306453016308952"], @@ -4478,7 +4438,6 @@ {:date-parts [[2017 6 25]], :date-time "2017-06-25T03:33:24Z", :timestamp 1498361604000}, - :score 0.7913856, :issued {:date-parts [[2017 2 1]]}, :references-count 19, :alternative-id ["S0306453016305005"], @@ -4571,7 +4530,6 @@ {:date-parts [[2017 6 25]], :date-time "2017-06-25T03:39:19Z", :timestamp 1498361959000}, - :score 0.7913856, :issued {:date-parts [[2017 2 1]]}, :references-count 17, :alternative-id ["S030645301630899X"], @@ -4691,7 +4649,6 @@ {:date-parts [[2017 10 9]], :date-time "2017-10-09T19:55:05Z", :timestamp 1507578905000}, - :score 0.7913856, :issued {:date-parts [[2017 2 1]]}, :references-count 36, :alternative-id ["S0306453016305923"], @@ -4804,7 +4761,6 @@ {:date-parts [[2017 6 25]], :date-time "2017-06-25T03:24:39Z", :timestamp 1498361079000}, - :score 0.7913856, :issued {:date-parts [[2017 2 1]]}, :references-count 92, :alternative-id ["S0306453016309015"], @@ -4929,7 +4885,6 @@ {:date-parts [[2017 6 25]], :date-time "2017-06-25T03:46:05Z", :timestamp 1498362365000}, - :score 0.7913856, :issued {:date-parts [[2017 2 1]]}, :references-count 18, :alternative-id ["S0306453016305601"], @@ -5035,7 +4990,6 @@ {:date-parts [[2017 6 25]], :date-time "2017-06-25T03:46:01Z", :timestamp 1498362361000}, - :score 0.7913856, :issued {:date-parts [[2017 2 1]]}, :references-count 69, :alternative-id ["S0306453016305996"], @@ -5151,7 +5105,6 @@ {:date-parts [[2017 8 18]], :date-time "2017-08-18T11:20:23Z", :timestamp 1503055223000}, - :score 0.7913856, :issued {:date-parts [[2017 3 1]]}, :references-count 20, :alternative-id ["S0306453016302049"], @@ -5248,7 +5201,6 @@ {:date-parts [[2017 6 25]], :date-time "2017-06-25T04:14:47Z", :timestamp 1498364087000}, - :score 0.7913856, :issued {:date-parts [[2017 2 1]]}, :references-count 47, :alternative-id ["S0306453016305066"], @@ -5368,7 +5320,6 @@ {:date-parts [[2017 10 9]], :date-time "2017-10-09T19:55:19Z", :timestamp 1507578919000}, - :score 0.7913856, :issued {:date-parts [[2017 2 1]]}, :references-count 68, :alternative-id ["S0306453016309210"], @@ -5465,7 +5416,6 @@ {:date-parts [[2017 8 18]], :date-time "2017-08-18T11:20:42Z", :timestamp 1503055242000}, - :score 0.7913856, :issued {:date-parts [[2017 3 1]]}, :references-count 49, :alternative-id ["S0306453016304267"], @@ -5578,7 +5528,6 @@ {:date-parts [[2017 8 18]], :date-time "2017-08-18T11:18:17Z", :timestamp 1503055097000}, - :score 0.7913856, :issued {:date-parts [[2017 3 1]]}, :references-count 15, :alternative-id ["S030645301630703X"], @@ -5699,7 +5648,6 @@ {:date-parts [[2017 8 18]], :date-time "2017-08-18T11:19:42Z", :timestamp 1503055182000}, - :score 0.7913856, :issued {:date-parts [[2017 3 1]]}, :references-count 48, :alternative-id ["S0306453016307600"], @@ -5792,7 +5740,6 @@ {:date-parts [[2017 6 25]], :date-time "2017-06-25T03:59:09Z", :timestamp 1498363149000}, - :score 0.7913856, :issued {:date-parts [[2017 2 1]]}, :references-count 71, :alternative-id ["S0306453016309362"], @@ -5901,7 +5848,6 @@ {:date-parts [[2017 8 18]], :date-time "2017-08-18T11:20:22Z", :timestamp 1503055222000}, - :score 0.7913856, :issued {:date-parts [[2017 3 1]]}, :references-count 18, :alternative-id ["S0306453016306503"], @@ -6017,7 +5963,6 @@ {:date-parts [[2017 8 18]], :date-time "2017-08-18T11:19:36Z", :timestamp 1503055176000}, - :score 0.7913856, :issued {:date-parts [[2017 3 1]]}, :references-count 46, :alternative-id ["S030645301630498X"], @@ -6107,7 +6052,6 @@ {:date-parts [[2017 8 18]], :date-time "2017-08-18T11:20:48Z", :timestamp 1503055248000}, - :score 0.7913856, :issued {:date-parts [[2017 3 1]]}, :references-count 48, :alternative-id ["S0306453016304711"], @@ -6239,7 +6183,6 @@ {:date-parts [[2017 8 18]], :date-time "2017-08-18T11:20:04Z", :timestamp 1503055204000}, - :score 0.7913856, :issued {:date-parts [[2017 3 1]]}, :references-count 36, :alternative-id ["S0306453016305364"], @@ -6328,7 +6271,6 @@ {:date-parts [[2017 8 18]], :date-time "2017-08-18T11:19:44Z", :timestamp 1503055184000}, - :score 0.7913856, :issued {:date-parts [[2017 3 1]]}, :references-count 66, :alternative-id ["S0306453016305583"], @@ -6437,7 +6379,6 @@ {:date-parts [[2017 8 18]], :date-time "2017-08-18T11:18:57Z", :timestamp 1503055137000}, - :score 0.7913856, :issued {:date-parts [[2017 3 1]]}, :references-count 52, :alternative-id ["S0306453016306199"], @@ -6554,7 +6495,6 @@ {:date-parts [[2017 8 18]], :date-time "2017-08-18T11:19:04Z", :timestamp 1503055144000}, - :score 0.7913856, :issued {:date-parts [[2017 3 1]]}, :references-count 30, :alternative-id ["S0306453016307922"], @@ -6651,7 +6591,6 @@ {:date-parts [[2017 8 18]], :date-time "2017-08-18T11:20:32Z", :timestamp 1503055232000}, - :score 0.7913856, :issued {:date-parts [[2017 3 1]]}, :references-count 73, :alternative-id ["S0306453016308125"], @@ -6796,7 +6735,6 @@ {:date-parts [[2017 6 25]], :date-time "2017-06-25T04:53:05Z", :timestamp 1498366385000}, - :score 0.7913856, :issued {:date-parts [[2017 2 1]]}, :references-count 55, :alternative-id ["S0306453016306862"], @@ -6893,7 +6831,6 @@ {:date-parts [[2017 6 25]], :date-time "2017-06-25T04:53:02Z", :timestamp 1498366382000}, - :score 0.7913856, :issued {:date-parts [[2017 2 1]]}, :references-count 35, :alternative-id ["S0306453016309623"], @@ -7022,7 +6959,6 @@ {:date-parts [[2017 6 25]], :date-time "2017-06-25T04:46:28Z", :timestamp 1498365988000}, - :score 0.7913856, :issued {:date-parts [[2017 2 1]]}, :references-count 37, :alternative-id ["S0306453016309635"], @@ -7151,7 +7087,6 @@ {:date-parts [[2017 6 25]], :date-time "2017-06-25T05:03:55Z", :timestamp 1498367035000}, - :score 0.7913856, :issued {:date-parts [[2017 2 1]]}, :references-count 13, :alternative-id ["S0306453016309659"], @@ -7276,7 +7211,6 @@ {:date-parts [[2017 8 18]], :date-time "2017-08-18T11:20:11Z", :timestamp 1503055211000}, - :score 0.7913856, :issued {:date-parts [[2017 3 1]]}, :references-count 44, :alternative-id ["S0306453016307466"], @@ -7381,7 +7315,6 @@ {:date-parts [[2017 8 18]], :date-time "2017-08-18T11:20:42Z", :timestamp 1503055242000}, - :score 0.7913856, :issued {:date-parts [[2017 3 1]]}, :references-count 60, :alternative-id ["S0306453016304735"], @@ -7483,7 +7416,6 @@ {:date-parts [[2017 6 25]], :date-time "2017-06-25T04:49:46Z", :timestamp 1498366186000}, - :score 0.7913856, :issued {:date-parts [[2017 2 1]]}, :references-count 63, :alternative-id ["S0306453016309660"], @@ -7580,7 +7512,6 @@ {:date-parts [[2017 8 18]], :date-time "2017-08-18T11:19:04Z", :timestamp 1503055144000}, - :score 0.7913856, :issued {:date-parts [[2017 3 1]]}, :references-count 55, :alternative-id ["S0306453016308678"], @@ -7693,7 +7624,6 @@ {:date-parts [[2017 8 18]], :date-time "2017-08-18T11:19:14Z", :timestamp 1503055154000}, - :score 0.7913856, :issued {:date-parts [[2017 3 1]]}, :references-count 53, :alternative-id ["S0306453016304279"], @@ -7801,7 +7731,6 @@ {:date-parts [[2017 8 18]], :date-time "2017-08-18T11:19:33Z", :timestamp 1503055173000}, - :score 0.7913856, :issued {:date-parts [[2017 3 1]]}, :references-count 24, :alternative-id ["S0306453016305315"], @@ -7926,7 +7855,6 @@ {:date-parts [[2017 8 18]], :date-time "2017-08-18T11:20:37Z", :timestamp 1503055237000}, - :score 0.7913856, :issued {:date-parts [[2017 3 1]]}, :references-count 42, :alternative-id ["S0306453016307132"], @@ -8019,7 +7947,6 @@ {:date-parts [[2017 8 18]], :date-time "2017-08-18T11:19:42Z", :timestamp 1503055182000}, - :score 0.7913856, :issued {:date-parts [[2017 3 1]]}, :references-count 49, :alternative-id ["S0306453016302268"], @@ -8144,7 +8071,6 @@ {:date-parts [[2017 6 25]], :date-time "2017-06-25T05:32:33Z", :timestamp 1498368753000}, - :score 0.7913856, :issued {:date-parts [[2017 2 1]]}, :references-count 73, :alternative-id ["S0306453016309994"], @@ -8241,7 +8167,6 @@ {:date-parts [[2017 8 18]], :date-time "2017-08-18T11:19:11Z", :timestamp 1503055151000}, - :score 0.7913856, :issued {:date-parts [[2017 3 1]]}, :references-count 66, :alternative-id ["S0306453016306801"], @@ -8335,7 +8260,6 @@ {:date-parts [[2017 8 18]], :date-time "2017-08-18T11:18:43Z", :timestamp 1503055123000}, - :score 0.7913856, :issued {:date-parts [[2017 3 1]]}, :references-count 48, :alternative-id ["S0306453016310289"], diff --git a/test/cayenne/journals_test.clj b/test/cayenne/journals_test.clj index dcf6f9ea..039fdeba 100644 --- a/test/cayenne/journals_test.clj +++ b/test/cayenne/journals_test.clj @@ -1,5 +1,5 @@ (ns cayenne.journals-test - (:require [cayenne.api-fixture :refer [api-root api-get api-with-works]] + (:require [cayenne.api-fixture :refer [api-root api-get api-with-works no-scores]] [clojure.java.io :refer [resource]] [clojure.test :refer [use-fixtures deftest testing is]])) @@ -23,7 +23,8 @@ (testing "journals endpoint returns expected result for ISSN works" (doseq [issn ["0306-4530"]] - (let [response (api-get (str "/v1/journals/" issn "/works?rows=76")) + (let [response (-> (api-get (str "/v1/journals/" issn "/works?rows=76")) + no-scores) expected-response (read-string (slurp (resource (str "titles/" issn "-works.edn"))))] (is (= expected-response response)))))) From 0beee15439501229201c9e2a5ba557363110bcac Mon Sep 17 00:00:00 2001 From: Mark Woodhall Date: Wed, 9 May 2018 14:36:10 +0100 Subject: [PATCH 139/156] Add breakdowns to member coverage --- dev-resources/members.edn | 16 ++++++++-------- src/cayenne/data/member.clj | 1 + 2 files changed, 9 insertions(+), 8 deletions(-) diff --git a/dev-resources/members.edn b/dev-resources/members.edn index 2d14e33b..b138f544 100644 --- a/dev-resources/members.edn +++ b/dev-resources/members.edn @@ -3,7 +3,7 @@ :total-results 1, :items ({:primary-name "Elsevier BV", - :counts {:total-dois 121, :current-dois 121, :backfile-dois 0}, + :counts {:current-dois 121, :backfile-dois 0, :total-dois 121}, :breakdowns {:dois-by-issued-year [[2017 115] [2016 6]]}, :prefixes ["10.7424" @@ -38,21 +38,21 @@ {:affiliations-current 0.0, :funders-backfile 0, :licenses-backfile 0, - :funders-current 0.38842976093292236, + :funders-current 0.3884297520661157, :affiliations-backfile 0, :resource-links-backfile 0, :orcids-backfile 0, - :update-policies-current 0.9504132270812988, - :orcids-current 0.06611569970846176, + :update-policies-current 0.9504132231404959, + :orcids-current 0.06611570247933884, :references-backfile 0, :award-numbers-backfile 0, :update-policies-backfile 0, :licenses-current 1.0, - :award-numbers-current 0.26446279883384705, + :award-numbers-current 0.0, :abstracts-backfile 0, :resource-links-current 1.0, :abstracts-current 0.0, - :references-current 0.0}, + :references-current 0.9917355371900826}, :prefix [{:reference-visibility "closed", :public-references false, @@ -174,7 +174,7 @@ :deposits true, :deposits-affiliations-backfile false, :deposits-update-policies-backfile false, - :deposits-award-numbers-current true, + :deposits-award-numbers-current false, :deposits-resource-links-current true, :deposits-articles true, :deposits-affiliations-current false, @@ -183,7 +183,7 @@ :deposits-abstracts-backfile false, :deposits-licenses-backfile false, :deposits-award-numbers-backfile false, - :deposits-references-current false, + :deposits-references-current true, :deposits-resource-links-backfile false, :deposits-orcids-backfile false, :deposits-funders-backfile false, diff --git a/src/cayenne/data/member.clj b/src/cayenne/data/member.clj index 5575f72e..4937d3b5 100644 --- a/src/cayenne/data/member.clj +++ b/src/cayenne/data/member.clj @@ -27,6 +27,7 @@ (merge {:flags (get-in coverage-doc [:coverage :flags]) :coverage (get-in coverage-doc [:coverage :coverage]) + :breakdowns (get-in coverage-doc [:breakdowns :breakdowns]) :counts (select-keys coverage-doc [:current-dois :backfile-dois :total-dois]) From 09832ad6ef12e7964c84fbabdc7a2e2f81681407 Mon Sep 17 00:00:00 2001 From: Mark Woodhall Date: Wed, 9 May 2018 17:30:15 +0100 Subject: [PATCH 140/156] Update subtypes for books Since the elastic version has no transformation of sub types we should use common versions during the index phase. --- src/cayenne/formats/unixref.clj | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/src/cayenne/formats/unixref.clj b/src/cayenne/formats/unixref.clj index c27d9cb7..9ec55615 100644 --- a/src/cayenne/formats/unixref.clj +++ b/src/cayenne/formats/unixref.clj @@ -931,13 +931,13 @@ (defn parse-content-item-type [content-item-loc] (let [type (xml/xselect1 content-item-loc ["component_type"])] (cond - (= type "chapter") :chapter - (= type "section") :section - (= type "part") :part - (= type "track") :track - (= type "reference_entry") :reference-entry - (= type "other") :other - :else :other))) + (= type "chapter") :book-chapter + (= type "section") :book-section + (= type "part") :book-part + (= type "track") :book-track + (= type "reference_entry") :reference-entry + (= type "other") :other + :else :other))) (defn parse-content-item [content-item-loc] (when content-item-loc From 013a334242b82f6936f53cb43057bd87ae50f199 Mon Sep 17 00:00:00 2001 From: Mark Woodhall Date: Wed, 9 May 2018 17:31:21 +0100 Subject: [PATCH 141/156] Ignore score during member works test --- test/cayenne/members_test.clj | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/test/cayenne/members_test.clj b/test/cayenne/members_test.clj index de0b527d..af468547 100644 --- a/test/cayenne/members_test.clj +++ b/test/cayenne/members_test.clj @@ -1,5 +1,5 @@ (ns cayenne.members-test - (:require [cayenne.api-fixture :refer [api-get api-with-works]] + (:require [cayenne.api-fixture :refer [api-get api-with-works no-scores]] [clojure.java.io :refer [resource]] [clojure.test :refer [use-fixtures deftest testing is]])) @@ -11,10 +11,11 @@ (testing "members endpoint returns expected result for member works" (doseq [member-id ["78"]] - (let [response (api-get (str "/v1/members/" member-id "/works?rows=200")) + (let [response (-> (api-get (str "/v1/members/" member-id "/works?rows=200")) + no-scores) expected-response (read-string (slurp (resource (str "members/" member-id "-works.edn"))))] (is (= expected-response response)))))) -(use-fixtures - :once +(use-fixtures + :once api-with-works) From 5fcf8d45e467344c114b625907e8275473d6ebab Mon Sep 17 00:00:00 2001 From: Mark Woodhall Date: Thu, 10 May 2018 10:09:51 +0100 Subject: [PATCH 142/156] Update assertion data to reflect isbn and type fixes --- dev-resources/members/78-works.edn | 2483 ++++++++++----------- dev-resources/works/?filter=member:78.edn | 24 +- 2 files changed, 1139 insertions(+), 1368 deletions(-) diff --git a/dev-resources/members/78-works.edn b/dev-resources/members/78-works.edn index 90e56c40..0cd3e52b 100644 --- a/dev-resources/members/78-works.edn +++ b/dev-resources/members/78-works.edn @@ -1,19 +1,19 @@ {:facets {}, :total-results 121, :items - ({:reference-count 0, + ({:reference-count 873, :publisher "Elsevier", :isbn-type [{:value "9780128036082", :type "print"}], :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start + [{:start {:date-parts [[2017 1 1]], :date-time "2017-01-01T00:00:00Z", :timestamp 1483228800000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], :content-domain {:domain [], :crossmark-restriction false}, - :published-print {:date-parts [[2017]]}, + :published-print {:date-parts [[2017 1 1]]}, :DOI "10.1016/b978-0-12-803592-4.00001-8", :type "book-chapter", :created @@ -51,24 +51,23 @@ {:date-parts [[2017 6 25]], :date-time "2017-06-25T04:46:58Z", :timestamp 1498366018000}, - :score 1.0, - :issued {:date-parts [[2017]]}, + :issued {:date-parts [[2017 1 1]]}, :ISBN ["9780128036082"], - :references-count 0, + :references-count 873, :URL "http://dx.doi.org/10.1016/b978-0-12-803592-4.00001-8"} - {:reference-count 0, + {:reference-count 256, :publisher "Elsevier", :isbn-type [{:value "9780128036082", :type "print"}], :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start + [{:start {:date-parts [[2017 1 1]], :date-time "2017-01-01T00:00:00Z", :timestamp 1483228800000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], :content-domain {:domain [], :crossmark-restriction false}, - :published-print {:date-parts [[2017]]}, + :published-print {:date-parts [[2017 1 1]]}, :DOI "10.1016/b978-0-12-803592-4.00015-8", :type "book-chapter", :created @@ -106,24 +105,23 @@ {:date-parts [[2017 6 25]], :date-time "2017-06-25T04:47:24Z", :timestamp 1498366044000}, - :score 1.0, - :issued {:date-parts [[2017]]}, + :issued {:date-parts [[2017 1 1]]}, :ISBN ["9780128036082"], - :references-count 0, + :references-count 256, :URL "http://dx.doi.org/10.1016/b978-0-12-803592-4.00015-8"} - {:reference-count 0, + {:reference-count 167, :publisher "Elsevier", :isbn-type [{:value "9780128036082", :type "print"}], :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start + [{:start {:date-parts [[2017 1 1]], :date-time "2017-01-01T00:00:00Z", :timestamp 1483228800000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], :content-domain {:domain [], :crossmark-restriction false}, - :published-print {:date-parts [[2017]]}, + :published-print {:date-parts [[2017 1 1]]}, :DOI "10.1016/b978-0-12-803592-4.00016-x", :type "book-chapter", :created @@ -165,24 +163,23 @@ {:date-parts [[2017 6 25]], :date-time "2017-06-25T04:47:24Z", :timestamp 1498366044000}, - :score 1.0, - :issued {:date-parts [[2017]]}, + :issued {:date-parts [[2017 1 1]]}, :ISBN ["9780128036082"], - :references-count 0, + :references-count 167, :URL "http://dx.doi.org/10.1016/b978-0-12-803592-4.00016-x"} - {:reference-count 0, + {:reference-count 183, :publisher "Elsevier", :isbn-type [{:value "9780128036082", :type "print"}], :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start + [{:start {:date-parts [[2017 1 1]], :date-time "2017-01-01T00:00:00Z", :timestamp 1483228800000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], :content-domain {:domain [], :crossmark-restriction false}, - :published-print {:date-parts [[2017]]}, + :published-print {:date-parts [[2017 1 1]]}, :DOI "10.1016/b978-0-12-803592-4.00046-8", :type "book-chapter", :created @@ -228,24 +225,23 @@ {:date-parts [[2017 6 25]], :date-time "2017-06-25T04:47:27Z", :timestamp 1498366047000}, - :score 1.0, - :issued {:date-parts [[2017]]}, + :issued {:date-parts [[2017 1 1]]}, :ISBN ["9780128036082"], - :references-count 0, + :references-count 183, :URL "http://dx.doi.org/10.1016/b978-0-12-803592-4.00046-8"} - {:reference-count 0, + {:reference-count 273, :publisher "Elsevier", :isbn-type [{:value "9780128036082", :type "print"}], :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start + [{:start {:date-parts [[2017 1 1]], :date-time "2017-01-01T00:00:00Z", :timestamp 1483228800000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], :content-domain {:domain [], :crossmark-restriction false}, - :published-print {:date-parts [[2017]]}, + :published-print {:date-parts [[2017 1 1]]}, :DOI "10.1016/b978-0-12-803592-4.00111-5", :type "book-chapter", :created @@ -293,24 +289,23 @@ {:date-parts [[2017 6 25]], :date-time "2017-06-25T04:47:22Z", :timestamp 1498366042000}, - :score 1.0, - :issued {:date-parts [[2017]]}, + :issued {:date-parts [[2017 1 1]]}, :ISBN ["9780128036082"], - :references-count 0, + :references-count 273, :URL "http://dx.doi.org/10.1016/b978-0-12-803592-4.00111-5"} - {:reference-count 0, + {:reference-count 193, :publisher "Elsevier", :isbn-type [{:value "9780128040966", :type "print"}], :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start + [{:start {:date-parts [[2017 1 1]], :date-time "2017-01-01T00:00:00Z", :timestamp 1483228800000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], :content-domain {:domain [], :crossmark-restriction false}, - :published-print {:date-parts [[2017]]}, + :published-print {:date-parts [[2017 1 1]]}, :DOI "10.1016/b978-0-12-804042-3.00094-4", :type "book-chapter", :created @@ -345,26 +340,24 @@ {:date-parts [[2017 6 25]], :date-time "2017-06-25T04:54:02Z", :timestamp 1498366442000}, - :score 1.0, - :issued {:date-parts [[2017]]}, + :issued {:date-parts [[2017 1 1]]}, :ISBN ["9780128040966"], - :references-count 0, + :references-count 193, :URL "http://dx.doi.org/10.1016/b978-0-12-804042-3.00094-4"} - {:reference-count 0, + {:reference-count 112, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start + [{:start {:date-parts [[2017 2 1]], :date-time "2017-02-01T00:00:00Z", :timestamp 1485907200000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], :funder [{:DOI "10.13039/100000002", :name "National Institutes of Health", - :doi-asserted-by "publisher", - :award ["R01AA021951"]}], + :doi-asserted-by "publisher"}], :content-domain {:domain ["clinicalkey.jp" @@ -377,7 +370,7 @@ "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Alcohol"], - :published-print {:date-parts [[2017 2]]}, + :published-print {:date-parts [[2017 2 1]]}, :DOI "10.1016/j.alcohol.2016.08.008", :type "journal-article", :created @@ -387,7 +380,7 @@ :page "139-151", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", :source "Crossref", - :is-referenced-by-count 2, + :is-referenced-by-count 1, :title ["Analyses of differentially expressed genes after exposure to acute stress, acute ethanol, or a combination of both in mice"], :prefix "10.1016", @@ -447,9 +440,8 @@ {:date-parts [[2017 6 25]], :date-time "2017-06-25T06:03:02Z", :timestamp 1498370582000}, - :score 1.0, - :issued {:date-parts [[2017 2]]}, - :references-count 0, + :issued {:date-parts [[2017 2 1]]}, + :references-count 112, :alternative-id ["S0741832916300714"], :URL "http://dx.doi.org/10.1016/j.alcohol.2016.08.008", :ISSN ["0741-8329"], @@ -470,16 +462,16 @@ {:value "Published by Elsevier Inc.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 73, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start - {:date-parts [[2017 7 1]], - :date-time "2017-07-01T00:00:00Z", - :timestamp 1498867200000}, + [{:start + {:date-parts [[2017 5 12]], + :date-time "2017-05-12T09:19:30Z", + :timestamp 1494580770000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], :content-domain {:domain ["clinicalkey.jp" @@ -491,7 +483,7 @@ "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Brain, Behavior, and Immunity"], - :published-print {:date-parts [[2017 7]]}, + :published-print {:date-parts [[2017 7 1]]}, :DOI "10.1016/j.bbi.2016.10.007", :type "journal-article", :created @@ -501,7 +493,7 @@ :page "148-159", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", :source "Crossref", - :is-referenced-by-count 3, + :is-referenced-by-count 2, :title ["Mechanical allodynia corresponds to Oprm1 downregulation within the descending pain network of male and female rats exposed to neonatal immune challenge"], :prefix "10.1016", @@ -520,22 +512,21 @@ :language "en", :link [{:URL - "http://api.elsevier.com/content/article/PII:S0889159116304706?httpAccept=text/xml", - :content-type "text/xml", + "http://api.elsevier.com/content/article/PII:S0889159116304706?httpAccept=text/plain", + :content-type "text/plain", :content-version "vor", :intended-application "text-mining"} {:URL - "http://api.elsevier.com/content/article/PII:S0889159116304706?httpAccept=text/plain", - :content-type "text/plain", + "http://api.elsevier.com/content/article/PII:S0889159116304706?httpAccept=text/xml", + :content-type "text/xml", :content-version "vor", :intended-application "text-mining"}], :deposited - {:date-parts [[2017 12 23]], - :date-time "2017-12-23T23:38:34Z", - :timestamp 1514072314000}, - :score 1.0, - :issued {:date-parts [[2017 7]]}, - :references-count 0, + {:date-parts [[2017 5 12]], + :date-time "2017-05-12T09:19:30Z", + :timestamp 1494580770000}, + :issued {:date-parts [[2017 5 12]]}, + :references-count 73, :alternative-id ["S0889159116304706"], :URL "http://dx.doi.org/10.1016/j.bbi.2016.10.007", :ISSN ["0889-1591"], @@ -558,28 +549,26 @@ {:value "© 2016 Elsevier Inc. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 76, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start + [{:start {:date-parts [[2017 3 1]], :date-time "2017-03-01T00:00:00Z", :timestamp 1488326400000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], :funder [{:DOI "10.13039/501100002923", :name "CONICET", - :doi-asserted-by "crossref", - :award []} - {:name "SECyT-Universidad Nacional de Cordoba (Argentina)", - :award []}], + :doi-asserted-by "crossref"} + {:name "SECyT-Universidad Nacional de Cordoba (Argentina)"}], :content-domain {:domain ["elsevier.com" "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Behavioural Brain Research"], - :published-print {:date-parts [[2017 3]]}, + :published-print {:date-parts [[2017 3 1]]}, :DOI "10.1016/j.bbr.2016.10.035", :type "journal-article", :created @@ -625,9 +614,8 @@ {:date-parts [[2017 6 25]], :date-time "2017-06-25T02:16:53Z", :timestamp 1498357013000}, - :score 1.0, - :issued {:date-parts [[2017 3]]}, - :references-count 0, + :issued {:date-parts [[2017 3 1]]}, + :references-count 76, :alternative-id ["S0166432816309007"], :URL "http://dx.doi.org/10.1016/j.bbr.2016.10.035", :ISSN ["0166-4328"], @@ -650,21 +638,21 @@ {:value "© 2016 Elsevier B.V. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 21, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start + [{:start {:date-parts [[2017 2 1]], :date-time "2017-02-01T00:00:00Z", :timestamp 1485907200000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], :content-domain {:domain ["elsevier.com" "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Biological Psychology"], - :published-print {:date-parts [[2017 2]]}, + :published-print {:date-parts [[2017 2 1]]}, :DOI "10.1016/j.biopsycho.2016.12.010", :type "journal-article", :created @@ -726,9 +714,8 @@ {:date-parts [[2017 6 25]], :date-time "2017-06-25T06:01:29Z", :timestamp 1498370489000}, - :score 1.0, - :issued {:date-parts [[2017 2]]}, - :references-count 0, + :issued {:date-parts [[2017 2 1]]}, + :references-count 21, :alternative-id ["S0301051116303738"], :URL "http://dx.doi.org/10.1016/j.biopsycho.2016.12.010", :ISSN ["0301-0511"], @@ -751,28 +738,27 @@ {:value "© 2016 Elsevier B.V. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 53, :publisher "Elsevier BV", :issue "1", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start + [{:start {:date-parts [[2017 1 1]], :date-time "2017-01-01T00:00:00Z", :timestamp 1483228800000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], :funder [{:DOI "10.13039/100000002", :name "NIH", - :doi-asserted-by "publisher", - :award ["1P50MH100023"]} - {:name "NIH OD", :award ["P51OD11132"]}], + :doi-asserted-by "publisher"} + {:name "NIH OD"}], :content-domain {:domain ["elsevier.com" "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Bioorganic & Medicinal Chemistry"], - :published-print {:date-parts [[2017 1]]}, + :published-print {:date-parts [[2017 1 1]]}, :DOI "10.1016/j.bmc.2016.10.035", :type "journal-article", :created @@ -840,11 +826,10 @@ {:date-parts [[2017 6 25]], :date-time "2017-06-25T02:29:54Z", :timestamp 1498357794000}, - :score 1.0, - :issued {:date-parts [[2017 1]]}, - :references-count 0, + :issued {:date-parts [[2017 1 1]]}, + :references-count 53, :journal-issue - {:published-print {:date-parts [[2017 1]]}, :issue "1"}, + {:issue "1", :published-print {:date-parts [[2017 1 1]]}}, :alternative-id ["S0968089616310872"], :URL "http://dx.doi.org/10.1016/j.bmc.2016.10.035", :ISSN ["0968-0896"], @@ -867,17 +852,17 @@ {:value "Published by Elsevier Ltd.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 19, :publisher "Elsevier BV", :issue "1", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start + [{:start {:date-parts [[2017 1 1]], :date-time "2017-01-01T00:00:00Z", :timestamp 1483228800000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], :content-domain {:domain ["clinicalkey.com" @@ -888,7 +873,7 @@ :crossmark-restriction true}, :short-container-title ["EXPLORE: The Journal of Science and Healing"], - :published-print {:date-parts [[2017 1]]}, + :published-print {:date-parts [[2017 1 1]]}, :DOI "10.1016/j.explore.2016.10.009", :type "journal-article", :created @@ -926,11 +911,10 @@ {:date-parts [[2017 6 25]], :date-time "2017-06-25T02:22:59Z", :timestamp 1498357379000}, - :score 1.0, - :issued {:date-parts [[2017 1]]}, - :references-count 0, + :issued {:date-parts [[2017 1 1]]}, + :references-count 19, :journal-issue - {:published-print {:date-parts [[2017 1]]}, :issue "1"}, + {:issue "1", :published-print {:date-parts [[2017 1 1]]}}, :alternative-id ["S1550830716301707"], :URL "http://dx.doi.org/10.1016/j.explore.2016.10.009", :ISSN ["1550-8307"], @@ -955,28 +939,26 @@ {:value "© 2016 Published by Elsevier Inc.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 66, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start + [{:start {:date-parts [[2016 11 1]], :date-time "2016-11-01T00:00:00Z", :timestamp 1477958400000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], :funder - [{:DOI "10.13039/501100002803", + [{:name "Italian Health Ministry to Scientific Institute"} + {:DOI "10.13039/501100002803", :name "Cariplo Foundation", - :doi-asserted-by "crossref", - :award []} - {:name "Italian Health Ministry to Scientific Institute", - :award []}], + :doi-asserted-by "crossref"}], :content-domain {:domain ["elsevier.com" "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Infant Behavior and Development"], - :published-print {:date-parts [[2016 11]]}, + :published-print {:date-parts [[2016 11 1]]}, :DOI "10.1016/j.infbeh.2016.09.006", :type "journal-article", :created @@ -1040,9 +1022,8 @@ {:date-parts [[2017 6 25]], :date-time "2017-06-25T01:08:48Z", :timestamp 1498352928000}, - :score 1.0, - :issued {:date-parts [[2016 11]]}, - :references-count 0, + :issued {:date-parts [[2016 11 1]]}, + :references-count 66, :alternative-id ["S0163638316300455"], :URL "http://dx.doi.org/10.1016/j.infbeh.2016.09.006", :ISSN ["0163-6383"], @@ -1065,16 +1046,16 @@ {:value "© 2016 Elsevier Inc. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 164, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start - {:date-parts [[2017 12 1]], - :date-time "2017-12-01T00:00:00Z", - :timestamp 1512086400000}, + [{:start + {:date-parts [[2017 9 16]], + :date-time "2017-09-16T03:19:36Z", + :timestamp 1505531976000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], :content-domain {:domain ["clinicalkey.jp" @@ -1087,7 +1068,7 @@ "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Journal of Affective Disorders"], - :published-print {:date-parts [[2017 12]]}, + :published-print {:date-parts [[2017 12 1]]}, :DOI "10.1016/j.jad.2016.10.035", :type "journal-article", :created @@ -1132,9 +1113,8 @@ {:date-parts [[2017 9 16]], :date-time "2017-09-16T03:19:36Z", :timestamp 1505531976000}, - :score 1.0, - :issued {:date-parts [[2017 12]]}, - :references-count 0, + :issued {:date-parts [[2017 9 16]]}, + :references-count 164, :alternative-id ["S0165032716312022"], :URL "http://dx.doi.org/10.1016/j.jad.2016.10.035", :ISSN ["0165-0327"], @@ -1156,16 +1136,16 @@ {:value "© 2016 Elsevier B.V. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 46, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start + [{:start {:date-parts [[2017 3 1]], :date-time "2017-03-01T00:00:00Z", :timestamp 1488326400000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], :content-domain {:domain ["clinicalkey.jp" @@ -1178,7 +1158,7 @@ "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Journal of Affective Disorders"], - :published-print {:date-parts [[2017 3]]}, + :published-print {:date-parts [[2017 3 1]]}, :DOI "10.1016/j.jad.2016.11.036", :type "journal-article", :created @@ -1221,9 +1201,8 @@ {:date-parts [[2017 6 25]], :date-time "2017-06-25T04:50:17Z", :timestamp 1498366217000}, - :score 1.0, - :issued {:date-parts [[2017 3]]}, - :references-count 0, + :issued {:date-parts [[2017 3 1]]}, + :references-count 46, :alternative-id ["S0165032716312113"], :URL "http://dx.doi.org/10.1016/j.jad.2016.11.036", :ISSN ["0165-0327"], @@ -1246,29 +1225,29 @@ {:value "© 2016 Elsevier B.V. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 79, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start + [{:start {:date-parts [[2017 2 1]], :date-time "2017-02-01T00:00:00Z", :timestamp 1485907200000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], :content-domain {:domain ["clinicalkey.jp" "clinicalkey.com" "jad-journal.com" "clinicalkey.es" - "clinicalkey.fr" "clinicalkey.com.au" + "clinicalkey.fr" "elsevier.com" "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Journal of Affective Disorders"], - :published-print {:date-parts [[2017 2]]}, + :published-print {:date-parts [[2017 2 1]]}, :DOI "10.1016/j.jad.2016.11.046", :type "journal-article", :created @@ -1321,22 +1300,21 @@ :language "en", :link [{:URL - "http://api.elsevier.com/content/article/PII:S0165032716317256?httpAccept=text/xml", - :content-type "text/xml", + "http://api.elsevier.com/content/article/PII:S0165032716317256?httpAccept=text/plain", + :content-type "text/plain", :content-version "vor", :intended-application "text-mining"} {:URL - "http://api.elsevier.com/content/article/PII:S0165032716317256?httpAccept=text/plain", - :content-type "text/plain", + "http://api.elsevier.com/content/article/PII:S0165032716317256?httpAccept=text/xml", + :content-type "text/xml", :content-version "vor", :intended-application "text-mining"}], :deposited - {:date-parts [[2018 2 13]], - :date-time "2018-02-13T02:55:51Z", - :timestamp 1518490551000}, - :score 1.0, - :issued {:date-parts [[2017 2]]}, - :references-count 0, + {:date-parts [[2017 6 25]], + :date-time "2017-06-25T04:50:17Z", + :timestamp 1498366217000}, + :issued {:date-parts [[2017 2 1]]}, + :references-count 79, :alternative-id ["S0165032716317256"], :URL "http://dx.doi.org/10.1016/j.jad.2016.11.046", :ISSN ["0165-0327"], @@ -1359,17 +1337,17 @@ {:value "© 2016 Elsevier B.V. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 34, :publisher "Elsevier BV", :issue "5", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start - {:date-parts [[2017 5 1]], - :date-time "2017-05-01T00:00:00Z", - :timestamp 1493596800000}, + [{:start + {:date-parts [[2017 4 24]], + :date-time "2017-04-24T00:15:56Z", + :timestamp 1492992956000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], :content-domain {:domain ["clinicalkey.jp" @@ -1383,7 +1361,7 @@ :crossmark-restriction true}, :short-container-title ["Journal of Oral and Maxillofacial Surgery"], - :published-print {:date-parts [[2017 5]]}, + :published-print {:date-parts [[2017 5 1]]}, :DOI "10.1016/j.joms.2016.10.033", :type "journal-article", :created @@ -1421,11 +1399,10 @@ {:date-parts [[2017 4 24]], :date-time "2017-04-24T00:15:56Z", :timestamp 1492992956000}, - :score 1.0, - :issued {:date-parts [[2017 5]]}, - :references-count 0, + :issued {:date-parts [[2017 4 24]]}, + :references-count 34, :journal-issue - {:published-print {:date-parts [[2017 5]]}, :issue "5"}, + {:issue "5", :published-print {:date-parts [[2017 5 1]]}}, :alternative-id ["S0278239116310667"], :URL "http://dx.doi.org/10.1016/j.joms.2016.10.033", :ISSN ["0278-2391"], @@ -1449,27 +1426,26 @@ "© 2016 American Association of Oral and Maxillofacial Surgeons", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 189, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start + [{:start {:date-parts [[2017 1 1]], :date-time "2017-01-01T00:00:00Z", :timestamp 1483228800000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], :funder [{:DOI "10.13039/501100000038", :name "Natural Sciences and Engineering Research Council of Canada", - :doi-asserted-by "publisher", - :award []}], + :doi-asserted-by "publisher"}], :content-domain {:domain ["elsevier.com" "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Neuroscience & Biobehavioral Reviews"], - :published-print {:date-parts [[2017 1]]}, + :published-print {:date-parts [[2017 1 1]]}, :DOI "10.1016/j.neubiorev.2016.12.003", :type "journal-article", :created @@ -1479,7 +1455,7 @@ :page "232-242", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", :source "Crossref", - :is-referenced-by-count 7, + :is-referenced-by-count 4, :title ["Mate-choice copying, social information processing, and the roles of oxytocin"], :prefix "10.1016", @@ -1515,9 +1491,8 @@ {:date-parts [[2017 6 25]], :date-time "2017-06-25T05:13:23Z", :timestamp 1498367603000}, - :score 1.0, - :issued {:date-parts [[2017 1]]}, - :references-count 0, + :issued {:date-parts [[2017 1 1]]}, + :references-count 189, :alternative-id ["S0149763416306285"], :URL "http://dx.doi.org/10.1016/j.neubiorev.2016.12.003", :ISSN ["0149-7634"], @@ -1540,29 +1515,27 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 193, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start + [{:start {:date-parts [[2017 2 1]], :date-time "2017-02-01T00:00:00Z", :timestamp 1485907200000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], :funder - [{:DOI "10.13039/501100001602", + [{:name + "Health Research Board, Ireland (HRB) through Health Research Awards"} + {:DOI "10.13039/501100001602", :name "Science Foundation Ireland", - :doi-asserted-by "publisher", - :award ["SFI/12/RC/2273"]} - {:name - "Health Research Board, Ireland (HRB) through Health Research Awards", - :award ["HRA_POR_2014_647; GC, TGD, DWM, ANC, PMK"]}], + :doi-asserted-by "publisher"}], :content-domain {:domain ["elsevier.com" "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Neuroscience & Biobehavioral Reviews"], - :published-print {:date-parts [[2017 2]]}, + :published-print {:date-parts [[2017 2 1]]}, :DOI "10.1016/j.neubiorev.2016.12.006", :type "journal-article", :created @@ -1572,7 +1545,7 @@ :page "123-164", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", :source "Crossref", - :is-referenced-by-count 14, + :is-referenced-by-count 5, :title ["A systematic review of the psychobiological burden of informal caregiving for patients with dementia: Focus on cognitive and biological markers of chronic stress"], :prefix "10.1016", @@ -1632,9 +1605,8 @@ {:date-parts [[2017 6 25]], :date-time "2017-06-25T05:51:22Z", :timestamp 1498369882000}, - :score 1.0, - :issued {:date-parts [[2017 2]]}, - :references-count 0, + :issued {:date-parts [[2017 2 1]]}, + :references-count 193, :alternative-id ["S0149763416302792"], :URL "http://dx.doi.org/10.1016/j.neubiorev.2016.12.006", :ISSN ["0149-7634"], @@ -1657,38 +1629,33 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 397, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start + [{:start {:date-parts [[2017 2 1]], :date-time "2017-02-01T00:00:00Z", :timestamp 1485907200000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], :funder [{:DOI "10.13039/100000025", :name "National Institutes of Mental Health", - :doi-asserted-by "crossref", - :award ["UO1MH081988"]} + :doi-asserted-by "crossref"} + {:name + "Golden Family foundation, and Canadian Institutes of Health Research"} + {:name "Sir Henry Wellcome Postdoctoral Fellowship"} + {:name "Waterloo Foundation Child Development"} {:DOI "10.13039/501100005366", :name "University of Oslo", - :doi-asserted-by "crossref", - :award ["#2013088"]} - {:name - "Golden Family foundation, and Canadian Institutes of Health Research", - :award ["CIHR125913"]} - {:name "Sir Henry Wellcome Postdoctoral Fellowship", - :award ["107395/Z/15/Z"]} - {:name "Waterloo Foundation Child Development", - :award ["164/1719"]} - {:name "NARSAD Young Investigator", :award ["22388"]}], + :doi-asserted-by "crossref"} + {:name "NARSAD Young Investigator"}], :content-domain {:domain ["elsevier.com" "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Neuroscience & Biobehavioral Reviews"], - :published-print {:date-parts [[2017 2]]}, + :published-print {:date-parts [[2017 2 1]]}, :DOI "10.1016/j.neubiorev.2016.12.013", :type "journal-article", :created @@ -1698,7 +1665,7 @@ :page "191-218", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", :source "Crossref", - :is-referenced-by-count 19, + :is-referenced-by-count 15, :title ["The neural diathesis-stress model of schizophrenia revisited: An update on recent findings considering illness stage and neurobiological and methodological complexities"], :prefix "10.1016", @@ -1738,9 +1705,8 @@ {:date-parts [[2017 6 25]], :date-time "2017-06-25T06:04:21Z", :timestamp 1498370661000}, - :score 1.0, - :issued {:date-parts [[2017 2]]}, - :references-count 0, + :issued {:date-parts [[2017 2 1]]}, + :references-count 397, :alternative-id ["S0149763416301713"], :URL "http://dx.doi.org/10.1016/j.neubiorev.2016.12.013", :ISSN ["0149-7634"], @@ -1763,32 +1729,29 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 84, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start + [{:start {:date-parts [[2017 5 1]], :date-time "2017-05-01T00:00:00Z", :timestamp 1493596800000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], :funder [{:DOI "10.13039/100000738", :name "Department of Veterans Affairs", - :doi-asserted-by "crossref", - :award ["NCPTSD; IK2CX000772"]} + :doi-asserted-by "crossref"} {:DOI "10.13039/100000025", :name "NIMH", - :doi-asserted-by "publisher", - :award ["K23MH101498"]} - {:name "Yale Center for Clinical Investigation", - :award ["UL1RR024139"]}], + :doi-asserted-by "publisher"} + {:name "Yale Center for Clinical Investigation"}], :content-domain {:domain ["elsevier.com" "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Neuroscience Letters"], - :published-print {:date-parts [[2017 5]]}, + :published-print {:date-parts [[2017 5 1]]}, :DOI "10.1016/j.neulet.2016.11.064", :type "journal-article", :created @@ -1798,7 +1761,7 @@ :page "147-155", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", :source "Crossref", - :is-referenced-by-count 10, + :is-referenced-by-count 8, :title ["Glutamate dysregulation and glutamatergic therapeutics for PTSD: Evidence from human studies"], :prefix "10.1016", @@ -1843,12 +1806,11 @@ :content-version "vor", :intended-application "text-mining"}], :deposited - {:date-parts [[2017 12 19]], - :date-time "2017-12-19T01:21:02Z", - :timestamp 1513646462000}, - :score 1.0, - :issued {:date-parts [[2017 5]]}, - :references-count 0, + {:date-parts [[2017 5 4]], + :date-time "2017-05-04T23:03:23Z", + :timestamp 1493939003000}, + :issued {:date-parts [[2017 5 1]]}, + :references-count 84, :alternative-id ["S0304394016309351"], :URL "http://dx.doi.org/10.1016/j.neulet.2016.11.064", :ISSN ["0304-3940"], @@ -1871,36 +1833,31 @@ {:value "Published by Elsevier Ireland Ltd.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 38, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start + [{:start {:date-parts [[2017 1 1]], :date-time "2017-01-01T00:00:00Z", :timestamp 1483228800000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], :funder - [{:DOI "10.13039/501100001809", + [{:name "Suzhou Clinical Research Center of Neurological Disease"} + {:DOI "10.13039/501100001809", :name "National Natural Science Foundation of China", - :doi-asserted-by "publisher", - :award ["81471299"]} - {:name "Suzhou Clinical Research Center of Neurological Disease", - :award ["Szzx201503"]} - {:name "Jiangsu Provincial Special Program of Medical Science", - :award ["BL2014042"]} + :doi-asserted-by "publisher"} + {:name "Jiangsu Provincial Special Program of Medical Science"} {:name - "Suzhou Clinical Key Disease Diagnosis and Treatment Technology Foundation", - :award ["LCZX201304"]} + "Suzhou Clinical Key Disease Diagnosis and Treatment Technology Foundation"} {:name - "Plans for Graduate Research and Innovation in Colleges and Universities of Jiangsu Province", - :award ["KYZZ15_0334"]}], + "Plans for Graduate Research and Innovation in Colleges and Universities of Jiangsu Province"}], :content-domain {:domain ["elsevier.com" "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["NeuroToxicology"], - :published-print {:date-parts [[2017 1]]}, + :published-print {:date-parts [[2017 1 1]]}, :DOI "10.1016/j.neuro.2016.11.006", :type "journal-article", :created @@ -1910,7 +1867,7 @@ :page "103-109", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", :source "Crossref", - :is-referenced-by-count 5, + :is-referenced-by-count 4, :title ["Parkinson’s disease-like motor and non-motor symptoms in rotenone-treated zebrafish"], :prefix "10.1016", @@ -1967,9 +1924,8 @@ {:date-parts [[2017 12 7]], :date-time "2017-12-07T18:03:59Z", :timestamp 1512669839000}, - :score 1.0, - :issued {:date-parts [[2017 1]]}, - :references-count 0, + :issued {:date-parts [[2017 1 1]]}, + :references-count 38, :alternative-id ["S0161813X16302443"], :URL "http://dx.doi.org/10.1016/j.neuro.2016.11.006", :ISSN ["0161-813X"], @@ -1992,29 +1948,29 @@ {:value "© 2016 Elsevier B.V. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 56, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start + [{:start {:date-parts [[2017 3 1]], :date-time "2017-03-01T00:00:00Z", :timestamp 1488326400000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], :content-domain {:domain ["clinicalkey.jp" "clinicalkey.com" "neurobiologyofaging.org" "clinicalkey.es" - "clinicalkey.fr" "clinicalkey.com.au" + "clinicalkey.fr" "elsevier.com" "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Neurobiology of Aging"], - :published-print {:date-parts [[2017 3]]}, + :published-print {:date-parts [[2017 3 1]]}, :DOI "10.1016/j.neurobiolaging.2016.11.014", :type "journal-article", :created @@ -2061,22 +2017,21 @@ :language "en", :link [{:URL - "http://api.elsevier.com/content/article/PII:S0197458016303013?httpAccept=text/xml", - :content-type "text/xml", + "http://api.elsevier.com/content/article/PII:S0197458016303013?httpAccept=text/plain", + :content-type "text/plain", :content-version "vor", :intended-application "text-mining"} {:URL - "http://api.elsevier.com/content/article/PII:S0197458016303013?httpAccept=text/plain", - :content-type "text/plain", + "http://api.elsevier.com/content/article/PII:S0197458016303013?httpAccept=text/xml", + :content-type "text/xml", :content-version "vor", :intended-application "text-mining"}], :deposited - {:date-parts [[2018 1 4]], - :date-time "2018-01-04T22:08:16Z", - :timestamp 1515103696000}, - :score 1.0, - :issued {:date-parts [[2017 3]]}, - :references-count 0, + {:date-parts [[2017 6 25]], + :date-time "2017-06-25T04:57:19Z", + :timestamp 1498366639000}, + :issued {:date-parts [[2017 3 1]]}, + :references-count 56, :alternative-id ["S0197458016303013"], :URL "http://dx.doi.org/10.1016/j.neurobiolaging.2016.11.014", :ISSN ["0197-4580"], @@ -2099,26 +2054,25 @@ {:value "© 2016 Elsevier Inc. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 70, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start + [{:start {:date-parts [[2017 2 1]], :date-time "2017-02-01T00:00:00Z", :timestamp 1485907200000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], :funder [{:DOI "10.13039/100000925", :name "John Templeton Foundation", - :doi-asserted-by "crossref", - :award ["40463"]}], + :doi-asserted-by "crossref"}], :content-domain {:domain ["elsevier.com" "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["NeuroImage"], - :published-print {:date-parts [[2017 2]]}, + :published-print {:date-parts [[2017 2 1]]}, :DOI "10.1016/j.neuroimage.2016.12.046", :type "journal-article", :created @@ -2155,22 +2109,21 @@ :language "en", :link [{:URL - "http://api.elsevier.com/content/article/PII:S1053811916307650?httpAccept=text/xml", - :content-type "text/xml", + "http://api.elsevier.com/content/article/PII:S1053811916307650?httpAccept=text/plain", + :content-type "text/plain", :content-version "vor", :intended-application "text-mining"} {:URL - "http://api.elsevier.com/content/article/PII:S1053811916307650?httpAccept=text/plain", - :content-type "text/plain", + "http://api.elsevier.com/content/article/PII:S1053811916307650?httpAccept=text/xml", + :content-type "text/xml", :content-version "vor", :intended-application "text-mining"}], :deposited - {:date-parts [[2018 1 20]], - :date-time "2018-01-20T14:43:22Z", - :timestamp 1516459402000}, - :score 1.0, - :issued {:date-parts [[2017 2]]}, - :references-count 0, + {:date-parts [[2017 6 25]], + :date-time "2017-06-25T06:02:50Z", + :timestamp 1498370570000}, + :issued {:date-parts [[2017 2 1]]}, + :references-count 70, :alternative-id ["S1053811916307650"], :URL "http://dx.doi.org/10.1016/j.neuroimage.2016.12.046", :ISSN ["1053-8119"], @@ -2191,38 +2144,36 @@ {:value "© 2016 Elsevier Inc. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 204, :publisher "Elsevier BV", :issue "1", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start + [{:start {:date-parts [[2016 10 1]], :date-time "2016-10-01T00:00:00Z", :timestamp 1475280000000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"} - {:URL "http://www.elsevier.com/open-access/userlicense/1.0/", - :start + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"} + {:start {:date-parts [[2017 10 5]], :date-time "2017-10-05T00:00:00Z", :timestamp 1507161600000}, + :content-version "vor", :delay-in-days 369, - :content-version "vor"}], + :URL "http://www.elsevier.com/open-access/userlicense/1.0/"}], :funder [{:DOI "10.13039/100000005", :name "Department of Defense", - :doi-asserted-by "publisher", - :award ["W81XWH-13-1-0377"]} + :doi-asserted-by "publisher"} {:DOI "10.13039/100000025", :name "National Institute of Mental Health", - :doi-asserted-by "publisher", - :award ["R24 MH075999" "RO1 MH093486"]}], + :doi-asserted-by "publisher"}], :content-domain {:domain ["cell.com" "elsevier.com" "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Neuron"], - :published-print {:date-parts [[2016 10]]}, + :published-print {:date-parts [[2016 10 1]]}, :DOI "10.1016/j.neuron.2016.09.039", :type "journal-article", :created @@ -2232,7 +2183,7 @@ :page "14-30", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", :source "Crossref", - :is-referenced-by-count 39, + :is-referenced-by-count 31, :title ["Context Processing and the Neurobiology of Post-Traumatic Stress Disorder"], :prefix "10.1016", @@ -2264,11 +2215,10 @@ {:date-parts [[2017 10 28]], :date-time "2017-10-28T20:46:11Z", :timestamp 1509223571000}, - :score 1.0, - :issued {:date-parts [[2016 10]]}, - :references-count 0, + :issued {:date-parts [[2016 10 1]]}, + :references-count 204, :journal-issue - {:published-print {:date-parts [[2016 10]]}, :issue "1"}, + {:issue "1", :published-print {:date-parts [[2016 10 1]]}}, :alternative-id ["S0896627316306407"], :URL "http://dx.doi.org/10.1016/j.neuron.2016.09.039", :ISSN ["0896-6273"], @@ -2289,35 +2239,33 @@ {:value "Published by Elsevier Inc.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 78, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start + [{:start {:date-parts [[2017 1 1]], :date-time "2017-01-01T00:00:00Z", :timestamp 1483228800000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"} - {:URL "http://creativecommons.org/licenses/by/4.0/", - :start + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"} + {:start {:date-parts [[2016 11 16]], :date-time "2016-11-16T00:00:00Z", :timestamp 1479254400000}, + :content-version "vor", :delay-in-days 0, - :content-version "vor"}], + :URL "http://creativecommons.org/licenses/by/4.0/"}], :funder - [{:DOI "10.13039/501100005416", + [{:name "South-Eastern Norway Regional Health Authority"} + {:DOI "10.13039/501100005416", :name "Research Council of Norway", - :doi-asserted-by "publisher", - :award ["204966" "249795"]} - {:name "South-Eastern Norway Regional Health Authority", - :award ["2015073" "2013087" "2014097"]}], + :doi-asserted-by "publisher"}], :content-domain {:domain ["elsevier.com" "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["NeuroImage: Clinical"], - :published-print {:date-parts [[2017]]}, + :published-print {:date-parts [[2017 1 1]]}, :DOI "10.1016/j.nicl.2016.11.014", :type "journal-article", :created @@ -2373,9 +2321,8 @@ {:date-parts [[2017 9 23]], :date-time "2017-09-23T07:54:55Z", :timestamp 1506153295000}, - :score 1.0, - :issued {:date-parts [[2017]]}, - :references-count 0, + :issued {:date-parts [[2017 1 1]]}, + :references-count 78, :alternative-id ["S2213158216302224"], :URL "http://dx.doi.org/10.1016/j.nicl.2016.11.014", :ISSN ["2213-1582"], @@ -2398,21 +2345,21 @@ {:value "© 2016 The Authors. Published by Elsevier Inc.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 82, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start + [{:start {:date-parts [[2016 12 1]], :date-time "2016-12-01T00:00:00Z", :timestamp 1480550400000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], :content-domain {:domain ["elsevier.com" "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Neurobiology of Learning and Memory"], - :published-print {:date-parts [[2016 12]]}, + :published-print {:date-parts [[2016 12 1]]}, :DOI "10.1016/j.nlm.2016.10.006", :type "journal-article", :created @@ -2470,9 +2417,8 @@ {:date-parts [[2017 6 25]], :date-time "2017-06-25T00:48:02Z", :timestamp 1498351682000}, - :score 1.0, - :issued {:date-parts [[2016 12]]}, - :references-count 0, + :issued {:date-parts [[2016 12 1]]}, + :references-count 82, :alternative-id ["S1074742716302519"], :URL "http://dx.doi.org/10.1016/j.nlm.2016.10.006", :ISSN ["1074-7427"], @@ -2495,26 +2441,25 @@ {:value "© 2016 Elsevier Inc. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 119, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start - {:date-parts [[2017 7 1]], - :date-time "2017-07-01T00:00:00Z", - :timestamp 1498867200000}, + [{:start + {:date-parts [[2017 5 30]], + :date-time "2017-05-30T20:25:25Z", + :timestamp 1496175925000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], :funder [{:DOI "10.13039/501100001659", :name "German Research Foundation", - :doi-asserted-by "publisher", - :award []}], + :doi-asserted-by "publisher"}], :content-domain {:domain ["elsevier.com" "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Neurobiology of Learning and Memory"], - :published-print {:date-parts [[2017 7]]}, + :published-print {:date-parts [[2017 7 1]]}, :DOI "10.1016/j.nlm.2016.11.008", :type "journal-article", :created @@ -2524,7 +2469,7 @@ :page "126-134", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", :source "Crossref", - :is-referenced-by-count 6, + :is-referenced-by-count 5, :title ["The role of glucocorticoids in emotional memory reconsolidation"], :prefix "10.1016", @@ -2553,12 +2498,11 @@ :content-version "vor", :intended-application "text-mining"}], :deposited - {:date-parts [[2017 12 29]], - :date-time "2017-12-29T11:50:46Z", - :timestamp 1514548246000}, - :score 1.0, - :issued {:date-parts [[2017 7]]}, - :references-count 0, + {:date-parts [[2017 5 30]], + :date-time "2017-05-30T20:25:25Z", + :timestamp 1496175925000}, + :issued {:date-parts [[2017 5 30]]}, + :references-count 119, :alternative-id ["S107474271630315X"], :URL "http://dx.doi.org/10.1016/j.nlm.2016.11.008", :ISSN ["1074-7427"], @@ -2581,25 +2525,24 @@ {:value "© 2016 Elsevier Inc. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 65, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start + [{:start {:date-parts [[2017 1 1]], :date-time "2017-01-01T00:00:00Z", :timestamp 1483228800000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], :funder [{:name - "The Scientific and Technological Research Council of Turkey (TUBITAK)", - :award []}], + "The Scientific and Technological Research Council of Turkey (TUBITAK)"}], :content-domain {:domain ["elsevier.com" "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Peptides"], - :published-print {:date-parts [[2017 1]]}, + :published-print {:date-parts [[2017 1 1]]}, :DOI "10.1016/j.peptides.2016.11.001", :type "journal-article", :created @@ -2609,7 +2552,7 @@ :page "1-11", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", :source "Crossref", - :is-referenced-by-count 4, + :is-referenced-by-count 2, :title ["Opposite effects of central oxytocin and arginine vasopressin on changes in gastric motor function induced by chronic stress"], :prefix "10.1016", @@ -2649,9 +2592,8 @@ {:date-parts [[2017 6 25]], :date-time "2017-06-25T02:57:32Z", :timestamp 1498359452000}, - :score 1.0, - :issued {:date-parts [[2017 1]]}, - :references-count 0, + :issued {:date-parts [[2017 1 1]]}, + :references-count 65, :alternative-id ["S0196978116302157"], :URL "http://dx.doi.org/10.1016/j.peptides.2016.11.001", :ISSN ["0196-9781"], @@ -2672,16 +2614,16 @@ {:value "© 2016 Elsevier Inc. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 63, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start + [{:start {:date-parts [[2017 1 1]], :date-time "2017-01-01T00:00:00Z", :timestamp 1483228800000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], :content-domain {:domain ["clinicalkey.jp" @@ -2693,7 +2635,7 @@ "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Physiology & Behavior"], - :published-print {:date-parts [[2017 1]]}, + :published-print {:date-parts [[2017 1 1]]}, :DOI "10.1016/j.physbeh.2016.10.010", :type "journal-article", :created @@ -2703,7 +2645,7 @@ :page "1-10", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", :source "Crossref", - :is-referenced-by-count 4, + :is-referenced-by-count 3, :title ["Protective effect of low dose caffeine on psychological stress and cognitive function"], :prefix "10.1016", @@ -2750,22 +2692,21 @@ :language "en", :link [{:URL - "http://api.elsevier.com/content/article/PII:S0031938416307041?httpAccept=text/xml", - :content-type "text/xml", + "http://api.elsevier.com/content/article/PII:S0031938416307041?httpAccept=text/plain", + :content-type "text/plain", :content-version "vor", :intended-application "text-mining"} {:URL - "http://api.elsevier.com/content/article/PII:S0031938416307041?httpAccept=text/plain", - :content-type "text/plain", + "http://api.elsevier.com/content/article/PII:S0031938416307041?httpAccept=text/xml", + :content-type "text/xml", :content-version "vor", :intended-application "text-mining"}], :deposited - {:date-parts [[2018 3 27]], - :date-time "2018-03-27T00:25:41Z", - :timestamp 1522110341000}, - :score 1.0, - :issued {:date-parts [[2017 1]]}, - :references-count 0, + {:date-parts [[2017 6 25]], + :date-time "2017-06-25T01:17:03Z", + :timestamp 1498353423000}, + :issued {:date-parts [[2017 1 1]]}, + :references-count 63, :alternative-id ["S0031938416307041"], :URL "http://dx.doi.org/10.1016/j.physbeh.2016.10.010", :ISSN ["0031-9384"], @@ -2788,29 +2729,26 @@ {:value "© 2016 Elsevier Inc. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 61, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start + [{:start {:date-parts [[2017 3 1]], :date-time "2017-03-01T00:00:00Z", :timestamp 1488326400000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], :funder [{:DOI "10.13039/501100003593", :name "CNPq", - :doi-asserted-by "publisher", - :award ["483115/2012-6"]} + :doi-asserted-by "publisher"} {:DOI "10.13039/501100004263", :name "FAPERGS PRONEM", - :doi-asserted-by "publisher", - :award ["11/2032-5"]} + :doi-asserted-by "publisher"} {:DOI "10.13039/501100002322", :name "CAPES", - :doi-asserted-by "publisher", - :award []}], + :doi-asserted-by "publisher"}], :content-domain {:domain ["clinicalkey.jp" @@ -2822,7 +2760,7 @@ "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Physiology & Behavior"], - :published-print {:date-parts [[2017 3]]}, + :published-print {:date-parts [[2017 3 1]]}, :DOI "10.1016/j.physbeh.2016.11.030", :type "journal-article", :created @@ -2832,7 +2770,7 @@ :page "47-53", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", :source "Crossref", - :is-referenced-by-count 2, + :is-referenced-by-count 1, :title ["Aged mice receiving caffeine since adulthood show distinct patterns of anxiety-related behavior"], :prefix "10.1016", @@ -2886,9 +2824,8 @@ {:date-parts [[2017 6 25]], :date-time "2017-06-25T04:26:38Z", :timestamp 1498364798000}, - :score 1.0, - :issued {:date-parts [[2017 3]]}, - :references-count 0, + :issued {:date-parts [[2017 3 1]]}, + :references-count 61, :alternative-id ["S0031938416309064"], :URL "http://dx.doi.org/10.1016/j.physbeh.2016.11.030", :ISSN ["0031-9384"], @@ -2911,16 +2848,16 @@ {:value "© 2016 Elsevier Inc. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 80, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start + [{:start {:date-parts [[2017 2 1]], :date-time "2017-02-01T00:00:00Z", :timestamp 1485907200000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], :content-domain {:domain ["clinicalkey.jp" @@ -2932,7 +2869,7 @@ "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Physiology & Behavior"], - :published-print {:date-parts [[2017 2]]}, + :published-print {:date-parts [[2017 2 1]]}, :DOI "10.1016/j.physbeh.2016.12.004", :type "journal-article", :created @@ -2992,9 +2929,8 @@ {:date-parts [[2017 6 25]], :date-time "2017-06-25T05:16:33Z", :timestamp 1498367793000}, - :score 1.0, - :issued {:date-parts [[2017 2]]}, - :references-count 0, + :issued {:date-parts [[2017 2 1]]}, + :references-count 80, :alternative-id ["S0031938416305728"], :URL "http://dx.doi.org/10.1016/j.physbeh.2016.12.004", :ISSN ["0031-9384"], @@ -3017,17 +2953,17 @@ {:value "© 2016 Elsevier Inc. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 5, :publisher "Elsevier BV", :issue "2", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start + [{:start {:date-parts [[2017 3 1]], :date-time "2017-03-01T00:00:00Z", :timestamp 1488326400000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], :content-domain {:domain ["clinicalkey.jp" @@ -3040,7 +2976,7 @@ "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Psychosomatics"], - :published-print {:date-parts [[2017 3]]}, + :published-print {:date-parts [[2017 3 1]]}, :DOI "10.1016/j.psym.2016.11.008", :type "journal-article", :created @@ -3086,11 +3022,10 @@ {:date-parts [[2017 6 25]], :date-time "2017-06-25T03:53:24Z", :timestamp 1498362804000}, - :score 1.0, - :issued {:date-parts [[2017 3]]}, - :references-count 0, + :issued {:date-parts [[2017 3 1]]}, + :references-count 5, :journal-issue - {:published-print {:date-parts [[2017 3]]}, :issue "2"}, + {:issue "2", :published-print {:date-parts [[2017 3 1]]}}, :alternative-id ["S0033318216301426"], :URL "http://dx.doi.org/10.1016/j.psym.2016.11.008", :ISSN ["0033-3182"], @@ -3116,16 +3051,16 @@ "© 2016 Academy of Psychosomatic Medicine. Published by Elsevier Inc. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 34, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start + [{:start {:date-parts [[2017 1 1]], :date-time "2017-01-01T00:00:00Z", :timestamp 1483228800000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], :content-domain {:domain ["psyneuen-journal.com" @@ -3138,7 +3073,7 @@ "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Psychoneuroendocrinology"], - :published-print {:date-parts [[2017 1]]}, + :published-print {:date-parts [[2017 1 1]]}, :DOI "10.1016/j.psyneuen.2016.09.025", :type "journal-article", :created @@ -3184,9 +3119,8 @@ {:date-parts [[2017 11 30]], :date-time "2017-11-30T15:51:07Z", :timestamp 1512057067000}, - :score 1.0, - :issued {:date-parts [[2017 1]]}, - :references-count 0, + :issued {:date-parts [[2017 1 1]]}, + :references-count 34, :alternative-id ["S0306453016307545"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.09.025", :ISSN ["0306-4530"], @@ -3209,16 +3143,16 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 55, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start + [{:start {:date-parts [[2016 12 1]], :date-time "2016-12-01T00:00:00Z", :timestamp 1480550400000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], :content-domain {:domain ["psyneuen-journal.com" @@ -3231,7 +3165,7 @@ "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Psychoneuroendocrinology"], - :published-print {:date-parts [[2016 12]]}, + :published-print {:date-parts [[2016 12 1]]}, :DOI "10.1016/j.psyneuen.2016.09.027", :type "journal-article", :created @@ -3293,9 +3227,8 @@ {:date-parts [[2017 6 25]], :date-time "2017-06-25T00:40:57Z", :timestamp 1498351257000}, - :score 1.0, - :issued {:date-parts [[2016 12]]}, - :references-count 0, + :issued {:date-parts [[2016 12 1]]}, + :references-count 55, :alternative-id ["S0306453016307594"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.09.027", :ISSN ["0306-4530"], @@ -3318,21 +3251,20 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 67, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start + [{:start {:date-parts [[2016 12 1]], :date-time "2016-12-01T00:00:00Z", :timestamp 1480550400000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], :funder [{:DOI "10.13039/501100002428", :name "Austrian Science Fund", - :doi-asserted-by "publisher", - :award ["FWF P23021"]}], + :doi-asserted-by "publisher"}], :content-domain {:domain ["psyneuen-journal.com" @@ -3345,7 +3277,7 @@ "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Psychoneuroendocrinology"], - :published-print {:date-parts [[2016 12]]}, + :published-print {:date-parts [[2016 12 1]]}, :DOI "10.1016/j.psyneuen.2016.09.028", :type "journal-article", :created @@ -3355,7 +3287,7 @@ :page "371-379", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", :source "Crossref", - :is-referenced-by-count 4, + :is-referenced-by-count 2, :title ["Subcortical gray matter changes in transgender subjects after long-term cross-sex hormone administration"], :prefix "10.1016", @@ -3427,9 +3359,8 @@ {:date-parts [[2017 6 25]], :date-time "2017-06-25T00:42:04Z", :timestamp 1498351324000}, - :score 1.0, - :issued {:date-parts [[2016 12]]}, - :references-count 0, + :issued {:date-parts [[2016 12 1]]}, + :references-count 67, :alternative-id ["S0306453016307144"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.09.028", :ISSN ["0306-4530"], @@ -3452,16 +3383,16 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 80, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start + [{:start {:date-parts [[2016 12 1]], :date-time "2016-12-01T00:00:00Z", :timestamp 1480550400000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], :content-domain {:domain ["psyneuen-journal.com" @@ -3474,7 +3405,7 @@ "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Psychoneuroendocrinology"], - :published-print {:date-parts [[2016 12]]}, + :published-print {:date-parts [[2016 12 1]]}, :DOI "10.1016/j.psyneuen.2016.10.001", :type "journal-article", :created @@ -3484,7 +3415,7 @@ :page "387-396", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", :source "Crossref", - :is-referenced-by-count 3, + :is-referenced-by-count 2, :title ["Exploring the neural mechanisms of finasteride: a proteomic analysis in the nucleus accumbens"], :prefix "10.1016", @@ -3540,9 +3471,8 @@ {:date-parts [[2017 6 25]], :date-time "2017-06-25T00:44:04Z", :timestamp 1498351444000}, - :score 1.0, - :issued {:date-parts [[2016 12]]}, - :references-count 0, + :issued {:date-parts [[2016 12 1]]}, + :references-count 80, :alternative-id ["S0306453016307715"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.10.001", :ISSN ["0306-4530"], @@ -3565,17 +3495,17 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 13, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start + [{:start {:date-parts [[2017 1 1]], :date-time "2017-01-01T00:00:00Z", :timestamp 1483228800000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], - :funder [{:name "Fabienne Ropeter", :award []}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], + :funder [{:name "Fabienne Ropeter"}], :content-domain {:domain ["psyneuen-journal.com" @@ -3588,7 +3518,7 @@ "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Psychoneuroendocrinology"], - :published-print {:date-parts [[2017 1]]}, + :published-print {:date-parts [[2017 1 1]]}, :DOI "10.1016/j.psyneuen.2016.10.002", :type "journal-article", :created @@ -3598,7 +3528,7 @@ :page "52-55", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", :source "Crossref", - :is-referenced-by-count 4, + :is-referenced-by-count 2, :title ["Testing the ecological validity of the Trier Social Stress Test: Association with real-life exam stress"], :prefix "10.1016", @@ -3650,9 +3580,8 @@ {:date-parts [[2017 11 30]], :date-time "2017-11-30T15:51:13Z", :timestamp 1512057073000}, - :score 1.0, - :issued {:date-parts [[2017 1]]}, - :references-count 0, + :issued {:date-parts [[2017 1 1]]}, + :references-count 13, :alternative-id ["S0306453016307740"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.10.002", :ISSN ["0306-4530"], @@ -3675,16 +3604,16 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 59, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start + [{:start {:date-parts [[2017 1 1]], :date-time "2017-01-01T00:00:00Z", :timestamp 1483228800000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], :content-domain {:domain ["psyneuen-journal.com" @@ -3697,7 +3626,7 @@ "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Psychoneuroendocrinology"], - :published-print {:date-parts [[2017 1]]}, + :published-print {:date-parts [[2017 1 1]]}, :DOI "10.1016/j.psyneuen.2016.10.003", :type "journal-article", :created @@ -3707,7 +3636,7 @@ :page "26-35", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", :source "Crossref", - :is-referenced-by-count 1, + :is-referenced-by-count 0, :title ["Do sex hormones or hormone therapy modify the relation of n-3 fatty acids with incident depressive symptoms in postmenopausal women? The MESA Study"], :prefix "10.1016", @@ -3759,9 +3688,8 @@ {:date-parts [[2017 11 30]], :date-time "2017-11-30T15:50:29Z", :timestamp 1512057029000}, - :score 1.0, - :issued {:date-parts [[2017 1]]}, - :references-count 0, + :issued {:date-parts [[2017 1 1]]}, + :references-count 59, :alternative-id ["S0306453016307867"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.10.003", :ISSN ["0306-4530"], @@ -3784,16 +3712,16 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 95, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start + [{:start {:date-parts [[2017 1 1]], :date-time "2017-01-01T00:00:00Z", :timestamp 1483228800000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], :content-domain {:domain ["psyneuen-journal.com" @@ -3806,7 +3734,7 @@ "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Psychoneuroendocrinology"], - :published-print {:date-parts [[2017 1]]}, + :published-print {:date-parts [[2017 1 1]]}, :DOI "10.1016/j.psyneuen.2016.10.004", :type "journal-article", :created @@ -3844,9 +3772,8 @@ {:date-parts [[2017 11 30]], :date-time "2017-11-30T15:50:55Z", :timestamp 1512057055000}, - :score 1.0, - :issued {:date-parts [[2017 1]]}, - :references-count 0, + :issued {:date-parts [[2017 1 1]]}, + :references-count 95, :alternative-id ["S0306453016307880"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.10.004", :ISSN ["0306-4530"], @@ -3869,22 +3796,20 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 74, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start + [{:start {:date-parts [[2017 1 1]], :date-time "2017-01-01T00:00:00Z", :timestamp 1483228800000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], :funder [{:DOI "10.13039/100000002", :name "NIH", - :doi-asserted-by "publisher", - :award - ["HD065823" "NS041298" "P50MH096889" "HD51852" "HD50662"]}], + :doi-asserted-by "publisher"}], :content-domain {:domain ["psyneuen-journal.com" @@ -3897,7 +3822,7 @@ "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Psychoneuroendocrinology"], - :published-print {:date-parts [[2017 1]]}, + :published-print {:date-parts [[2017 1 1]]}, :DOI "10.1016/j.psyneuen.2016.10.005", :type "journal-article", :created @@ -3907,7 +3832,7 @@ :page "56-63", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", :source "Crossref", - :is-referenced-by-count 7, + :is-referenced-by-count 5, :title ["Prenatal maternal cortisol concentrations predict neurodevelopment in middle childhood"], :prefix "10.1016", @@ -3947,9 +3872,8 @@ {:date-parts [[2017 11 30]], :date-time "2017-11-30T15:51:09Z", :timestamp 1512057069000}, - :score 1.0, - :issued {:date-parts [[2017 1]]}, - :references-count 0, + :issued {:date-parts [[2017 1 1]]}, + :references-count 74, :alternative-id ["S0306453016307892"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.10.005", :ISSN ["0306-4530"], @@ -3972,16 +3896,16 @@ {:value "© 2016 Published by Elsevier Ltd.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 15, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start + [{:start {:date-parts [[2017 1 1]], :date-time "2017-01-01T00:00:00Z", :timestamp 1483228800000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], :content-domain {:domain ["psyneuen-journal.com" @@ -3994,7 +3918,7 @@ "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Psychoneuroendocrinology"], - :published-print {:date-parts [[2017 1]]}, + :published-print {:date-parts [[2017 1 1]]}, :DOI "10.1016/j.psyneuen.2016.10.006", :type "journal-article", :created @@ -4048,9 +3972,8 @@ {:date-parts [[2017 11 30]], :date-time "2017-11-30T15:51:34Z", :timestamp 1512057094000}, - :score 1.0, - :issued {:date-parts [[2017 1]]}, - :references-count 0, + :issued {:date-parts [[2017 1 1]]}, + :references-count 15, :alternative-id ["S0306453016307909"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.10.006", :ISSN ["0306-4530"], @@ -4073,16 +3996,16 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 54, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start + [{:start {:date-parts [[2017 1 1]], :date-time "2017-01-01T00:00:00Z", :timestamp 1483228800000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], :content-domain {:domain ["psyneuen-journal.com" @@ -4095,7 +4018,7 @@ "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Psychoneuroendocrinology"], - :published-print {:date-parts [[2017 1]]}, + :published-print {:date-parts [[2017 1 1]]}, :DOI "10.1016/j.psyneuen.2016.10.007", :type "journal-article", :created @@ -4161,9 +4084,8 @@ {:date-parts [[2017 11 30]], :date-time "2017-11-30T15:51:31Z", :timestamp 1512057091000}, - :score 1.0, - :issued {:date-parts [[2017 1]]}, - :references-count 0, + :issued {:date-parts [[2017 1 1]]}, + :references-count 54, :alternative-id ["S0306453016305327"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.10.007", :ISSN ["0306-4530"], @@ -4186,16 +4108,16 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 51, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start + [{:start {:date-parts [[2017 1 1]], :date-time "2017-01-01T00:00:00Z", :timestamp 1483228800000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], :content-domain {:domain ["psyneuen-journal.com" @@ -4208,7 +4130,7 @@ "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Psychoneuroendocrinology"], - :published-print {:date-parts [[2017 1]]}, + :published-print {:date-parts [[2017 1 1]]}, :DOI "10.1016/j.psyneuen.2016.10.008", :type "journal-article", :created @@ -4258,9 +4180,8 @@ {:date-parts [[2017 11 30]], :date-time "2017-11-30T15:51:48Z", :timestamp 1512057108000}, - :score 1.0, - :issued {:date-parts [[2017 1]]}, - :references-count 0, + :issued {:date-parts [[2017 1 1]]}, + :references-count 51, :alternative-id ["S0306453016302190"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.10.008", :ISSN ["0306-4530"], @@ -4283,19 +4204,17 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 48, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start + [{:start {:date-parts [[2017 1 1]], :date-time "2017-01-01T00:00:00Z", :timestamp 1483228800000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], - :funder - [{:name "Eunice Kennedy Shriver NICHD/NIH (NCTRI)", - :award ["P50-HD28934"]}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], + :funder [{:name "Eunice Kennedy Shriver NICHD/NIH (NCTRI)"}], :content-domain {:domain ["psyneuen-journal.com" @@ -4308,7 +4227,7 @@ "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Psychoneuroendocrinology"], - :published-print {:date-parts [[2017 1]]}, + :published-print {:date-parts [[2017 1 1]]}, :DOI "10.1016/j.psyneuen.2016.10.009", :type "journal-article", :created @@ -4358,9 +4277,8 @@ {:date-parts [[2017 11 30]], :date-time "2017-11-30T15:51:22Z", :timestamp 1512057082000}, - :score 1.0, - :issued {:date-parts [[2017 1]]}, - :references-count 0, + :issued {:date-parts [[2017 1 1]]}, + :references-count 48, :alternative-id ["S0306453016307983"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.10.009", :ISSN ["0306-4530"], @@ -4383,16 +4301,16 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 83, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start + [{:start {:date-parts [[2017 1 1]], :date-time "2017-01-01T00:00:00Z", :timestamp 1483228800000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], :content-domain {:domain ["psyneuen-journal.com" @@ -4405,7 +4323,7 @@ "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Psychoneuroendocrinology"], - :published-print {:date-parts [[2017 1]]}, + :published-print {:date-parts [[2017 1 1]]}, :DOI "10.1016/j.psyneuen.2016.10.010", :type "journal-article", :created @@ -4491,9 +4409,8 @@ {:date-parts [[2017 11 30]], :date-time "2017-11-30T15:50:59Z", :timestamp 1512057059000}, - :score 1.0, - :issued {:date-parts [[2017 1]]}, - :references-count 0, + :issued {:date-parts [[2017 1 1]]}, + :references-count 83, :alternative-id ["S0306453016308022"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.10.010", :ISSN ["0306-4530"], @@ -4516,29 +4433,26 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 70, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start + [{:start {:date-parts [[2017 2 1]], :date-time "2017-02-01T00:00:00Z", :timestamp 1485907200000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], :funder - [{:DOI "10.13039/100000738", + [{:name "INIAStress"} + {:DOI "10.13039/100000738", :name "Department of Veterans Affairs", - :doi-asserted-by "crossref", - :award []} - {:name "INIAStress", :award ["U01AA016668"]} - {:name "Veterans Health Administration", :award []} + :doi-asserted-by "crossref"} + {:name "Veterans Health Administration"} {:name - "Office of Research and Development, Clinical Sciences Research", - :award []} + "Office of Research and Development, Clinical Sciences Research"} {:name - "Development and the UT Southwestern Center for Translational Medicine", - :award ["UL1TR000451"]}], + "Development and the UT Southwestern Center for Translational Medicine"}], :content-domain {:domain ["psyneuen-journal.com" @@ -4551,7 +4465,7 @@ "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Psychoneuroendocrinology"], - :published-print {:date-parts [[2017 2]]}, + :published-print {:date-parts [[2017 2 1]]}, :DOI "10.1016/j.psyneuen.2016.10.011", :type "journal-article", :created @@ -4617,9 +4531,8 @@ {:date-parts [[2017 6 25]], :date-time "2017-06-25T02:55:28Z", :timestamp 1498359328000}, - :score 1.0, - :issued {:date-parts [[2017 2]]}, - :references-count 0, + :issued {:date-parts [[2017 2 1]]}, + :references-count 70, :alternative-id ["S030645301630806X"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.10.011", :ISSN ["0306-4530"], @@ -4642,16 +4555,16 @@ {:value "Published by Elsevier Ltd.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 64, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start + [{:start {:date-parts [[2017 1 1]], :date-time "2017-01-01T00:00:00Z", :timestamp 1483228800000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], :content-domain {:domain ["psyneuen-journal.com" @@ -4664,7 +4577,7 @@ "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Psychoneuroendocrinology"], - :published-print {:date-parts [[2017 1]]}, + :published-print {:date-parts [[2017 1 1]]}, :DOI "10.1016/j.psyneuen.2016.10.012", :type "journal-article", :created @@ -4722,9 +4635,8 @@ {:date-parts [[2017 11 30]], :date-time "2017-11-30T15:51:44Z", :timestamp 1512057104000}, - :score 1.0, - :issued {:date-parts [[2017 1]]}, - :references-count 0, + :issued {:date-parts [[2017 1 1]]}, + :references-count 64, :alternative-id ["S0306453016308083"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.10.012", :ISSN ["0306-4530"], @@ -4747,16 +4659,16 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 88, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start + [{:start {:date-parts [[2017 1 1]], :date-time "2017-01-01T00:00:00Z", :timestamp 1483228800000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], :content-domain {:domain ["psyneuen-journal.com" @@ -4769,7 +4681,7 @@ "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Psychoneuroendocrinology"], - :published-print {:date-parts [[2017 1]]}, + :published-print {:date-parts [[2017 1 1]]}, :DOI "10.1016/j.psyneuen.2016.10.013", :type "journal-article", :created @@ -4811,9 +4723,8 @@ {:date-parts [[2017 11 30]], :date-time "2017-11-30T15:51:18Z", :timestamp 1512057078000}, - :score 1.0, - :issued {:date-parts [[2017 1]]}, - :references-count 0, + :issued {:date-parts [[2017 1 1]]}, + :references-count 88, :alternative-id ["S0306453016302128"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.10.013", :ISSN ["0306-4530"], @@ -4836,16 +4747,16 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 45, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start + [{:start {:date-parts [[2017 1 1]], :date-time "2017-01-01T00:00:00Z", :timestamp 1483228800000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], :content-domain {:domain ["psyneuen-journal.com" @@ -4858,7 +4769,7 @@ "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Psychoneuroendocrinology"], - :published-print {:date-parts [[2017 1]]}, + :published-print {:date-parts [[2017 1 1]]}, :DOI "10.1016/j.psyneuen.2016.10.014", :type "journal-article", :created @@ -4904,9 +4815,8 @@ {:date-parts [[2017 11 30]], :date-time "2017-11-30T15:50:41Z", :timestamp 1512057041000}, - :score 1.0, - :issued {:date-parts [[2017 1]]}, - :references-count 0, + :issued {:date-parts [[2017 1 1]]}, + :references-count 45, :alternative-id ["S0306453016308216"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.10.014", :ISSN ["0306-4530"], @@ -4929,16 +4839,16 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 39, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start + [{:start {:date-parts [[2017 2 1]], :date-time "2017-02-01T00:00:00Z", :timestamp 1485907200000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], :content-domain {:domain ["psyneuen-journal.com" @@ -4951,7 +4861,7 @@ "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Psychoneuroendocrinology"], - :published-print {:date-parts [[2017 2]]}, + :published-print {:date-parts [[2017 2 1]]}, :DOI "10.1016/j.psyneuen.2016.10.015", :type "journal-article", :created @@ -5033,9 +4943,8 @@ {:date-parts [[2017 6 25]], :date-time "2017-06-25T01:42:48Z", :timestamp 1498354968000}, - :score 1.0, - :issued {:date-parts [[2017 2]]}, - :references-count 0, + :issued {:date-parts [[2017 2 1]]}, + :references-count 39, :alternative-id ["S0306453016308332"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.10.015", :ISSN ["0306-4530"], @@ -5058,28 +4967,27 @@ {:value "© 2016 Published by Elsevier Ltd.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 45, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start + [{:start {:date-parts [[2017 1 1]], :date-time "2017-01-01T00:00:00Z", :timestamp 1483228800000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"} - {:URL "http://creativecommons.org/licenses/by/4.0/", - :start + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"} + {:start {:date-parts [[2016 10 21]], :date-time "2016-10-21T00:00:00Z", :timestamp 1477008000000}, + :content-version "vor", :delay-in-days 0, - :content-version "vor"}], + :URL "http://creativecommons.org/licenses/by/4.0/"}], :funder [{:DOI "10.13039/501100000268", :name "BBSRC", - :doi-asserted-by "publisher", - :award []}], + :doi-asserted-by "publisher"}], :content-domain {:domain ["psyneuen-journal.com" @@ -5092,7 +5000,7 @@ "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Psychoneuroendocrinology"], - :published-print {:date-parts [[2017 1]]}, + :published-print {:date-parts [[2017 1 1]]}, :DOI "10.1016/j.psyneuen.2016.10.016", :type "journal-article", :created @@ -5155,9 +5063,8 @@ {:date-parts [[2017 11 30]], :date-time "2017-11-30T15:51:26Z", :timestamp 1512057086000}, - :score 1.0, - :issued {:date-parts [[2017 1]]}, - :references-count 0, + :issued {:date-parts [[2017 1 1]]}, + :references-count 45, :alternative-id ["S0306453016305595"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.10.016", :ISSN ["0306-4530"], @@ -5180,16 +5087,16 @@ {:value "© 2016 The Authors. Published by Elsevier Ltd.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 36, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start + [{:start {:date-parts [[2017 1 1]], :date-time "2017-01-01T00:00:00Z", :timestamp 1483228800000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], :content-domain {:domain ["psyneuen-journal.com" @@ -5202,7 +5109,7 @@ "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Psychoneuroendocrinology"], - :published-print {:date-parts [[2017 1]]}, + :published-print {:date-parts [[2017 1 1]]}, :DOI "10.1016/j.psyneuen.2016.10.017", :type "journal-article", :created @@ -5212,7 +5119,7 @@ :page "124-131", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", :source "Crossref", - :is-referenced-by-count 5, + :is-referenced-by-count 3, :title ["The impact of perceived intensity and frequency of police work occupational stressors on the cortisol awakening response (CAR): Findings from the BCOPS study"], :prefix "10.1016", @@ -5264,9 +5171,8 @@ {:date-parts [[2017 11 30]], :date-time "2017-11-30T15:51:18Z", :timestamp 1512057078000}, - :score 1.0, - :issued {:date-parts [[2017 1]]}, - :references-count 0, + :issued {:date-parts [[2017 1 1]]}, + :references-count 36, :alternative-id ["S0306453016302025"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.10.017", :ISSN ["0306-4530"], @@ -5289,16 +5195,16 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 83, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start + [{:start {:date-parts [[2017 1 1]], :date-time "2017-01-01T00:00:00Z", :timestamp 1483228800000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], :content-domain {:domain ["psyneuen-journal.com" @@ -5311,7 +5217,7 @@ "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Psychoneuroendocrinology"], - :published-print {:date-parts [[2017 1]]}, + :published-print {:date-parts [[2017 1 1]]}, :DOI "10.1016/j.psyneuen.2016.10.018", :type "journal-article", :created @@ -5321,7 +5227,7 @@ :page "132-140", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", :source "Crossref", - :is-referenced-by-count 1, + :is-referenced-by-count 0, :title ["Effects of mineralocorticoid-receptor stimulation on risk taking behavior in young healthy men and women"], :prefix "10.1016", @@ -5369,9 +5275,8 @@ {:date-parts [[2017 11 30]], :date-time "2017-11-30T15:51:45Z", :timestamp 1512057105000}, - :score 1.0, - :issued {:date-parts [[2017 1]]}, - :references-count 0, + :issued {:date-parts [[2017 1 1]]}, + :references-count 83, :alternative-id ["S0306453016308447"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.10.018", :ISSN ["0306-4530"], @@ -5394,23 +5299,23 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 41, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start + [{:start {:date-parts [[2017 1 1]], :date-time "2017-01-01T00:00:00Z", :timestamp 1483228800000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"} - {:URL "http://www.elsevier.com/open-access/userlicense/1.0/", - :start + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"} + {:start {:date-parts [[2017 11 9]], :date-time "2017-11-09T00:00:00Z", :timestamp 1510185600000}, + :content-version "am", :delay-in-days 312, - :content-version "am"}], + :URL "http://www.elsevier.com/open-access/userlicense/1.0/"}], :content-domain {:domain ["psyneuen-journal.com" @@ -5423,7 +5328,7 @@ "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Psychoneuroendocrinology"], - :published-print {:date-parts [[2017 1]]}, + :published-print {:date-parts [[2017 1 1]]}, :DOI "10.1016/j.psyneuen.2016.10.019", :type "journal-article", :created @@ -5433,7 +5338,7 @@ :page "183-191", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", :source "Crossref", - :is-referenced-by-count 7, + :is-referenced-by-count 5, :title ["Cortisol reactivity and suicidal behavior: Investigating the role of hypothalamic-pituitary-adrenal axis responses to stress in suicide attempters and ideators"], :prefix "10.1016", @@ -5477,9 +5382,8 @@ {:date-parts [[2017 11 30]], :date-time "2017-11-30T15:51:51Z", :timestamp 1512057111000}, - :score 1.0, - :issued {:date-parts [[2017 1]]}, - :references-count 0, + :issued {:date-parts [[2017 1 1]]}, + :references-count 41, :alternative-id ["S0306453016308435"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.10.019", :ISSN ["0306-4530"], @@ -5502,16 +5406,16 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 43, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start + [{:start {:date-parts [[2017 1 1]], :date-time "2017-01-01T00:00:00Z", :timestamp 1483228800000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], :content-domain {:domain ["psyneuen-journal.com" @@ -5524,7 +5428,7 @@ "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Psychoneuroendocrinology"], - :published-print {:date-parts [[2017 1]]}, + :published-print {:date-parts [[2017 1 1]]}, :DOI "10.1016/j.psyneuen.2016.10.020", :type "journal-article", :created @@ -5590,9 +5494,8 @@ {:date-parts [[2017 11 30]], :date-time "2017-11-30T15:50:58Z", :timestamp 1512057058000}, - :score 1.0, - :issued {:date-parts [[2017 1]]}, - :references-count 0, + :issued {:date-parts [[2017 1 1]]}, + :references-count 43, :alternative-id ["S0306453016308459"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.10.020", :ISSN ["0306-4530"], @@ -5615,16 +5518,16 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 47, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start + [{:start {:date-parts [[2017 2 1]], :date-time "2017-02-01T00:00:00Z", :timestamp 1485907200000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], :content-domain {:domain ["psyneuen-journal.com" @@ -5637,7 +5540,7 @@ "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Psychoneuroendocrinology"], - :published-print {:date-parts [[2017 2]]}, + :published-print {:date-parts [[2017 2 1]]}, :DOI "10.1016/j.psyneuen.2016.10.021", :type "journal-article", :created @@ -5647,7 +5550,7 @@ :page "77-83", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", :source "Crossref", - :is-referenced-by-count 3, + :is-referenced-by-count 2, :title ["The role of oxytocin in modulating interpersonal space: A pharmacological fMRI study"], :prefix "10.1016", @@ -5699,9 +5602,8 @@ {:date-parts [[2017 6 25]], :date-time "2017-06-25T03:19:26Z", :timestamp 1498360766000}, - :score 1.0, - :issued {:date-parts [[2017 2]]}, - :references-count 0, + :issued {:date-parts [[2017 2 1]]}, + :references-count 47, :alternative-id ["S0306453016304668"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.10.021", :ISSN ["0306-4530"], @@ -5724,21 +5626,20 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 51, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start + [{:start {:date-parts [[2017 1 1]], :date-time "2017-01-01T00:00:00Z", :timestamp 1483228800000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], :funder [{:DOI "10.13039/100008545", :name "Georgia State University", - :doi-asserted-by "crossref", - :award []}], + :doi-asserted-by "crossref"}], :content-domain {:domain ["psyneuen-journal.com" @@ -5751,7 +5652,7 @@ "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Psychoneuroendocrinology"], - :published-print {:date-parts [[2017 1]]}, + :published-print {:date-parts [[2017 1 1]]}, :DOI "10.1016/j.psyneuen.2016.10.022", :type "journal-article", :created @@ -5809,9 +5710,8 @@ {:date-parts [[2017 11 30]], :date-time "2017-11-30T15:51:29Z", :timestamp 1512057089000}, - :score 1.0, - :issued {:date-parts [[2017 1]]}, - :references-count 0, + :issued {:date-parts [[2017 1 1]]}, + :references-count 51, :alternative-id ["S0306453016308587"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.10.022", :ISSN ["0306-4530"], @@ -5834,25 +5734,23 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 54, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start + [{:start {:date-parts [[2017 2 1]], :date-time "2017-02-01T00:00:00Z", :timestamp 1485907200000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], :funder [{:DOI "10.13039/100000002", :name "NIH", - :doi-asserted-by "publisher", - :award ["1R01HD057962"]} + :doi-asserted-by "publisher"} {:DOI "10.13039/100009429", :name "NRSA", - :doi-asserted-by "crossref", - :award ["MH099892"]}], + :doi-asserted-by "crossref"}], :content-domain {:domain ["psyneuen-journal.com" @@ -5865,7 +5763,7 @@ "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Psychoneuroendocrinology"], - :published-print {:date-parts [[2017 2]]}, + :published-print {:date-parts [[2017 2 1]]}, :DOI "10.1016/j.psyneuen.2016.10.023", :type "journal-article", :created @@ -5875,7 +5773,7 @@ :page "97-106", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", :source "Crossref", - :is-referenced-by-count 6, + :is-referenced-by-count 5, :title ["Motherhood and infant contact regulate neuroplasticity in the serotonergic midbrain dorsal raphe"], :prefix "10.1016", @@ -5907,9 +5805,8 @@ {:date-parts [[2017 6 25]], :date-time "2017-06-25T04:01:56Z", :timestamp 1498363316000}, - :score 1.0, - :issued {:date-parts [[2017 2]]}, - :references-count 0, + :issued {:date-parts [[2017 2 1]]}, + :references-count 54, :alternative-id ["S0306453016308605"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.10.023", :ISSN ["0306-4530"], @@ -5932,22 +5829,20 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 63, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start + [{:start {:date-parts [[2017 1 1]], :date-time "2017-01-01T00:00:00Z", :timestamp 1483228800000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], :funder [{:name - "“Conselho Nacional de Desenvolvimento Científico e Tecnológico” CNPq-Brazil Program Ciência sem Fronteiras CNPJ", - :award ["401898/2013-0"]} - {:name "RCUK/FAPESP Newton grant", - :award ["MR/M026574/1" "2014/50829-4"]}], + "“Conselho Nacional de Desenvolvimento Científico e Tecnológico” CNPq-Brazil Program Ciência sem Fronteiras CNPJ"} + {:name "RCUK/FAPESP Newton grant"}], :content-domain {:domain ["psyneuen-journal.com" @@ -5960,7 +5855,7 @@ "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Psychoneuroendocrinology"], - :published-print {:date-parts [[2017 1]]}, + :published-print {:date-parts [[2017 1 1]]}, :DOI "10.1016/j.psyneuen.2016.10.024", :type "journal-article", :created @@ -6022,9 +5917,8 @@ {:date-parts [[2017 11 30]], :date-time "2017-11-30T15:50:13Z", :timestamp 1512057013000}, - :score 1.0, - :issued {:date-parts [[2017 1]]}, - :references-count 0, + :issued {:date-parts [[2017 1 1]]}, + :references-count 63, :alternative-id ["S0306453016308630"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.10.024", :ISSN ["0306-4530"], @@ -6048,16 +5942,16 @@ "Crown Copyright © 2016 Published by Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 44, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start + [{:start {:date-parts [[2017 1 1]], :date-time "2017-01-01T00:00:00Z", :timestamp 1483228800000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], :content-domain {:domain ["psyneuen-journal.com" @@ -6070,7 +5964,7 @@ "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Psychoneuroendocrinology"], - :published-print {:date-parts [[2017 1]]}, + :published-print {:date-parts [[2017 1 1]]}, :DOI "10.1016/j.psyneuen.2016.10.025", :type "journal-article", :created @@ -6132,9 +6026,8 @@ {:date-parts [[2017 11 30]], :date-time "2017-11-30T15:49:55Z", :timestamp 1512056995000}, - :score 1.0, - :issued {:date-parts [[2017 1]]}, - :references-count 0, + :issued {:date-parts [[2017 1 1]]}, + :references-count 44, :alternative-id ["S0306453016308563"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.10.025", :ISSN ["0306-4530"], @@ -6157,29 +6050,29 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 67, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start + [{:start {:date-parts [[2017 1 1]], :date-time "2017-01-01T00:00:00Z", :timestamp 1483228800000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], :funder [{:DOI "10.13039/100000049", :name "National Institute on Aging", - :doi-asserted-by "publisher", - :award ["AG018436" "P01-AG020166"]} + :doi-asserted-by "publisher"} {:DOI "10.13039/100000071", :name "National Institute of Child Health and Human Development", - :doi-asserted-by "publisher", - :award ["HD058502" "F32HD078048"]} + :doi-asserted-by "publisher"} + {:DOI "10.13039/100000049", + :name "National Institute on Aging", + :doi-asserted-by "publisher"} {:DOI "10.13039/100000026", :name "National Institute on Drug Abuse", - :doi-asserted-by "publisher", - :award ["DA027827"]}], + :doi-asserted-by "publisher"}], :content-domain {:domain ["psyneuen-journal.com" @@ -6192,7 +6085,7 @@ "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Psychoneuroendocrinology"], - :published-print {:date-parts [[2017 1]]}, + :published-print {:date-parts [[2017 1 1]]}, :DOI "10.1016/j.psyneuen.2016.10.026", :type "journal-article", :created @@ -6258,9 +6151,8 @@ {:date-parts [[2017 11 30]], :date-time "2017-11-30T15:51:40Z", :timestamp 1512057100000}, - :score 1.0, - :issued {:date-parts [[2017 1]]}, - :references-count 0, + :issued {:date-parts [[2017 1 1]]}, + :references-count 67, :alternative-id ["S0306453016308654"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.10.026", :ISSN ["0306-4530"], @@ -6283,16 +6175,16 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 54, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start + [{:start {:date-parts [[2017 2 1]], :date-time "2017-02-01T00:00:00Z", :timestamp 1485907200000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], :content-domain {:domain ["psyneuen-journal.com" @@ -6305,7 +6197,7 @@ "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Psychoneuroendocrinology"], - :published-print {:date-parts [[2017 2]]}, + :published-print {:date-parts [[2017 2 1]]}, :DOI "10.1016/j.psyneuen.2016.10.027", :type "journal-article", :created @@ -6387,9 +6279,8 @@ {:date-parts [[2017 6 25]], :date-time "2017-06-25T03:19:26Z", :timestamp 1498360766000}, - :score 1.0, - :issued {:date-parts [[2017 2]]}, - :references-count 0, + :issued {:date-parts [[2017 2 1]]}, + :references-count 54, :alternative-id ["S0306453016304528"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.10.027", :ISSN ["0306-4530"], @@ -6412,16 +6303,16 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 56, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start + [{:start {:date-parts [[2017 2 1]], :date-time "2017-02-01T00:00:00Z", :timestamp 1485907200000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], :content-domain {:domain ["psyneuen-journal.com" @@ -6434,7 +6325,7 @@ "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Psychoneuroendocrinology"], - :published-print {:date-parts [[2017 2]]}, + :published-print {:date-parts [[2017 2 1]]}, :DOI "10.1016/j.psyneuen.2016.10.028", :type "journal-article", :created @@ -6444,7 +6335,7 @@ :page "29-37", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", :source "Crossref", - :is-referenced-by-count 2, + :is-referenced-by-count 0, :title ["Maternal care and affective behavior in female offspring: Implication of the neurosteroid/GABAergic system"], :prefix "10.1016", @@ -6476,9 +6367,8 @@ {:date-parts [[2017 6 25]], :date-time "2017-06-25T02:56:49Z", :timestamp 1498359409000}, - :score 1.0, - :issued {:date-parts [[2017 2]]}, - :references-count 0, + :issued {:date-parts [[2017 2 1]]}, + :references-count 56, :alternative-id ["S0306453016304723"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.10.028", :ISSN ["0306-4530"], @@ -6501,50 +6391,22 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 45, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start + [{:start {:date-parts [[2017 2 1]], :date-time "2017-02-01T00:00:00Z", :timestamp 1485907200000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], :funder - [{:name "P51", :award ["OD011107"]} - {:name "R01", - :award - ["DA024441" - "K07CA188237-01A1" - "AG043404" - "CA160890" - "AI52737" - "AG033590"]} - {:name "R01", - :award - ["DA024441" - "K07CA188237-01A1" - "AG043404" - "CA160890" - "AI52737" - "AG033590"]} - {:name "R01", - :award - ["DA024441" - "K07CA188237-01A1" - "AG043404" - "CA160890" - "AI52737" - "AG033590"]} - {:name "R01", - :award - ["DA024441" - "K07CA188237-01A1" - "AG043404" - "CA160890" - "AI52737" - "AG033590"]}], + [{:name "P51"} + {:name "R01"} + {:name "R01"} + {:name "R01"} + {:name "R01"}], :content-domain {:domain ["psyneuen-journal.com" @@ -6557,7 +6419,7 @@ "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Psychoneuroendocrinology"], - :published-print {:date-parts [[2017 2]]}, + :published-print {:date-parts [[2017 2 1]]}, :DOI "10.1016/j.psyneuen.2016.10.029", :type "journal-article", :created @@ -6612,9 +6474,8 @@ {:date-parts [[2017 6 25]], :date-time "2017-06-25T03:33:24Z", :timestamp 1498361604000}, - :score 1.0, - :issued {:date-parts [[2017 2]]}, - :references-count 0, + :issued {:date-parts [[2017 2 1]]}, + :references-count 45, :alternative-id ["S030645301630470X"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.10.029", :ISSN ["0306-4530"], @@ -6642,32 +6503,32 @@ {:date-parts [[2017 4 1]], :date-time "2017-04-01T00:00:00Z", :timestamp 1491004800000}, - :DOI "10.1016/j.psyneuen.2015.09.028", + :DOI "http://dx.doi.org/10.1016/j.psyneuen.2015.09.028", :type "erratum", - :label "Erratum"}], + :label nil}], :reference-count 0, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start - {:date-parts [[2017 4 1]], - :date-time "2017-04-01T00:00:00Z", - :timestamp 1491004800000}, + [{:start + {:date-parts [[2017 3 17]], + :date-time "2017-03-17T15:31:03Z", + :timestamp 1489764663000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], :content-domain {:domain ["psyneuen-journal.com" "clinicalkey.jp" "clinicalkey.com" "clinicalkey.es" - "clinicalkey.fr" "clinicalkey.com.au" + "clinicalkey.fr" "elsevier.com" "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Psychoneuroendocrinology"], - :published-print {:date-parts [[2017 4]]}, + :published-print {:date-parts [[2017 4 1]]}, :DOI "10.1016/j.psyneuen.2016.11.001", :type "journal-article", :created @@ -6717,21 +6578,20 @@ :language "en", :link [{:URL - "http://api.elsevier.com/content/article/PII:S0306453016308757?httpAccept=text/xml", - :content-type "text/xml", + "http://api.elsevier.com/content/article/PII:S0306453016308757?httpAccept=text/plain", + :content-type "text/plain", :content-version "vor", :intended-application "text-mining"} {:URL - "http://api.elsevier.com/content/article/PII:S0306453016308757?httpAccept=text/plain", - :content-type "text/plain", + "http://api.elsevier.com/content/article/PII:S0306453016308757?httpAccept=text/xml", + :content-type "text/xml", :content-version "vor", :intended-application "text-mining"}], :deposited - {:date-parts [[2017 12 21]], - :date-time "2017-12-21T03:37:35Z", - :timestamp 1513827455000}, - :score 1.0, - :issued {:date-parts [[2017 4]]}, + {:date-parts [[2017 3 17]], + :date-time "2017-03-17T15:31:03Z", + :timestamp 1489764663000}, + :issued {:date-parts [[2017 3 17]]}, :references-count 0, :alternative-id ["S0306453016308757"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.11.001", @@ -6760,16 +6620,16 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 64, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start + [{:start {:date-parts [[2017 1 1]], :date-time "2017-01-01T00:00:00Z", :timestamp 1483228800000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], :content-domain {:domain ["psyneuen-journal.com" @@ -6782,7 +6642,7 @@ "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Psychoneuroendocrinology"], - :published-print {:date-parts [[2017 1]]}, + :published-print {:date-parts [[2017 1 1]]}, :DOI "10.1016/j.psyneuen.2016.11.002", :type "journal-article", :created @@ -6832,9 +6692,8 @@ {:date-parts [[2017 11 30]], :date-time "2017-11-30T15:51:41Z", :timestamp 1512057101000}, - :score 1.0, - :issued {:date-parts [[2017 1]]}, - :references-count 0, + :issued {:date-parts [[2017 1 1]]}, + :references-count 64, :alternative-id ["S0306453016308824"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.11.002", :ISSN ["0306-4530"], @@ -6857,16 +6716,16 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 81, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start + [{:start {:date-parts [[2017 1 1]], :date-time "2017-01-01T00:00:00Z", :timestamp 1483228800000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], :content-domain {:domain ["psyneuen-journal.com" @@ -6879,7 +6738,7 @@ "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Psychoneuroendocrinology"], - :published-print {:date-parts [[2017 1]]}, + :published-print {:date-parts [[2017 1 1]]}, :DOI "10.1016/j.psyneuen.2016.11.003", :type "journal-article", :created @@ -6941,9 +6800,8 @@ {:date-parts [[2017 11 30]], :date-time "2017-11-30T15:52:20Z", :timestamp 1512057140000}, - :score 1.0, - :issued {:date-parts [[2017 1]]}, - :references-count 0, + :issued {:date-parts [[2017 1 1]]}, + :references-count 81, :alternative-id ["S0306453016308836"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.11.003", :ISSN ["0306-4530"], @@ -6966,16 +6824,16 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 50, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start + [{:start {:date-parts [[2017 2 1]], :date-time "2017-02-01T00:00:00Z", :timestamp 1485907200000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], :content-domain {:domain ["psyneuen-journal.com" @@ -6988,7 +6846,7 @@ "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Psychoneuroendocrinology"], - :published-print {:date-parts [[2017 2]]}, + :published-print {:date-parts [[2017 2 1]]}, :DOI "10.1016/j.psyneuen.2016.11.004", :type "journal-article", :created @@ -7051,9 +6909,8 @@ {:date-parts [[2017 6 25]], :date-time "2017-06-25T03:24:46Z", :timestamp 1498361086000}, - :score 1.0, - :issued {:date-parts [[2017 2]]}, - :references-count 0, + :issued {:date-parts [[2017 2 1]]}, + :references-count 50, :alternative-id ["S030645301630511X"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.11.004", :ISSN ["0306-4530"], @@ -7077,27 +6934,26 @@ "Crown Copyright © 2016 Published by Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 54, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start + [{:start {:date-parts [[2017 1 1]], :date-time "2017-01-01T00:00:00Z", :timestamp 1483228800000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"} - {:URL "http://www.elsevier.com/open-access/userlicense/1.0/", - :start + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"} + {:start {:date-parts [[2017 11 10]], :date-time "2017-11-10T00:00:00Z", :timestamp 1510272000000}, + :content-version "am", :delay-in-days 313, - :content-version "am"}], + :URL "http://www.elsevier.com/open-access/userlicense/1.0/"}], :funder [{:name - "Swiss National Science Foundation awarded to J.S. Lobmaier", - :award ["PP00P1_139072/1"]}], + "Swiss National Science Foundation awarded to J.S. Lobmaier"}], :content-domain {:domain ["psyneuen-journal.com" @@ -7110,7 +6966,7 @@ "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Psychoneuroendocrinology"], - :published-print {:date-parts [[2017 1]]}, + :published-print {:date-parts [[2017 1 1]]}, :DOI "10.1016/j.psyneuen.2016.11.005", :type "journal-article", :created @@ -7168,9 +7024,8 @@ {:date-parts [[2017 11 30]], :date-time "2017-11-30T15:51:46Z", :timestamp 1512057106000}, - :score 1.0, - :issued {:date-parts [[2017 1]]}, - :references-count 0, + :issued {:date-parts [[2017 1 1]]}, + :references-count 54, :alternative-id ["S0306453016308903"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.11.005", :ISSN ["0306-4530"], @@ -7193,16 +7048,16 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 19, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start + [{:start {:date-parts [[2017 2 1]], :date-time "2017-02-01T00:00:00Z", :timestamp 1485907200000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], :content-domain {:domain ["psyneuen-journal.com" @@ -7215,7 +7070,7 @@ "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Psychoneuroendocrinology"], - :published-print {:date-parts [[2017 2]]}, + :published-print {:date-parts [[2017 2 1]]}, :DOI "10.1016/j.psyneuen.2016.11.006", :type "journal-article", :created @@ -7273,9 +7128,8 @@ {:date-parts [[2017 6 25]], :date-time "2017-06-25T03:02:43Z", :timestamp 1498359763000}, - :score 1.0, - :issued {:date-parts [[2017 2]]}, - :references-count 0, + :issued {:date-parts [[2017 2 1]]}, + :references-count 19, :alternative-id ["S0306453016308915"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.11.006", :ISSN ["0306-4530"], @@ -7298,16 +7152,16 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 52, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start + [{:start {:date-parts [[2017 2 1]], :date-time "2017-02-01T00:00:00Z", :timestamp 1485907200000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], :content-domain {:domain ["psyneuen-journal.com" @@ -7320,7 +7174,7 @@ "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Psychoneuroendocrinology"], - :published-print {:date-parts [[2017 2]]}, + :published-print {:date-parts [[2017 2 1]]}, :DOI "10.1016/j.psyneuen.2016.11.007", :type "journal-article", :created @@ -7330,7 +7184,7 @@ :page "38-48", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", :source "Crossref", - :is-referenced-by-count 6, + :is-referenced-by-count 2, :title ["Hypothalamic-pituitary-adrenal axis activity and cognition in major depression: The role of remission status"], :prefix "10.1016", @@ -7402,9 +7256,8 @@ {:date-parts [[2017 6 25]], :date-time "2017-06-25T03:19:29Z", :timestamp 1498360769000}, - :score 1.0, - :issued {:date-parts [[2017 2]]}, - :references-count 0, + :issued {:date-parts [[2017 2 1]]}, + :references-count 52, :alternative-id ["S0306453016302293"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.11.007", :ISSN ["0306-4530"], @@ -7427,21 +7280,20 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 67, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start + [{:start {:date-parts [[2017 2 1]], :date-time "2017-02-01T00:00:00Z", :timestamp 1485907200000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], :funder [{:DOI "10.13039/501100000829", :name "Department of Education", - :doi-asserted-by "crossref", - :award []}], + :doi-asserted-by "crossref"}], :content-domain {:domain ["psyneuen-journal.com" @@ -7454,7 +7306,7 @@ "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Psychoneuroendocrinology"], - :published-print {:date-parts [[2017 2]]}, + :published-print {:date-parts [[2017 2 1]]}, :DOI "10.1016/j.psyneuen.2016.11.008", :type "journal-article", :created @@ -7528,9 +7380,8 @@ {:date-parts [[2017 6 25]], :date-time "2017-06-25T03:14:07Z", :timestamp 1498360447000}, - :score 1.0, - :issued {:date-parts [[2017 2]]}, - :references-count 0, + :issued {:date-parts [[2017 2 1]]}, + :references-count 67, :alternative-id ["S0306453016308952"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.11.008", :ISSN ["0306-4530"], @@ -7553,16 +7404,16 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 19, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start + [{:start {:date-parts [[2017 2 1]], :date-time "2017-02-01T00:00:00Z", :timestamp 1485907200000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], :content-domain {:domain ["psyneuen-journal.com" @@ -7575,7 +7426,7 @@ "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Psychoneuroendocrinology"], - :published-print {:date-parts [[2017 2]]}, + :published-print {:date-parts [[2017 2 1]]}, :DOI "10.1016/j.psyneuen.2016.11.009", :type "journal-article", :created @@ -7637,9 +7488,8 @@ {:date-parts [[2017 6 25]], :date-time "2017-06-25T03:33:24Z", :timestamp 1498361604000}, - :score 1.0, - :issued {:date-parts [[2017 2]]}, - :references-count 0, + :issued {:date-parts [[2017 2 1]]}, + :references-count 19, :alternative-id ["S0306453016305005"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.11.009", :ISSN ["0306-4530"], @@ -7662,16 +7512,16 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 17, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start + [{:start {:date-parts [[2017 2 1]], :date-time "2017-02-01T00:00:00Z", :timestamp 1485907200000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], :content-domain {:domain ["psyneuen-journal.com" @@ -7684,7 +7534,7 @@ "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Psychoneuroendocrinology"], - :published-print {:date-parts [[2017 2]]}, + :published-print {:date-parts [[2017 2 1]]}, :DOI "10.1016/j.psyneuen.2016.11.010", :type "journal-article", :created @@ -7730,9 +7580,8 @@ {:date-parts [[2017 6 25]], :date-time "2017-06-25T03:39:19Z", :timestamp 1498361959000}, - :score 1.0, - :issued {:date-parts [[2017 2]]}, - :references-count 0, + :issued {:date-parts [[2017 2 1]]}, + :references-count 17, :alternative-id ["S030645301630899X"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.11.010", :ISSN ["0306-4530"], @@ -7755,23 +7604,23 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 36, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start + [{:start {:date-parts [[2017 2 1]], :date-time "2017-02-01T00:00:00Z", :timestamp 1485907200000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"} - {:URL "http://www.elsevier.com/open-access/userlicense/1.0/", - :start + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"} + {:start {:date-parts [[2017 12 4]], :date-time "2017-12-04T00:00:00Z", :timestamp 1512345600000}, + :content-version "am", :delay-in-days 306, - :content-version "am"}], + :URL "http://www.elsevier.com/open-access/userlicense/1.0/"}], :content-domain {:domain ["psyneuen-journal.com" @@ -7784,7 +7633,7 @@ "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Psychoneuroendocrinology"], - :published-print {:date-parts [[2017 2]]}, + :published-print {:date-parts [[2017 2 1]]}, :DOI "10.1016/j.psyneuen.2016.11.011", :type "journal-article", :created @@ -7794,7 +7643,7 @@ :page "144-153", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", :source "Crossref", - :is-referenced-by-count 10, + :is-referenced-by-count 8, :title ["Sociodemographic, lifestyle, and psychosocial determinants of hair cortisol in a South London community sample"], :prefix "10.1016", @@ -7850,9 +7699,8 @@ {:date-parts [[2017 10 9]], :date-time "2017-10-09T19:55:05Z", :timestamp 1507578905000}, - :score 1.0, - :issued {:date-parts [[2017 2]]}, - :references-count 0, + :issued {:date-parts [[2017 2 1]]}, + :references-count 36, :alternative-id ["S0306453016305923"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.11.011", :ISSN ["0306-4530"], @@ -7875,16 +7723,16 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 92, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start + [{:start {:date-parts [[2017 2 1]], :date-time "2017-02-01T00:00:00Z", :timestamp 1485907200000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], :content-domain {:domain ["psyneuen-journal.com" @@ -7897,7 +7745,7 @@ "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Psychoneuroendocrinology"], - :published-print {:date-parts [[2017 2]]}, + :published-print {:date-parts [[2017 2 1]]}, :DOI "10.1016/j.psyneuen.2016.11.012", :type "journal-article", :created @@ -7907,7 +7755,7 @@ :page "19-28", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", :source "Crossref", - :is-referenced-by-count 7, + :is-referenced-by-count 6, :title ["Trauma exposure relates to heightened stress, altered amygdala morphology and deficient extinction learning: Implications for psychopathology"], :prefix "10.1016", @@ -7963,9 +7811,8 @@ {:date-parts [[2017 6 25]], :date-time "2017-06-25T03:24:39Z", :timestamp 1498361079000}, - :score 1.0, - :issued {:date-parts [[2017 2]]}, - :references-count 0, + :issued {:date-parts [[2017 2 1]]}, + :references-count 92, :alternative-id ["S0306453016309015"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.11.012", :ISSN ["0306-4530"], @@ -7988,16 +7835,16 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 18, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start + [{:start {:date-parts [[2017 2 1]], :date-time "2017-02-01T00:00:00Z", :timestamp 1485907200000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], :content-domain {:domain ["psyneuen-journal.com" @@ -8010,7 +7857,7 @@ "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Psychoneuroendocrinology"], - :published-print {:date-parts [[2017 2]]}, + :published-print {:date-parts [[2017 2 1]]}, :DOI "10.1016/j.psyneuen.2016.11.014", :type "journal-article", :created @@ -8020,7 +7867,7 @@ :page "114-118", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", :source "Crossref", - :is-referenced-by-count 1, + :is-referenced-by-count 0, :title ["Association between dehydroepiandrosterone-sulfate and attention in long-term survivors of childhood acute lymphoblastic leukemia treated with only chemotherapy"], :prefix "10.1016", @@ -8088,9 +7935,8 @@ {:date-parts [[2017 6 25]], :date-time "2017-06-25T03:46:05Z", :timestamp 1498362365000}, - :score 1.0, - :issued {:date-parts [[2017 2]]}, - :references-count 0, + :issued {:date-parts [[2017 2 1]]}, + :references-count 18, :alternative-id ["S0306453016305601"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.11.014", :ISSN ["0306-4530"], @@ -8113,19 +7959,17 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 69, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start + [{:start {:date-parts [[2017 2 1]], :date-time "2017-02-01T00:00:00Z", :timestamp 1485907200000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], - :funder - [{:name "Tri-Service General Hospital, Taipei, Taiwan", - :award ["TSGH-C105-122" "TSGH-C103-130"]}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], + :funder [{:name "Tri-Service General Hospital, Taipei, Taiwan"}], :content-domain {:domain ["psyneuen-journal.com" @@ -8138,7 +7982,7 @@ "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Psychoneuroendocrinology"], - :published-print {:date-parts [[2017 2]]}, + :published-print {:date-parts [[2017 2 1]]}, :DOI "10.1016/j.psyneuen.2016.11.015", :type "journal-article", :created @@ -8196,9 +8040,8 @@ {:date-parts [[2017 6 25]], :date-time "2017-06-25T03:46:01Z", :timestamp 1498362361000}, - :score 1.0, - :issued {:date-parts [[2017 2]]}, - :references-count 0, + :issued {:date-parts [[2017 2 1]]}, + :references-count 69, :alternative-id ["S0306453016305996"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.11.015", :ISSN ["0306-4530"], @@ -8221,23 +8064,23 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 20, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start + [{:start {:date-parts [[2017 3 1]], :date-time "2017-03-01T00:00:00Z", :timestamp 1488326400000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"} - {:URL "http://creativecommons.org/licenses/by-nc-nd/4.0/", - :start + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"} + {:start {:date-parts [[2016 12 7]], :date-time "2016-12-07T00:00:00Z", :timestamp 1481068800000}, + :content-version "vor", :delay-in-days 0, - :content-version "vor"}], + :URL "http://creativecommons.org/licenses/by-nc-nd/4.0/"}], :content-domain {:domain ["psyneuen-journal.com" @@ -8250,7 +8093,7 @@ "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Psychoneuroendocrinology"], - :published-print {:date-parts [[2017 3]]}, + :published-print {:date-parts [[2017 3 1]]}, :DOI "10.1016/j.psyneuen.2016.11.016", :type "journal-article", :created @@ -8312,9 +8155,8 @@ {:date-parts [[2017 8 18]], :date-time "2017-08-18T11:20:23Z", :timestamp 1503055223000}, - :score 1.0, - :issued {:date-parts [[2017 3]]}, - :references-count 0, + :issued {:date-parts [[2017 3 1]]}, + :references-count 20, :alternative-id ["S0306453016302049"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.11.016", :ISSN ["0306-4530"], @@ -8337,16 +8179,16 @@ {:value "© 2016 The Authors. Published by Elsevier Ltd.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 47, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start + [{:start {:date-parts [[2017 2 1]], :date-time "2017-02-01T00:00:00Z", :timestamp 1485907200000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], :content-domain {:domain ["psyneuen-journal.com" @@ -8359,7 +8201,7 @@ "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Psychoneuroendocrinology"], - :published-print {:date-parts [[2017 2]]}, + :published-print {:date-parts [[2017 2 1]]}, :DOI "10.1016/j.psyneuen.2016.11.017", :type "journal-article", :created @@ -8369,7 +8211,7 @@ :page "174-182", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", :source "Crossref", - :is-referenced-by-count 3, + :is-referenced-by-count 2, :title ["Women recovering from social rejection: The effect of the person and the situation on a hormonal mechanism of affiliation"], :prefix "10.1016", @@ -8409,9 +8251,8 @@ {:date-parts [[2017 6 25]], :date-time "2017-06-25T04:14:47Z", :timestamp 1498364087000}, - :score 1.0, - :issued {:date-parts [[2017 2]]}, - :references-count 0, + :issued {:date-parts [[2017 2 1]]}, + :references-count 47, :alternative-id ["S0306453016305066"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.11.017", :ISSN ["0306-4530"], @@ -8434,40 +8275,35 @@ {:value "Published by Elsevier Ltd.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 68, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start + [{:start {:date-parts [[2017 2 1]], :date-time "2017-02-01T00:00:00Z", :timestamp 1485907200000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"} - {:URL "http://www.elsevier.com/open-access/userlicense/1.0/", - :start + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"} + {:start {:date-parts [[2017 11 23]], :date-time "2017-11-23T00:00:00Z", :timestamp 1511395200000}, + :content-version "am", :delay-in-days 295, - :content-version "am"}], + :URL "http://www.elsevier.com/open-access/userlicense/1.0/"}], :funder [{:DOI "10.13039/100000025", :name "National Institute for Mental Health", - :doi-asserted-by "crossref", - :award ["MH58846"]} + :doi-asserted-by "crossref"} + {:name "National Institute for Child Health and Development"} + {:name + "Integrated Training in Psychobiology and Psychopathology Fellowship"} {:DOI "10.13039/100000001", :name "National Science Foundation", - :doi-asserted-by "publisher", - :award ["NSF IBN9876754"]} - {:name "National Institute for Child Health and Development", - :award ["HD35471"]} - {:name - "Integrated Training in Psychobiology and Psychopathology Fellowship", - :award ["NIMH T32 MH732525"]} + :doi-asserted-by "publisher"} {:name - "National Institutes of Health, Office of Research Infrastructure Programs", - :award ["ORIP/OD P51-OD011132"]}], + "National Institutes of Health, Office of Research Infrastructure Programs"}], :content-domain {:domain ["psyneuen-journal.com" @@ -8480,7 +8316,7 @@ "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Psychoneuroendocrinology"], - :published-print {:date-parts [[2017 2]]}, + :published-print {:date-parts [[2017 2 1]]}, :DOI "10.1016/j.psyneuen.2016.11.018", :type "journal-article", :created @@ -8490,7 +8326,7 @@ :page "57-66", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", :source "Crossref", - :is-referenced-by-count 3, + :is-referenced-by-count 1, :title ["Increased anxiety-like behaviors, but blunted cortisol stress response after neonatal hippocampal lesions in monkeys"], :prefix "10.1016", @@ -8534,9 +8370,8 @@ {:date-parts [[2017 10 9]], :date-time "2017-10-09T19:55:19Z", :timestamp 1507578919000}, - :score 1.0, - :issued {:date-parts [[2017 2]]}, - :references-count 0, + :issued {:date-parts [[2017 2 1]]}, + :references-count 68, :alternative-id ["S0306453016309210"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.11.018", :ISSN ["0306-4530"], @@ -8559,16 +8394,16 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 49, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start + [{:start {:date-parts [[2017 3 1]], :date-time "2017-03-01T00:00:00Z", :timestamp 1488326400000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], :content-domain {:domain ["psyneuen-journal.com" @@ -8581,7 +8416,7 @@ "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Psychoneuroendocrinology"], - :published-print {:date-parts [[2017 3]]}, + :published-print {:date-parts [[2017 3 1]]}, :DOI "10.1016/j.psyneuen.2016.11.019", :type "journal-article", :created @@ -8591,7 +8426,7 @@ :page "131-140", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", :source "Crossref", - :is-referenced-by-count 11, + :is-referenced-by-count 8, :title ["Rapid effects of dorsal hippocampal G-protein coupled estrogen receptor on learning in female mice"], :prefix "10.1016", @@ -8631,9 +8466,8 @@ {:date-parts [[2017 8 18]], :date-time "2017-08-18T11:20:42Z", :timestamp 1503055242000}, - :score 1.0, - :issued {:date-parts [[2017 3]]}, - :references-count 0, + :issued {:date-parts [[2017 3 1]]}, + :references-count 49, :alternative-id ["S0306453016304267"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.11.019", :ISSN ["0306-4530"], @@ -8656,16 +8490,16 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 15, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start + [{:start {:date-parts [[2017 3 1]], :date-time "2017-03-01T00:00:00Z", :timestamp 1488326400000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], :content-domain {:domain ["psyneuen-journal.com" @@ -8678,7 +8512,7 @@ "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Psychoneuroendocrinology"], - :published-print {:date-parts [[2017 3]]}, + :published-print {:date-parts [[2017 3 1]]}, :DOI "10.1016/j.psyneuen.2016.11.020", :type "journal-article", :created @@ -8744,9 +8578,8 @@ {:date-parts [[2017 8 18]], :date-time "2017-08-18T11:18:17Z", :timestamp 1503055097000}, - :score 1.0, - :issued {:date-parts [[2017 3]]}, - :references-count 0, + :issued {:date-parts [[2017 3 1]]}, + :references-count 15, :alternative-id ["S030645301630703X"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.11.020", :ISSN ["0306-4530"], @@ -8769,33 +8602,24 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 48, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start + [{:start {:date-parts [[2017 3 1]], :date-time "2017-03-01T00:00:00Z", :timestamp 1488326400000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], :funder [{:DOI "10.13039/100000002", :name "National Institutes of Health", - :doi-asserted-by "publisher", - :award - ["R01EB015611" - "R01MH085646" - "U01MH108148" - "T32MH067533" - "U54 EB020403" - "P50MH103222" - "R01DA027680"]} + :doi-asserted-by "publisher"} + {:name "State of Maryland"} {:DOI "10.13039/100000874", :name "Brain and Behavior Research Foundation", - :doi-asserted-by "publisher", - :award []} - {:name "State of Maryland", :award ["M00B6400091"]}], + :doi-asserted-by "publisher"}], :content-domain {:domain ["psyneuen-journal.com" @@ -8808,7 +8632,7 @@ "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Psychoneuroendocrinology"], - :published-print {:date-parts [[2017 3]]}, + :published-print {:date-parts [[2017 3 1]]}, :DOI "10.1016/j.psyneuen.2016.11.021", :type "journal-article", :created @@ -8818,7 +8642,7 @@ :page "105-111", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", :source "Crossref", - :is-referenced-by-count 4, + :is-referenced-by-count 3, :title ["Allostatic load and reduced cortical thickness in schizophrenia"], :prefix "10.1016", @@ -8874,9 +8698,8 @@ {:date-parts [[2017 8 18]], :date-time "2017-08-18T11:19:42Z", :timestamp 1503055182000}, - :score 1.0, - :issued {:date-parts [[2017 3]]}, - :references-count 0, + :issued {:date-parts [[2017 3 1]]}, + :references-count 48, :alternative-id ["S0306453016307600"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.11.021", :ISSN ["0306-4530"], @@ -8899,16 +8722,16 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 71, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start + [{:start {:date-parts [[2017 2 1]], :date-time "2017-02-01T00:00:00Z", :timestamp 1485907200000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], :content-domain {:domain ["psyneuen-journal.com" @@ -8921,7 +8744,7 @@ "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Psychoneuroendocrinology"], - :published-print {:date-parts [[2017 2]]}, + :published-print {:date-parts [[2017 2 1]]}, :DOI "10.1016/j.psyneuen.2016.11.022", :type "journal-article", :created @@ -8967,9 +8790,8 @@ {:date-parts [[2017 6 25]], :date-time "2017-06-25T03:59:09Z", :timestamp 1498363149000}, - :score 1.0, - :issued {:date-parts [[2017 2]]}, - :references-count 0, + :issued {:date-parts [[2017 2 1]]}, + :references-count 71, :alternative-id ["S0306453016309362"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.11.022", :ISSN ["0306-4530"], @@ -8992,21 +8814,20 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 18, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start + [{:start {:date-parts [[2017 3 1]], :date-time "2017-03-01T00:00:00Z", :timestamp 1488326400000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], :funder [{:DOI "10.13039/100000002", :name "NIH", - :doi-asserted-by "publisher", - :award ["R01 HD075716" "P50 DA035763"]}], + :doi-asserted-by "publisher"}], :content-domain {:domain ["psyneuen-journal.com" @@ -9019,7 +8840,7 @@ "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Psychoneuroendocrinology"], - :published-print {:date-parts [[2017 3]]}, + :published-print {:date-parts [[2017 3 1]]}, :DOI "10.1016/j.psyneuen.2016.11.023", :type "journal-article", :created @@ -9029,7 +8850,7 @@ :page "51-55", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", :source "Crossref", - :is-referenced-by-count 1, + :is-referenced-by-count 0, :title ["Validation of autonomic and endocrine reactivity to a laboratory stressor in young children"], :prefix "10.1016", @@ -9077,9 +8898,8 @@ {:date-parts [[2017 8 18]], :date-time "2017-08-18T11:20:22Z", :timestamp 1503055222000}, - :score 1.0, - :issued {:date-parts [[2017 3]]}, - :references-count 0, + :issued {:date-parts [[2017 3 1]]}, + :references-count 18, :alternative-id ["S0306453016306503"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.11.023", :ISSN ["0306-4530"], @@ -9102,25 +8922,23 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 46, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start + [{:start {:date-parts [[2017 3 1]], :date-time "2017-03-01T00:00:00Z", :timestamp 1488326400000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], :funder [{:DOI "10.13039/100000002", :name "NIH", - :doi-asserted-by "publisher", - :award ["F320MH107129" "MH101495" "F32-MH102013" "K01-MH106805"]} + :doi-asserted-by "publisher"} {:DOI "10.13039/100000874", :name "Brain & Behavior Research Foundation", - :doi-asserted-by "crossref", - :award ["23582" "22337" "23819"]}], + :doi-asserted-by "crossref"}], :content-domain {:domain ["psyneuen-journal.com" @@ -9133,7 +8951,7 @@ "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Psychoneuroendocrinology"], - :published-print {:date-parts [[2017 3]]}, + :published-print {:date-parts [[2017 3 1]]}, :DOI "10.1016/j.psyneuen.2016.11.024", :type "journal-article", :created @@ -9195,9 +9013,8 @@ {:date-parts [[2017 8 18]], :date-time "2017-08-18T11:19:36Z", :timestamp 1503055176000}, - :score 1.0, - :issued {:date-parts [[2017 3]]}, - :references-count 0, + :issued {:date-parts [[2017 3 1]]}, + :references-count 46, :alternative-id ["S030645301630498X"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.11.024", :ISSN ["0306-4530"], @@ -9220,16 +9037,16 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 48, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start + [{:start {:date-parts [[2017 3 1]], :date-time "2017-03-01T00:00:00Z", :timestamp 1488326400000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], :content-domain {:domain ["psyneuen-journal.com" @@ -9242,7 +9059,7 @@ "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Psychoneuroendocrinology"], - :published-print {:date-parts [[2017 3]]}, + :published-print {:date-parts [[2017 3 1]]}, :DOI "10.1016/j.psyneuen.2016.11.025", :type "journal-article", :created @@ -9252,7 +9069,7 @@ :page "112-121", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", :source "Crossref", - :is-referenced-by-count 4, + :is-referenced-by-count 2, :title ["Association between anxiety and metabolic syndrome: A systematic review and meta-analysis of epidemiological studies"], :prefix "10.1016", @@ -9285,9 +9102,8 @@ {:date-parts [[2017 8 18]], :date-time "2017-08-18T11:20:48Z", :timestamp 1503055248000}, - :score 1.0, - :issued {:date-parts [[2017 3]]}, - :references-count 0, + :issued {:date-parts [[2017 3 1]]}, + :references-count 48, :alternative-id ["S0306453016304711"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.11.025", :ISSN ["0306-4530"], @@ -9310,26 +9126,23 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 36, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start + [{:start {:date-parts [[2017 3 1]], :date-time "2017-03-01T00:00:00Z", :timestamp 1488326400000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], :funder [{:DOI "10.13039/501100001809", :name "National Natural Science Foundation of China", - :doi-asserted-by "publisher", - :award ["91332102" "31271130"]} - {:name "Nature Science Foundation of Zhejiang Province", - :award ["LY12H09007"]} + :doi-asserted-by "publisher"} + {:name "Nature Science Foundation of Zhejiang Province"} {:name - "Key Laboratory of Mental Disorder’s Management of Zhejiang Province", - :award []}], + "Key Laboratory of Mental Disorder’s Management of Zhejiang Province"}], :content-domain {:domain ["psyneuen-journal.com" @@ -9342,7 +9155,7 @@ "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Psychoneuroendocrinology"], - :published-print {:date-parts [[2017 3]]}, + :published-print {:date-parts [[2017 3 1]]}, :DOI "10.1016/j.psyneuen.2016.11.026", :type "journal-article", :created @@ -9420,9 +9233,8 @@ {:date-parts [[2017 8 18]], :date-time "2017-08-18T11:20:04Z", :timestamp 1503055204000}, - :score 1.0, - :issued {:date-parts [[2017 3]]}, - :references-count 0, + :issued {:date-parts [[2017 3 1]]}, + :references-count 36, :alternative-id ["S0306453016305364"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.11.026", :ISSN ["0306-4530"], @@ -9445,16 +9257,16 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 66, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start + [{:start {:date-parts [[2017 3 1]], :date-time "2017-03-01T00:00:00Z", :timestamp 1488326400000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], :content-domain {:domain ["psyneuen-journal.com" @@ -9467,7 +9279,7 @@ "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Psychoneuroendocrinology"], - :published-print {:date-parts [[2017 3]]}, + :published-print {:date-parts [[2017 3 1]]}, :DOI "10.1016/j.psyneuen.2016.11.027", :type "journal-article", :created @@ -9477,7 +9289,7 @@ :page "95-104", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", :source "Crossref", - :is-referenced-by-count 5, + :is-referenced-by-count 4, :title ["Stress disrupts the reconsolidation of fear memories in men"], :prefix "10.1016", @@ -9509,9 +9321,8 @@ {:date-parts [[2017 8 18]], :date-time "2017-08-18T11:19:44Z", :timestamp 1503055184000}, - :score 1.0, - :issued {:date-parts [[2017 3]]}, - :references-count 0, + :issued {:date-parts [[2017 3 1]]}, + :references-count 66, :alternative-id ["S0306453016305583"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.11.027", :ISSN ["0306-4530"], @@ -9534,16 +9345,16 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 52, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start + [{:start {:date-parts [[2017 3 1]], :date-time "2017-03-01T00:00:00Z", :timestamp 1488326400000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], :content-domain {:domain ["psyneuen-journal.com" @@ -9556,7 +9367,7 @@ "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Psychoneuroendocrinology"], - :published-print {:date-parts [[2017 3]]}, + :published-print {:date-parts [[2017 3 1]]}, :DOI "10.1016/j.psyneuen.2016.11.028", :type "journal-article", :created @@ -9566,7 +9377,7 @@ :page "203-210", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", :source "Crossref", - :is-referenced-by-count 1, + :is-referenced-by-count 0, :title ["Altered cerebral insulin response in transgenic mice expressing the epsilon-4 allele of the human apolipoprotein E gene"], :prefix "10.1016", @@ -9618,9 +9429,8 @@ {:date-parts [[2017 8 18]], :date-time "2017-08-18T11:18:57Z", :timestamp 1503055137000}, - :score 1.0, - :issued {:date-parts [[2017 3]]}, - :references-count 0, + :issued {:date-parts [[2017 3 1]]}, + :references-count 52, :alternative-id ["S0306453016306199"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.11.028", :ISSN ["0306-4530"], @@ -9643,28 +9453,27 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 30, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start + [{:start {:date-parts [[2017 3 1]], :date-time "2017-03-01T00:00:00Z", :timestamp 1488326400000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"} - {:URL "http://creativecommons.org/licenses/by/4.0/", - :start + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"} + {:start {:date-parts [[2016 11 25]], :date-time "2016-11-25T00:00:00Z", :timestamp 1480032000000}, + :content-version "vor", :delay-in-days 0, - :content-version "vor"}], + :URL "http://creativecommons.org/licenses/by/4.0/"}], :funder [{:DOI "10.13039/501100000268", :name "BBSRC", - :doi-asserted-by "publisher", - :award []}], + :doi-asserted-by "publisher"}], :content-domain {:domain ["psyneuen-journal.com" @@ -9677,7 +9486,7 @@ "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Psychoneuroendocrinology"], - :published-print {:date-parts [[2017 3]]}, + :published-print {:date-parts [[2017 3 1]]}, :DOI "10.1016/j.psyneuen.2016.11.029", :type "journal-article", :created @@ -9736,9 +9545,8 @@ {:date-parts [[2017 8 18]], :date-time "2017-08-18T11:19:04Z", :timestamp 1503055144000}, - :score 1.0, - :issued {:date-parts [[2017 3]]}, - :references-count 0, + :issued {:date-parts [[2017 3 1]]}, + :references-count 30, :alternative-id ["S0306453016307922"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.11.029", :ISSN ["0306-4530"], @@ -9761,16 +9569,16 @@ {:value "© 2016 The Authors. Published by Elsevier Ltd.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 73, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start + [{:start {:date-parts [[2017 3 1]], :date-time "2017-03-01T00:00:00Z", :timestamp 1488326400000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], :content-domain {:domain ["psyneuen-journal.com" @@ -9783,7 +9591,7 @@ "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Psychoneuroendocrinology"], - :published-print {:date-parts [[2017 3]]}, + :published-print {:date-parts [[2017 3 1]]}, :DOI "10.1016/j.psyneuen.2016.11.030", :type "journal-article", :created @@ -9793,7 +9601,7 @@ :page "9-17", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", :source "Crossref", - :is-referenced-by-count 4, + :is-referenced-by-count 3, :title ["Effects of the cortisol stress response on the psychotherapy outcome of panic disorder patients"], :prefix "10.1016", @@ -9833,9 +9641,8 @@ {:date-parts [[2017 8 18]], :date-time "2017-08-18T11:20:32Z", :timestamp 1503055232000}, - :score 1.0, - :issued {:date-parts [[2017 3]]}, - :references-count 0, + :issued {:date-parts [[2017 3 1]]}, + :references-count 73, :alternative-id ["S0306453016308125"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.11.030", :ISSN ["0306-4530"], @@ -9858,33 +9665,28 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 55, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start + [{:start {:date-parts [[2017 2 1]], :date-time "2017-02-01T00:00:00Z", :timestamp 1485907200000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], :funder [{:DOI "10.13039/100000025", :name "National Institute of Mental Health", - :doi-asserted-by "publisher", - :award ["R01-MH083784"]} + :doi-asserted-by "publisher"} + {:name "O'Shaughnessy Foundation"} + {:name "Tinberg family, and grants from the UCSF Academic Senate"} + {:name "UCSF Research Evaluation and Allocation Committee"} + {:name + "National Institutes of Health/National Center for Research Resources"} {:DOI "10.13039/100006108", :name "National Center for Advancing Translational Sciences", - :doi-asserted-by "publisher", - :award ["UL1 RR024131"]} - {:name "O'Shaughnessy Foundation", :award []} - {:name "Tinberg family, and grants from the UCSF Academic Senate", - :award []} - {:name "UCSF Research Evaluation and Allocation Committee", - :award []} - {:name - "National Institutes of Health/National Center for Research Resources", - :award []}], + :doi-asserted-by "publisher"}], :content-domain {:domain ["psyneuen-journal.com" @@ -9897,7 +9699,7 @@ "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Psychoneuroendocrinology"], - :published-print {:date-parts [[2017 2]]}, + :published-print {:date-parts [[2017 2 1]]}, :DOI "10.1016/j.psyneuen.2016.11.031", :type "journal-article", :created @@ -9907,7 +9709,7 @@ :page "197-205", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", :source "Crossref", - :is-referenced-by-count 22, + :is-referenced-by-count 19, :title ["Oxidative stress, inflammation and treatment response in major depression"], :prefix "10.1016", @@ -9983,9 +9785,8 @@ {:date-parts [[2017 6 25]], :date-time "2017-06-25T04:53:05Z", :timestamp 1498366385000}, - :score 1.0, - :issued {:date-parts [[2017 2]]}, - :references-count 0, + :issued {:date-parts [[2017 2 1]]}, + :references-count 55, :alternative-id ["S0306453016306862"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.11.031", :ISSN ["0306-4530"], @@ -10008,16 +9809,16 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 35, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start + [{:start {:date-parts [[2017 2 1]], :date-time "2017-02-01T00:00:00Z", :timestamp 1485907200000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], :content-domain {:domain ["psyneuen-journal.com" @@ -10030,7 +9831,7 @@ "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Psychoneuroendocrinology"], - :published-print {:date-parts [[2017 2]]}, + :published-print {:date-parts [[2017 2 1]]}, :DOI "10.1016/j.psyneuen.2016.11.032", :type "journal-article", :created @@ -10040,7 +9841,7 @@ :page "154-161", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", :source "Crossref", - :is-referenced-by-count 1, + :is-referenced-by-count 0, :title ["Adolescent binge alcohol exposure increases risk assessment behaviors in male Wistar rats after exposure to an acute psychological stressor in adulthood"], :prefix "10.1016", @@ -10080,9 +9881,8 @@ {:date-parts [[2017 6 25]], :date-time "2017-06-25T04:53:02Z", :timestamp 1498366382000}, - :score 1.0, - :issued {:date-parts [[2017 2]]}, - :references-count 0, + :issued {:date-parts [[2017 2 1]]}, + :references-count 35, :alternative-id ["S0306453016309623"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.11.032", :ISSN ["0306-4530"], @@ -10105,21 +9905,20 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 37, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start + [{:start {:date-parts [[2017 2 1]], :date-time "2017-02-01T00:00:00Z", :timestamp 1485907200000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], :funder [{:DOI "10.13039/501100001862", :name "The Swedish Research Council", - :doi-asserted-by "crossref", - :award []}], + :doi-asserted-by "crossref"}], :content-domain {:domain ["psyneuen-journal.com" @@ -10132,7 +9931,7 @@ "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Psychoneuroendocrinology"], - :published-print {:date-parts [[2017 2]]}, + :published-print {:date-parts [[2017 2 1]]}, :DOI "10.1016/j.psyneuen.2016.11.033", :type "journal-article", :created @@ -10142,7 +9941,7 @@ :page "135-143", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", :source "Crossref", - :is-referenced-by-count 11, + :is-referenced-by-count 8, :title ["Combined oral contraceptive use is associated with both improvement and worsening of mood in the different phases of the treatment cycle—A double-blind, placebo-controlled randomized trial"], :prefix "10.1016", @@ -10210,9 +10009,8 @@ {:date-parts [[2017 6 25]], :date-time "2017-06-25T04:46:28Z", :timestamp 1498365988000}, - :score 1.0, - :issued {:date-parts [[2017 2]]}, - :references-count 0, + :issued {:date-parts [[2017 2 1]]}, + :references-count 37, :alternative-id ["S0306453016309635"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.11.033", :ISSN ["0306-4530"], @@ -10235,16 +10033,16 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 13, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start + [{:start {:date-parts [[2017 2 1]], :date-time "2017-02-01T00:00:00Z", :timestamp 1485907200000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], :content-domain {:domain ["psyneuen-journal.com" @@ -10257,7 +10055,7 @@ "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Psychoneuroendocrinology"], - :published-print {:date-parts [[2017 2]]}, + :published-print {:date-parts [[2017 2 1]]}, :DOI "10.1016/j.psyneuen.2016.11.034", :type "journal-article", :created @@ -10339,9 +10137,8 @@ {:date-parts [[2017 6 25]], :date-time "2017-06-25T05:03:55Z", :timestamp 1498367035000}, - :score 1.0, - :issued {:date-parts [[2017 2]]}, - :references-count 0, + :issued {:date-parts [[2017 2 1]]}, + :references-count 13, :alternative-id ["S0306453016309659"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.11.034", :ISSN ["0306-4530"], @@ -10364,16 +10161,16 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 44, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start + [{:start {:date-parts [[2017 3 1]], :date-time "2017-03-01T00:00:00Z", :timestamp 1488326400000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], :content-domain {:domain ["psyneuen-journal.com" @@ -10386,7 +10183,7 @@ "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Psychoneuroendocrinology"], - :published-print {:date-parts [[2017 3]]}, + :published-print {:date-parts [[2017 3 1]]}, :DOI "10.1016/j.psyneuen.2016.11.035", :type "journal-article", :created @@ -10396,7 +10193,7 @@ :page "122-130", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", :source "Crossref", - :is-referenced-by-count 1, + :is-referenced-by-count 0, :title ["Higher serum DHEA concentrations before and after SSRI treatment are associated with remission of major depression"], :prefix "10.1016", @@ -10464,9 +10261,8 @@ {:date-parts [[2017 8 18]], :date-time "2017-08-18T11:20:11Z", :timestamp 1503055211000}, - :score 1.0, - :issued {:date-parts [[2017 3]]}, - :references-count 0, + :issued {:date-parts [[2017 3 1]]}, + :references-count 44, :alternative-id ["S0306453016307466"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.11.035", :ISSN ["0306-4530"], @@ -10489,16 +10285,16 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 60, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start + [{:start {:date-parts [[2017 3 1]], :date-time "2017-03-01T00:00:00Z", :timestamp 1488326400000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], :content-domain {:domain ["psyneuen-journal.com" @@ -10511,7 +10307,7 @@ "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Psychoneuroendocrinology"], - :published-print {:date-parts [[2017 3]]}, + :published-print {:date-parts [[2017 3 1]]}, :DOI "10.1016/j.psyneuen.2016.11.036", :type "journal-article", :created @@ -10521,7 +10317,7 @@ :page "25-36", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", :source "Crossref", - :is-referenced-by-count 30, + :is-referenced-by-count 25, :title ["Cortisol stress reactivity across psychiatric disorders: A systematic review and meta-analysis"], :prefix "10.1016", @@ -10569,9 +10365,8 @@ {:date-parts [[2017 8 18]], :date-time "2017-08-18T11:20:42Z", :timestamp 1503055242000}, - :score 1.0, - :issued {:date-parts [[2017 3]]}, - :references-count 0, + :issued {:date-parts [[2017 3 1]]}, + :references-count 60, :alternative-id ["S0306453016304735"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.11.036", :ISSN ["0306-4530"], @@ -10594,17 +10389,17 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 63, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start + [{:start {:date-parts [[2017 2 1]], :date-time "2017-02-01T00:00:00Z", :timestamp 1485907200000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], - :funder [{:name "COST Action ADMIRE BM1301", :award []}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], + :funder [{:name "COST Action ADMIRE BM1301"}], :content-domain {:domain ["psyneuen-journal.com" @@ -10617,7 +10412,7 @@ "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Psychoneuroendocrinology"], - :published-print {:date-parts [[2017 2]]}, + :published-print {:date-parts [[2017 2 1]]}, :DOI "10.1016/j.psyneuen.2016.11.037", :type "journal-article", :created @@ -10627,7 +10422,7 @@ :page "162-173", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", :source "Crossref", - :is-referenced-by-count 6, + :is-referenced-by-count 5, :title ["Mineralocorticoid receptor haplotype, estradiol, progesterone and emotional information processing"], :prefix "10.1016", @@ -10671,9 +10466,8 @@ {:date-parts [[2017 6 25]], :date-time "2017-06-25T04:49:46Z", :timestamp 1498366186000}, - :score 1.0, - :issued {:date-parts [[2017 2]]}, - :references-count 0, + :issued {:date-parts [[2017 2 1]]}, + :references-count 63, :alternative-id ["S0306453016309660"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.11.037", :ISSN ["0306-4530"], @@ -10696,16 +10490,16 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 55, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start + [{:start {:date-parts [[2017 3 1]], :date-time "2017-03-01T00:00:00Z", :timestamp 1488326400000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], :content-domain {:domain ["psyneuen-journal.com" @@ -10718,7 +10512,7 @@ "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Psychoneuroendocrinology"], - :published-print {:date-parts [[2017 3]]}, + :published-print {:date-parts [[2017 3 1]]}, :DOI "10.1016/j.psyneuen.2016.11.039", :type "journal-article", :created @@ -10728,7 +10522,7 @@ :page "18-24", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", :source "Crossref", - :is-referenced-by-count 4, + :is-referenced-by-count 3, :title ["Oxytocin modulates third-party sanctioning of selfish and generous behavior within and between groups"], :prefix "10.1016", @@ -10768,9 +10562,8 @@ {:date-parts [[2017 8 18]], :date-time "2017-08-18T11:19:04Z", :timestamp 1503055144000}, - :score 1.0, - :issued {:date-parts [[2017 3]]}, - :references-count 0, + :issued {:date-parts [[2017 3 1]]}, + :references-count 55, :alternative-id ["S0306453016308678"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.11.039", :ISSN ["0306-4530"], @@ -10793,21 +10586,20 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 53, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start + [{:start {:date-parts [[2017 3 1]], :date-time "2017-03-01T00:00:00Z", :timestamp 1488326400000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], :funder [{:DOI "10.13039/100000002", :name "National Institutes of Health", - :doi-asserted-by "publisher", - :award []}], + :doi-asserted-by "publisher"}], :content-domain {:domain ["psyneuen-journal.com" @@ -10820,7 +10612,7 @@ "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Psychoneuroendocrinology"], - :published-print {:date-parts [[2017 3]]}, + :published-print {:date-parts [[2017 3 1]]}, :DOI "10.1016/j.psyneuen.2016.11.040", :type "journal-article", :created @@ -10882,9 +10674,8 @@ {:date-parts [[2017 8 18]], :date-time "2017-08-18T11:19:14Z", :timestamp 1503055154000}, - :score 1.0, - :issued {:date-parts [[2017 3]]}, - :references-count 0, + :issued {:date-parts [[2017 3 1]]}, + :references-count 53, :alternative-id ["S0306453016304279"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.11.040", :ISSN ["0306-4530"], @@ -10907,23 +10698,23 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 24, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start + [{:start {:date-parts [[2017 3 1]], :date-time "2017-03-01T00:00:00Z", :timestamp 1488326400000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"} - {:URL "http://creativecommons.org/licenses/by-nc-nd/4.0/", - :start + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"} + {:start {:date-parts [[2016 12 8]], :date-time "2016-12-08T00:00:00Z", :timestamp 1481155200000}, + :content-version "vor", :delay-in-days 0, - :content-version "vor"}], + :URL "http://creativecommons.org/licenses/by-nc-nd/4.0/"}], :content-domain {:domain ["psyneuen-journal.com" @@ -10936,7 +10727,7 @@ "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Psychoneuroendocrinology"], - :published-print {:date-parts [[2017 3]]}, + :published-print {:date-parts [[2017 3 1]]}, :DOI "10.1016/j.psyneuen.2016.12.002", :type "journal-article", :created @@ -10990,9 +10781,8 @@ {:date-parts [[2017 8 18]], :date-time "2017-08-18T11:19:33Z", :timestamp 1503055173000}, - :score 1.0, - :issued {:date-parts [[2017 3]]}, - :references-count 0, + :issued {:date-parts [[2017 3 1]]}, + :references-count 24, :alternative-id ["S0306453016305315"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.12.002", :ISSN ["0306-4530"], @@ -11015,16 +10805,16 @@ {:value "© 2016 The Authors. Published by Elsevier Ltd.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 42, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start + [{:start {:date-parts [[2017 3 1]], :date-time "2017-03-01T00:00:00Z", :timestamp 1488326400000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], :content-domain {:domain ["psyneuen-journal.com" @@ -11037,7 +10827,7 @@ "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Psychoneuroendocrinology"], - :published-print {:date-parts [[2017 3]]}, + :published-print {:date-parts [[2017 3 1]]}, :DOI "10.1016/j.psyneuen.2016.12.003", :type "journal-article", :created @@ -11047,7 +10837,7 @@ :page "84-89", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", :source "Crossref", - :is-referenced-by-count 1, + :is-referenced-by-count 0, :title ["OXTR polymorphism in depression and completed suicide—A study on a large population sample"], :prefix "10.1016", @@ -11115,9 +10905,8 @@ {:date-parts [[2017 8 18]], :date-time "2017-08-18T11:20:37Z", :timestamp 1503055237000}, - :score 1.0, - :issued {:date-parts [[2017 3]]}, - :references-count 0, + :issued {:date-parts [[2017 3 1]]}, + :references-count 42, :alternative-id ["S0306453016307132"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.12.003", :ISSN ["0306-4530"], @@ -11140,16 +10929,16 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 49, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start + [{:start {:date-parts [[2017 3 1]], :date-time "2017-03-01T00:00:00Z", :timestamp 1488326400000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], :content-domain {:domain ["psyneuen-journal.com" @@ -11162,7 +10951,7 @@ "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Psychoneuroendocrinology"], - :published-print {:date-parts [[2017 3]]}, + :published-print {:date-parts [[2017 3 1]]}, :DOI "10.1016/j.psyneuen.2016.12.004", :type "journal-article", :created @@ -11208,9 +10997,8 @@ {:date-parts [[2017 8 18]], :date-time "2017-08-18T11:19:42Z", :timestamp 1503055182000}, - :score 1.0, - :issued {:date-parts [[2017 3]]}, - :references-count 0, + :issued {:date-parts [[2017 3 1]]}, + :references-count 49, :alternative-id ["S0306453016302268"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.12.004", :ISSN ["0306-4530"], @@ -11233,27 +11021,24 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 73, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start + [{:start {:date-parts [[2017 2 1]], :date-time "2017-02-01T00:00:00Z", :timestamp 1485907200000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], :funder - [{:DOI "10.13039/100000065", - :name "National Institute of Neurological Disorders and Stroke", - :doi-asserted-by "publisher", - :award ["N01-MH9-0002" "N01-NS-9-2314" "N01-HD02-3343"]} - {:name - "Federal funds from the National Institute of Child Health and Human Development", - :award []} + [{:name + "Federal funds from the National Institute of Child Health and Human Development"} {:name - "National Institute on Drug Abuse, the National Institute of Mental Health", - :award []}], + "National Institute on Drug Abuse, the National Institute of Mental Health"} + {:DOI "10.13039/100000065", + :name "National Institute of Neurological Disorders and Stroke", + :doi-asserted-by "publisher"}], :content-domain {:domain ["psyneuen-journal.com" @@ -11266,7 +11051,7 @@ "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Psychoneuroendocrinology"], - :published-print {:date-parts [[2017 2]]}, + :published-print {:date-parts [[2017 2 1]]}, :DOI "10.1016/j.psyneuen.2016.12.005", :type "journal-article", :created @@ -11276,7 +11061,7 @@ :page "206-217", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", :source "Crossref", - :is-referenced-by-count 5, + :is-referenced-by-count 4, :title ["Sex-specific associations of testosterone with prefrontal-hippocampal development and executive function"], :prefix "10.1016", @@ -11336,9 +11121,8 @@ {:date-parts [[2017 6 25]], :date-time "2017-06-25T05:32:33Z", :timestamp 1498368753000}, - :score 1.0, - :issued {:date-parts [[2017 2]]}, - :references-count 0, + :issued {:date-parts [[2017 2 1]]}, + :references-count 73, :alternative-id ["S0306453016309994"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.12.005", :ISSN ["0306-4530"], @@ -11361,16 +11145,16 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 66, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start + [{:start {:date-parts [[2017 3 1]], :date-time "2017-03-01T00:00:00Z", :timestamp 1488326400000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], :content-domain {:domain ["psyneuen-journal.com" @@ -11383,7 +11167,7 @@ "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Psychoneuroendocrinology"], - :published-print {:date-parts [[2017 3]]}, + :published-print {:date-parts [[2017 3 1]]}, :DOI "10.1016/j.psyneuen.2016.12.006", :type "journal-article", :created @@ -11433,9 +11217,8 @@ {:date-parts [[2017 8 18]], :date-time "2017-08-18T11:19:11Z", :timestamp 1503055151000}, - :score 1.0, - :issued {:date-parts [[2017 3]]}, - :references-count 0, + :issued {:date-parts [[2017 3 1]]}, + :references-count 66, :alternative-id ["S0306453016306801"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.12.006", :ISSN ["0306-4530"], @@ -11458,17 +11241,17 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 48, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start + [{:start {:date-parts [[2017 3 1]], :date-time "2017-03-01T00:00:00Z", :timestamp 1488326400000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], - :funder [{:name "CIFRE scholarship", :award []}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], + :funder [{:name "CIFRE scholarship"}], :content-domain {:domain ["psyneuen-journal.com" @@ -11481,7 +11264,7 @@ "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Psychoneuroendocrinology"], - :published-print {:date-parts [[2017 3]]}, + :published-print {:date-parts [[2017 3 1]]}, :DOI "10.1016/j.psyneuen.2016.12.008", :type "journal-article", :created @@ -11527,9 +11310,8 @@ {:date-parts [[2017 8 18]], :date-time "2017-08-18T11:18:43Z", :timestamp 1503055123000}, - :score 1.0, - :issued {:date-parts [[2017 3]]}, - :references-count 0, + :issued {:date-parts [[2017 3 1]]}, + :references-count 48, :alternative-id ["S0306453016310289"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.12.008", :ISSN ["0306-4530"], @@ -11552,16 +11334,16 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 47, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start + [{:start {:date-parts [[2017 5 1]], :date-time "2017-05-01T00:00:00Z", :timestamp 1493596800000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], :content-domain {:domain ["clinicalkey.jp" @@ -11574,7 +11356,7 @@ "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Schizophrenia Research"], - :published-print {:date-parts [[2017 5]]}, + :published-print {:date-parts [[2017 5 1]]}, :DOI "10.1016/j.schres.2016.11.002", :type "journal-article", :created @@ -11584,7 +11366,7 @@ :page "151-156", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", :source "Crossref", - :is-referenced-by-count 3, + :is-referenced-by-count 1, :title ["Neurocognitive deficits or stress overload: Why do individuals with schizophrenia show poor performance in neurocognitive tests?"], :prefix "10.1016", @@ -11620,9 +11402,8 @@ {:date-parts [[2017 5 12]], :date-time "2017-05-12T09:18:40Z", :timestamp 1494580720000}, - :score 1.0, - :issued {:date-parts [[2017 5]]}, - :references-count 0, + :issued {:date-parts [[2017 5 1]]}, + :references-count 47, :alternative-id ["S0920996416304959"], :URL "http://dx.doi.org/10.1016/j.schres.2016.11.002", :ISSN ["0920-9964"], @@ -11645,16 +11426,16 @@ {:value "© 2016 Elsevier B.V. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 59, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start - {:date-parts [[2017 7 1]], - :date-time "2017-07-01T00:00:00Z", - :timestamp 1498867200000}, + [{:start + {:date-parts [[2017 6 13]], + :date-time "2017-06-13T02:49:45Z", + :timestamp 1497322185000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], :content-domain {:domain ["clinicalkey.jp" @@ -11667,7 +11448,7 @@ "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Schizophrenia Research"], - :published-print {:date-parts [[2017 7]]}, + :published-print {:date-parts [[2017 7 1]]}, :DOI "10.1016/j.schres.2016.12.016", :type "journal-article", :created @@ -11727,9 +11508,8 @@ {:date-parts [[2017 6 13]], :date-time "2017-06-13T02:49:45Z", :timestamp 1497322185000}, - :score 1.0, - :issued {:date-parts [[2017 7]]}, - :references-count 0, + :issued {:date-parts [[2017 6 13]]}, + :references-count 59, :alternative-id ["S0920996416305904"], :URL "http://dx.doi.org/10.1016/j.schres.2016.12.016", :ISSN ["0920-9964"], @@ -11752,21 +11532,21 @@ {:value "© 2016 Elsevier B.V. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 51, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start + [{:start {:date-parts [[2017 2 1]], :date-time "2017-02-01T00:00:00Z", :timestamp 1485907200000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], :content-domain {:domain ["elsevier.com" "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Steroids"], - :published-print {:date-parts [[2017 2]]}, + :published-print {:date-parts [[2017 2 1]]}, :DOI "10.1016/j.steroids.2016.12.008", :type "journal-article", :created @@ -11776,7 +11556,7 @@ :page "61-67", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", :source "Crossref", - :is-referenced-by-count 4, + :is-referenced-by-count 2, :title ["Intraindividual stability of cortisol and cortisone and the ratio of cortisol to cortisone in saliva, urine and hair"], :prefix "10.1016", @@ -11820,9 +11600,8 @@ {:date-parts [[2017 6 25]], :date-time "2017-06-25T06:09:59Z", :timestamp 1498370999000}, - :score 1.0, - :issued {:date-parts [[2017 2]]}, - :references-count 0, + :issued {:date-parts [[2017 2 1]]}, + :references-count 51, :alternative-id ["S0039128X16301969"], :URL "http://dx.doi.org/10.1016/j.steroids.2016.12.008", :ISSN ["0039-128X"], @@ -11843,24 +11622,22 @@ {:value "© 2016 Elsevier Inc. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 357, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start + [{:start {:date-parts [[2017 1 1]], :date-time "2017-01-01T00:00:00Z", :timestamp 1483228800000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], :funder [{:DOI "10.13039/501100001700", :name "Japanese Ministry of Education, Culture, Sports, Science and Technology", - :doi-asserted-by "crossref", - :award ["23591667"]} - {:name "Hokkaido University Clark Memorial Foundation", - :award []}], + :doi-asserted-by "crossref"} + {:name "Hokkaido University Clark Memorial Foundation"}], :content-domain {:domain ["clinicalkey.jp" @@ -11872,7 +11649,7 @@ "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Frontiers in Neuroendocrinology"], - :published-print {:date-parts [[2017 1]]}, + :published-print {:date-parts [[2017 1 1]]}, :DOI "10.1016/j.yfrne.2016.12.001", :type "journal-article", :created @@ -11882,7 +11659,7 @@ :page "83-102", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", :source "Crossref", - :is-referenced-by-count 9, + :is-referenced-by-count 7, :title ["The exercise-glucocorticoid paradox: How exercise is beneficial to cognition, mood, and the brain while increasing glucocorticoid levels"], :prefix "10.1016", @@ -11930,9 +11707,8 @@ {:date-parts [[2017 6 25]], :date-time "2017-06-25T05:38:47Z", :timestamp 1498369127000}, - :score 1.0, - :issued {:date-parts [[2017 1]]}, - :references-count 0, + :issued {:date-parts [[2017 1 1]]}, + :references-count 357, :alternative-id ["S0091302216300619"], :URL "http://dx.doi.org/10.1016/j.yfrne.2016.12.001", :ISSN ["0091-3022"], @@ -11955,25 +11731,22 @@ {:value "© 2016 Elsevier Inc. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 152, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start + [{:start {:date-parts [[2017 1 1]], :date-time "2017-01-01T00:00:00Z", :timestamp 1483228800000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], :funder [{:DOI "10.13039/100000025", :name "National Institute of Mental Health", - :doi-asserted-by "crossref", - :award []} - {:name "Eunice Kennedy Shriver National Institute of Child Health", - :award []} - {:name "Human Development of the National Institutes of Health", - :award ["F32HD078084" "R01MH087563" "K01MH1087610"]}], + :doi-asserted-by "crossref"} + {:name "Eunice Kennedy Shriver National Institute of Child Health"} + {:name "Human Development of the National Institutes of Health"}], :content-domain {:domain ["clinicalkey.jp" @@ -11985,7 +11758,7 @@ "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Frontiers in Neuroendocrinology"], - :published-print {:date-parts [[2017 1]]}, + :published-print {:date-parts [[2017 1 1]]}, :DOI "10.1016/j.yfrne.2016.12.003", :type "journal-article", :created @@ -11995,7 +11768,7 @@ :page "122-137", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", :source "Crossref", - :is-referenced-by-count 12, + :is-referenced-by-count 6, :title ["Puberty and structural brain development in humans"], :prefix "10.1016", :volume "44", @@ -12026,9 +11799,8 @@ {:date-parts [[2017 6 10]], :date-time "2017-06-10T02:01:10Z", :timestamp 1497060070000}, - :score 1.0, - :issued {:date-parts [[2017 1]]}, - :references-count 0, + :issued {:date-parts [[2017 1 1]]}, + :references-count 152, :alternative-id ["S0091302216300632"], :URL "http://dx.doi.org/10.1016/j.yfrne.2016.12.003", :ISSN ["0091-3022"], @@ -12050,28 +11822,26 @@ {:value "© 2017 Elsevier Inc. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 82, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start + [{:start {:date-parts [[2017 1 1]], :date-time "2017-01-01T00:00:00Z", :timestamp 1483228800000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], :funder [{:DOI "10.13039/100000002", :name "NIH", - :doi-asserted-by "publisher", - :award ["R01MH096983" "1P50MH100023"]} - {:name "NIH Office of Research Infrastructure Programs", - :award ["OD P51OD11132"]}], + :doi-asserted-by "publisher"} + {:name "NIH Office of Research Infrastructure Programs"}], :content-domain {:domain ["elsevier.com" "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Hormones and Behavior"], - :published-print {:date-parts [[2017 1]]}, + :published-print {:date-parts [[2017 1 1]]}, :DOI "10.1016/j.yhbeh.2016.10.009", :type "journal-article", :created @@ -12081,7 +11851,7 @@ :page "16-24", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", :source "Crossref", - :is-referenced-by-count 10, + :is-referenced-by-count 7, :title ["Oxytocin receptors modulate a social salience neural network in male prairie voles"], :prefix "10.1016", @@ -12125,9 +11895,8 @@ {:date-parts [[2017 8 24]], :date-time "2017-08-24T19:55:39Z", :timestamp 1503604539000}, - :score 1.0, - :issued {:date-parts [[2017 1]]}, - :references-count 0, + :issued {:date-parts [[2017 1 1]]}, + :references-count 82, :alternative-id ["S0018506X1630280X"], :URL "http://dx.doi.org/10.1016/j.yhbeh.2016.10.009", :ISSN ["0018-506X"], @@ -12150,21 +11919,21 @@ {:value "Published by Elsevier Inc.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 98, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start + [{:start {:date-parts [[2017 6 1]], :date-time "2017-06-01T00:00:00Z", :timestamp 1496275200000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], :content-domain {:domain ["elsevier.com" "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Hormones and Behavior"], - :published-print {:date-parts [[2017 6]]}, + :published-print {:date-parts [[2017 6 1]]}, :DOI "10.1016/j.yhbeh.2016.10.014", :type "journal-article", :created @@ -12222,9 +11991,8 @@ {:date-parts [[2017 6 16]], :date-time "2017-06-16T02:48:07Z", :timestamp 1497581287000}, - :score 1.0, - :issued {:date-parts [[2017 6]]}, - :references-count 0, + :issued {:date-parts [[2017 6 1]]}, + :references-count 98, :alternative-id ["S0018506X16301039"], :URL "http://dx.doi.org/10.1016/j.yhbeh.2016.10.014", :ISSN ["0018-506X"], @@ -12247,27 +12015,26 @@ {:value "© 2016 Elsevier Inc. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 112, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start + [{:start {:date-parts [[2017 6 1]], :date-time "2017-06-01T00:00:00Z", :timestamp 1496275200000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], :funder [{:DOI "10.13039/501100001352", :name "National University of Singapore", - :doi-asserted-by "publisher", - :award []} - {:name "NSF", :award ["1451848"]}], + :doi-asserted-by "publisher"} + {:name "NSF"}], :content-domain {:domain ["elsevier.com" "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Hormones and Behavior"], - :published-print {:date-parts [[2017 6]]}, + :published-print {:date-parts [[2017 6 1]]}, :DOI "10.1016/j.yhbeh.2016.10.020", :type "journal-article", :created @@ -12325,9 +12092,8 @@ {:date-parts [[2017 6 16]], :date-time "2017-06-16T02:47:24Z", :timestamp 1497581244000}, - :score 1.0, - :issued {:date-parts [[2017 6]]}, - :references-count 0, + :issued {:date-parts [[2017 6 1]]}, + :references-count 112, :alternative-id ["S0018506X16300277"], :URL "http://dx.doi.org/10.1016/j.yhbeh.2016.10.020", :ISSN ["0018-506X"], @@ -12350,26 +12116,25 @@ {:value "© 2016 Elsevier Inc. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 76, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start + [{:start {:date-parts [[2017 6 1]], :date-time "2017-06-01T00:00:00Z", :timestamp 1496275200000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], :funder [{:DOI "10.13039/100006920", :name "University of Pennsylvania", - :doi-asserted-by "publisher", - :award []}], + :doi-asserted-by "publisher"}], :content-domain {:domain ["elsevier.com" "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Hormones and Behavior"], - :published-print {:date-parts [[2017 6]]}, + :published-print {:date-parts [[2017 6 1]]}, :DOI "10.1016/j.yhbeh.2016.11.003", :type "journal-article", :created @@ -12411,9 +12176,8 @@ {:date-parts [[2017 6 16]], :date-time "2017-06-16T02:46:21Z", :timestamp 1497581181000}, - :score 1.0, - :issued {:date-parts [[2017 6]]}, - :references-count 0, + :issued {:date-parts [[2017 6 1]]}, + :references-count 76, :alternative-id ["S0018506X1630023X"], :URL "http://dx.doi.org/10.1016/j.yhbeh.2016.11.003", :ISSN ["0018-506X"], @@ -12436,21 +12200,21 @@ {:value "© 2016 Elsevier Inc. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 104, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start + [{:start {:date-parts [[2017 6 1]], :date-time "2017-06-01T00:00:00Z", :timestamp 1496275200000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], :content-domain {:domain ["elsevier.com" "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Hormones and Behavior"], - :published-print {:date-parts [[2017 6]]}, + :published-print {:date-parts [[2017 6 1]]}, :DOI "10.1016/j.yhbeh.2016.11.006", :type "journal-article", :created @@ -12488,9 +12252,8 @@ {:date-parts [[2017 6 16]], :date-time "2017-06-16T02:47:38Z", :timestamp 1497581258000}, - :score 1.0, - :issued {:date-parts [[2017 6]]}, - :references-count 0, + :issued {:date-parts [[2017 6 1]]}, + :references-count 104, :alternative-id ["S0018506X16300848"], :URL "http://dx.doi.org/10.1016/j.yhbeh.2016.11.006", :ISSN ["0018-506X"], @@ -12513,35 +12276,33 @@ {:value "© 2016 Elsevier Inc. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 171, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start + [{:start {:date-parts [[2017 2 1]], :date-time "2017-02-01T00:00:00Z", :timestamp 1485907200000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"} - {:URL "http://creativecommons.org/licenses/by-nc-nd/4.0/", - :start + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"} + {:start {:date-parts [[2016 7 1]], :date-time "2016-07-01T00:00:00Z", :timestamp 1467331200000}, + :content-version "vor", :delay-in-days 0, - :content-version "vor"}], + :URL "http://creativecommons.org/licenses/by-nc-nd/4.0/"}], :funder - [{:DOI "10.13039/501100001602", + [{:name "Health Research Board, Ireland (HRB)"} + {:DOI "10.13039/501100001602", :name "Science Foundation Ireland", - :doi-asserted-by "publisher", - :award ["SFI/12/RC/2273"]} - {:name "Health Research Board, Ireland (HRB)", - :award ["GC, TGD" "HRA_POR_2014_647"]}], + :doi-asserted-by "publisher"}], :content-domain {:domain ["elsevier.com" "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Neurobiology of Stress"], - :published-print {:date-parts [[2017 2]]}, + :published-print {:date-parts [[2017 2 1]]}, :DOI "10.1016/j.ynstr.2016.11.001", :type "journal-article", :created @@ -12551,7 +12312,7 @@ :page "113-126", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", :source "Crossref", - :is-referenced-by-count 9, + :is-referenced-by-count 6, :title ["The Trier Social Stress Test: Principles and practice"], :prefix "10.1016", :volume "6", @@ -12598,9 +12359,8 @@ {:date-parts [[2017 7 13]], :date-time "2017-07-13T16:58:45Z", :timestamp 1499965125000}, - :score 1.0, - :issued {:date-parts [[2017 2]]}, - :references-count 0, + :issued {:date-parts [[2017 2 1]]}, + :references-count 171, :alternative-id ["S2352289516300224"], :URL "http://dx.doi.org/10.1016/j.ynstr.2016.11.001", :ISSN ["2352-2895"], @@ -12622,16 +12382,16 @@ {:value "© 2016 The Authors. Published by Elsevier Inc.", :name "copyright", :label "Copyright"}]} - {:reference-count 0, + {:reference-count 68, :publisher "Elsevier BV", :license - [{:URL "http://www.elsevier.com/tdm/userlicense/1.0/", - :start + [{:start {:date-parts [[2017 1 1]], :date-time "2017-01-01T00:00:00Z", :timestamp 1483228800000}, + :content-version "tdm", :delay-in-days 0, - :content-version "tdm"}], + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], :content-domain {:domain ["clinicalkey.jp" @@ -12643,7 +12403,7 @@ "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Preventive Medicine"], - :published-print {:date-parts [[2017 1]]}, + :published-print {:date-parts [[2017 1 1]]}, :DOI "10.1016/j.ypmed.2016.11.003", :type "journal-article", :created @@ -12695,9 +12455,8 @@ {:date-parts [[2017 6 25]], :date-time "2017-06-25T03:10:36Z", :timestamp 1498360236000}, - :score 1.0, - :issued {:date-parts [[2017 1]]}, - :references-count 0, + :issued {:date-parts [[2017 1 1]]}, + :references-count 68, :alternative-id ["S0091743516303486"], :URL "http://dx.doi.org/10.1016/j.ypmed.2016.11.003", :ISSN ["0091-7435"], diff --git a/dev-resources/works/?filter=member:78.edn b/dev-resources/works/?filter=member:78.edn index b1857d24..034ac994 100644 --- a/dev-resources/works/?filter=member:78.edn +++ b/dev-resources/works/?filter=member:78.edn @@ -3,6 +3,7 @@ :items ({:reference-count 873, :publisher "Elsevier", + :isbn-type [{:value "9780128036082", :type "print"}], :license [{:start {:date-parts [[2017 1 1]], @@ -14,7 +15,7 @@ :content-domain {:domain [], :crossmark-restriction false}, :published-print {:date-parts [[2017 1 1]]}, :DOI "10.1016/b978-0-12-803592-4.00001-8", - :type "chapter", + :type "book-chapter", :created {:date-parts [[2016 11 29]], :date-time "2016-11-29T20:26:21Z", @@ -52,10 +53,12 @@ :timestamp 1498366018000}, :score 0.0, :issued {:date-parts [[2017 1 1]]}, + :ISBN ["9780128036082"], :references-count 873, :URL "http://dx.doi.org/10.1016/b978-0-12-803592-4.00001-8"} {:reference-count 256, :publisher "Elsevier", + :isbn-type [{:value "9780128036082", :type "print"}], :license [{:start {:date-parts [[2017 1 1]], @@ -67,7 +70,7 @@ :content-domain {:domain [], :crossmark-restriction false}, :published-print {:date-parts [[2017 1 1]]}, :DOI "10.1016/b978-0-12-803592-4.00015-8", - :type "chapter", + :type "book-chapter", :created {:date-parts [[2016 11 29]], :date-time "2016-11-29T20:48:43Z", @@ -105,10 +108,12 @@ :timestamp 1498366044000}, :score 0.0, :issued {:date-parts [[2017 1 1]]}, + :ISBN ["9780128036082"], :references-count 256, :URL "http://dx.doi.org/10.1016/b978-0-12-803592-4.00015-8"} {:reference-count 167, :publisher "Elsevier", + :isbn-type [{:value "9780128036082", :type "print"}], :license [{:start {:date-parts [[2017 1 1]], @@ -120,7 +125,7 @@ :content-domain {:domain [], :crossmark-restriction false}, :published-print {:date-parts [[2017 1 1]]}, :DOI "10.1016/b978-0-12-803592-4.00016-x", - :type "chapter", + :type "book-chapter", :created {:date-parts [[2016 11 29]], :date-time "2016-11-29T20:48:15Z", @@ -162,10 +167,12 @@ :timestamp 1498366044000}, :score 0.0, :issued {:date-parts [[2017 1 1]]}, + :ISBN ["9780128036082"], :references-count 167, :URL "http://dx.doi.org/10.1016/b978-0-12-803592-4.00016-x"} {:reference-count 183, :publisher "Elsevier", + :isbn-type [{:value "9780128036082", :type "print"}], :license [{:start {:date-parts [[2017 1 1]], @@ -177,7 +184,7 @@ :content-domain {:domain [], :crossmark-restriction false}, :published-print {:date-parts [[2017 1 1]]}, :DOI "10.1016/b978-0-12-803592-4.00046-8", - :type "chapter", + :type "book-chapter", :created {:date-parts [[2016 11 29]], :date-time "2016-11-29T20:52:01Z", @@ -223,10 +230,12 @@ :timestamp 1498366047000}, :score 0.0, :issued {:date-parts [[2017 1 1]]}, + :ISBN ["9780128036082"], :references-count 183, :URL "http://dx.doi.org/10.1016/b978-0-12-803592-4.00046-8"} {:reference-count 273, :publisher "Elsevier", + :isbn-type [{:value "9780128036082", :type "print"}], :license [{:start {:date-parts [[2017 1 1]], @@ -238,7 +247,7 @@ :content-domain {:domain [], :crossmark-restriction false}, :published-print {:date-parts [[2017 1 1]]}, :DOI "10.1016/b978-0-12-803592-4.00111-5", - :type "chapter", + :type "book-chapter", :created {:date-parts [[2016 11 29]], :date-time "2016-11-29T20:47:22Z", @@ -286,10 +295,12 @@ :timestamp 1498366042000}, :score 0.0, :issued {:date-parts [[2017 1 1]]}, + :ISBN ["9780128036082"], :references-count 273, :URL "http://dx.doi.org/10.1016/b978-0-12-803592-4.00111-5"} {:reference-count 193, :publisher "Elsevier", + :isbn-type [{:value "9780128040966", :type "print"}], :license [{:start {:date-parts [[2017 1 1]], @@ -301,7 +312,7 @@ :content-domain {:domain [], :crossmark-restriction false}, :published-print {:date-parts [[2017 1 1]]}, :DOI "10.1016/b978-0-12-804042-3.00094-4", - :type "chapter", + :type "book-chapter", :created {:date-parts [[2016 11 30]], :date-time "2016-11-30T20:24:38Z", @@ -336,6 +347,7 @@ :timestamp 1498366442000}, :score 0.0, :issued {:date-parts [[2017 1 1]]}, + :ISBN ["9780128040966"], :references-count 193, :URL "http://dx.doi.org/10.1016/b978-0-12-804042-3.00094-4"} {:reference-count 112, From 06bd6b9bb94108f2861b30a396d0a6289570ceb4 Mon Sep 17 00:00:00 2001 From: Mark Woodhall Date: Thu, 10 May 2018 10:26:44 +0100 Subject: [PATCH 143/156] Remove load-test-journals It is possible to just call index-journals so load-test-journals is a little redundant --- dev/user.clj | 5 ----- 1 file changed, 5 deletions(-) diff --git a/dev/user.clj b/dev/user.clj index 2e811c31..72b0fa97 100644 --- a/dev/user.clj +++ b/dev/user.clj @@ -77,11 +77,6 @@ url)))] (index-funders))) -(defn load-test-journals [] - (with-core :default - (set-param! [:location :cr-titles-csv] (.getPath (resource "titles.csv")))) - (index-journals)) - (defn setup-feed [& {:keys [source-dir] :or {source-dir "/source"}}] (let [feed-dir (.getPath (resource "feeds")) feed-source-dir (str feed-dir source-dir) From 52d6b4309c30a37a648536c83244cd5a154a0f77 Mon Sep 17 00:00:00 2001 From: Mark Woodhall Date: Thu, 10 May 2018 10:29:43 +0100 Subject: [PATCH 144/156] Set cr-funder-registry on start Set cr-funder-registry at the first available opportunity, port fix to enable starting the core only once per process, rather than once per test fixture. --- dev/user.clj | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/dev/user.clj b/dev/user.clj index 72b0fa97..114b27fd 100644 --- a/dev/user.clj +++ b/dev/user.clj @@ -45,7 +45,14 @@ (println "Waiting for elasticsearch to be ready..") (Thread/sleep 500)) (create-elastic-indexes) - (start-core! :default :api :feed-api))))) + (when-not @core-started? + (when (start-core! :default :api :feed-api) + (with-core :default + (set-param! [:location :cr-titles-csv] (.getPath (resource "titles.csv"))) + (->> (.getPath (resource "registry.rdf")) + (str "file://") + (set-param! [:location :cr-funder-registry]))) + (reset! core-started? true))))))) (defn stop [] (sh "docker-compose" "down")) @@ -55,10 +62,6 @@ (start-core! :default :api :feed-api)) (defn load-test-funders [] - (with-core :default - (->> (.getPath (resource "registry.rdf")) - (str "file://") - (set-param! [:location :cr-funder-registry]))) (println "Loading test funders from" (get-param [:location :cr-funder-registry])) (with-redefs [cayenne.tasks.funder/get-country-literal-name From 50322a5ae425628f0166115c84f15772009f0d9d Mon Sep 17 00:00:00 2001 From: Mark Woodhall Date: Thu, 10 May 2018 10:30:22 +0100 Subject: [PATCH 145/156] Delay to give coverage time to index --- dev/user.clj | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/dev/user.clj b/dev/user.clj index 114b27fd..f2fcbe7c 100644 --- a/dev/user.clj +++ b/dev/user.clj @@ -119,8 +119,10 @@ (Thread/sleep 10000)) (if (not= (elastic-doc-count) feed-file-count) (println "Gave up waiting for elasticsearch to finish indexing...."))) + (Thread/sleep 2000) (check-journals) - (check-members)))) + (check-members) + (Thread/sleep 2000)))) (defn elastic-work-hits [] (map elastic-convert/es-doc->citeproc From 4354aaa459d88f74b78c6a60f188fd8109d894a6 Mon Sep 17 00:00:00 2001 From: Mark Woodhall Date: Fri, 11 May 2018 09:59:31 +0100 Subject: [PATCH 146/156] Update test corpus after rebase --- dev-resources/members.edn | 4 +- dev-resources/members/78-works.edn | 708 ++++++------ dev-resources/titles.edn | 4 +- dev-resources/titles/0306-4530-works.edn | 390 +++---- dev-resources/titles/0306-4530.edn | 4 +- .../works/10.1016/j.psyneuen.2016.10.018.edn | 4 +- dev-resources/works/10.1084/jem.20151673.edn | 125 +- dev-resources/works/10.1101/026963.edn | 20 +- dev-resources/works/10.5555/test5.edn | 11 +- .../10.7287/peerj.2196v0.1/reviews/2.edn | 43 +- .../works/?filter=from-created-date:2018.edn | 43 +- .../works/?filter=from-deposit-date:2018.edn | 1027 ++++++++++++++++- dev-resources/works/?filter=member:78.edn | 708 ++++++------ .../works/?filter=type:peer-review.edn | 43 +- dev-resources/works/query.title=Peer.edn | 43 +- .../works/query.title=Socioeconomic.edn | 4 +- dev/user.clj | 4 +- 17 files changed, 2091 insertions(+), 1094 deletions(-) diff --git a/dev-resources/members.edn b/dev-resources/members.edn index b138f544..a3e42262 100644 --- a/dev-resources/members.edn +++ b/dev-resources/members.edn @@ -52,7 +52,7 @@ :abstracts-backfile 0, :resource-links-current 1.0, :abstracts-current 0.0, - :references-current 0.9917355371900826}, + :references-current 0.0}, :prefix [{:reference-visibility "closed", :public-references false, @@ -183,7 +183,7 @@ :deposits-abstracts-backfile false, :deposits-licenses-backfile false, :deposits-award-numbers-backfile false, - :deposits-references-current true, + :deposits-references-current false, :deposits-resource-links-backfile false, :deposits-orcids-backfile false, :deposits-funders-backfile false, diff --git a/dev-resources/members/78-works.edn b/dev-resources/members/78-works.edn index 0cd3e52b..28836a51 100644 --- a/dev-resources/members/78-works.edn +++ b/dev-resources/members/78-works.edn @@ -1,7 +1,7 @@ {:facets {}, :total-results 121, :items - ({:reference-count 873, + ({:reference-count 0, :publisher "Elsevier", :isbn-type [{:value "9780128036082", :type "print"}], :license @@ -53,9 +53,9 @@ :timestamp 1498366018000}, :issued {:date-parts [[2017 1 1]]}, :ISBN ["9780128036082"], - :references-count 873, + :references-count 0, :URL "http://dx.doi.org/10.1016/b978-0-12-803592-4.00001-8"} - {:reference-count 256, + {:reference-count 0, :publisher "Elsevier", :isbn-type [{:value "9780128036082", :type "print"}], :license @@ -107,9 +107,9 @@ :timestamp 1498366044000}, :issued {:date-parts [[2017 1 1]]}, :ISBN ["9780128036082"], - :references-count 256, + :references-count 0, :URL "http://dx.doi.org/10.1016/b978-0-12-803592-4.00015-8"} - {:reference-count 167, + {:reference-count 0, :publisher "Elsevier", :isbn-type [{:value "9780128036082", :type "print"}], :license @@ -165,9 +165,9 @@ :timestamp 1498366044000}, :issued {:date-parts [[2017 1 1]]}, :ISBN ["9780128036082"], - :references-count 167, + :references-count 0, :URL "http://dx.doi.org/10.1016/b978-0-12-803592-4.00016-x"} - {:reference-count 183, + {:reference-count 0, :publisher "Elsevier", :isbn-type [{:value "9780128036082", :type "print"}], :license @@ -227,9 +227,9 @@ :timestamp 1498366047000}, :issued {:date-parts [[2017 1 1]]}, :ISBN ["9780128036082"], - :references-count 183, + :references-count 0, :URL "http://dx.doi.org/10.1016/b978-0-12-803592-4.00046-8"} - {:reference-count 273, + {:reference-count 0, :publisher "Elsevier", :isbn-type [{:value "9780128036082", :type "print"}], :license @@ -291,9 +291,9 @@ :timestamp 1498366042000}, :issued {:date-parts [[2017 1 1]]}, :ISBN ["9780128036082"], - :references-count 273, + :references-count 0, :URL "http://dx.doi.org/10.1016/b978-0-12-803592-4.00111-5"} - {:reference-count 193, + {:reference-count 0, :publisher "Elsevier", :isbn-type [{:value "9780128040966", :type "print"}], :license @@ -342,9 +342,9 @@ :timestamp 1498366442000}, :issued {:date-parts [[2017 1 1]]}, :ISBN ["9780128040966"], - :references-count 193, + :references-count 0, :URL "http://dx.doi.org/10.1016/b978-0-12-804042-3.00094-4"} - {:reference-count 112, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -380,7 +380,7 @@ :page "139-151", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", :source "Crossref", - :is-referenced-by-count 1, + :is-referenced-by-count 2, :title ["Analyses of differentially expressed genes after exposure to acute stress, acute ethanol, or a combination of both in mice"], :prefix "10.1016", @@ -441,7 +441,7 @@ :date-time "2017-06-25T06:03:02Z", :timestamp 1498370582000}, :issued {:date-parts [[2017 2 1]]}, - :references-count 112, + :references-count 0, :alternative-id ["S0741832916300714"], :URL "http://dx.doi.org/10.1016/j.alcohol.2016.08.008", :ISSN ["0741-8329"], @@ -462,13 +462,13 @@ {:value "Published by Elsevier Inc.", :name "copyright", :label "Copyright"}]} - {:reference-count 73, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start - {:date-parts [[2017 5 12]], - :date-time "2017-05-12T09:19:30Z", - :timestamp 1494580770000}, + {:date-parts [[2017 7 1]], + :date-time "2017-07-01T00:00:00Z", + :timestamp 1498867200000}, :content-version "tdm", :delay-in-days 0, :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], @@ -493,7 +493,7 @@ :page "148-159", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", :source "Crossref", - :is-referenced-by-count 2, + :is-referenced-by-count 3, :title ["Mechanical allodynia corresponds to Oprm1 downregulation within the descending pain network of male and female rats exposed to neonatal immune challenge"], :prefix "10.1016", @@ -512,21 +512,21 @@ :language "en", :link [{:URL - "http://api.elsevier.com/content/article/PII:S0889159116304706?httpAccept=text/plain", - :content-type "text/plain", + "http://api.elsevier.com/content/article/PII:S0889159116304706?httpAccept=text/xml", + :content-type "text/xml", :content-version "vor", :intended-application "text-mining"} {:URL - "http://api.elsevier.com/content/article/PII:S0889159116304706?httpAccept=text/xml", - :content-type "text/xml", + "http://api.elsevier.com/content/article/PII:S0889159116304706?httpAccept=text/plain", + :content-type "text/plain", :content-version "vor", :intended-application "text-mining"}], :deposited - {:date-parts [[2017 5 12]], - :date-time "2017-05-12T09:19:30Z", - :timestamp 1494580770000}, - :issued {:date-parts [[2017 5 12]]}, - :references-count 73, + {:date-parts [[2017 12 23]], + :date-time "2017-12-23T23:38:34Z", + :timestamp 1514072314000}, + :issued {:date-parts [[2017 7 1]]}, + :references-count 0, :alternative-id ["S0889159116304706"], :URL "http://dx.doi.org/10.1016/j.bbi.2016.10.007", :ISSN ["0889-1591"], @@ -549,7 +549,7 @@ {:value "© 2016 Elsevier Inc. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 76, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -615,7 +615,7 @@ :date-time "2017-06-25T02:16:53Z", :timestamp 1498357013000}, :issued {:date-parts [[2017 3 1]]}, - :references-count 76, + :references-count 0, :alternative-id ["S0166432816309007"], :URL "http://dx.doi.org/10.1016/j.bbr.2016.10.035", :ISSN ["0166-4328"], @@ -638,7 +638,7 @@ {:value "© 2016 Elsevier B.V. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 21, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -715,7 +715,7 @@ :date-time "2017-06-25T06:01:29Z", :timestamp 1498370489000}, :issued {:date-parts [[2017 2 1]]}, - :references-count 21, + :references-count 0, :alternative-id ["S0301051116303738"], :URL "http://dx.doi.org/10.1016/j.biopsycho.2016.12.010", :ISSN ["0301-0511"], @@ -738,7 +738,7 @@ {:value "© 2016 Elsevier B.V. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 53, + {:reference-count 0, :publisher "Elsevier BV", :issue "1", :license @@ -827,7 +827,7 @@ :date-time "2017-06-25T02:29:54Z", :timestamp 1498357794000}, :issued {:date-parts [[2017 1 1]]}, - :references-count 53, + :references-count 0, :journal-issue {:issue "1", :published-print {:date-parts [[2017 1 1]]}}, :alternative-id ["S0968089616310872"], @@ -852,7 +852,7 @@ {:value "Published by Elsevier Ltd.", :name "copyright", :label "Copyright"}]} - {:reference-count 19, + {:reference-count 0, :publisher "Elsevier BV", :issue "1", :license @@ -912,7 +912,7 @@ :date-time "2017-06-25T02:22:59Z", :timestamp 1498357379000}, :issued {:date-parts [[2017 1 1]]}, - :references-count 19, + :references-count 0, :journal-issue {:issue "1", :published-print {:date-parts [[2017 1 1]]}}, :alternative-id ["S1550830716301707"], @@ -939,7 +939,7 @@ {:value "© 2016 Published by Elsevier Inc.", :name "copyright", :label "Copyright"}]} - {:reference-count 66, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -1023,7 +1023,7 @@ :date-time "2017-06-25T01:08:48Z", :timestamp 1498352928000}, :issued {:date-parts [[2016 11 1]]}, - :references-count 66, + :references-count 0, :alternative-id ["S0163638316300455"], :URL "http://dx.doi.org/10.1016/j.infbeh.2016.09.006", :ISSN ["0163-6383"], @@ -1046,7 +1046,7 @@ {:value "© 2016 Elsevier Inc. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 164, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -1114,7 +1114,7 @@ :date-time "2017-09-16T03:19:36Z", :timestamp 1505531976000}, :issued {:date-parts [[2017 9 16]]}, - :references-count 164, + :references-count 0, :alternative-id ["S0165032716312022"], :URL "http://dx.doi.org/10.1016/j.jad.2016.10.035", :ISSN ["0165-0327"], @@ -1136,7 +1136,7 @@ {:value "© 2016 Elsevier B.V. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 46, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -1202,7 +1202,7 @@ :date-time "2017-06-25T04:50:17Z", :timestamp 1498366217000}, :issued {:date-parts [[2017 3 1]]}, - :references-count 46, + :references-count 0, :alternative-id ["S0165032716312113"], :URL "http://dx.doi.org/10.1016/j.jad.2016.11.036", :ISSN ["0165-0327"], @@ -1225,7 +1225,7 @@ {:value "© 2016 Elsevier B.V. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 79, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -1241,8 +1241,8 @@ "clinicalkey.com" "jad-journal.com" "clinicalkey.es" - "clinicalkey.com.au" "clinicalkey.fr" + "clinicalkey.com.au" "elsevier.com" "sciencedirect.com"], :crossmark-restriction true}, @@ -1300,21 +1300,21 @@ :language "en", :link [{:URL - "http://api.elsevier.com/content/article/PII:S0165032716317256?httpAccept=text/plain", - :content-type "text/plain", + "http://api.elsevier.com/content/article/PII:S0165032716317256?httpAccept=text/xml", + :content-type "text/xml", :content-version "vor", :intended-application "text-mining"} {:URL - "http://api.elsevier.com/content/article/PII:S0165032716317256?httpAccept=text/xml", - :content-type "text/xml", + "http://api.elsevier.com/content/article/PII:S0165032716317256?httpAccept=text/plain", + :content-type "text/plain", :content-version "vor", :intended-application "text-mining"}], :deposited - {:date-parts [[2017 6 25]], - :date-time "2017-06-25T04:50:17Z", - :timestamp 1498366217000}, + {:date-parts [[2018 2 13]], + :date-time "2018-02-13T02:55:51Z", + :timestamp 1518490551000}, :issued {:date-parts [[2017 2 1]]}, - :references-count 79, + :references-count 0, :alternative-id ["S0165032716317256"], :URL "http://dx.doi.org/10.1016/j.jad.2016.11.046", :ISSN ["0165-0327"], @@ -1337,7 +1337,7 @@ {:value "© 2016 Elsevier B.V. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 34, + {:reference-count 0, :publisher "Elsevier BV", :issue "5", :license @@ -1400,7 +1400,7 @@ :date-time "2017-04-24T00:15:56Z", :timestamp 1492992956000}, :issued {:date-parts [[2017 4 24]]}, - :references-count 34, + :references-count 0, :journal-issue {:issue "5", :published-print {:date-parts [[2017 5 1]]}}, :alternative-id ["S0278239116310667"], @@ -1426,7 +1426,7 @@ "© 2016 American Association of Oral and Maxillofacial Surgeons", :name "copyright", :label "Copyright"}]} - {:reference-count 189, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -1455,7 +1455,7 @@ :page "232-242", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", :source "Crossref", - :is-referenced-by-count 4, + :is-referenced-by-count 7, :title ["Mate-choice copying, social information processing, and the roles of oxytocin"], :prefix "10.1016", @@ -1492,7 +1492,7 @@ :date-time "2017-06-25T05:13:23Z", :timestamp 1498367603000}, :issued {:date-parts [[2017 1 1]]}, - :references-count 189, + :references-count 0, :alternative-id ["S0149763416306285"], :URL "http://dx.doi.org/10.1016/j.neubiorev.2016.12.003", :ISSN ["0149-7634"], @@ -1515,7 +1515,7 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 193, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -1545,7 +1545,7 @@ :page "123-164", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", :source "Crossref", - :is-referenced-by-count 5, + :is-referenced-by-count 14, :title ["A systematic review of the psychobiological burden of informal caregiving for patients with dementia: Focus on cognitive and biological markers of chronic stress"], :prefix "10.1016", @@ -1606,7 +1606,7 @@ :date-time "2017-06-25T05:51:22Z", :timestamp 1498369882000}, :issued {:date-parts [[2017 2 1]]}, - :references-count 193, + :references-count 0, :alternative-id ["S0149763416302792"], :URL "http://dx.doi.org/10.1016/j.neubiorev.2016.12.006", :ISSN ["0149-7634"], @@ -1629,7 +1629,7 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 397, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -1665,7 +1665,7 @@ :page "191-218", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", :source "Crossref", - :is-referenced-by-count 15, + :is-referenced-by-count 19, :title ["The neural diathesis-stress model of schizophrenia revisited: An update on recent findings considering illness stage and neurobiological and methodological complexities"], :prefix "10.1016", @@ -1706,7 +1706,7 @@ :date-time "2017-06-25T06:04:21Z", :timestamp 1498370661000}, :issued {:date-parts [[2017 2 1]]}, - :references-count 397, + :references-count 0, :alternative-id ["S0149763416301713"], :URL "http://dx.doi.org/10.1016/j.neubiorev.2016.12.013", :ISSN ["0149-7634"], @@ -1729,7 +1729,7 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 84, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -1761,7 +1761,7 @@ :page "147-155", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", :source "Crossref", - :is-referenced-by-count 8, + :is-referenced-by-count 10, :title ["Glutamate dysregulation and glutamatergic therapeutics for PTSD: Evidence from human studies"], :prefix "10.1016", @@ -1806,11 +1806,11 @@ :content-version "vor", :intended-application "text-mining"}], :deposited - {:date-parts [[2017 5 4]], - :date-time "2017-05-04T23:03:23Z", - :timestamp 1493939003000}, + {:date-parts [[2017 12 19]], + :date-time "2017-12-19T01:21:02Z", + :timestamp 1513646462000}, :issued {:date-parts [[2017 5 1]]}, - :references-count 84, + :references-count 0, :alternative-id ["S0304394016309351"], :URL "http://dx.doi.org/10.1016/j.neulet.2016.11.064", :ISSN ["0304-3940"], @@ -1833,7 +1833,7 @@ {:value "Published by Elsevier Ireland Ltd.", :name "copyright", :label "Copyright"}]} - {:reference-count 38, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -1867,7 +1867,7 @@ :page "103-109", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", :source "Crossref", - :is-referenced-by-count 4, + :is-referenced-by-count 5, :title ["Parkinson’s disease-like motor and non-motor symptoms in rotenone-treated zebrafish"], :prefix "10.1016", @@ -1925,7 +1925,7 @@ :date-time "2017-12-07T18:03:59Z", :timestamp 1512669839000}, :issued {:date-parts [[2017 1 1]]}, - :references-count 38, + :references-count 0, :alternative-id ["S0161813X16302443"], :URL "http://dx.doi.org/10.1016/j.neuro.2016.11.006", :ISSN ["0161-813X"], @@ -1948,7 +1948,7 @@ {:value "© 2016 Elsevier B.V. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 56, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -1964,8 +1964,8 @@ "clinicalkey.com" "neurobiologyofaging.org" "clinicalkey.es" - "clinicalkey.com.au" "clinicalkey.fr" + "clinicalkey.com.au" "elsevier.com" "sciencedirect.com"], :crossmark-restriction true}, @@ -2017,21 +2017,21 @@ :language "en", :link [{:URL - "http://api.elsevier.com/content/article/PII:S0197458016303013?httpAccept=text/plain", - :content-type "text/plain", + "http://api.elsevier.com/content/article/PII:S0197458016303013?httpAccept=text/xml", + :content-type "text/xml", :content-version "vor", :intended-application "text-mining"} {:URL - "http://api.elsevier.com/content/article/PII:S0197458016303013?httpAccept=text/xml", - :content-type "text/xml", + "http://api.elsevier.com/content/article/PII:S0197458016303013?httpAccept=text/plain", + :content-type "text/plain", :content-version "vor", :intended-application "text-mining"}], :deposited - {:date-parts [[2017 6 25]], - :date-time "2017-06-25T04:57:19Z", - :timestamp 1498366639000}, + {:date-parts [[2018 1 4]], + :date-time "2018-01-04T22:08:16Z", + :timestamp 1515103696000}, :issued {:date-parts [[2017 3 1]]}, - :references-count 56, + :references-count 0, :alternative-id ["S0197458016303013"], :URL "http://dx.doi.org/10.1016/j.neurobiolaging.2016.11.014", :ISSN ["0197-4580"], @@ -2054,7 +2054,7 @@ {:value "© 2016 Elsevier Inc. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 70, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -2109,21 +2109,21 @@ :language "en", :link [{:URL - "http://api.elsevier.com/content/article/PII:S1053811916307650?httpAccept=text/plain", - :content-type "text/plain", + "http://api.elsevier.com/content/article/PII:S1053811916307650?httpAccept=text/xml", + :content-type "text/xml", :content-version "vor", :intended-application "text-mining"} {:URL - "http://api.elsevier.com/content/article/PII:S1053811916307650?httpAccept=text/xml", - :content-type "text/xml", + "http://api.elsevier.com/content/article/PII:S1053811916307650?httpAccept=text/plain", + :content-type "text/plain", :content-version "vor", :intended-application "text-mining"}], :deposited - {:date-parts [[2017 6 25]], - :date-time "2017-06-25T06:02:50Z", - :timestamp 1498370570000}, + {:date-parts [[2018 1 20]], + :date-time "2018-01-20T14:43:22Z", + :timestamp 1516459402000}, :issued {:date-parts [[2017 2 1]]}, - :references-count 70, + :references-count 0, :alternative-id ["S1053811916307650"], :URL "http://dx.doi.org/10.1016/j.neuroimage.2016.12.046", :ISSN ["1053-8119"], @@ -2144,7 +2144,7 @@ {:value "© 2016 Elsevier Inc. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 204, + {:reference-count 0, :publisher "Elsevier BV", :issue "1", :license @@ -2183,7 +2183,7 @@ :page "14-30", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", :source "Crossref", - :is-referenced-by-count 31, + :is-referenced-by-count 39, :title ["Context Processing and the Neurobiology of Post-Traumatic Stress Disorder"], :prefix "10.1016", @@ -2216,7 +2216,7 @@ :date-time "2017-10-28T20:46:11Z", :timestamp 1509223571000}, :issued {:date-parts [[2016 10 1]]}, - :references-count 204, + :references-count 0, :journal-issue {:issue "1", :published-print {:date-parts [[2016 10 1]]}}, :alternative-id ["S0896627316306407"], @@ -2239,7 +2239,7 @@ {:value "Published by Elsevier Inc.", :name "copyright", :label "Copyright"}]} - {:reference-count 78, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -2322,7 +2322,7 @@ :date-time "2017-09-23T07:54:55Z", :timestamp 1506153295000}, :issued {:date-parts [[2017 1 1]]}, - :references-count 78, + :references-count 0, :alternative-id ["S2213158216302224"], :URL "http://dx.doi.org/10.1016/j.nicl.2016.11.014", :ISSN ["2213-1582"], @@ -2345,7 +2345,7 @@ {:value "© 2016 The Authors. Published by Elsevier Inc.", :name "copyright", :label "Copyright"}]} - {:reference-count 82, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -2418,7 +2418,7 @@ :date-time "2017-06-25T00:48:02Z", :timestamp 1498351682000}, :issued {:date-parts [[2016 12 1]]}, - :references-count 82, + :references-count 0, :alternative-id ["S1074742716302519"], :URL "http://dx.doi.org/10.1016/j.nlm.2016.10.006", :ISSN ["1074-7427"], @@ -2441,13 +2441,13 @@ {:value "© 2016 Elsevier Inc. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 119, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start - {:date-parts [[2017 5 30]], - :date-time "2017-05-30T20:25:25Z", - :timestamp 1496175925000}, + {:date-parts [[2017 7 1]], + :date-time "2017-07-01T00:00:00Z", + :timestamp 1498867200000}, :content-version "tdm", :delay-in-days 0, :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], @@ -2469,7 +2469,7 @@ :page "126-134", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", :source "Crossref", - :is-referenced-by-count 5, + :is-referenced-by-count 6, :title ["The role of glucocorticoids in emotional memory reconsolidation"], :prefix "10.1016", @@ -2498,11 +2498,11 @@ :content-version "vor", :intended-application "text-mining"}], :deposited - {:date-parts [[2017 5 30]], - :date-time "2017-05-30T20:25:25Z", - :timestamp 1496175925000}, - :issued {:date-parts [[2017 5 30]]}, - :references-count 119, + {:date-parts [[2017 12 29]], + :date-time "2017-12-29T11:50:46Z", + :timestamp 1514548246000}, + :issued {:date-parts [[2017 7 1]]}, + :references-count 0, :alternative-id ["S107474271630315X"], :URL "http://dx.doi.org/10.1016/j.nlm.2016.11.008", :ISSN ["1074-7427"], @@ -2525,7 +2525,7 @@ {:value "© 2016 Elsevier Inc. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 65, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -2552,7 +2552,7 @@ :page "1-11", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", :source "Crossref", - :is-referenced-by-count 2, + :is-referenced-by-count 4, :title ["Opposite effects of central oxytocin and arginine vasopressin on changes in gastric motor function induced by chronic stress"], :prefix "10.1016", @@ -2593,7 +2593,7 @@ :date-time "2017-06-25T02:57:32Z", :timestamp 1498359452000}, :issued {:date-parts [[2017 1 1]]}, - :references-count 65, + :references-count 0, :alternative-id ["S0196978116302157"], :URL "http://dx.doi.org/10.1016/j.peptides.2016.11.001", :ISSN ["0196-9781"], @@ -2614,7 +2614,7 @@ {:value "© 2016 Elsevier Inc. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 63, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -2645,7 +2645,7 @@ :page "1-10", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", :source "Crossref", - :is-referenced-by-count 3, + :is-referenced-by-count 4, :title ["Protective effect of low dose caffeine on psychological stress and cognitive function"], :prefix "10.1016", @@ -2692,21 +2692,21 @@ :language "en", :link [{:URL - "http://api.elsevier.com/content/article/PII:S0031938416307041?httpAccept=text/plain", - :content-type "text/plain", + "http://api.elsevier.com/content/article/PII:S0031938416307041?httpAccept=text/xml", + :content-type "text/xml", :content-version "vor", :intended-application "text-mining"} {:URL - "http://api.elsevier.com/content/article/PII:S0031938416307041?httpAccept=text/xml", - :content-type "text/xml", + "http://api.elsevier.com/content/article/PII:S0031938416307041?httpAccept=text/plain", + :content-type "text/plain", :content-version "vor", :intended-application "text-mining"}], :deposited - {:date-parts [[2017 6 25]], - :date-time "2017-06-25T01:17:03Z", - :timestamp 1498353423000}, + {:date-parts [[2018 3 27]], + :date-time "2018-03-27T00:25:41Z", + :timestamp 1522110341000}, :issued {:date-parts [[2017 1 1]]}, - :references-count 63, + :references-count 0, :alternative-id ["S0031938416307041"], :URL "http://dx.doi.org/10.1016/j.physbeh.2016.10.010", :ISSN ["0031-9384"], @@ -2729,7 +2729,7 @@ {:value "© 2016 Elsevier Inc. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 61, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -2770,7 +2770,7 @@ :page "47-53", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", :source "Crossref", - :is-referenced-by-count 1, + :is-referenced-by-count 2, :title ["Aged mice receiving caffeine since adulthood show distinct patterns of anxiety-related behavior"], :prefix "10.1016", @@ -2825,7 +2825,7 @@ :date-time "2017-06-25T04:26:38Z", :timestamp 1498364798000}, :issued {:date-parts [[2017 3 1]]}, - :references-count 61, + :references-count 0, :alternative-id ["S0031938416309064"], :URL "http://dx.doi.org/10.1016/j.physbeh.2016.11.030", :ISSN ["0031-9384"], @@ -2848,7 +2848,7 @@ {:value "© 2016 Elsevier Inc. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 80, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -2930,7 +2930,7 @@ :date-time "2017-06-25T05:16:33Z", :timestamp 1498367793000}, :issued {:date-parts [[2017 2 1]]}, - :references-count 80, + :references-count 0, :alternative-id ["S0031938416305728"], :URL "http://dx.doi.org/10.1016/j.physbeh.2016.12.004", :ISSN ["0031-9384"], @@ -2953,7 +2953,7 @@ {:value "© 2016 Elsevier Inc. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 5, + {:reference-count 0, :publisher "Elsevier BV", :issue "2", :license @@ -3023,7 +3023,7 @@ :date-time "2017-06-25T03:53:24Z", :timestamp 1498362804000}, :issued {:date-parts [[2017 3 1]]}, - :references-count 5, + :references-count 0, :journal-issue {:issue "2", :published-print {:date-parts [[2017 3 1]]}}, :alternative-id ["S0033318216301426"], @@ -3051,7 +3051,7 @@ "© 2016 Academy of Psychosomatic Medicine. Published by Elsevier Inc. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 34, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -3120,7 +3120,7 @@ :date-time "2017-11-30T15:51:07Z", :timestamp 1512057067000}, :issued {:date-parts [[2017 1 1]]}, - :references-count 34, + :references-count 0, :alternative-id ["S0306453016307545"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.09.025", :ISSN ["0306-4530"], @@ -3143,7 +3143,7 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 55, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -3228,7 +3228,7 @@ :date-time "2017-06-25T00:40:57Z", :timestamp 1498351257000}, :issued {:date-parts [[2016 12 1]]}, - :references-count 55, + :references-count 0, :alternative-id ["S0306453016307594"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.09.027", :ISSN ["0306-4530"], @@ -3251,7 +3251,7 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 67, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -3287,7 +3287,7 @@ :page "371-379", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", :source "Crossref", - :is-referenced-by-count 2, + :is-referenced-by-count 4, :title ["Subcortical gray matter changes in transgender subjects after long-term cross-sex hormone administration"], :prefix "10.1016", @@ -3360,7 +3360,7 @@ :date-time "2017-06-25T00:42:04Z", :timestamp 1498351324000}, :issued {:date-parts [[2016 12 1]]}, - :references-count 67, + :references-count 0, :alternative-id ["S0306453016307144"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.09.028", :ISSN ["0306-4530"], @@ -3383,7 +3383,7 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 80, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -3415,7 +3415,7 @@ :page "387-396", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", :source "Crossref", - :is-referenced-by-count 2, + :is-referenced-by-count 3, :title ["Exploring the neural mechanisms of finasteride: a proteomic analysis in the nucleus accumbens"], :prefix "10.1016", @@ -3472,7 +3472,7 @@ :date-time "2017-06-25T00:44:04Z", :timestamp 1498351444000}, :issued {:date-parts [[2016 12 1]]}, - :references-count 80, + :references-count 0, :alternative-id ["S0306453016307715"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.10.001", :ISSN ["0306-4530"], @@ -3495,7 +3495,7 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 13, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -3528,7 +3528,7 @@ :page "52-55", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", :source "Crossref", - :is-referenced-by-count 2, + :is-referenced-by-count 4, :title ["Testing the ecological validity of the Trier Social Stress Test: Association with real-life exam stress"], :prefix "10.1016", @@ -3581,7 +3581,7 @@ :date-time "2017-11-30T15:51:13Z", :timestamp 1512057073000}, :issued {:date-parts [[2017 1 1]]}, - :references-count 13, + :references-count 0, :alternative-id ["S0306453016307740"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.10.002", :ISSN ["0306-4530"], @@ -3604,7 +3604,7 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 59, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -3636,7 +3636,7 @@ :page "26-35", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", :source "Crossref", - :is-referenced-by-count 0, + :is-referenced-by-count 1, :title ["Do sex hormones or hormone therapy modify the relation of n-3 fatty acids with incident depressive symptoms in postmenopausal women? The MESA Study"], :prefix "10.1016", @@ -3689,7 +3689,7 @@ :date-time "2017-11-30T15:50:29Z", :timestamp 1512057029000}, :issued {:date-parts [[2017 1 1]]}, - :references-count 59, + :references-count 0, :alternative-id ["S0306453016307867"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.10.003", :ISSN ["0306-4530"], @@ -3712,7 +3712,7 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 95, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -3773,7 +3773,7 @@ :date-time "2017-11-30T15:50:55Z", :timestamp 1512057055000}, :issued {:date-parts [[2017 1 1]]}, - :references-count 95, + :references-count 0, :alternative-id ["S0306453016307880"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.10.004", :ISSN ["0306-4530"], @@ -3796,7 +3796,7 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 74, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -3832,7 +3832,7 @@ :page "56-63", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", :source "Crossref", - :is-referenced-by-count 5, + :is-referenced-by-count 7, :title ["Prenatal maternal cortisol concentrations predict neurodevelopment in middle childhood"], :prefix "10.1016", @@ -3873,7 +3873,7 @@ :date-time "2017-11-30T15:51:09Z", :timestamp 1512057069000}, :issued {:date-parts [[2017 1 1]]}, - :references-count 74, + :references-count 0, :alternative-id ["S0306453016307892"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.10.005", :ISSN ["0306-4530"], @@ -3896,7 +3896,7 @@ {:value "© 2016 Published by Elsevier Ltd.", :name "copyright", :label "Copyright"}]} - {:reference-count 15, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -3973,7 +3973,7 @@ :date-time "2017-11-30T15:51:34Z", :timestamp 1512057094000}, :issued {:date-parts [[2017 1 1]]}, - :references-count 15, + :references-count 0, :alternative-id ["S0306453016307909"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.10.006", :ISSN ["0306-4530"], @@ -3996,7 +3996,7 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 54, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -4085,7 +4085,7 @@ :date-time "2017-11-30T15:51:31Z", :timestamp 1512057091000}, :issued {:date-parts [[2017 1 1]]}, - :references-count 54, + :references-count 0, :alternative-id ["S0306453016305327"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.10.007", :ISSN ["0306-4530"], @@ -4108,7 +4108,7 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 51, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -4181,7 +4181,7 @@ :date-time "2017-11-30T15:51:48Z", :timestamp 1512057108000}, :issued {:date-parts [[2017 1 1]]}, - :references-count 51, + :references-count 0, :alternative-id ["S0306453016302190"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.10.008", :ISSN ["0306-4530"], @@ -4204,7 +4204,7 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 48, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -4278,7 +4278,7 @@ :date-time "2017-11-30T15:51:22Z", :timestamp 1512057082000}, :issued {:date-parts [[2017 1 1]]}, - :references-count 48, + :references-count 0, :alternative-id ["S0306453016307983"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.10.009", :ISSN ["0306-4530"], @@ -4301,7 +4301,7 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 83, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -4410,7 +4410,7 @@ :date-time "2017-11-30T15:50:59Z", :timestamp 1512057059000}, :issued {:date-parts [[2017 1 1]]}, - :references-count 83, + :references-count 0, :alternative-id ["S0306453016308022"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.10.010", :ISSN ["0306-4530"], @@ -4433,7 +4433,7 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 70, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -4532,7 +4532,7 @@ :date-time "2017-06-25T02:55:28Z", :timestamp 1498359328000}, :issued {:date-parts [[2017 2 1]]}, - :references-count 70, + :references-count 0, :alternative-id ["S030645301630806X"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.10.011", :ISSN ["0306-4530"], @@ -4555,7 +4555,7 @@ {:value "Published by Elsevier Ltd.", :name "copyright", :label "Copyright"}]} - {:reference-count 64, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -4636,7 +4636,7 @@ :date-time "2017-11-30T15:51:44Z", :timestamp 1512057104000}, :issued {:date-parts [[2017 1 1]]}, - :references-count 64, + :references-count 0, :alternative-id ["S0306453016308083"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.10.012", :ISSN ["0306-4530"], @@ -4659,7 +4659,7 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 88, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -4724,7 +4724,7 @@ :date-time "2017-11-30T15:51:18Z", :timestamp 1512057078000}, :issued {:date-parts [[2017 1 1]]}, - :references-count 88, + :references-count 0, :alternative-id ["S0306453016302128"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.10.013", :ISSN ["0306-4530"], @@ -4747,7 +4747,7 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 45, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -4816,7 +4816,7 @@ :date-time "2017-11-30T15:50:41Z", :timestamp 1512057041000}, :issued {:date-parts [[2017 1 1]]}, - :references-count 45, + :references-count 0, :alternative-id ["S0306453016308216"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.10.014", :ISSN ["0306-4530"], @@ -4839,7 +4839,7 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 39, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -4944,7 +4944,7 @@ :date-time "2017-06-25T01:42:48Z", :timestamp 1498354968000}, :issued {:date-parts [[2017 2 1]]}, - :references-count 39, + :references-count 0, :alternative-id ["S0306453016308332"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.10.015", :ISSN ["0306-4530"], @@ -4967,7 +4967,7 @@ {:value "© 2016 Published by Elsevier Ltd.", :name "copyright", :label "Copyright"}]} - {:reference-count 45, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -5064,7 +5064,7 @@ :date-time "2017-11-30T15:51:26Z", :timestamp 1512057086000}, :issued {:date-parts [[2017 1 1]]}, - :references-count 45, + :references-count 0, :alternative-id ["S0306453016305595"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.10.016", :ISSN ["0306-4530"], @@ -5087,7 +5087,7 @@ {:value "© 2016 The Authors. Published by Elsevier Ltd.", :name "copyright", :label "Copyright"}]} - {:reference-count 36, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -5119,7 +5119,7 @@ :page "124-131", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", :source "Crossref", - :is-referenced-by-count 3, + :is-referenced-by-count 5, :title ["The impact of perceived intensity and frequency of police work occupational stressors on the cortisol awakening response (CAR): Findings from the BCOPS study"], :prefix "10.1016", @@ -5172,7 +5172,7 @@ :date-time "2017-11-30T15:51:18Z", :timestamp 1512057078000}, :issued {:date-parts [[2017 1 1]]}, - :references-count 36, + :references-count 0, :alternative-id ["S0306453016302025"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.10.017", :ISSN ["0306-4530"], @@ -5195,7 +5195,7 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 83, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -5227,7 +5227,7 @@ :page "132-140", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", :source "Crossref", - :is-referenced-by-count 0, + :is-referenced-by-count 1, :title ["Effects of mineralocorticoid-receptor stimulation on risk taking behavior in young healthy men and women"], :prefix "10.1016", @@ -5276,7 +5276,7 @@ :date-time "2017-11-30T15:51:45Z", :timestamp 1512057105000}, :issued {:date-parts [[2017 1 1]]}, - :references-count 83, + :references-count 0, :alternative-id ["S0306453016308447"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.10.018", :ISSN ["0306-4530"], @@ -5299,7 +5299,7 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 41, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -5338,7 +5338,7 @@ :page "183-191", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", :source "Crossref", - :is-referenced-by-count 5, + :is-referenced-by-count 7, :title ["Cortisol reactivity and suicidal behavior: Investigating the role of hypothalamic-pituitary-adrenal axis responses to stress in suicide attempters and ideators"], :prefix "10.1016", @@ -5383,7 +5383,7 @@ :date-time "2017-11-30T15:51:51Z", :timestamp 1512057111000}, :issued {:date-parts [[2017 1 1]]}, - :references-count 41, + :references-count 0, :alternative-id ["S0306453016308435"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.10.019", :ISSN ["0306-4530"], @@ -5406,7 +5406,7 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 43, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -5495,7 +5495,7 @@ :date-time "2017-11-30T15:50:58Z", :timestamp 1512057058000}, :issued {:date-parts [[2017 1 1]]}, - :references-count 43, + :references-count 0, :alternative-id ["S0306453016308459"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.10.020", :ISSN ["0306-4530"], @@ -5518,7 +5518,7 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 47, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -5550,7 +5550,7 @@ :page "77-83", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", :source "Crossref", - :is-referenced-by-count 2, + :is-referenced-by-count 3, :title ["The role of oxytocin in modulating interpersonal space: A pharmacological fMRI study"], :prefix "10.1016", @@ -5603,7 +5603,7 @@ :date-time "2017-06-25T03:19:26Z", :timestamp 1498360766000}, :issued {:date-parts [[2017 2 1]]}, - :references-count 47, + :references-count 0, :alternative-id ["S0306453016304668"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.10.021", :ISSN ["0306-4530"], @@ -5626,7 +5626,7 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 51, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -5711,7 +5711,7 @@ :date-time "2017-11-30T15:51:29Z", :timestamp 1512057089000}, :issued {:date-parts [[2017 1 1]]}, - :references-count 51, + :references-count 0, :alternative-id ["S0306453016308587"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.10.022", :ISSN ["0306-4530"], @@ -5734,7 +5734,7 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 54, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -5773,7 +5773,7 @@ :page "97-106", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", :source "Crossref", - :is-referenced-by-count 5, + :is-referenced-by-count 6, :title ["Motherhood and infant contact regulate neuroplasticity in the serotonergic midbrain dorsal raphe"], :prefix "10.1016", @@ -5806,7 +5806,7 @@ :date-time "2017-06-25T04:01:56Z", :timestamp 1498363316000}, :issued {:date-parts [[2017 2 1]]}, - :references-count 54, + :references-count 0, :alternative-id ["S0306453016308605"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.10.023", :ISSN ["0306-4530"], @@ -5829,7 +5829,7 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 63, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -5918,7 +5918,7 @@ :date-time "2017-11-30T15:50:13Z", :timestamp 1512057013000}, :issued {:date-parts [[2017 1 1]]}, - :references-count 63, + :references-count 0, :alternative-id ["S0306453016308630"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.10.024", :ISSN ["0306-4530"], @@ -5942,7 +5942,7 @@ "Crown Copyright © 2016 Published by Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 44, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -6027,7 +6027,7 @@ :date-time "2017-11-30T15:49:55Z", :timestamp 1512056995000}, :issued {:date-parts [[2017 1 1]]}, - :references-count 44, + :references-count 0, :alternative-id ["S0306453016308563"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.10.025", :ISSN ["0306-4530"], @@ -6050,7 +6050,7 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 67, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -6152,7 +6152,7 @@ :date-time "2017-11-30T15:51:40Z", :timestamp 1512057100000}, :issued {:date-parts [[2017 1 1]]}, - :references-count 67, + :references-count 0, :alternative-id ["S0306453016308654"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.10.026", :ISSN ["0306-4530"], @@ -6175,7 +6175,7 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 54, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -6280,7 +6280,7 @@ :date-time "2017-06-25T03:19:26Z", :timestamp 1498360766000}, :issued {:date-parts [[2017 2 1]]}, - :references-count 54, + :references-count 0, :alternative-id ["S0306453016304528"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.10.027", :ISSN ["0306-4530"], @@ -6303,7 +6303,7 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 56, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -6335,7 +6335,7 @@ :page "29-37", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", :source "Crossref", - :is-referenced-by-count 0, + :is-referenced-by-count 2, :title ["Maternal care and affective behavior in female offspring: Implication of the neurosteroid/GABAergic system"], :prefix "10.1016", @@ -6368,7 +6368,7 @@ :date-time "2017-06-25T02:56:49Z", :timestamp 1498359409000}, :issued {:date-parts [[2017 2 1]]}, - :references-count 56, + :references-count 0, :alternative-id ["S0306453016304723"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.10.028", :ISSN ["0306-4530"], @@ -6391,7 +6391,7 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 45, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -6475,7 +6475,7 @@ :date-time "2017-06-25T03:33:24Z", :timestamp 1498361604000}, :issued {:date-parts [[2017 2 1]]}, - :references-count 45, + :references-count 0, :alternative-id ["S030645301630470X"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.10.029", :ISSN ["0306-4530"], @@ -6510,9 +6510,9 @@ :publisher "Elsevier BV", :license [{:start - {:date-parts [[2017 3 17]], - :date-time "2017-03-17T15:31:03Z", - :timestamp 1489764663000}, + {:date-parts [[2017 4 1]], + :date-time "2017-04-01T00:00:00Z", + :timestamp 1491004800000}, :content-version "tdm", :delay-in-days 0, :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], @@ -6522,8 +6522,8 @@ "clinicalkey.jp" "clinicalkey.com" "clinicalkey.es" - "clinicalkey.com.au" "clinicalkey.fr" + "clinicalkey.com.au" "elsevier.com" "sciencedirect.com"], :crossmark-restriction true}, @@ -6578,20 +6578,20 @@ :language "en", :link [{:URL - "http://api.elsevier.com/content/article/PII:S0306453016308757?httpAccept=text/plain", - :content-type "text/plain", + "http://api.elsevier.com/content/article/PII:S0306453016308757?httpAccept=text/xml", + :content-type "text/xml", :content-version "vor", :intended-application "text-mining"} {:URL - "http://api.elsevier.com/content/article/PII:S0306453016308757?httpAccept=text/xml", - :content-type "text/xml", + "http://api.elsevier.com/content/article/PII:S0306453016308757?httpAccept=text/plain", + :content-type "text/plain", :content-version "vor", :intended-application "text-mining"}], :deposited - {:date-parts [[2017 3 17]], - :date-time "2017-03-17T15:31:03Z", - :timestamp 1489764663000}, - :issued {:date-parts [[2017 3 17]]}, + {:date-parts [[2017 12 21]], + :date-time "2017-12-21T03:37:35Z", + :timestamp 1513827455000}, + :issued {:date-parts [[2017 4 1]]}, :references-count 0, :alternative-id ["S0306453016308757"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.11.001", @@ -6620,7 +6620,7 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 64, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -6693,7 +6693,7 @@ :date-time "2017-11-30T15:51:41Z", :timestamp 1512057101000}, :issued {:date-parts [[2017 1 1]]}, - :references-count 64, + :references-count 0, :alternative-id ["S0306453016308824"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.11.002", :ISSN ["0306-4530"], @@ -6716,7 +6716,7 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 81, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -6801,7 +6801,7 @@ :date-time "2017-11-30T15:52:20Z", :timestamp 1512057140000}, :issued {:date-parts [[2017 1 1]]}, - :references-count 81, + :references-count 0, :alternative-id ["S0306453016308836"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.11.003", :ISSN ["0306-4530"], @@ -6824,7 +6824,7 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 50, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -6910,7 +6910,7 @@ :date-time "2017-06-25T03:24:46Z", :timestamp 1498361086000}, :issued {:date-parts [[2017 2 1]]}, - :references-count 50, + :references-count 0, :alternative-id ["S030645301630511X"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.11.004", :ISSN ["0306-4530"], @@ -6934,7 +6934,7 @@ "Crown Copyright © 2016 Published by Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 54, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -7025,7 +7025,7 @@ :date-time "2017-11-30T15:51:46Z", :timestamp 1512057106000}, :issued {:date-parts [[2017 1 1]]}, - :references-count 54, + :references-count 0, :alternative-id ["S0306453016308903"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.11.005", :ISSN ["0306-4530"], @@ -7048,7 +7048,7 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 19, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -7129,7 +7129,7 @@ :date-time "2017-06-25T03:02:43Z", :timestamp 1498359763000}, :issued {:date-parts [[2017 2 1]]}, - :references-count 19, + :references-count 0, :alternative-id ["S0306453016308915"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.11.006", :ISSN ["0306-4530"], @@ -7152,7 +7152,7 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 52, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -7184,7 +7184,7 @@ :page "38-48", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", :source "Crossref", - :is-referenced-by-count 2, + :is-referenced-by-count 6, :title ["Hypothalamic-pituitary-adrenal axis activity and cognition in major depression: The role of remission status"], :prefix "10.1016", @@ -7257,7 +7257,7 @@ :date-time "2017-06-25T03:19:29Z", :timestamp 1498360769000}, :issued {:date-parts [[2017 2 1]]}, - :references-count 52, + :references-count 0, :alternative-id ["S0306453016302293"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.11.007", :ISSN ["0306-4530"], @@ -7280,7 +7280,7 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 67, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -7381,7 +7381,7 @@ :date-time "2017-06-25T03:14:07Z", :timestamp 1498360447000}, :issued {:date-parts [[2017 2 1]]}, - :references-count 67, + :references-count 0, :alternative-id ["S0306453016308952"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.11.008", :ISSN ["0306-4530"], @@ -7404,7 +7404,7 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 19, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -7489,7 +7489,7 @@ :date-time "2017-06-25T03:33:24Z", :timestamp 1498361604000}, :issued {:date-parts [[2017 2 1]]}, - :references-count 19, + :references-count 0, :alternative-id ["S0306453016305005"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.11.009", :ISSN ["0306-4530"], @@ -7512,7 +7512,7 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 17, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -7581,7 +7581,7 @@ :date-time "2017-06-25T03:39:19Z", :timestamp 1498361959000}, :issued {:date-parts [[2017 2 1]]}, - :references-count 17, + :references-count 0, :alternative-id ["S030645301630899X"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.11.010", :ISSN ["0306-4530"], @@ -7604,7 +7604,7 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 36, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -7643,7 +7643,7 @@ :page "144-153", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", :source "Crossref", - :is-referenced-by-count 8, + :is-referenced-by-count 10, :title ["Sociodemographic, lifestyle, and psychosocial determinants of hair cortisol in a South London community sample"], :prefix "10.1016", @@ -7700,7 +7700,7 @@ :date-time "2017-10-09T19:55:05Z", :timestamp 1507578905000}, :issued {:date-parts [[2017 2 1]]}, - :references-count 36, + :references-count 0, :alternative-id ["S0306453016305923"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.11.011", :ISSN ["0306-4530"], @@ -7723,7 +7723,7 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 92, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -7755,7 +7755,7 @@ :page "19-28", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", :source "Crossref", - :is-referenced-by-count 6, + :is-referenced-by-count 7, :title ["Trauma exposure relates to heightened stress, altered amygdala morphology and deficient extinction learning: Implications for psychopathology"], :prefix "10.1016", @@ -7812,7 +7812,7 @@ :date-time "2017-06-25T03:24:39Z", :timestamp 1498361079000}, :issued {:date-parts [[2017 2 1]]}, - :references-count 92, + :references-count 0, :alternative-id ["S0306453016309015"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.11.012", :ISSN ["0306-4530"], @@ -7835,7 +7835,7 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 18, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -7867,7 +7867,7 @@ :page "114-118", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", :source "Crossref", - :is-referenced-by-count 0, + :is-referenced-by-count 1, :title ["Association between dehydroepiandrosterone-sulfate and attention in long-term survivors of childhood acute lymphoblastic leukemia treated with only chemotherapy"], :prefix "10.1016", @@ -7936,7 +7936,7 @@ :date-time "2017-06-25T03:46:05Z", :timestamp 1498362365000}, :issued {:date-parts [[2017 2 1]]}, - :references-count 18, + :references-count 0, :alternative-id ["S0306453016305601"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.11.014", :ISSN ["0306-4530"], @@ -7959,7 +7959,7 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 69, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -8041,7 +8041,7 @@ :date-time "2017-06-25T03:46:01Z", :timestamp 1498362361000}, :issued {:date-parts [[2017 2 1]]}, - :references-count 69, + :references-count 0, :alternative-id ["S0306453016305996"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.11.015", :ISSN ["0306-4530"], @@ -8064,7 +8064,7 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 20, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -8156,7 +8156,7 @@ :date-time "2017-08-18T11:20:23Z", :timestamp 1503055223000}, :issued {:date-parts [[2017 3 1]]}, - :references-count 20, + :references-count 0, :alternative-id ["S0306453016302049"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.11.016", :ISSN ["0306-4530"], @@ -8179,7 +8179,7 @@ {:value "© 2016 The Authors. Published by Elsevier Ltd.", :name "copyright", :label "Copyright"}]} - {:reference-count 47, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -8211,7 +8211,7 @@ :page "174-182", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", :source "Crossref", - :is-referenced-by-count 2, + :is-referenced-by-count 3, :title ["Women recovering from social rejection: The effect of the person and the situation on a hormonal mechanism of affiliation"], :prefix "10.1016", @@ -8252,7 +8252,7 @@ :date-time "2017-06-25T04:14:47Z", :timestamp 1498364087000}, :issued {:date-parts [[2017 2 1]]}, - :references-count 47, + :references-count 0, :alternative-id ["S0306453016305066"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.11.017", :ISSN ["0306-4530"], @@ -8275,7 +8275,7 @@ {:value "Published by Elsevier Ltd.", :name "copyright", :label "Copyright"}]} - {:reference-count 68, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -8326,7 +8326,7 @@ :page "57-66", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", :source "Crossref", - :is-referenced-by-count 1, + :is-referenced-by-count 3, :title ["Increased anxiety-like behaviors, but blunted cortisol stress response after neonatal hippocampal lesions in monkeys"], :prefix "10.1016", @@ -8371,7 +8371,7 @@ :date-time "2017-10-09T19:55:19Z", :timestamp 1507578919000}, :issued {:date-parts [[2017 2 1]]}, - :references-count 68, + :references-count 0, :alternative-id ["S0306453016309210"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.11.018", :ISSN ["0306-4530"], @@ -8394,7 +8394,7 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 49, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -8426,7 +8426,7 @@ :page "131-140", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", :source "Crossref", - :is-referenced-by-count 8, + :is-referenced-by-count 11, :title ["Rapid effects of dorsal hippocampal G-protein coupled estrogen receptor on learning in female mice"], :prefix "10.1016", @@ -8467,7 +8467,7 @@ :date-time "2017-08-18T11:20:42Z", :timestamp 1503055242000}, :issued {:date-parts [[2017 3 1]]}, - :references-count 49, + :references-count 0, :alternative-id ["S0306453016304267"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.11.019", :ISSN ["0306-4530"], @@ -8490,7 +8490,7 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 15, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -8579,7 +8579,7 @@ :date-time "2017-08-18T11:18:17Z", :timestamp 1503055097000}, :issued {:date-parts [[2017 3 1]]}, - :references-count 15, + :references-count 0, :alternative-id ["S030645301630703X"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.11.020", :ISSN ["0306-4530"], @@ -8602,7 +8602,7 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 48, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -8642,7 +8642,7 @@ :page "105-111", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", :source "Crossref", - :is-referenced-by-count 3, + :is-referenced-by-count 4, :title ["Allostatic load and reduced cortical thickness in schizophrenia"], :prefix "10.1016", @@ -8699,7 +8699,7 @@ :date-time "2017-08-18T11:19:42Z", :timestamp 1503055182000}, :issued {:date-parts [[2017 3 1]]}, - :references-count 48, + :references-count 0, :alternative-id ["S0306453016307600"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.11.021", :ISSN ["0306-4530"], @@ -8722,7 +8722,7 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 71, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -8791,7 +8791,7 @@ :date-time "2017-06-25T03:59:09Z", :timestamp 1498363149000}, :issued {:date-parts [[2017 2 1]]}, - :references-count 71, + :references-count 0, :alternative-id ["S0306453016309362"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.11.022", :ISSN ["0306-4530"], @@ -8814,7 +8814,7 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 18, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -8850,7 +8850,7 @@ :page "51-55", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", :source "Crossref", - :is-referenced-by-count 0, + :is-referenced-by-count 1, :title ["Validation of autonomic and endocrine reactivity to a laboratory stressor in young children"], :prefix "10.1016", @@ -8899,7 +8899,7 @@ :date-time "2017-08-18T11:20:22Z", :timestamp 1503055222000}, :issued {:date-parts [[2017 3 1]]}, - :references-count 18, + :references-count 0, :alternative-id ["S0306453016306503"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.11.023", :ISSN ["0306-4530"], @@ -8922,7 +8922,7 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 46, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -9014,7 +9014,7 @@ :date-time "2017-08-18T11:19:36Z", :timestamp 1503055176000}, :issued {:date-parts [[2017 3 1]]}, - :references-count 46, + :references-count 0, :alternative-id ["S030645301630498X"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.11.024", :ISSN ["0306-4530"], @@ -9037,7 +9037,7 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 48, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -9069,7 +9069,7 @@ :page "112-121", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", :source "Crossref", - :is-referenced-by-count 2, + :is-referenced-by-count 4, :title ["Association between anxiety and metabolic syndrome: A systematic review and meta-analysis of epidemiological studies"], :prefix "10.1016", @@ -9103,7 +9103,7 @@ :date-time "2017-08-18T11:20:48Z", :timestamp 1503055248000}, :issued {:date-parts [[2017 3 1]]}, - :references-count 48, + :references-count 0, :alternative-id ["S0306453016304711"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.11.025", :ISSN ["0306-4530"], @@ -9126,7 +9126,7 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 36, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -9234,7 +9234,7 @@ :date-time "2017-08-18T11:20:04Z", :timestamp 1503055204000}, :issued {:date-parts [[2017 3 1]]}, - :references-count 36, + :references-count 0, :alternative-id ["S0306453016305364"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.11.026", :ISSN ["0306-4530"], @@ -9257,7 +9257,7 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 66, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -9289,7 +9289,7 @@ :page "95-104", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", :source "Crossref", - :is-referenced-by-count 4, + :is-referenced-by-count 5, :title ["Stress disrupts the reconsolidation of fear memories in men"], :prefix "10.1016", @@ -9322,7 +9322,7 @@ :date-time "2017-08-18T11:19:44Z", :timestamp 1503055184000}, :issued {:date-parts [[2017 3 1]]}, - :references-count 66, + :references-count 0, :alternative-id ["S0306453016305583"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.11.027", :ISSN ["0306-4530"], @@ -9345,7 +9345,7 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 52, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -9377,7 +9377,7 @@ :page "203-210", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", :source "Crossref", - :is-referenced-by-count 0, + :is-referenced-by-count 1, :title ["Altered cerebral insulin response in transgenic mice expressing the epsilon-4 allele of the human apolipoprotein E gene"], :prefix "10.1016", @@ -9430,7 +9430,7 @@ :date-time "2017-08-18T11:18:57Z", :timestamp 1503055137000}, :issued {:date-parts [[2017 3 1]]}, - :references-count 52, + :references-count 0, :alternative-id ["S0306453016306199"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.11.028", :ISSN ["0306-4530"], @@ -9453,7 +9453,7 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 30, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -9546,7 +9546,7 @@ :date-time "2017-08-18T11:19:04Z", :timestamp 1503055144000}, :issued {:date-parts [[2017 3 1]]}, - :references-count 30, + :references-count 0, :alternative-id ["S0306453016307922"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.11.029", :ISSN ["0306-4530"], @@ -9569,7 +9569,7 @@ {:value "© 2016 The Authors. Published by Elsevier Ltd.", :name "copyright", :label "Copyright"}]} - {:reference-count 73, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -9601,7 +9601,7 @@ :page "9-17", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", :source "Crossref", - :is-referenced-by-count 3, + :is-referenced-by-count 4, :title ["Effects of the cortisol stress response on the psychotherapy outcome of panic disorder patients"], :prefix "10.1016", @@ -9642,7 +9642,7 @@ :date-time "2017-08-18T11:20:32Z", :timestamp 1503055232000}, :issued {:date-parts [[2017 3 1]]}, - :references-count 73, + :references-count 0, :alternative-id ["S0306453016308125"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.11.030", :ISSN ["0306-4530"], @@ -9665,7 +9665,7 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 55, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -9709,7 +9709,7 @@ :page "197-205", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", :source "Crossref", - :is-referenced-by-count 19, + :is-referenced-by-count 22, :title ["Oxidative stress, inflammation and treatment response in major depression"], :prefix "10.1016", @@ -9786,7 +9786,7 @@ :date-time "2017-06-25T04:53:05Z", :timestamp 1498366385000}, :issued {:date-parts [[2017 2 1]]}, - :references-count 55, + :references-count 0, :alternative-id ["S0306453016306862"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.11.031", :ISSN ["0306-4530"], @@ -9809,7 +9809,7 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 35, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -9841,7 +9841,7 @@ :page "154-161", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", :source "Crossref", - :is-referenced-by-count 0, + :is-referenced-by-count 1, :title ["Adolescent binge alcohol exposure increases risk assessment behaviors in male Wistar rats after exposure to an acute psychological stressor in adulthood"], :prefix "10.1016", @@ -9882,7 +9882,7 @@ :date-time "2017-06-25T04:53:02Z", :timestamp 1498366382000}, :issued {:date-parts [[2017 2 1]]}, - :references-count 35, + :references-count 0, :alternative-id ["S0306453016309623"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.11.032", :ISSN ["0306-4530"], @@ -9905,7 +9905,7 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 37, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -9941,7 +9941,7 @@ :page "135-143", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", :source "Crossref", - :is-referenced-by-count 8, + :is-referenced-by-count 11, :title ["Combined oral contraceptive use is associated with both improvement and worsening of mood in the different phases of the treatment cycle—A double-blind, placebo-controlled randomized trial"], :prefix "10.1016", @@ -10010,7 +10010,7 @@ :date-time "2017-06-25T04:46:28Z", :timestamp 1498365988000}, :issued {:date-parts [[2017 2 1]]}, - :references-count 37, + :references-count 0, :alternative-id ["S0306453016309635"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.11.033", :ISSN ["0306-4530"], @@ -10033,7 +10033,7 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 13, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -10138,7 +10138,7 @@ :date-time "2017-06-25T05:03:55Z", :timestamp 1498367035000}, :issued {:date-parts [[2017 2 1]]}, - :references-count 13, + :references-count 0, :alternative-id ["S0306453016309659"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.11.034", :ISSN ["0306-4530"], @@ -10161,7 +10161,7 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 44, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -10193,7 +10193,7 @@ :page "122-130", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", :source "Crossref", - :is-referenced-by-count 0, + :is-referenced-by-count 1, :title ["Higher serum DHEA concentrations before and after SSRI treatment are associated with remission of major depression"], :prefix "10.1016", @@ -10262,7 +10262,7 @@ :date-time "2017-08-18T11:20:11Z", :timestamp 1503055211000}, :issued {:date-parts [[2017 3 1]]}, - :references-count 44, + :references-count 0, :alternative-id ["S0306453016307466"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.11.035", :ISSN ["0306-4530"], @@ -10285,7 +10285,7 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 60, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -10317,7 +10317,7 @@ :page "25-36", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", :source "Crossref", - :is-referenced-by-count 25, + :is-referenced-by-count 30, :title ["Cortisol stress reactivity across psychiatric disorders: A systematic review and meta-analysis"], :prefix "10.1016", @@ -10366,7 +10366,7 @@ :date-time "2017-08-18T11:20:42Z", :timestamp 1503055242000}, :issued {:date-parts [[2017 3 1]]}, - :references-count 60, + :references-count 0, :alternative-id ["S0306453016304735"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.11.036", :ISSN ["0306-4530"], @@ -10389,7 +10389,7 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 63, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -10422,7 +10422,7 @@ :page "162-173", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", :source "Crossref", - :is-referenced-by-count 5, + :is-referenced-by-count 6, :title ["Mineralocorticoid receptor haplotype, estradiol, progesterone and emotional information processing"], :prefix "10.1016", @@ -10467,7 +10467,7 @@ :date-time "2017-06-25T04:49:46Z", :timestamp 1498366186000}, :issued {:date-parts [[2017 2 1]]}, - :references-count 63, + :references-count 0, :alternative-id ["S0306453016309660"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.11.037", :ISSN ["0306-4530"], @@ -10490,7 +10490,7 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 55, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -10522,7 +10522,7 @@ :page "18-24", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", :source "Crossref", - :is-referenced-by-count 3, + :is-referenced-by-count 4, :title ["Oxytocin modulates third-party sanctioning of selfish and generous behavior within and between groups"], :prefix "10.1016", @@ -10563,7 +10563,7 @@ :date-time "2017-08-18T11:19:04Z", :timestamp 1503055144000}, :issued {:date-parts [[2017 3 1]]}, - :references-count 55, + :references-count 0, :alternative-id ["S0306453016308678"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.11.039", :ISSN ["0306-4530"], @@ -10586,7 +10586,7 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 53, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -10675,7 +10675,7 @@ :date-time "2017-08-18T11:19:14Z", :timestamp 1503055154000}, :issued {:date-parts [[2017 3 1]]}, - :references-count 53, + :references-count 0, :alternative-id ["S0306453016304279"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.11.040", :ISSN ["0306-4530"], @@ -10698,7 +10698,7 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 24, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -10782,7 +10782,7 @@ :date-time "2017-08-18T11:19:33Z", :timestamp 1503055173000}, :issued {:date-parts [[2017 3 1]]}, - :references-count 24, + :references-count 0, :alternative-id ["S0306453016305315"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.12.002", :ISSN ["0306-4530"], @@ -10805,7 +10805,7 @@ {:value "© 2016 The Authors. Published by Elsevier Ltd.", :name "copyright", :label "Copyright"}]} - {:reference-count 42, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -10837,7 +10837,7 @@ :page "84-89", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", :source "Crossref", - :is-referenced-by-count 0, + :is-referenced-by-count 1, :title ["OXTR polymorphism in depression and completed suicide—A study on a large population sample"], :prefix "10.1016", @@ -10906,7 +10906,7 @@ :date-time "2017-08-18T11:20:37Z", :timestamp 1503055237000}, :issued {:date-parts [[2017 3 1]]}, - :references-count 42, + :references-count 0, :alternative-id ["S0306453016307132"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.12.003", :ISSN ["0306-4530"], @@ -10929,7 +10929,7 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 49, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -10998,7 +10998,7 @@ :date-time "2017-08-18T11:19:42Z", :timestamp 1503055182000}, :issued {:date-parts [[2017 3 1]]}, - :references-count 49, + :references-count 0, :alternative-id ["S0306453016302268"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.12.004", :ISSN ["0306-4530"], @@ -11021,7 +11021,7 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 73, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -11061,7 +11061,7 @@ :page "206-217", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", :source "Crossref", - :is-referenced-by-count 4, + :is-referenced-by-count 5, :title ["Sex-specific associations of testosterone with prefrontal-hippocampal development and executive function"], :prefix "10.1016", @@ -11122,7 +11122,7 @@ :date-time "2017-06-25T05:32:33Z", :timestamp 1498368753000}, :issued {:date-parts [[2017 2 1]]}, - :references-count 73, + :references-count 0, :alternative-id ["S0306453016309994"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.12.005", :ISSN ["0306-4530"], @@ -11145,7 +11145,7 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 66, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -11218,7 +11218,7 @@ :date-time "2017-08-18T11:19:11Z", :timestamp 1503055151000}, :issued {:date-parts [[2017 3 1]]}, - :references-count 66, + :references-count 0, :alternative-id ["S0306453016306801"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.12.006", :ISSN ["0306-4530"], @@ -11241,7 +11241,7 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 48, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -11311,7 +11311,7 @@ :date-time "2017-08-18T11:18:43Z", :timestamp 1503055123000}, :issued {:date-parts [[2017 3 1]]}, - :references-count 48, + :references-count 0, :alternative-id ["S0306453016310289"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.12.008", :ISSN ["0306-4530"], @@ -11334,7 +11334,7 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 47, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -11366,7 +11366,7 @@ :page "151-156", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", :source "Crossref", - :is-referenced-by-count 1, + :is-referenced-by-count 3, :title ["Neurocognitive deficits or stress overload: Why do individuals with schizophrenia show poor performance in neurocognitive tests?"], :prefix "10.1016", @@ -11403,7 +11403,7 @@ :date-time "2017-05-12T09:18:40Z", :timestamp 1494580720000}, :issued {:date-parts [[2017 5 1]]}, - :references-count 47, + :references-count 0, :alternative-id ["S0920996416304959"], :URL "http://dx.doi.org/10.1016/j.schres.2016.11.002", :ISSN ["0920-9964"], @@ -11426,7 +11426,7 @@ {:value "© 2016 Elsevier B.V. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 59, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -11509,7 +11509,7 @@ :date-time "2017-06-13T02:49:45Z", :timestamp 1497322185000}, :issued {:date-parts [[2017 6 13]]}, - :references-count 59, + :references-count 0, :alternative-id ["S0920996416305904"], :URL "http://dx.doi.org/10.1016/j.schres.2016.12.016", :ISSN ["0920-9964"], @@ -11532,7 +11532,7 @@ {:value "© 2016 Elsevier B.V. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 51, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -11556,7 +11556,7 @@ :page "61-67", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", :source "Crossref", - :is-referenced-by-count 2, + :is-referenced-by-count 4, :title ["Intraindividual stability of cortisol and cortisone and the ratio of cortisol to cortisone in saliva, urine and hair"], :prefix "10.1016", @@ -11601,7 +11601,7 @@ :date-time "2017-06-25T06:09:59Z", :timestamp 1498370999000}, :issued {:date-parts [[2017 2 1]]}, - :references-count 51, + :references-count 0, :alternative-id ["S0039128X16301969"], :URL "http://dx.doi.org/10.1016/j.steroids.2016.12.008", :ISSN ["0039-128X"], @@ -11622,7 +11622,7 @@ {:value "© 2016 Elsevier Inc. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 357, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -11659,7 +11659,7 @@ :page "83-102", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", :source "Crossref", - :is-referenced-by-count 7, + :is-referenced-by-count 9, :title ["The exercise-glucocorticoid paradox: How exercise is beneficial to cognition, mood, and the brain while increasing glucocorticoid levels"], :prefix "10.1016", @@ -11708,7 +11708,7 @@ :date-time "2017-06-25T05:38:47Z", :timestamp 1498369127000}, :issued {:date-parts [[2017 1 1]]}, - :references-count 357, + :references-count 0, :alternative-id ["S0091302216300619"], :URL "http://dx.doi.org/10.1016/j.yfrne.2016.12.001", :ISSN ["0091-3022"], @@ -11731,7 +11731,7 @@ {:value "© 2016 Elsevier Inc. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 152, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -11768,7 +11768,7 @@ :page "122-137", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", :source "Crossref", - :is-referenced-by-count 6, + :is-referenced-by-count 12, :title ["Puberty and structural brain development in humans"], :prefix "10.1016", :volume "44", @@ -11800,7 +11800,7 @@ :date-time "2017-06-10T02:01:10Z", :timestamp 1497060070000}, :issued {:date-parts [[2017 1 1]]}, - :references-count 152, + :references-count 0, :alternative-id ["S0091302216300632"], :URL "http://dx.doi.org/10.1016/j.yfrne.2016.12.003", :ISSN ["0091-3022"], @@ -11822,7 +11822,7 @@ {:value "© 2017 Elsevier Inc. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 82, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -11851,7 +11851,7 @@ :page "16-24", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", :source "Crossref", - :is-referenced-by-count 7, + :is-referenced-by-count 10, :title ["Oxytocin receptors modulate a social salience neural network in male prairie voles"], :prefix "10.1016", @@ -11896,7 +11896,7 @@ :date-time "2017-08-24T19:55:39Z", :timestamp 1503604539000}, :issued {:date-parts [[2017 1 1]]}, - :references-count 82, + :references-count 0, :alternative-id ["S0018506X1630280X"], :URL "http://dx.doi.org/10.1016/j.yhbeh.2016.10.009", :ISSN ["0018-506X"], @@ -11919,7 +11919,7 @@ {:value "Published by Elsevier Inc.", :name "copyright", :label "Copyright"}]} - {:reference-count 98, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -11992,7 +11992,7 @@ :date-time "2017-06-16T02:48:07Z", :timestamp 1497581287000}, :issued {:date-parts [[2017 6 1]]}, - :references-count 98, + :references-count 0, :alternative-id ["S0018506X16301039"], :URL "http://dx.doi.org/10.1016/j.yhbeh.2016.10.014", :ISSN ["0018-506X"], @@ -12015,7 +12015,7 @@ {:value "© 2016 Elsevier Inc. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 112, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -12093,7 +12093,7 @@ :date-time "2017-06-16T02:47:24Z", :timestamp 1497581244000}, :issued {:date-parts [[2017 6 1]]}, - :references-count 112, + :references-count 0, :alternative-id ["S0018506X16300277"], :URL "http://dx.doi.org/10.1016/j.yhbeh.2016.10.020", :ISSN ["0018-506X"], @@ -12116,7 +12116,7 @@ {:value "© 2016 Elsevier Inc. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 76, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -12177,7 +12177,7 @@ :date-time "2017-06-16T02:46:21Z", :timestamp 1497581181000}, :issued {:date-parts [[2017 6 1]]}, - :references-count 76, + :references-count 0, :alternative-id ["S0018506X1630023X"], :URL "http://dx.doi.org/10.1016/j.yhbeh.2016.11.003", :ISSN ["0018-506X"], @@ -12200,7 +12200,7 @@ {:value "© 2016 Elsevier Inc. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 104, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -12253,7 +12253,7 @@ :date-time "2017-06-16T02:47:38Z", :timestamp 1497581258000}, :issued {:date-parts [[2017 6 1]]}, - :references-count 104, + :references-count 0, :alternative-id ["S0018506X16300848"], :URL "http://dx.doi.org/10.1016/j.yhbeh.2016.11.006", :ISSN ["0018-506X"], @@ -12276,7 +12276,7 @@ {:value "© 2016 Elsevier Inc. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 171, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -12312,7 +12312,7 @@ :page "113-126", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", :source "Crossref", - :is-referenced-by-count 6, + :is-referenced-by-count 9, :title ["The Trier Social Stress Test: Principles and practice"], :prefix "10.1016", :volume "6", @@ -12360,7 +12360,7 @@ :date-time "2017-07-13T16:58:45Z", :timestamp 1499965125000}, :issued {:date-parts [[2017 2 1]]}, - :references-count 171, + :references-count 0, :alternative-id ["S2352289516300224"], :URL "http://dx.doi.org/10.1016/j.ynstr.2016.11.001", :ISSN ["2352-2895"], @@ -12382,7 +12382,7 @@ {:value "© 2016 The Authors. Published by Elsevier Inc.", :name "copyright", :label "Copyright"}]} - {:reference-count 68, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -12456,7 +12456,7 @@ :date-time "2017-06-25T03:10:36Z", :timestamp 1498360236000}, :issued {:date-parts [[2017 1 1]]}, - :references-count 68, + :references-count 0, :alternative-id ["S0091743516303486"], :URL "http://dx.doi.org/10.1016/j.ypmed.2016.11.003", :ISSN ["0091-7435"], diff --git a/dev-resources/titles.edn b/dev-resources/titles.edn index 8a69e6a3..c0066743 100644 --- a/dev-resources/titles.edn +++ b/dev-resources/titles.edn @@ -839,7 +839,7 @@ :abstracts-backfile 0, :resource-links-current 1.0, :abstracts-current 0.0, - :references-current 0.9868421052631579}, + :references-current 0.0}, :title "Psychoneuroendocrinology", :subjects [], :flags @@ -857,7 +857,7 @@ :deposits-abstracts-backfile false, :deposits-licenses-backfile false, :deposits-award-numbers-backfile false, - :deposits-references-current true, + :deposits-references-current false, :deposits-resource-links-backfile false, :deposits-orcids-backfile false, :deposits-funders-backfile false, diff --git a/dev-resources/titles/0306-4530-works.edn b/dev-resources/titles/0306-4530-works.edn index ef9ccf71..2afd1e8d 100644 --- a/dev-resources/titles/0306-4530-works.edn +++ b/dev-resources/titles/0306-4530-works.edn @@ -1,7 +1,7 @@ {:facets {}, :total-results 76, :items - ({:reference-count 34, + ({:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -70,7 +70,7 @@ :date-time "2017-11-30T15:51:07Z", :timestamp 1512057067000}, :issued {:date-parts [[2017 1 1]]}, - :references-count 34, + :references-count 0, :alternative-id ["S0306453016307545"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.09.025", :ISSN ["0306-4530"], @@ -93,7 +93,7 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 55, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -178,7 +178,7 @@ :date-time "2017-06-25T00:40:57Z", :timestamp 1498351257000}, :issued {:date-parts [[2016 12 1]]}, - :references-count 55, + :references-count 0, :alternative-id ["S0306453016307594"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.09.027", :ISSN ["0306-4530"], @@ -201,7 +201,7 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 67, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -237,7 +237,7 @@ :page "371-379", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", :source "Crossref", - :is-referenced-by-count 2, + :is-referenced-by-count 4, :title ["Subcortical gray matter changes in transgender subjects after long-term cross-sex hormone administration"], :prefix "10.1016", @@ -310,7 +310,7 @@ :date-time "2017-06-25T00:42:04Z", :timestamp 1498351324000}, :issued {:date-parts [[2016 12 1]]}, - :references-count 67, + :references-count 0, :alternative-id ["S0306453016307144"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.09.028", :ISSN ["0306-4530"], @@ -333,7 +333,7 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 80, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -365,7 +365,7 @@ :page "387-396", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", :source "Crossref", - :is-referenced-by-count 2, + :is-referenced-by-count 3, :title ["Exploring the neural mechanisms of finasteride: a proteomic analysis in the nucleus accumbens"], :prefix "10.1016", @@ -422,7 +422,7 @@ :date-time "2017-06-25T00:44:04Z", :timestamp 1498351444000}, :issued {:date-parts [[2016 12 1]]}, - :references-count 80, + :references-count 0, :alternative-id ["S0306453016307715"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.10.001", :ISSN ["0306-4530"], @@ -445,7 +445,7 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 13, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -478,7 +478,7 @@ :page "52-55", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", :source "Crossref", - :is-referenced-by-count 2, + :is-referenced-by-count 4, :title ["Testing the ecological validity of the Trier Social Stress Test: Association with real-life exam stress"], :prefix "10.1016", @@ -531,7 +531,7 @@ :date-time "2017-11-30T15:51:13Z", :timestamp 1512057073000}, :issued {:date-parts [[2017 1 1]]}, - :references-count 13, + :references-count 0, :alternative-id ["S0306453016307740"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.10.002", :ISSN ["0306-4530"], @@ -554,7 +554,7 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 59, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -586,7 +586,7 @@ :page "26-35", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", :source "Crossref", - :is-referenced-by-count 0, + :is-referenced-by-count 1, :title ["Do sex hormones or hormone therapy modify the relation of n-3 fatty acids with incident depressive symptoms in postmenopausal women? The MESA Study"], :prefix "10.1016", @@ -639,7 +639,7 @@ :date-time "2017-11-30T15:50:29Z", :timestamp 1512057029000}, :issued {:date-parts [[2017 1 1]]}, - :references-count 59, + :references-count 0, :alternative-id ["S0306453016307867"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.10.003", :ISSN ["0306-4530"], @@ -662,7 +662,7 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 95, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -723,7 +723,7 @@ :date-time "2017-11-30T15:50:55Z", :timestamp 1512057055000}, :issued {:date-parts [[2017 1 1]]}, - :references-count 95, + :references-count 0, :alternative-id ["S0306453016307880"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.10.004", :ISSN ["0306-4530"], @@ -746,7 +746,7 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 74, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -782,7 +782,7 @@ :page "56-63", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", :source "Crossref", - :is-referenced-by-count 5, + :is-referenced-by-count 7, :title ["Prenatal maternal cortisol concentrations predict neurodevelopment in middle childhood"], :prefix "10.1016", @@ -823,7 +823,7 @@ :date-time "2017-11-30T15:51:09Z", :timestamp 1512057069000}, :issued {:date-parts [[2017 1 1]]}, - :references-count 74, + :references-count 0, :alternative-id ["S0306453016307892"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.10.005", :ISSN ["0306-4530"], @@ -846,7 +846,7 @@ {:value "© 2016 Published by Elsevier Ltd.", :name "copyright", :label "Copyright"}]} - {:reference-count 15, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -923,7 +923,7 @@ :date-time "2017-11-30T15:51:34Z", :timestamp 1512057094000}, :issued {:date-parts [[2017 1 1]]}, - :references-count 15, + :references-count 0, :alternative-id ["S0306453016307909"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.10.006", :ISSN ["0306-4530"], @@ -946,7 +946,7 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 54, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -1035,7 +1035,7 @@ :date-time "2017-11-30T15:51:31Z", :timestamp 1512057091000}, :issued {:date-parts [[2017 1 1]]}, - :references-count 54, + :references-count 0, :alternative-id ["S0306453016305327"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.10.007", :ISSN ["0306-4530"], @@ -1058,7 +1058,7 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 51, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -1131,7 +1131,7 @@ :date-time "2017-11-30T15:51:48Z", :timestamp 1512057108000}, :issued {:date-parts [[2017 1 1]]}, - :references-count 51, + :references-count 0, :alternative-id ["S0306453016302190"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.10.008", :ISSN ["0306-4530"], @@ -1154,7 +1154,7 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 48, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -1228,7 +1228,7 @@ :date-time "2017-11-30T15:51:22Z", :timestamp 1512057082000}, :issued {:date-parts [[2017 1 1]]}, - :references-count 48, + :references-count 0, :alternative-id ["S0306453016307983"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.10.009", :ISSN ["0306-4530"], @@ -1251,7 +1251,7 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 83, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -1360,7 +1360,7 @@ :date-time "2017-11-30T15:50:59Z", :timestamp 1512057059000}, :issued {:date-parts [[2017 1 1]]}, - :references-count 83, + :references-count 0, :alternative-id ["S0306453016308022"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.10.010", :ISSN ["0306-4530"], @@ -1383,7 +1383,7 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 70, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -1482,7 +1482,7 @@ :date-time "2017-06-25T02:55:28Z", :timestamp 1498359328000}, :issued {:date-parts [[2017 2 1]]}, - :references-count 70, + :references-count 0, :alternative-id ["S030645301630806X"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.10.011", :ISSN ["0306-4530"], @@ -1505,7 +1505,7 @@ {:value "Published by Elsevier Ltd.", :name "copyright", :label "Copyright"}]} - {:reference-count 64, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -1586,7 +1586,7 @@ :date-time "2017-11-30T15:51:44Z", :timestamp 1512057104000}, :issued {:date-parts [[2017 1 1]]}, - :references-count 64, + :references-count 0, :alternative-id ["S0306453016308083"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.10.012", :ISSN ["0306-4530"], @@ -1609,7 +1609,7 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 88, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -1674,7 +1674,7 @@ :date-time "2017-11-30T15:51:18Z", :timestamp 1512057078000}, :issued {:date-parts [[2017 1 1]]}, - :references-count 88, + :references-count 0, :alternative-id ["S0306453016302128"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.10.013", :ISSN ["0306-4530"], @@ -1697,7 +1697,7 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 45, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -1766,7 +1766,7 @@ :date-time "2017-11-30T15:50:41Z", :timestamp 1512057041000}, :issued {:date-parts [[2017 1 1]]}, - :references-count 45, + :references-count 0, :alternative-id ["S0306453016308216"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.10.014", :ISSN ["0306-4530"], @@ -1789,7 +1789,7 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 39, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -1894,7 +1894,7 @@ :date-time "2017-06-25T01:42:48Z", :timestamp 1498354968000}, :issued {:date-parts [[2017 2 1]]}, - :references-count 39, + :references-count 0, :alternative-id ["S0306453016308332"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.10.015", :ISSN ["0306-4530"], @@ -1917,7 +1917,7 @@ {:value "© 2016 Published by Elsevier Ltd.", :name "copyright", :label "Copyright"}]} - {:reference-count 45, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -2014,7 +2014,7 @@ :date-time "2017-11-30T15:51:26Z", :timestamp 1512057086000}, :issued {:date-parts [[2017 1 1]]}, - :references-count 45, + :references-count 0, :alternative-id ["S0306453016305595"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.10.016", :ISSN ["0306-4530"], @@ -2037,7 +2037,7 @@ {:value "© 2016 The Authors. Published by Elsevier Ltd.", :name "copyright", :label "Copyright"}]} - {:reference-count 36, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -2069,7 +2069,7 @@ :page "124-131", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", :source "Crossref", - :is-referenced-by-count 3, + :is-referenced-by-count 5, :title ["The impact of perceived intensity and frequency of police work occupational stressors on the cortisol awakening response (CAR): Findings from the BCOPS study"], :prefix "10.1016", @@ -2122,7 +2122,7 @@ :date-time "2017-11-30T15:51:18Z", :timestamp 1512057078000}, :issued {:date-parts [[2017 1 1]]}, - :references-count 36, + :references-count 0, :alternative-id ["S0306453016302025"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.10.017", :ISSN ["0306-4530"], @@ -2145,7 +2145,7 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 83, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -2177,7 +2177,7 @@ :page "132-140", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", :source "Crossref", - :is-referenced-by-count 0, + :is-referenced-by-count 1, :title ["Effects of mineralocorticoid-receptor stimulation on risk taking behavior in young healthy men and women"], :prefix "10.1016", @@ -2226,7 +2226,7 @@ :date-time "2017-11-30T15:51:45Z", :timestamp 1512057105000}, :issued {:date-parts [[2017 1 1]]}, - :references-count 83, + :references-count 0, :alternative-id ["S0306453016308447"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.10.018", :ISSN ["0306-4530"], @@ -2249,7 +2249,7 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 41, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -2288,7 +2288,7 @@ :page "183-191", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", :source "Crossref", - :is-referenced-by-count 5, + :is-referenced-by-count 7, :title ["Cortisol reactivity and suicidal behavior: Investigating the role of hypothalamic-pituitary-adrenal axis responses to stress in suicide attempters and ideators"], :prefix "10.1016", @@ -2333,7 +2333,7 @@ :date-time "2017-11-30T15:51:51Z", :timestamp 1512057111000}, :issued {:date-parts [[2017 1 1]]}, - :references-count 41, + :references-count 0, :alternative-id ["S0306453016308435"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.10.019", :ISSN ["0306-4530"], @@ -2356,7 +2356,7 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 43, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -2445,7 +2445,7 @@ :date-time "2017-11-30T15:50:58Z", :timestamp 1512057058000}, :issued {:date-parts [[2017 1 1]]}, - :references-count 43, + :references-count 0, :alternative-id ["S0306453016308459"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.10.020", :ISSN ["0306-4530"], @@ -2468,7 +2468,7 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 47, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -2500,7 +2500,7 @@ :page "77-83", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", :source "Crossref", - :is-referenced-by-count 2, + :is-referenced-by-count 3, :title ["The role of oxytocin in modulating interpersonal space: A pharmacological fMRI study"], :prefix "10.1016", @@ -2553,7 +2553,7 @@ :date-time "2017-06-25T03:19:26Z", :timestamp 1498360766000}, :issued {:date-parts [[2017 2 1]]}, - :references-count 47, + :references-count 0, :alternative-id ["S0306453016304668"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.10.021", :ISSN ["0306-4530"], @@ -2576,7 +2576,7 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 51, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -2661,7 +2661,7 @@ :date-time "2017-11-30T15:51:29Z", :timestamp 1512057089000}, :issued {:date-parts [[2017 1 1]]}, - :references-count 51, + :references-count 0, :alternative-id ["S0306453016308587"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.10.022", :ISSN ["0306-4530"], @@ -2684,7 +2684,7 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 54, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -2723,7 +2723,7 @@ :page "97-106", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", :source "Crossref", - :is-referenced-by-count 5, + :is-referenced-by-count 6, :title ["Motherhood and infant contact regulate neuroplasticity in the serotonergic midbrain dorsal raphe"], :prefix "10.1016", @@ -2756,7 +2756,7 @@ :date-time "2017-06-25T04:01:56Z", :timestamp 1498363316000}, :issued {:date-parts [[2017 2 1]]}, - :references-count 54, + :references-count 0, :alternative-id ["S0306453016308605"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.10.023", :ISSN ["0306-4530"], @@ -2779,7 +2779,7 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 63, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -2868,7 +2868,7 @@ :date-time "2017-11-30T15:50:13Z", :timestamp 1512057013000}, :issued {:date-parts [[2017 1 1]]}, - :references-count 63, + :references-count 0, :alternative-id ["S0306453016308630"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.10.024", :ISSN ["0306-4530"], @@ -2892,7 +2892,7 @@ "Crown Copyright © 2016 Published by Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 44, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -2977,7 +2977,7 @@ :date-time "2017-11-30T15:49:55Z", :timestamp 1512056995000}, :issued {:date-parts [[2017 1 1]]}, - :references-count 44, + :references-count 0, :alternative-id ["S0306453016308563"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.10.025", :ISSN ["0306-4530"], @@ -3000,7 +3000,7 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 67, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -3102,7 +3102,7 @@ :date-time "2017-11-30T15:51:40Z", :timestamp 1512057100000}, :issued {:date-parts [[2017 1 1]]}, - :references-count 67, + :references-count 0, :alternative-id ["S0306453016308654"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.10.026", :ISSN ["0306-4530"], @@ -3125,7 +3125,7 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 54, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -3230,7 +3230,7 @@ :date-time "2017-06-25T03:19:26Z", :timestamp 1498360766000}, :issued {:date-parts [[2017 2 1]]}, - :references-count 54, + :references-count 0, :alternative-id ["S0306453016304528"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.10.027", :ISSN ["0306-4530"], @@ -3253,7 +3253,7 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 56, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -3285,7 +3285,7 @@ :page "29-37", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", :source "Crossref", - :is-referenced-by-count 0, + :is-referenced-by-count 2, :title ["Maternal care and affective behavior in female offspring: Implication of the neurosteroid/GABAergic system"], :prefix "10.1016", @@ -3318,7 +3318,7 @@ :date-time "2017-06-25T02:56:49Z", :timestamp 1498359409000}, :issued {:date-parts [[2017 2 1]]}, - :references-count 56, + :references-count 0, :alternative-id ["S0306453016304723"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.10.028", :ISSN ["0306-4530"], @@ -3341,7 +3341,7 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 45, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -3425,7 +3425,7 @@ :date-time "2017-06-25T03:33:24Z", :timestamp 1498361604000}, :issued {:date-parts [[2017 2 1]]}, - :references-count 45, + :references-count 0, :alternative-id ["S030645301630470X"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.10.029", :ISSN ["0306-4530"], @@ -3460,9 +3460,9 @@ :publisher "Elsevier BV", :license [{:start - {:date-parts [[2017 3 17]], - :date-time "2017-03-17T15:31:03Z", - :timestamp 1489764663000}, + {:date-parts [[2017 4 1]], + :date-time "2017-04-01T00:00:00Z", + :timestamp 1491004800000}, :content-version "tdm", :delay-in-days 0, :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], @@ -3472,8 +3472,8 @@ "clinicalkey.jp" "clinicalkey.com" "clinicalkey.es" - "clinicalkey.com.au" "clinicalkey.fr" + "clinicalkey.com.au" "elsevier.com" "sciencedirect.com"], :crossmark-restriction true}, @@ -3528,20 +3528,20 @@ :language "en", :link [{:URL - "http://api.elsevier.com/content/article/PII:S0306453016308757?httpAccept=text/plain", - :content-type "text/plain", + "http://api.elsevier.com/content/article/PII:S0306453016308757?httpAccept=text/xml", + :content-type "text/xml", :content-version "vor", :intended-application "text-mining"} {:URL - "http://api.elsevier.com/content/article/PII:S0306453016308757?httpAccept=text/xml", - :content-type "text/xml", + "http://api.elsevier.com/content/article/PII:S0306453016308757?httpAccept=text/plain", + :content-type "text/plain", :content-version "vor", :intended-application "text-mining"}], :deposited - {:date-parts [[2017 3 17]], - :date-time "2017-03-17T15:31:03Z", - :timestamp 1489764663000}, - :issued {:date-parts [[2017 3 17]]}, + {:date-parts [[2017 12 21]], + :date-time "2017-12-21T03:37:35Z", + :timestamp 1513827455000}, + :issued {:date-parts [[2017 4 1]]}, :references-count 0, :alternative-id ["S0306453016308757"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.11.001", @@ -3570,7 +3570,7 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 64, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -3643,7 +3643,7 @@ :date-time "2017-11-30T15:51:41Z", :timestamp 1512057101000}, :issued {:date-parts [[2017 1 1]]}, - :references-count 64, + :references-count 0, :alternative-id ["S0306453016308824"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.11.002", :ISSN ["0306-4530"], @@ -3666,7 +3666,7 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 81, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -3751,7 +3751,7 @@ :date-time "2017-11-30T15:52:20Z", :timestamp 1512057140000}, :issued {:date-parts [[2017 1 1]]}, - :references-count 81, + :references-count 0, :alternative-id ["S0306453016308836"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.11.003", :ISSN ["0306-4530"], @@ -3774,7 +3774,7 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 50, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -3860,7 +3860,7 @@ :date-time "2017-06-25T03:24:46Z", :timestamp 1498361086000}, :issued {:date-parts [[2017 2 1]]}, - :references-count 50, + :references-count 0, :alternative-id ["S030645301630511X"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.11.004", :ISSN ["0306-4530"], @@ -3884,7 +3884,7 @@ "Crown Copyright © 2016 Published by Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 54, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -3975,7 +3975,7 @@ :date-time "2017-11-30T15:51:46Z", :timestamp 1512057106000}, :issued {:date-parts [[2017 1 1]]}, - :references-count 54, + :references-count 0, :alternative-id ["S0306453016308903"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.11.005", :ISSN ["0306-4530"], @@ -3998,7 +3998,7 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 19, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -4079,7 +4079,7 @@ :date-time "2017-06-25T03:02:43Z", :timestamp 1498359763000}, :issued {:date-parts [[2017 2 1]]}, - :references-count 19, + :references-count 0, :alternative-id ["S0306453016308915"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.11.006", :ISSN ["0306-4530"], @@ -4102,7 +4102,7 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 52, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -4134,7 +4134,7 @@ :page "38-48", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", :source "Crossref", - :is-referenced-by-count 2, + :is-referenced-by-count 6, :title ["Hypothalamic-pituitary-adrenal axis activity and cognition in major depression: The role of remission status"], :prefix "10.1016", @@ -4207,7 +4207,7 @@ :date-time "2017-06-25T03:19:29Z", :timestamp 1498360769000}, :issued {:date-parts [[2017 2 1]]}, - :references-count 52, + :references-count 0, :alternative-id ["S0306453016302293"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.11.007", :ISSN ["0306-4530"], @@ -4230,7 +4230,7 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 67, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -4331,7 +4331,7 @@ :date-time "2017-06-25T03:14:07Z", :timestamp 1498360447000}, :issued {:date-parts [[2017 2 1]]}, - :references-count 67, + :references-count 0, :alternative-id ["S0306453016308952"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.11.008", :ISSN ["0306-4530"], @@ -4354,7 +4354,7 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 19, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -4439,7 +4439,7 @@ :date-time "2017-06-25T03:33:24Z", :timestamp 1498361604000}, :issued {:date-parts [[2017 2 1]]}, - :references-count 19, + :references-count 0, :alternative-id ["S0306453016305005"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.11.009", :ISSN ["0306-4530"], @@ -4462,7 +4462,7 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 17, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -4531,7 +4531,7 @@ :date-time "2017-06-25T03:39:19Z", :timestamp 1498361959000}, :issued {:date-parts [[2017 2 1]]}, - :references-count 17, + :references-count 0, :alternative-id ["S030645301630899X"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.11.010", :ISSN ["0306-4530"], @@ -4554,7 +4554,7 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 36, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -4593,7 +4593,7 @@ :page "144-153", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", :source "Crossref", - :is-referenced-by-count 8, + :is-referenced-by-count 10, :title ["Sociodemographic, lifestyle, and psychosocial determinants of hair cortisol in a South London community sample"], :prefix "10.1016", @@ -4650,7 +4650,7 @@ :date-time "2017-10-09T19:55:05Z", :timestamp 1507578905000}, :issued {:date-parts [[2017 2 1]]}, - :references-count 36, + :references-count 0, :alternative-id ["S0306453016305923"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.11.011", :ISSN ["0306-4530"], @@ -4673,7 +4673,7 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 92, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -4705,7 +4705,7 @@ :page "19-28", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", :source "Crossref", - :is-referenced-by-count 6, + :is-referenced-by-count 7, :title ["Trauma exposure relates to heightened stress, altered amygdala morphology and deficient extinction learning: Implications for psychopathology"], :prefix "10.1016", @@ -4762,7 +4762,7 @@ :date-time "2017-06-25T03:24:39Z", :timestamp 1498361079000}, :issued {:date-parts [[2017 2 1]]}, - :references-count 92, + :references-count 0, :alternative-id ["S0306453016309015"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.11.012", :ISSN ["0306-4530"], @@ -4785,7 +4785,7 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 18, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -4817,7 +4817,7 @@ :page "114-118", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", :source "Crossref", - :is-referenced-by-count 0, + :is-referenced-by-count 1, :title ["Association between dehydroepiandrosterone-sulfate and attention in long-term survivors of childhood acute lymphoblastic leukemia treated with only chemotherapy"], :prefix "10.1016", @@ -4886,7 +4886,7 @@ :date-time "2017-06-25T03:46:05Z", :timestamp 1498362365000}, :issued {:date-parts [[2017 2 1]]}, - :references-count 18, + :references-count 0, :alternative-id ["S0306453016305601"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.11.014", :ISSN ["0306-4530"], @@ -4909,7 +4909,7 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 69, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -4991,7 +4991,7 @@ :date-time "2017-06-25T03:46:01Z", :timestamp 1498362361000}, :issued {:date-parts [[2017 2 1]]}, - :references-count 69, + :references-count 0, :alternative-id ["S0306453016305996"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.11.015", :ISSN ["0306-4530"], @@ -5014,7 +5014,7 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 20, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -5106,7 +5106,7 @@ :date-time "2017-08-18T11:20:23Z", :timestamp 1503055223000}, :issued {:date-parts [[2017 3 1]]}, - :references-count 20, + :references-count 0, :alternative-id ["S0306453016302049"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.11.016", :ISSN ["0306-4530"], @@ -5129,7 +5129,7 @@ {:value "© 2016 The Authors. Published by Elsevier Ltd.", :name "copyright", :label "Copyright"}]} - {:reference-count 47, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -5161,7 +5161,7 @@ :page "174-182", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", :source "Crossref", - :is-referenced-by-count 2, + :is-referenced-by-count 3, :title ["Women recovering from social rejection: The effect of the person and the situation on a hormonal mechanism of affiliation"], :prefix "10.1016", @@ -5202,7 +5202,7 @@ :date-time "2017-06-25T04:14:47Z", :timestamp 1498364087000}, :issued {:date-parts [[2017 2 1]]}, - :references-count 47, + :references-count 0, :alternative-id ["S0306453016305066"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.11.017", :ISSN ["0306-4530"], @@ -5225,7 +5225,7 @@ {:value "Published by Elsevier Ltd.", :name "copyright", :label "Copyright"}]} - {:reference-count 68, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -5276,7 +5276,7 @@ :page "57-66", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", :source "Crossref", - :is-referenced-by-count 1, + :is-referenced-by-count 3, :title ["Increased anxiety-like behaviors, but blunted cortisol stress response after neonatal hippocampal lesions in monkeys"], :prefix "10.1016", @@ -5321,7 +5321,7 @@ :date-time "2017-10-09T19:55:19Z", :timestamp 1507578919000}, :issued {:date-parts [[2017 2 1]]}, - :references-count 68, + :references-count 0, :alternative-id ["S0306453016309210"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.11.018", :ISSN ["0306-4530"], @@ -5344,7 +5344,7 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 49, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -5376,7 +5376,7 @@ :page "131-140", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", :source "Crossref", - :is-referenced-by-count 8, + :is-referenced-by-count 11, :title ["Rapid effects of dorsal hippocampal G-protein coupled estrogen receptor on learning in female mice"], :prefix "10.1016", @@ -5417,7 +5417,7 @@ :date-time "2017-08-18T11:20:42Z", :timestamp 1503055242000}, :issued {:date-parts [[2017 3 1]]}, - :references-count 49, + :references-count 0, :alternative-id ["S0306453016304267"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.11.019", :ISSN ["0306-4530"], @@ -5440,7 +5440,7 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 15, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -5529,7 +5529,7 @@ :date-time "2017-08-18T11:18:17Z", :timestamp 1503055097000}, :issued {:date-parts [[2017 3 1]]}, - :references-count 15, + :references-count 0, :alternative-id ["S030645301630703X"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.11.020", :ISSN ["0306-4530"], @@ -5552,7 +5552,7 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 48, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -5592,7 +5592,7 @@ :page "105-111", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", :source "Crossref", - :is-referenced-by-count 3, + :is-referenced-by-count 4, :title ["Allostatic load and reduced cortical thickness in schizophrenia"], :prefix "10.1016", @@ -5649,7 +5649,7 @@ :date-time "2017-08-18T11:19:42Z", :timestamp 1503055182000}, :issued {:date-parts [[2017 3 1]]}, - :references-count 48, + :references-count 0, :alternative-id ["S0306453016307600"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.11.021", :ISSN ["0306-4530"], @@ -5672,7 +5672,7 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 71, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -5741,7 +5741,7 @@ :date-time "2017-06-25T03:59:09Z", :timestamp 1498363149000}, :issued {:date-parts [[2017 2 1]]}, - :references-count 71, + :references-count 0, :alternative-id ["S0306453016309362"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.11.022", :ISSN ["0306-4530"], @@ -5764,7 +5764,7 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 18, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -5800,7 +5800,7 @@ :page "51-55", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", :source "Crossref", - :is-referenced-by-count 0, + :is-referenced-by-count 1, :title ["Validation of autonomic and endocrine reactivity to a laboratory stressor in young children"], :prefix "10.1016", @@ -5849,7 +5849,7 @@ :date-time "2017-08-18T11:20:22Z", :timestamp 1503055222000}, :issued {:date-parts [[2017 3 1]]}, - :references-count 18, + :references-count 0, :alternative-id ["S0306453016306503"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.11.023", :ISSN ["0306-4530"], @@ -5872,7 +5872,7 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 46, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -5964,7 +5964,7 @@ :date-time "2017-08-18T11:19:36Z", :timestamp 1503055176000}, :issued {:date-parts [[2017 3 1]]}, - :references-count 46, + :references-count 0, :alternative-id ["S030645301630498X"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.11.024", :ISSN ["0306-4530"], @@ -5987,7 +5987,7 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 48, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -6019,7 +6019,7 @@ :page "112-121", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", :source "Crossref", - :is-referenced-by-count 2, + :is-referenced-by-count 4, :title ["Association between anxiety and metabolic syndrome: A systematic review and meta-analysis of epidemiological studies"], :prefix "10.1016", @@ -6053,7 +6053,7 @@ :date-time "2017-08-18T11:20:48Z", :timestamp 1503055248000}, :issued {:date-parts [[2017 3 1]]}, - :references-count 48, + :references-count 0, :alternative-id ["S0306453016304711"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.11.025", :ISSN ["0306-4530"], @@ -6076,7 +6076,7 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 36, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -6184,7 +6184,7 @@ :date-time "2017-08-18T11:20:04Z", :timestamp 1503055204000}, :issued {:date-parts [[2017 3 1]]}, - :references-count 36, + :references-count 0, :alternative-id ["S0306453016305364"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.11.026", :ISSN ["0306-4530"], @@ -6207,7 +6207,7 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 66, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -6239,7 +6239,7 @@ :page "95-104", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", :source "Crossref", - :is-referenced-by-count 4, + :is-referenced-by-count 5, :title ["Stress disrupts the reconsolidation of fear memories in men"], :prefix "10.1016", @@ -6272,7 +6272,7 @@ :date-time "2017-08-18T11:19:44Z", :timestamp 1503055184000}, :issued {:date-parts [[2017 3 1]]}, - :references-count 66, + :references-count 0, :alternative-id ["S0306453016305583"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.11.027", :ISSN ["0306-4530"], @@ -6295,7 +6295,7 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 52, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -6327,7 +6327,7 @@ :page "203-210", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", :source "Crossref", - :is-referenced-by-count 0, + :is-referenced-by-count 1, :title ["Altered cerebral insulin response in transgenic mice expressing the epsilon-4 allele of the human apolipoprotein E gene"], :prefix "10.1016", @@ -6380,7 +6380,7 @@ :date-time "2017-08-18T11:18:57Z", :timestamp 1503055137000}, :issued {:date-parts [[2017 3 1]]}, - :references-count 52, + :references-count 0, :alternative-id ["S0306453016306199"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.11.028", :ISSN ["0306-4530"], @@ -6403,7 +6403,7 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 30, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -6496,7 +6496,7 @@ :date-time "2017-08-18T11:19:04Z", :timestamp 1503055144000}, :issued {:date-parts [[2017 3 1]]}, - :references-count 30, + :references-count 0, :alternative-id ["S0306453016307922"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.11.029", :ISSN ["0306-4530"], @@ -6519,7 +6519,7 @@ {:value "© 2016 The Authors. Published by Elsevier Ltd.", :name "copyright", :label "Copyright"}]} - {:reference-count 73, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -6551,7 +6551,7 @@ :page "9-17", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", :source "Crossref", - :is-referenced-by-count 3, + :is-referenced-by-count 4, :title ["Effects of the cortisol stress response on the psychotherapy outcome of panic disorder patients"], :prefix "10.1016", @@ -6592,7 +6592,7 @@ :date-time "2017-08-18T11:20:32Z", :timestamp 1503055232000}, :issued {:date-parts [[2017 3 1]]}, - :references-count 73, + :references-count 0, :alternative-id ["S0306453016308125"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.11.030", :ISSN ["0306-4530"], @@ -6615,7 +6615,7 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 55, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -6659,7 +6659,7 @@ :page "197-205", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", :source "Crossref", - :is-referenced-by-count 19, + :is-referenced-by-count 22, :title ["Oxidative stress, inflammation and treatment response in major depression"], :prefix "10.1016", @@ -6736,7 +6736,7 @@ :date-time "2017-06-25T04:53:05Z", :timestamp 1498366385000}, :issued {:date-parts [[2017 2 1]]}, - :references-count 55, + :references-count 0, :alternative-id ["S0306453016306862"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.11.031", :ISSN ["0306-4530"], @@ -6759,7 +6759,7 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 35, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -6791,7 +6791,7 @@ :page "154-161", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", :source "Crossref", - :is-referenced-by-count 0, + :is-referenced-by-count 1, :title ["Adolescent binge alcohol exposure increases risk assessment behaviors in male Wistar rats after exposure to an acute psychological stressor in adulthood"], :prefix "10.1016", @@ -6832,7 +6832,7 @@ :date-time "2017-06-25T04:53:02Z", :timestamp 1498366382000}, :issued {:date-parts [[2017 2 1]]}, - :references-count 35, + :references-count 0, :alternative-id ["S0306453016309623"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.11.032", :ISSN ["0306-4530"], @@ -6855,7 +6855,7 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 37, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -6891,7 +6891,7 @@ :page "135-143", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", :source "Crossref", - :is-referenced-by-count 8, + :is-referenced-by-count 11, :title ["Combined oral contraceptive use is associated with both improvement and worsening of mood in the different phases of the treatment cycle—A double-blind, placebo-controlled randomized trial"], :prefix "10.1016", @@ -6960,7 +6960,7 @@ :date-time "2017-06-25T04:46:28Z", :timestamp 1498365988000}, :issued {:date-parts [[2017 2 1]]}, - :references-count 37, + :references-count 0, :alternative-id ["S0306453016309635"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.11.033", :ISSN ["0306-4530"], @@ -6983,7 +6983,7 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 13, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -7088,7 +7088,7 @@ :date-time "2017-06-25T05:03:55Z", :timestamp 1498367035000}, :issued {:date-parts [[2017 2 1]]}, - :references-count 13, + :references-count 0, :alternative-id ["S0306453016309659"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.11.034", :ISSN ["0306-4530"], @@ -7111,7 +7111,7 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 44, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -7143,7 +7143,7 @@ :page "122-130", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", :source "Crossref", - :is-referenced-by-count 0, + :is-referenced-by-count 1, :title ["Higher serum DHEA concentrations before and after SSRI treatment are associated with remission of major depression"], :prefix "10.1016", @@ -7212,7 +7212,7 @@ :date-time "2017-08-18T11:20:11Z", :timestamp 1503055211000}, :issued {:date-parts [[2017 3 1]]}, - :references-count 44, + :references-count 0, :alternative-id ["S0306453016307466"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.11.035", :ISSN ["0306-4530"], @@ -7235,7 +7235,7 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 60, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -7267,7 +7267,7 @@ :page "25-36", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", :source "Crossref", - :is-referenced-by-count 25, + :is-referenced-by-count 30, :title ["Cortisol stress reactivity across psychiatric disorders: A systematic review and meta-analysis"], :prefix "10.1016", @@ -7316,7 +7316,7 @@ :date-time "2017-08-18T11:20:42Z", :timestamp 1503055242000}, :issued {:date-parts [[2017 3 1]]}, - :references-count 60, + :references-count 0, :alternative-id ["S0306453016304735"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.11.036", :ISSN ["0306-4530"], @@ -7339,7 +7339,7 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 63, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -7372,7 +7372,7 @@ :page "162-173", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", :source "Crossref", - :is-referenced-by-count 5, + :is-referenced-by-count 6, :title ["Mineralocorticoid receptor haplotype, estradiol, progesterone and emotional information processing"], :prefix "10.1016", @@ -7417,7 +7417,7 @@ :date-time "2017-06-25T04:49:46Z", :timestamp 1498366186000}, :issued {:date-parts [[2017 2 1]]}, - :references-count 63, + :references-count 0, :alternative-id ["S0306453016309660"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.11.037", :ISSN ["0306-4530"], @@ -7440,7 +7440,7 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 55, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -7472,7 +7472,7 @@ :page "18-24", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", :source "Crossref", - :is-referenced-by-count 3, + :is-referenced-by-count 4, :title ["Oxytocin modulates third-party sanctioning of selfish and generous behavior within and between groups"], :prefix "10.1016", @@ -7513,7 +7513,7 @@ :date-time "2017-08-18T11:19:04Z", :timestamp 1503055144000}, :issued {:date-parts [[2017 3 1]]}, - :references-count 55, + :references-count 0, :alternative-id ["S0306453016308678"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.11.039", :ISSN ["0306-4530"], @@ -7536,7 +7536,7 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 53, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -7625,7 +7625,7 @@ :date-time "2017-08-18T11:19:14Z", :timestamp 1503055154000}, :issued {:date-parts [[2017 3 1]]}, - :references-count 53, + :references-count 0, :alternative-id ["S0306453016304279"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.11.040", :ISSN ["0306-4530"], @@ -7648,7 +7648,7 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 24, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -7732,7 +7732,7 @@ :date-time "2017-08-18T11:19:33Z", :timestamp 1503055173000}, :issued {:date-parts [[2017 3 1]]}, - :references-count 24, + :references-count 0, :alternative-id ["S0306453016305315"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.12.002", :ISSN ["0306-4530"], @@ -7755,7 +7755,7 @@ {:value "© 2016 The Authors. Published by Elsevier Ltd.", :name "copyright", :label "Copyright"}]} - {:reference-count 42, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -7787,7 +7787,7 @@ :page "84-89", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", :source "Crossref", - :is-referenced-by-count 0, + :is-referenced-by-count 1, :title ["OXTR polymorphism in depression and completed suicide—A study on a large population sample"], :prefix "10.1016", @@ -7856,7 +7856,7 @@ :date-time "2017-08-18T11:20:37Z", :timestamp 1503055237000}, :issued {:date-parts [[2017 3 1]]}, - :references-count 42, + :references-count 0, :alternative-id ["S0306453016307132"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.12.003", :ISSN ["0306-4530"], @@ -7879,7 +7879,7 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 49, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -7948,7 +7948,7 @@ :date-time "2017-08-18T11:19:42Z", :timestamp 1503055182000}, :issued {:date-parts [[2017 3 1]]}, - :references-count 49, + :references-count 0, :alternative-id ["S0306453016302268"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.12.004", :ISSN ["0306-4530"], @@ -7971,7 +7971,7 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 73, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -8011,7 +8011,7 @@ :page "206-217", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", :source "Crossref", - :is-referenced-by-count 4, + :is-referenced-by-count 5, :title ["Sex-specific associations of testosterone with prefrontal-hippocampal development and executive function"], :prefix "10.1016", @@ -8072,7 +8072,7 @@ :date-time "2017-06-25T05:32:33Z", :timestamp 1498368753000}, :issued {:date-parts [[2017 2 1]]}, - :references-count 73, + :references-count 0, :alternative-id ["S0306453016309994"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.12.005", :ISSN ["0306-4530"], @@ -8095,7 +8095,7 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 66, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -8168,7 +8168,7 @@ :date-time "2017-08-18T11:19:11Z", :timestamp 1503055151000}, :issued {:date-parts [[2017 3 1]]}, - :references-count 66, + :references-count 0, :alternative-id ["S0306453016306801"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.12.006", :ISSN ["0306-4530"], @@ -8191,7 +8191,7 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 48, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -8261,7 +8261,7 @@ :date-time "2017-08-18T11:18:43Z", :timestamp 1503055123000}, :issued {:date-parts [[2017 3 1]]}, - :references-count 48, + :references-count 0, :alternative-id ["S0306453016310289"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.12.008", :ISSN ["0306-4530"], diff --git a/dev-resources/titles/0306-4530.edn b/dev-resources/titles/0306-4530.edn index b3bf4a62..ceb8b79d 100644 --- a/dev-resources/titles/0306-4530.edn +++ b/dev-resources/titles/0306-4530.edn @@ -19,7 +19,7 @@ :abstracts-backfile 0, :resource-links-current 1.0, :abstracts-current 0.0, - :references-current 0.9868421052631579}, + :references-current 0.0}, :title "Psychoneuroendocrinology", :subjects [], :flags @@ -37,7 +37,7 @@ :deposits-abstracts-backfile false, :deposits-licenses-backfile false, :deposits-award-numbers-backfile false, - :deposits-references-current true, + :deposits-references-current false, :deposits-resource-links-backfile false, :deposits-orcids-backfile false, :deposits-funders-backfile false, diff --git a/dev-resources/works/10.1016/j.psyneuen.2016.10.018.edn b/dev-resources/works/10.1016/j.psyneuen.2016.10.018.edn index badad751..c0e17992 100644 --- a/dev-resources/works/10.1016/j.psyneuen.2016.10.018.edn +++ b/dev-resources/works/10.1016/j.psyneuen.2016.10.018.edn @@ -20,7 +20,7 @@ "sciencedirect.com"], :crossmark-restriction true}, :short-container-title ["Psychoneuroendocrinology"], - :published-print {:date-parts [[2017 1]]}, + :published-print {:date-parts [[2017 1 1]]}, :DOI "10.1016/j.psyneuen.2016.10.018", :type "journal-article", :created @@ -81,7 +81,7 @@ :timestamp 1512057105000}, :subtitle [], :short-title [], - :issued {:date-parts [[2017 1]]}, + :issued {:date-parts [[2017 1 1]]}, :references-count 0, :alternative-id ["S0306453016308447"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.10.018", diff --git a/dev-resources/works/10.1084/jem.20151673.edn b/dev-resources/works/10.1084/jem.20151673.edn index ecac0a10..e1d36361 100644 --- a/dev-resources/works/10.1084/jem.20151673.edn +++ b/dev-resources/works/10.1084/jem.20151673.edn @@ -1,9 +1,34 @@ -{:reference-count 3, +{:reference-count 83, :publisher "Rockefeller University Press", :issue "1", - :content-domain {:domain [], :crossmark-restriction false}, + :license + [{:start + {:date-parts [[2016 12 6]], + :date-time "2016-12-06T00:00:00Z", + :timestamp 1480982400000}, + :content-version "vor", + :delay-in-days 0, + :URL "http://www.rupress.org/terms/"} + {:start + {:date-parts [[2017 7 3]], + :date-time "2017-07-03T00:00:00Z", + :timestamp 1499040000000}, + :content-version "vor", + :delay-in-days 209, + :URL "https://creativecommons.org/licenses/by-nc-sa/4.0/"}], + :funder + [{:DOI "10.13039/https://doi.org/10.13039/100000002", + :name "National Institutes of Health", + :doi-asserted-by "publisher"} + {:DOI "10.13039/https://doi.org/10.13039/100000002", + :name "National Institutes of Health", + :doi-asserted-by "publisher"}], + :content-domain + {:domain ["rupress.org"], :crossmark-restriction true}, :short-container-title ["J. Exp. Med."], :published-print {:date-parts [[2017 1 1]]}, + :abstract + "Glioblastoma is the most lethal brain tumor and harbors glioma stem cells (GSCs) with potent tumorigenic capacity. The function of GSCs in tumor propagation is maintained by several core transcriptional regulators including c-Myc. c-Myc protein is tightly regulated by posttranslational modification. However, the posttranslational regulatory mechanisms for c-Myc in GSCs have not been defined. In this study, we demonstrate that the deubiquitinase USP13 stabilizes c-Myc by antagonizing FBXL14-mediated ubiquitination to maintain GSC self-renewal and tumorigenic potential. USP13 was preferentially expressed in GSCs, and its depletion potently inhibited GSC proliferation and tumor growth by promoting c-Myc ubiquitination and degradation. In contrast, overexpression of the ubiquitin E3 ligase FBXL14 induced c-Myc degradation, promoted GSC differentiation, and inhibited tumor growth. Ectopic expression of the ubiquitin-insensitive mutant T58A–c-Myc rescued the effects caused by FBXL14 overexpression or USP13 disruption. These data suggest that USP13 and FBXL14 play opposing roles in the regulation of GSCs through reversible ubiquitination of c-Myc.", :DOI "10.1084/jem.20151673", :type "journal-article", :created @@ -11,8 +36,9 @@ :date-time "2016-12-07T15:10:13Z", :timestamp 1481123413000}, :page "245-267", + :update-policy "http://dx.doi.org/10.1084/jem.crossmarkpolicy", :source "Crossref", - :is-referenced-by-count 6, + :is-referenced-by-count 7, :title ["Deubiquitinase USP13 maintains glioblastoma stem cells by antagonizing FBXL14-mediated Myc ubiquitination"], :prefix "10.1084", @@ -23,6 +49,90 @@ :given "Xiaoguang", :family "Fang", :sequence "first", + :affiliation []} + {:given "Wenchao", + :family "Zhou", + :sequence "additional", + :affiliation []} + {:ORCID "http://orcid.org/0000-0002-2040-4577", + :authenticated-orcid false, + :given "Qiulian", + :family "Wu", + :sequence "additional", + :affiliation []} + {:ORCID "http://orcid.org/0000-0002-8658-7732", + :authenticated-orcid false, + :given "Zhi", + :family "Huang", + :sequence "additional", + :affiliation []} + {:ORCID "http://orcid.org/0000-0002-3380-4545", + :authenticated-orcid false, + :given "Yu", + :family "Shi", + :sequence "additional", + :affiliation []} + {:ORCID "http://orcid.org/0000-0001-5968-6738", + :authenticated-orcid false, + :given "Kailin", + :family "Yang", + :sequence "additional", + :affiliation []} + {:ORCID "http://orcid.org/0000-0001-6552-791X", + :authenticated-orcid false, + :given "Cong", + :family "Chen", + :sequence "additional", + :affiliation []} + {:ORCID "http://orcid.org/0000-0002-2370-2078", + :authenticated-orcid false, + :given "Qi", + :family "Xie", + :sequence "additional", + :affiliation []} + {:given "Stephen C.", + :family "Mack", + :sequence "additional", + :affiliation []} + {:given "Xiuxing", + :family "Wang", + :sequence "additional", + :affiliation []} + {:ORCID "http://orcid.org/0000-0002-8485-426X", + :authenticated-orcid false, + :given "Angel M.", + :family "Carcaboso", + :sequence "additional", + :affiliation []} + {:ORCID "http://orcid.org/0000-0001-9607-5063", + :authenticated-orcid false, + :given "Andrew E.", + :family "Sloan", + :sequence "additional", + :affiliation []} + {:given "Gaoliang", + :family "Ouyang", + :sequence "additional", + :affiliation []} + {:ORCID "http://orcid.org/0000-0001-6682-4588", + :authenticated-orcid false, + :given "Roger E.", + :family "McLendon", + :sequence "additional", + :affiliation []} + {:given "Xiu-wu", + :family "Bian", + :sequence "additional", + :affiliation []} + {:given "Jeremy N.", + :family "Rich", + :sequence "additional", + :affiliation []} + {:ORCID "http://orcid.org/0000-0002-4236-2662", + :authenticated-orcid false, + :given "Shideng", + :family "Bao", + :sequence "additional", :affiliation []}], :member "291", :published-online {:date-parts [[2016 12 6]]}, @@ -40,16 +150,13 @@ :date-time "2017-04-19T23:50:05Z", :timestamp 1492645805000}, :subtitle [], - :free-to-read - {:start-date {:date-parts [[2015 1 15]]}, - :end-date {:date-parts [[2025 1 1]]}}, :short-title [], :issued {:date-parts [[2016 12 6]]}, - :references-count 3, + :references-count 83, :journal-issue {:issue "1", - :published-online {:date-parts [[2017 2 9]]}, - :published-print {:date-parts [[2017 1 2]]}}, + :published-online {:date-parts [[2017 1 2]]}, + :published-print {:date-parts [[2017 1 1]]}}, :alternative-id ["10.1084/jem.20151673"], :URL "http://dx.doi.org/10.1084/jem.20151673", :relation {}, diff --git a/dev-resources/works/10.1101/026963.edn b/dev-resources/works/10.1101/026963.edn index e1171766..45cfc382 100644 --- a/dev-resources/works/10.1101/026963.edn +++ b/dev-resources/works/10.1101/026963.edn @@ -1,11 +1,19 @@ -{:institution {:name "bioRxiv", :place ["-"], :acronym ["-"]}, - :posted {:date-parts [[2015 9 16]]}, - :group-title "Bioinformatics", +{:institution + {:name "bioRxiv", :acronym [nil], :place [nil], :department []}, + :posted + {:date-parts [[2015 9 16]], + :date-time "2015-09-16T00:00:00Z", + :timestamp 1442361600000}, + :group-title ["Bioinformatics"], :reference-count 0, :publisher "Cold Spring Harbor Laboratory", :content-domain {:domain [], :crossmark-restriction false}, :short-container-title [], - :accepted {:date-parts [[2016 9 16]]}, + :accepted + {:date-parts [[2016 9 16]], + :date-time "2016-09-16T00:00:00Z", + :timestamp 1473984000000}, + :published-print {:date-parts [[2015 9 16]]}, :abstract "Characterization of genetic variations in maize has been challenging, mainly due to deterioration of collinearity between individual genomes in the species. An international consortium of maize research groups combined resources to develop the maize haplotype version 3 (HapMap 3), built from whole genome sequencing data from 1,218 maize lines, covering pre-domestication and domesticated Zea mays varieties across the world.A new computational pipeline was set up to process over 12 trillion bp of sequencing data, and a set of population genetics filters were applied to identify over 83 million variant sites. We identified polymorphisms in regions where collinearity is largely preserved in the maize species. However, the fact that the B73 genome used as the reference only represents a fraction of all haplotypes is still an important limiting factor.", :DOI "10.1101/026963", @@ -129,7 +137,6 @@ {:date-time "2018-03-30T21:35:55Z", :date-parts [[2018 3 30]], :timestamp 1522445755000}, - :score 1.0, :subtitle [], :short-title [], :issued {:date-parts [[2015 9 16]]}, @@ -139,5 +146,4 @@ {:is-preprint-of [{:id-type "doi", :id "10.1093/gigascience/gix134", - :asserted-by "subject"}]}, - :subtype "preprint"} + :asserted-by "subject"}]}} diff --git a/dev-resources/works/10.5555/test5.edn b/dev-resources/works/10.5555/test5.edn index 31344fc6..048dd8c5 100644 --- a/dev-resources/works/10.5555/test5.edn +++ b/dev-resources/works/10.5555/test5.edn @@ -1,9 +1,8 @@ -{:edition-number "2", - :reference-count 0, +{:reference-count 0, :publisher "Sample Publisher", :isbn-type - [{:value "0064410145", :type "print"} - {:value "0571089895", :type "electronic"}], + [{:value "0571089895", :type "electronic"} + {:value "0064410145", :type "print"}], :content-domain {:domain [], :crossmark-restriction false}, :short-container-title [], :DOI "10.5555/test5", @@ -28,12 +27,10 @@ {:date-time "2018-03-19T20:42:34Z", :date-parts [[2018 3 19]], :timestamp 1521492154000}, - :score 1.0, :subtitle [], :short-title [], - :issued {:date-parts [[nil]]}, + :issued {:date-parts [[2018 3 19]]}, :ISBN ["0571089895" "0064410145"], :references-count 0, - :part-number "33-6", :URL "http://dx.doi.org/10.5555/test5", :relation {}} diff --git a/dev-resources/works/10.7287/peerj.2196v0.1/reviews/2.edn b/dev-resources/works/10.7287/peerj.2196v0.1/reviews/2.edn index 16f0e902..bdf30511 100644 --- a/dev-resources/works/10.7287/peerj.2196v0.1/reviews/2.edn +++ b/dev-resources/works/10.7287/peerj.2196v0.1/reviews/2.edn @@ -1,49 +1,30 @@ -{:institution - {:name "Psychoceramics Institute", - :acronym ["PI"], - :place ["Pittsburg, Arizona"], - :department ["Soft furnishings"]}, - :reference-count 0, - :publisher "Rockefeller University Press", +{:reference-count 0, + :publisher "PeerJ", :content-domain {:domain []}, :short-container-title [], - :published-print {:date-parts [[2017 4 19]]}, + :published-print {:date-parts [[2016 7 26]]}, :DOI "10.7287/peerj.2196v0.1/reviews/2", :type "peer-review", :created {:date-parts [[2018 1 9]], - :date-time "2018-01-09T18:42:21Z", - :timestamp 1515523341000}, + :date-time "2018-01-09T23:59:03Z", + :timestamp 1515542343000}, :source "Crossref", :is-referenced-by-count 0, :title ["Peer Review #2 of \"Tissue mortality by Caribbean ciliate infection and white band disease in three reef-building coral species (v0.1)\""], :prefix "10.7287", - :author - [{:ORCID "http://orcid.org/0000-0002-3368-4133", - :authenticated-orcid false, - :given "Xiaoguang", - :family "Fang", - :sequence "first", - :affiliation []}], - :member "291", + :member "4443", :container-title [], - :review - {:type "referee-report", - :running-number "RC1", - :revision-round "2", - :stage "pre-publication", - :competing-interest-statement "There were no competing interests", - :recommendation "major-revision", - :language "en"}, - :original-title ["Der Titel"], + :review {:revision-round "2", :stage "pre-publication"}, + :original-title [], :deposited {:date-parts [[2018 1 9]], - :date-time "2018-01-09T18:42:21Z", - :timestamp 1515523341000}, - :subtitle ["The Subtitle"], + :date-time "2018-01-09T23:59:03Z", + :timestamp 1515542343000}, + :subtitle [], :short-title [], - :issued {:date-parts [[2017 4 19]]}, + :issued {:date-parts [[2016 7 26]]}, :references-count 0, :URL "http://dx.doi.org/10.7287/peerj.2196v0.1/reviews/2", :relation diff --git a/dev-resources/works/?filter=from-created-date:2018.edn b/dev-resources/works/?filter=from-created-date:2018.edn index e35be056..e95ca661 100644 --- a/dev-resources/works/?filter=from-created-date:2018.edn +++ b/dev-resources/works/?filter=from-created-date:2018.edn @@ -2,6 +2,7 @@ :total-results 2, :items ({:reference-count 0, + :publisher "PeerJ", :content-domain {:domain []}, :published-print {:date-parts [[2015 7 14]]}, :DOI "10.7287/peerj.1078v0.2/reviews/1", @@ -15,6 +16,7 @@ :title ["Peer Review #1 of \"Multimodal Imaging Brain Connectivity Analysis (MIBCA) toolbox (v0.2)\""], :prefix "10.7287", + :member "4443", :review {:revision-round "3", :stage "pre-publication"}, :deposited {:date-parts [[2018 1 10]], @@ -29,50 +31,29 @@ [{:id-type "doi", :id "10.7717/peerj.1078", :asserted-by "subject"}]}} - {:institution - {:name "Psychoceramics Institute", - :acronym ["PI"], - :place ["Pittsburg, Arizona"], - :department ["Soft furnishings"]}, - :reference-count 0, - :publisher "Rockefeller University Press", + {:reference-count 0, + :publisher "PeerJ", :content-domain {:domain []}, - :published-print {:date-parts [[2017 4 19]]}, + :published-print {:date-parts [[2016 7 26]]}, :DOI "10.7287/peerj.2196v0.1/reviews/2", :type "peer-review", :created {:date-parts [[2018 1 9]], - :date-time "2018-01-09T18:42:21Z", - :timestamp 1515523341000}, + :date-time "2018-01-09T23:59:03Z", + :timestamp 1515542343000}, :source "Crossref", :is-referenced-by-count 0, :title ["Peer Review #2 of \"Tissue mortality by Caribbean ciliate infection and white band disease in three reef-building coral species (v0.1)\""], :prefix "10.7287", - :author - [{:ORCID "http://orcid.org/0000-0002-3368-4133", - :authenticated-orcid false, - :given "Xiaoguang", - :family "Fang", - :sequence "first", - :affiliation []}], - :member "291", - :review - {:type "referee-report", - :running-number "RC1", - :revision-round "2", - :stage "pre-publication", - :competing-interest-statement "There were no competing interests", - :recommendation "major-revision", - :language "en"}, - :original-title ["Der Titel"], + :member "4443", + :review {:revision-round "2", :stage "pre-publication"}, :deposited {:date-parts [[2018 1 9]], - :date-time "2018-01-09T18:42:21Z", - :timestamp 1515523341000}, + :date-time "2018-01-09T23:59:03Z", + :timestamp 1515542343000}, :score 0.0, - :subtitle ["The Subtitle"], - :issued {:date-parts [[2017 4 19]]}, + :issued {:date-parts [[2016 7 26]]}, :references-count 0, :URL "http://dx.doi.org/10.7287/peerj.2196v0.1/reviews/2", :relation diff --git a/dev-resources/works/?filter=from-deposit-date:2018.edn b/dev-resources/works/?filter=from-deposit-date:2018.edn index e35be056..9161e247 100644 --- a/dev-resources/works/?filter=from-deposit-date:2018.edn +++ b/dev-resources/works/?filter=from-deposit-date:2018.edn @@ -1,7 +1,990 @@ {:facets {}, - :total-results 2, + :total-results 13, :items ({:reference-count 0, + :publisher "Elsevier BV", + :license + [{:start + {:date-parts [[2017 2 1]], + :date-time "2017-02-01T00:00:00Z", + :timestamp 1485907200000}, + :content-version "tdm", + :delay-in-days 0, + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], + :content-domain + {:domain + ["clinicalkey.jp" + "clinicalkey.com" + "jad-journal.com" + "clinicalkey.es" + "clinicalkey.fr" + "clinicalkey.com.au" + "elsevier.com" + "sciencedirect.com"], + :crossmark-restriction true}, + :short-container-title ["Journal of Affective Disorders"], + :published-print {:date-parts [[2017 2 1]]}, + :DOI "10.1016/j.jad.2016.11.046", + :type "journal-article", + :created + {:date-parts [[2016 11 30]], + :date-time "2016-11-30T09:30:54Z", + :timestamp 1480498254000}, + :page "209-216", + :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", + :source "Crossref", + :is-referenced-by-count 3, + :title + ["A high fat diet-induced decrease in hippocampal newly-born neurons of male mice is exacerbated by mild psychological stress using a Communication Box"], + :prefix "10.1016", + :volume "209", + :author + [{:given "Yusuke", + :family "Murata", + :sequence "first", + :affiliation []} + {:given "Yukiyasu", + :family "Narisawa", + :sequence "additional", + :affiliation []} + {:given "Rima", + :family "Shimono", + :sequence "additional", + :affiliation []} + {:given "Hiraku", + :family "Ohmori", + :sequence "additional", + :affiliation []} + {:given "Masayoshi", + :family "Mori", + :sequence "additional", + :affiliation []} + {:given "Kenji", + :family "Ohe", + :sequence "additional", + :affiliation []} + {:given "Kazunori", + :family "Mine", + :sequence "additional", + :affiliation []} + {:given "Munechika", + :family "Enjoji", + :sequence "additional", + :affiliation []}], + :member "78", + :container-title ["Journal of Affective Disorders"], + :language "en", + :link + [{:URL + "http://api.elsevier.com/content/article/PII:S0165032716317256?httpAccept=text/xml", + :content-type "text/xml", + :content-version "vor", + :intended-application "text-mining"} + {:URL + "http://api.elsevier.com/content/article/PII:S0165032716317256?httpAccept=text/plain", + :content-type "text/plain", + :content-version "vor", + :intended-application "text-mining"}], + :deposited + {:date-parts [[2018 2 13]], + :date-time "2018-02-13T02:55:51Z", + :timestamp 1518490551000}, + :score 0.0, + :issued {:date-parts [[2017 2 1]]}, + :references-count 0, + :alternative-id ["S0165032716317256"], + :URL "http://dx.doi.org/10.1016/j.jad.2016.11.046", + :ISSN ["0165-0327"], + :issn-type [{:value "0165-0327", :type "print"}], + :assertion + [{:value "Elsevier", + :name "publisher", + :label "This article is maintained by"} + {:value + "A high fat diet-induced decrease in hippocampal newly-born neurons of male mice is exacerbated by mild psychological stress using a Communication Box", + :name "articletitle", + :label "Article Title"} + {:value "Journal of Affective Disorders", + :name "journaltitle", + :label "Journal Title"} + {:value "http://dx.doi.org/10.1016/j.jad.2016.11.046", + :name "articlelink", + :label "CrossRef DOI link to publisher maintained version"} + {:value "article", :name "content_type", :label "Content Type"} + {:value "© 2016 Elsevier B.V. All rights reserved.", + :name "copyright", + :label "Copyright"}]} + {:reference-count 0, + :publisher "Elsevier BV", + :license + [{:start + {:date-parts [[2017 3 1]], + :date-time "2017-03-01T00:00:00Z", + :timestamp 1488326400000}, + :content-version "tdm", + :delay-in-days 0, + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], + :content-domain + {:domain + ["clinicalkey.jp" + "clinicalkey.com" + "neurobiologyofaging.org" + "clinicalkey.es" + "clinicalkey.fr" + "clinicalkey.com.au" + "elsevier.com" + "sciencedirect.com"], + :crossmark-restriction true}, + :short-container-title ["Neurobiology of Aging"], + :published-print {:date-parts [[2017 3 1]]}, + :DOI "10.1016/j.neurobiolaging.2016.11.014", + :type "journal-article", + :created + {:date-parts [[2016 12 1]], + :date-time "2016-12-01T07:05:09Z", + :timestamp 1480575909000}, + :page "1-8", + :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", + :source "Crossref", + :is-referenced-by-count 4, + :title + ["Life events, salivary cortisol, and cognitive performance in nondemented subjects: a population-based study"], + :prefix "10.1016", + :volume "51", + :author + [{:ORCID "http://orcid.org/0000-0003-0867-060X", + :authenticated-orcid false, + :given "Sami", + :family "Ouanes", + :sequence "first", + :affiliation []} + {:given "Enrique", + :family "Castelao", + :sequence "additional", + :affiliation []} + {:given "Sirak", + :family "Gebreab", + :sequence "additional", + :affiliation []} + {:given "Armin", + :family "von Gunten", + :sequence "additional", + :affiliation []} + {:given "Martin", + :family "Preisig", + :sequence "additional", + :affiliation []} + {:given "Julius", + :family "Popp", + :sequence "additional", + :affiliation []}], + :member "78", + :container-title ["Neurobiology of Aging"], + :language "en", + :link + [{:URL + "http://api.elsevier.com/content/article/PII:S0197458016303013?httpAccept=text/xml", + :content-type "text/xml", + :content-version "vor", + :intended-application "text-mining"} + {:URL + "http://api.elsevier.com/content/article/PII:S0197458016303013?httpAccept=text/plain", + :content-type "text/plain", + :content-version "vor", + :intended-application "text-mining"}], + :deposited + {:date-parts [[2018 1 4]], + :date-time "2018-01-04T22:08:16Z", + :timestamp 1515103696000}, + :score 0.0, + :issued {:date-parts [[2017 3 1]]}, + :references-count 0, + :alternative-id ["S0197458016303013"], + :URL "http://dx.doi.org/10.1016/j.neurobiolaging.2016.11.014", + :ISSN ["0197-4580"], + :issn-type [{:value "0197-4580", :type "print"}], + :assertion + [{:value "Elsevier", + :name "publisher", + :label "This article is maintained by"} + {:value + "Life events, salivary cortisol, and cognitive performance in nondemented subjects: a population-based study", + :name "articletitle", + :label "Article Title"} + {:value "Neurobiology of Aging", + :name "journaltitle", + :label "Journal Title"} + {:value "http://dx.doi.org/10.1016/j.neurobiolaging.2016.11.014", + :name "articlelink", + :label "CrossRef DOI link to publisher maintained version"} + {:value "article", :name "content_type", :label "Content Type"} + {:value "© 2016 Elsevier Inc. All rights reserved.", + :name "copyright", + :label "Copyright"}]} + {:reference-count 0, + :publisher "Elsevier BV", + :license + [{:start + {:date-parts [[2017 2 1]], + :date-time "2017-02-01T00:00:00Z", + :timestamp 1485907200000}, + :content-version "tdm", + :delay-in-days 0, + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], + :funder + [{:DOI "10.13039/100000925", + :name "John Templeton Foundation", + :doi-asserted-by "crossref"}], + :content-domain + {:domain ["elsevier.com" "sciencedirect.com"], + :crossmark-restriction true}, + :short-container-title ["NeuroImage"], + :published-print {:date-parts [[2017 2 1]]}, + :DOI "10.1016/j.neuroimage.2016.12.046", + :type "journal-article", + :created + {:date-parts [[2016 12 16]], + :date-time "2016-12-16T05:16:22Z", + :timestamp 1481865382000}, + :page "314-329", + :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", + :source "Crossref", + :is-referenced-by-count 1, + :title + ["Intranasal oxytocin reduces social perception in women: Neural activation and individual variation"], + :prefix "10.1016", + :volume "147", + :author + [{:given "Erin E.", + :family "Hecht", + :sequence "first", + :affiliation []} + {:given "Diana L.", + :family "Robins", + :sequence "additional", + :affiliation []} + {:given "Pritam", + :family "Gautam", + :sequence "additional", + :affiliation []} + {:given "Tricia Z.", + :family "King", + :sequence "additional", + :affiliation []}], + :member "78", + :container-title ["NeuroImage"], + :language "en", + :link + [{:URL + "http://api.elsevier.com/content/article/PII:S1053811916307650?httpAccept=text/xml", + :content-type "text/xml", + :content-version "vor", + :intended-application "text-mining"} + {:URL + "http://api.elsevier.com/content/article/PII:S1053811916307650?httpAccept=text/plain", + :content-type "text/plain", + :content-version "vor", + :intended-application "text-mining"}], + :deposited + {:date-parts [[2018 1 20]], + :date-time "2018-01-20T14:43:22Z", + :timestamp 1516459402000}, + :score 0.0, + :issued {:date-parts [[2017 2 1]]}, + :references-count 0, + :alternative-id ["S1053811916307650"], + :URL "http://dx.doi.org/10.1016/j.neuroimage.2016.12.046", + :ISSN ["1053-8119"], + :issn-type [{:value "1053-8119", :type "print"}], + :assertion + [{:value "Elsevier", + :name "publisher", + :label "This article is maintained by"} + {:value + "Intranasal oxytocin reduces social perception in women: Neural activation and individual variation", + :name "articletitle", + :label "Article Title"} + {:value "NeuroImage", :name "journaltitle", :label "Journal Title"} + {:value "http://dx.doi.org/10.1016/j.neuroimage.2016.12.046", + :name "articlelink", + :label "CrossRef DOI link to publisher maintained version"} + {:value "article", :name "content_type", :label "Content Type"} + {:value "© 2016 Elsevier Inc. All rights reserved.", + :name "copyright", + :label "Copyright"}]} + {:reference-count 0, + :publisher "Elsevier BV", + :license + [{:start + {:date-parts [[2017 1 1]], + :date-time "2017-01-01T00:00:00Z", + :timestamp 1483228800000}, + :content-version "tdm", + :delay-in-days 0, + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], + :content-domain + {:domain + ["clinicalkey.jp" + "clinicalkey.com" + "clinicalkey.es" + "clinicalkey.com.au" + "clinicalkey.fr" + "elsevier.com" + "sciencedirect.com"], + :crossmark-restriction true}, + :short-container-title ["Physiology & Behavior"], + :published-print {:date-parts [[2017 1 1]]}, + :DOI "10.1016/j.physbeh.2016.10.010", + :type "journal-article", + :created + {:date-parts [[2016 10 16]], + :date-time "2016-10-16T20:59:08Z", + :timestamp 1476651548000}, + :page "1-10", + :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", + :source "Crossref", + :is-referenced-by-count 4, + :title + ["Protective effect of low dose caffeine on psychological stress and cognitive function"], + :prefix "10.1016", + :volume "168", + :author + [{:given "Özgür", + :family "Kasımay Çakır", + :sequence "first", + :affiliation []} + {:given "Nurfitnat", + :family "Ellek", + :sequence "additional", + :affiliation []} + {:given "Nabila", + :family "Salehin", + :sequence "additional", + :affiliation []} + {:given "Rabia", + :family "Hamamcı", + :sequence "additional", + :affiliation []} + {:given "Hülya", + :family "Keleş", + :sequence "additional", + :affiliation []} + {:given "Damla Gökçeoğlu", + :family "Kayalı", + :sequence "additional", + :affiliation []} + {:given "Dilek", + :family "Akakın", + :sequence "additional", + :affiliation []} + {:given "Meral", + :family "Yüksel", + :sequence "additional", + :affiliation []} + {:given "Dilek", + :family "Özbeyli", + :sequence "additional", + :affiliation []}], + :member "78", + :container-title ["Physiology & Behavior"], + :language "en", + :link + [{:URL + "http://api.elsevier.com/content/article/PII:S0031938416307041?httpAccept=text/xml", + :content-type "text/xml", + :content-version "vor", + :intended-application "text-mining"} + {:URL + "http://api.elsevier.com/content/article/PII:S0031938416307041?httpAccept=text/plain", + :content-type "text/plain", + :content-version "vor", + :intended-application "text-mining"}], + :deposited + {:date-parts [[2018 3 27]], + :date-time "2018-03-27T00:25:41Z", + :timestamp 1522110341000}, + :score 0.0, + :issued {:date-parts [[2017 1 1]]}, + :references-count 0, + :alternative-id ["S0031938416307041"], + :URL "http://dx.doi.org/10.1016/j.physbeh.2016.10.010", + :ISSN ["0031-9384"], + :issn-type [{:value "0031-9384", :type "print"}], + :assertion + [{:value "Elsevier", + :name "publisher", + :label "This article is maintained by"} + {:value + "Protective effect of low dose caffeine on psychological stress and cognitive function", + :name "articletitle", + :label "Article Title"} + {:value "Physiology & Behavior", + :name "journaltitle", + :label "Journal Title"} + {:value "http://dx.doi.org/10.1016/j.physbeh.2016.10.010", + :name "articlelink", + :label "CrossRef DOI link to publisher maintained version"} + {:value "article", :name "content_type", :label "Content Type"} + {:value "© 2016 Elsevier Inc. All rights reserved.", + :name "copyright", + :label "Copyright"}]} + {:reference-count 0, + :publisher "American Chemical Society (ACS)", + :issue "2", + :funder + [{:DOI "10.13039/100000027", + :name "National Institute on Alcohol Abuse and Alcoholism", + :doi-asserted-by "publisher"} + {:DOI "10.13039/100000026", + :name "National Institute on Drug Abuse", + :doi-asserted-by "publisher"}], + :content-domain {:domain [], :crossmark-restriction false}, + :short-container-title ["ACS Chem. Neurosci."], + :published-print {:date-parts [[2017 2 15]]}, + :DOI "10.1021/acschemneuro.6b00308", + :type "journal-article", + :created + {:date-parts [[2016 12 14]], + :date-time "2016-12-14T15:42:38Z", + :timestamp 1481730158000}, + :page "290-299", + :source "Crossref", + :is-referenced-by-count 3, + :title + ["High-Fat-Diet-Induced Deficits in Dopamine Terminal Function Are Reversed by Restoring Insulin Signaling"], + :prefix "10.1021", + :volume "8", + :author + [{:ORCID "http://orcid.org/0000-0002-7093-6774", + :authenticated-orcid false, + :given "Steve C.", + :family "Fordahl", + :sequence "first", + :affiliation + [{:name + "Department of Physiology\rand Pharmacology, Wake Forest School of Medicine, Winston-Salem, North Carolina 27157, United States"}]} + {:given "Sara R.", + :family "Jones", + :sequence "additional", + :affiliation + [{:name + "Department of Physiology\rand Pharmacology, Wake Forest School of Medicine, Winston-Salem, North Carolina 27157, United States"}]}], + :member "316", + :published-online {:date-parts [[2017 1 3]]}, + :container-title ["ACS Chemical Neuroscience"], + :language "en", + :link + [{:URL "http://pubs.acs.org/doi/pdf/10.1021/acschemneuro.6b00308", + :content-type "unspecified", + :content-version "vor", + :intended-application "similarity-checking"}], + :deposited + {:date-parts [[2018 1 3]], + :date-time "2018-01-03T12:44:56Z", + :timestamp 1514983496000}, + :score 0.0, + :issued {:date-parts [[2017 1 3]]}, + :references-count 0, + :journal-issue + {:issue "2", + :published-online {:date-parts [[2016 12 19]]}, + :published-print {:date-parts [[2017 2 15]]}}, + :alternative-id ["10.1021/acschemneuro.6b00308"], + :URL "http://dx.doi.org/10.1021/acschemneuro.6b00308", + :ISSN ["1948-7193" "1948-7193"], + :issn-type + [{:value "1948-7193", :type "print"} + {:value "1948-7193", :type "electronic"}]} + {:reference-count 210, + :publisher "Springer Nature", + :issue "1", + :license + [{:start + {:date-parts [[2016 11 24]], + :date-time "2016-11-24T00:00:00Z", + :timestamp 1479945600000}, + :content-version "unspecified", + :delay-in-days 0, + :URL "http://www.springer.com/tdm"}], + :content-domain + {:domain ["link.springer.com"], :crossmark-restriction false}, + :short-container-title ["Nat Rev Neurosci"], + :published-print {:date-parts [[2017 1 1]]}, + :DOI "10.1038/nrn.2016.155", + :type "journal-article", + :created + {:date-parts [[2016 11 24]], + :date-time "2016-11-24T06:40:41Z", + :timestamp 1479969641000}, + :page "7-19", + :update-policy + "http://dx.doi.org/10.1007/springer_crossmark_policy", + :source "Crossref", + :is-referenced-by-count 37, + :title + ["Stress, glucocorticoids and memory: implications for treating fear-related disorders"], + :prefix "10.1038", + :volume "18", + :author + [{:given "Dominique", + :family "de Quervain", + :sequence "first", + :affiliation []} + {:given "Lars", + :family "Schwabe", + :sequence "additional", + :affiliation []} + {:given "Benno", + :family "Roozendaal", + :sequence "additional", + :affiliation []}], + :member "297", + :published-online {:date-parts [[2016 11 24]]}, + :container-title ["Nature Reviews Neuroscience"], + :language "en", + :link + [{:URL "http://www.nature.com/articles/nrn.2016.155.pdf", + :content-type "application/pdf", + :content-version "vor", + :intended-application "text-mining"} + {:URL "http://www.nature.com/articles/nrn.2016.155", + :content-type "text/html", + :content-version "vor", + :intended-application "text-mining"} + {:URL "http://www.nature.com/articles/nrn.2016.155.pdf", + :content-type "application/pdf", + :content-version "vor", + :intended-application "similarity-checking"}], + :deposited + {:date-parts [[2018 1 18]], + :date-time "2018-01-18T05:29:31Z", + :timestamp 1516253371000}, + :score 0.0, + :issued {:date-parts [[2016 11 24]]}, + :references-count 210, + :journal-issue + {:issue "1", :published-print {:date-parts [[2017 1 1]]}}, + :alternative-id ["BFnrn2016155"], + :URL "http://dx.doi.org/10.1038/nrn.2016.155", + :ISSN ["1471-003X" "1471-0048"], + :issn-type + [{:value "1471-003X", :type "print"} + {:value "1471-0048", :type "electronic"}]} + {:institution + {:name "bioRxiv", :acronym [nil], :place [nil], :department []}, + :posted + {:date-parts [[2015 9 16]], + :date-time "2015-09-16T00:00:00Z", + :timestamp 1442361600000}, + :group-title ["Bioinformatics"], + :reference-count 0, + :publisher "Cold Spring Harbor Laboratory", + :content-domain {:domain [], :crossmark-restriction false}, + :accepted + {:date-parts [[2016 9 16]], + :date-time "2016-09-16T00:00:00Z", + :timestamp 1473984000000}, + :published-print {:date-parts [[2015 9 16]]}, + :abstract + "Characterization of genetic variations in maize has been challenging, mainly due to deterioration of collinearity between individual genomes in the species. An international consortium of maize research groups combined resources to develop the maize haplotype version 3 (HapMap 3), built from whole genome sequencing data from 1,218 maize lines, covering pre-domestication and domesticated Zea mays varieties across the world.A new computational pipeline was set up to process over 12 trillion bp of sequencing data, and a set of population genetics filters were applied to identify over 83 million variant sites. We identified polymorphisms in regions where collinearity is largely preserved in the maize species. However, the fact that the B73 genome used as the reference only represents a fraction of all haplotypes is still an important limiting factor.", + :DOI "10.1101/026963", + :type "posted-content", + :created + {:date-parts [[2015 9 17]], + :date-time "2015-09-17T05:01:45Z", + :timestamp 1442466105000}, + :source "Crossref", + :is-referenced-by-count 11, + :title + ["Construction of the third generation Zea mays haplotype map"], + :prefix "10.1101", + :author + [{:given "Robert", + :family "Bukowski", + :sequence "first", + :affiliation []} + {:given "Xiaosen", + :family "Guo", + :sequence "additional", + :affiliation []} + {:given "Yanli", + :family "Lu", + :sequence "additional", + :affiliation []} + {:given "Cheng", + :family "Zou", + :sequence "additional", + :affiliation []} + {:given "Bing", + :family "He", + :sequence "additional", + :affiliation []} + {:given "Zhengqin", + :family "Rong", + :sequence "additional", + :affiliation []} + {:given "Bo", + :family "Wang", + :sequence "additional", + :affiliation []} + {:given "Dawen", + :family "Xu", + :sequence "additional", + :affiliation []} + {:given "Bicheng", + :family "Yang", + :sequence "additional", + :affiliation []} + {:given "Chuanxiao", + :family "Xie", + :sequence "additional", + :affiliation []} + {:given "Longjiang", + :family "Fan", + :sequence "additional", + :affiliation []} + {:given "Shibin", + :family "Gao", + :sequence "additional", + :affiliation []} + {:given "Xun", + :family "Xu", + :sequence "additional", + :affiliation []} + {:given "Gengyun", + :family "Zhang", + :sequence "additional", + :affiliation []} + {:given "Yingrui", + :family "Li", + :sequence "additional", + :affiliation []} + {:given "Yinping", + :family "Jiao", + :sequence "additional", + :affiliation []} + {:given "John", + :family "Doebley", + :sequence "additional", + :affiliation []} + {:given "Jeffrey", + :family "Ross-Ibarra", + :sequence "additional", + :affiliation []} + {:given "Vince", + :family "Buffalo", + :sequence "additional", + :affiliation []} + {:given "Cinta M", + :family "Romay", + :sequence "additional", + :affiliation []} + {:given "Edward S", + :family "Buckler", + :sequence "additional", + :affiliation []} + {:given "Yunbi", + :family "Xu", + :sequence "additional", + :affiliation []} + {:given "Jinsheng", + :family "Lai", + :sequence "additional", + :affiliation []} + {:given "Doreen", + :family "Ware", + :sequence "additional", + :affiliation []} + {:given "Qi", + :family "Sun", + :sequence "additional", + :affiliation []}], + :member "246", + :link + [{:URL + "https://syndication.highwire.org/content/doi/10.1101/026963", + :content-type "unspecified", + :content-version "vor", + :intended-application "similarity-checking"}], + :deposited + {:date-parts [[2018 3 30]], + :date-time "2018-03-30T21:35:55Z", + :timestamp 1522445755000}, + :score 0.0, + :issued {:date-parts [[2015 9 16]]}, + :references-count 0, + :URL "http://dx.doi.org/10.1101/026963", + :relation + {:is-preprint-of + [{:id-type "doi", + :id "10.1093/gigascience/gix134", + :asserted-by "subject"}]}} + {:reference-count 0, + :publisher "Royal College of Psychiatrists", + :issue "06", + :content-domain {:domain [], :crossmark-restriction false}, + :short-container-title ["Br J Psychiatry"], + :published-print {:date-parts [[2016 12 1]]}, + :abstract + "\n The Global Burden of Disease (GBD) is the most comprehensive global epidemiological study, and the analyses of the 2015 data have recently been published\n (thelancet.com/gbd). This is a rich data-set including observation on the general increase in global life expectancy, with the gains due to significant improvement in HIV outcomes balanced against the significant war-related decreases in male life expectancy in Syria. Interestingly, the age-standardised mortality rate for mental and substance use disorders dropped by over 12% between 2005 and 2015, though with considerable variations between conditions and countries, and the authors further note the difficulty in accurately attributing and coding excess deaths – for example, the years of life known to be indirectly lost to schizophrenia. Total deaths due to self-harm and interpersonal violence did not change much during this period.\n ", + :DOI "10.1192/bjp.209.6.533", + :type "journal-article", + :created + {:date-parts [[2016 12 1]], + :date-time "2016-12-01T08:31:49Z", + :timestamp 1480581109000}, + :page "533-534", + :source "Crossref", + :is-referenced-by-count 0, + :title ["Kaleidoscope"], + :prefix "10.1192", + :volume "209", + :author + [{:given "Derek K.", + :family "Tracy", + :sequence "first", + :affiliation []} + {:given "Dan W.", + :family "Joyce", + :sequence "additional", + :affiliation []} + {:given "Sukhwinder S.", + :family "Shergill", + :sequence "additional", + :affiliation []}], + :member "170", + :published-online {:date-parts [[2018 1 2]]}, + :container-title ["British Journal of Psychiatry"], + :language "en", + :link + [{:URL + "https://www.cambridge.org/core/services/aop-cambridge-core/content/view/S000712500024590X", + :content-type "unspecified", + :content-version "vor", + :intended-application "similarity-checking"}], + :deposited + {:date-parts [[2018 1 17]], + :date-time "2018-01-17T07:22:20Z", + :timestamp 1516173740000}, + :score 0.0, + :issued {:date-parts [[2016 12 1]]}, + :references-count 0, + :journal-issue + {:issue "06", :published-print {:date-parts [[2016 12 1]]}}, + :alternative-id ["S000712500024590X"], + :URL "http://dx.doi.org/10.1192/bjp.209.6.533", + :ISSN ["0007-1250" "1472-1465"], + :issn-type + [{:value "0007-1250", :type "print"} + {:value "1472-1465", :type "electronic"}]} + {:reference-count 42, + :publisher "Frontiers Media SA", + :license + [{:start + {:date-parts [[2016 12 15]], + :date-time "2016-12-15T00:00:00Z", + :timestamp 1481760000000}, + :content-version "unspecified", + :delay-in-days 0, + :URL "https://creativecommons.org/licenses/by/4.0/"}], + :funder + [{:DOI "10.13039/501100000360", + :name "Scottish Funding Council", + :doi-asserted-by "publisher"} + {:DOI "10.13039/501100000265", + :name "Medical Research Council", + :doi-asserted-by "publisher"} + {:DOI "10.13039/501100000781", + :name "European Research Council", + :doi-asserted-by "publisher"} + {:DOI "10.13039/501100000361", + :name "Diabetes UK", + :doi-asserted-by "publisher"}], + :content-domain + {:domain ["frontiersin.org"], :crossmark-restriction true}, + :short-container-title ["Front. Endocrinol."], + :published-print {:date-parts [[2016 12 15]]}, + :DOI "10.3389/fendo.2016.00158", + :type "journal-article", + :created + {:date-parts [[2016 12 15]], + :date-time "2016-12-15T03:59:50Z", + :timestamp 1481774390000}, + :update-policy "http://dx.doi.org/10.3389/crossmark-policy", + :source "Crossref", + :is-referenced-by-count 3, + :title + ["Dynamic Changes in DNA Methylation Occur during the First Year of Life in Preterm Infants"], + :prefix "10.3389", + :volume "7", + :author + [{:given "Chinthika", + :family "Piyasena", + :sequence "first", + :affiliation []} + {:given "Jessy", + :family "Cartier", + :sequence "additional", + :affiliation []} + {:given "Nadine", + :family "Provençal", + :sequence "additional", + :affiliation []} + {:given "Tobias", + :family "Wiechmann", + :sequence "additional", + :affiliation []} + {:given "Batbayar", + :family "Khulan", + :sequence "additional", + :affiliation []} + {:given "Raju", + :family "Sunderesan", + :sequence "additional", + :affiliation []} + {:given "Gopi", + :family "Menon", + :sequence "additional", + :affiliation []} + {:given "Jonathan R.", + :family "Seckl", + :sequence "additional", + :affiliation []} + {:given "Rebecca M.", + :family "Reynolds", + :sequence "additional", + :affiliation []} + {:given "Elisabeth B.", + :family "Binder", + :sequence "additional", + :affiliation []} + {:given "Amanda J.", + :family "Drake", + :sequence "additional", + :affiliation []}], + :member "1965", + :published-online {:date-parts [[2016 12 15]]}, + :container-title ["Frontiers in Endocrinology"], + :link + [{:URL + "http://journal.frontiersin.org/article/10.3389/fendo.2016.00158/full", + :content-type "unspecified", + :content-version "vor", + :intended-application "similarity-checking"}], + :deposited + {:date-parts [[2018 2 26]], + :date-time "2018-02-26T12:35:01Z", + :timestamp 1519648501000}, + :score 0.0, + :issued {:date-parts [[2016 12 15]]}, + :references-count 42, + :alternative-id ["10.3389/fendo.2016.00158"], + :URL "http://dx.doi.org/10.3389/fendo.2016.00158", + :ISSN ["1664-2392"], + :issn-type [{:value "1664-2392", :type "electronic"}]} + {:reference-count 211, + :publisher "MDPI AG", + :issue "4", + :license + [{:start + {:date-parts [[2016 12 2]], + :date-time "2016-12-02T00:00:00Z", + :timestamp 1480636800000}, + :content-version "unspecified", + :delay-in-days 0, + :URL "https://creativecommons.org/licenses/by/4.0/"}], + :content-domain {:domain [], :crossmark-restriction false}, + :short-container-title ["Children"], + :published-print {:date-parts [[2016 12 2]]}, + :DOI "10.3390/children3040040", + :type "journal-article", + :created + {:date-parts [[2016 12 2]], + :date-time "2016-12-02T15:36:37Z", + :timestamp 1480692997000}, + :page "40", + :source "Crossref", + :is-referenced-by-count 7, + :title + ["Mental Health Comorbidities in Pediatric Chronic Pain: A Narrative Review of Epidemiology, Models, Neurobiological Mechanisms and Treatment"], + :prefix "10.3390", + :volume "3", + :author + [{:given "Jillian", + :family "Vinall", + :sequence "first", + :affiliation []} + {:given "Maria", + :family "Pavlova", + :sequence "additional", + :affiliation []} + {:given "Gordon", + :family "Asmundson", + :sequence "additional", + :affiliation []} + {:given "Nivez", + :family "Rasic", + :sequence "additional", + :affiliation []} + {:given "Melanie", + :family "Noel", + :sequence "additional", + :affiliation []}], + :member "1968", + :published-online {:date-parts [[2016 12 2]]}, + :container-title ["Children"], + :language "en", + :link + [{:URL "http://www.mdpi.com/2227-9067/3/4/40/pdf", + :content-type "unspecified", + :content-version "vor", + :intended-application "similarity-checking"}], + :deposited + {:date-parts [[2018 3 19]], + :date-time "2018-03-19T12:25:35Z", + :timestamp 1521462335000}, + :score 0.0, + :issued {:date-parts [[2016 12 2]]}, + :references-count 211, + :journal-issue + {:issue "4", :published-online {:date-parts [[2016 12 1]]}}, + :alternative-id ["children3040040"], + :URL "http://dx.doi.org/10.3390/children3040040", + :ISSN ["2227-9067"], + :issn-type [{:value "2227-9067", :type "electronic"}]} + {:reference-count 0, + :publisher "Sample Publisher", + :isbn-type + [{:value "0571089895", :type "electronic"} + {:value "0064410145", :type "print"}], + :content-domain {:domain [], :crossmark-restriction false}, + :DOI "10.5555/test5", + :type "book-set", + :created + {:date-parts [[2009 3 10]], + :date-time "2009-03-10T18:21:05Z", + :timestamp 1236709265000}, + :source "Crossref", + :is-referenced-by-count 0, + :title ["Sample Set Title"], + :prefix "10.5555", + :member "7822", + :link + [{:URL "http://www.crossref.org/test5", + :content-type "unspecified", + :content-version "vor", + :intended-application "similarity-checking"}], + :deposited + {:date-parts [[2018 3 19]], + :date-time "2018-03-19T20:42:34Z", + :timestamp 1521492154000}, + :score 0.0, + :issued {:date-parts [[2018 3 19]]}, + :ISBN ["0571089895" "0064410145"], + :references-count 0, + :URL "http://dx.doi.org/10.5555/test5"} + {:reference-count 0, + :publisher "PeerJ", :content-domain {:domain []}, :published-print {:date-parts [[2015 7 14]]}, :DOI "10.7287/peerj.1078v0.2/reviews/1", @@ -15,6 +998,7 @@ :title ["Peer Review #1 of \"Multimodal Imaging Brain Connectivity Analysis (MIBCA) toolbox (v0.2)\""], :prefix "10.7287", + :member "4443", :review {:revision-round "3", :stage "pre-publication"}, :deposited {:date-parts [[2018 1 10]], @@ -29,50 +1013,29 @@ [{:id-type "doi", :id "10.7717/peerj.1078", :asserted-by "subject"}]}} - {:institution - {:name "Psychoceramics Institute", - :acronym ["PI"], - :place ["Pittsburg, Arizona"], - :department ["Soft furnishings"]}, - :reference-count 0, - :publisher "Rockefeller University Press", + {:reference-count 0, + :publisher "PeerJ", :content-domain {:domain []}, - :published-print {:date-parts [[2017 4 19]]}, + :published-print {:date-parts [[2016 7 26]]}, :DOI "10.7287/peerj.2196v0.1/reviews/2", :type "peer-review", :created {:date-parts [[2018 1 9]], - :date-time "2018-01-09T18:42:21Z", - :timestamp 1515523341000}, + :date-time "2018-01-09T23:59:03Z", + :timestamp 1515542343000}, :source "Crossref", :is-referenced-by-count 0, :title ["Peer Review #2 of \"Tissue mortality by Caribbean ciliate infection and white band disease in three reef-building coral species (v0.1)\""], :prefix "10.7287", - :author - [{:ORCID "http://orcid.org/0000-0002-3368-4133", - :authenticated-orcid false, - :given "Xiaoguang", - :family "Fang", - :sequence "first", - :affiliation []}], - :member "291", - :review - {:type "referee-report", - :running-number "RC1", - :revision-round "2", - :stage "pre-publication", - :competing-interest-statement "There were no competing interests", - :recommendation "major-revision", - :language "en"}, - :original-title ["Der Titel"], + :member "4443", + :review {:revision-round "2", :stage "pre-publication"}, :deposited {:date-parts [[2018 1 9]], - :date-time "2018-01-09T18:42:21Z", - :timestamp 1515523341000}, + :date-time "2018-01-09T23:59:03Z", + :timestamp 1515542343000}, :score 0.0, - :subtitle ["The Subtitle"], - :issued {:date-parts [[2017 4 19]]}, + :issued {:date-parts [[2016 7 26]]}, :references-count 0, :URL "http://dx.doi.org/10.7287/peerj.2196v0.1/reviews/2", :relation diff --git a/dev-resources/works/?filter=member:78.edn b/dev-resources/works/?filter=member:78.edn index 034ac994..8915b9b6 100644 --- a/dev-resources/works/?filter=member:78.edn +++ b/dev-resources/works/?filter=member:78.edn @@ -1,7 +1,7 @@ {:facets {}, :total-results 121, :items - ({:reference-count 873, + ({:reference-count 0, :publisher "Elsevier", :isbn-type [{:value "9780128036082", :type "print"}], :license @@ -54,9 +54,9 @@ :score 0.0, :issued {:date-parts [[2017 1 1]]}, :ISBN ["9780128036082"], - :references-count 873, + :references-count 0, :URL "http://dx.doi.org/10.1016/b978-0-12-803592-4.00001-8"} - {:reference-count 256, + {:reference-count 0, :publisher "Elsevier", :isbn-type [{:value "9780128036082", :type "print"}], :license @@ -109,9 +109,9 @@ :score 0.0, :issued {:date-parts [[2017 1 1]]}, :ISBN ["9780128036082"], - :references-count 256, + :references-count 0, :URL "http://dx.doi.org/10.1016/b978-0-12-803592-4.00015-8"} - {:reference-count 167, + {:reference-count 0, :publisher "Elsevier", :isbn-type [{:value "9780128036082", :type "print"}], :license @@ -168,9 +168,9 @@ :score 0.0, :issued {:date-parts [[2017 1 1]]}, :ISBN ["9780128036082"], - :references-count 167, + :references-count 0, :URL "http://dx.doi.org/10.1016/b978-0-12-803592-4.00016-x"} - {:reference-count 183, + {:reference-count 0, :publisher "Elsevier", :isbn-type [{:value "9780128036082", :type "print"}], :license @@ -231,9 +231,9 @@ :score 0.0, :issued {:date-parts [[2017 1 1]]}, :ISBN ["9780128036082"], - :references-count 183, + :references-count 0, :URL "http://dx.doi.org/10.1016/b978-0-12-803592-4.00046-8"} - {:reference-count 273, + {:reference-count 0, :publisher "Elsevier", :isbn-type [{:value "9780128036082", :type "print"}], :license @@ -296,9 +296,9 @@ :score 0.0, :issued {:date-parts [[2017 1 1]]}, :ISBN ["9780128036082"], - :references-count 273, + :references-count 0, :URL "http://dx.doi.org/10.1016/b978-0-12-803592-4.00111-5"} - {:reference-count 193, + {:reference-count 0, :publisher "Elsevier", :isbn-type [{:value "9780128040966", :type "print"}], :license @@ -348,9 +348,9 @@ :score 0.0, :issued {:date-parts [[2017 1 1]]}, :ISBN ["9780128040966"], - :references-count 193, + :references-count 0, :URL "http://dx.doi.org/10.1016/b978-0-12-804042-3.00094-4"} - {:reference-count 112, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -386,7 +386,7 @@ :page "139-151", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", :source "Crossref", - :is-referenced-by-count 1, + :is-referenced-by-count 2, :title ["Analyses of differentially expressed genes after exposure to acute stress, acute ethanol, or a combination of both in mice"], :prefix "10.1016", @@ -448,7 +448,7 @@ :timestamp 1498370582000}, :score 0.0, :issued {:date-parts [[2017 2 1]]}, - :references-count 112, + :references-count 0, :alternative-id ["S0741832916300714"], :URL "http://dx.doi.org/10.1016/j.alcohol.2016.08.008", :ISSN ["0741-8329"], @@ -469,13 +469,13 @@ {:value "Published by Elsevier Inc.", :name "copyright", :label "Copyright"}]} - {:reference-count 73, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start - {:date-parts [[2017 5 12]], - :date-time "2017-05-12T09:19:30Z", - :timestamp 1494580770000}, + {:date-parts [[2017 7 1]], + :date-time "2017-07-01T00:00:00Z", + :timestamp 1498867200000}, :content-version "tdm", :delay-in-days 0, :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], @@ -500,7 +500,7 @@ :page "148-159", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", :source "Crossref", - :is-referenced-by-count 2, + :is-referenced-by-count 3, :title ["Mechanical allodynia corresponds to Oprm1 downregulation within the descending pain network of male and female rats exposed to neonatal immune challenge"], :prefix "10.1016", @@ -519,22 +519,22 @@ :language "en", :link [{:URL - "http://api.elsevier.com/content/article/PII:S0889159116304706?httpAccept=text/plain", - :content-type "text/plain", + "http://api.elsevier.com/content/article/PII:S0889159116304706?httpAccept=text/xml", + :content-type "text/xml", :content-version "vor", :intended-application "text-mining"} {:URL - "http://api.elsevier.com/content/article/PII:S0889159116304706?httpAccept=text/xml", - :content-type "text/xml", + "http://api.elsevier.com/content/article/PII:S0889159116304706?httpAccept=text/plain", + :content-type "text/plain", :content-version "vor", :intended-application "text-mining"}], :deposited - {:date-parts [[2017 5 12]], - :date-time "2017-05-12T09:19:30Z", - :timestamp 1494580770000}, + {:date-parts [[2017 12 23]], + :date-time "2017-12-23T23:38:34Z", + :timestamp 1514072314000}, :score 0.0, - :issued {:date-parts [[2017 5 12]]}, - :references-count 73, + :issued {:date-parts [[2017 7 1]]}, + :references-count 0, :alternative-id ["S0889159116304706"], :URL "http://dx.doi.org/10.1016/j.bbi.2016.10.007", :ISSN ["0889-1591"], @@ -557,7 +557,7 @@ {:value "© 2016 Elsevier Inc. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 76, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -624,7 +624,7 @@ :timestamp 1498357013000}, :score 0.0, :issued {:date-parts [[2017 3 1]]}, - :references-count 76, + :references-count 0, :alternative-id ["S0166432816309007"], :URL "http://dx.doi.org/10.1016/j.bbr.2016.10.035", :ISSN ["0166-4328"], @@ -647,7 +647,7 @@ {:value "© 2016 Elsevier B.V. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 21, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -725,7 +725,7 @@ :timestamp 1498370489000}, :score 0.0, :issued {:date-parts [[2017 2 1]]}, - :references-count 21, + :references-count 0, :alternative-id ["S0301051116303738"], :URL "http://dx.doi.org/10.1016/j.biopsycho.2016.12.010", :ISSN ["0301-0511"], @@ -748,7 +748,7 @@ {:value "© 2016 Elsevier B.V. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 53, + {:reference-count 0, :publisher "Elsevier BV", :issue "1", :license @@ -838,7 +838,7 @@ :timestamp 1498357794000}, :score 0.0, :issued {:date-parts [[2017 1 1]]}, - :references-count 53, + :references-count 0, :journal-issue {:issue "1", :published-print {:date-parts [[2017 1 1]]}}, :alternative-id ["S0968089616310872"], @@ -863,7 +863,7 @@ {:value "Published by Elsevier Ltd.", :name "copyright", :label "Copyright"}]} - {:reference-count 19, + {:reference-count 0, :publisher "Elsevier BV", :issue "1", :license @@ -924,7 +924,7 @@ :timestamp 1498357379000}, :score 0.0, :issued {:date-parts [[2017 1 1]]}, - :references-count 19, + :references-count 0, :journal-issue {:issue "1", :published-print {:date-parts [[2017 1 1]]}}, :alternative-id ["S1550830716301707"], @@ -951,7 +951,7 @@ {:value "© 2016 Published by Elsevier Inc.", :name "copyright", :label "Copyright"}]} - {:reference-count 66, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -1036,7 +1036,7 @@ :timestamp 1498352928000}, :score 0.0, :issued {:date-parts [[2016 11 1]]}, - :references-count 66, + :references-count 0, :alternative-id ["S0163638316300455"], :URL "http://dx.doi.org/10.1016/j.infbeh.2016.09.006", :ISSN ["0163-6383"], @@ -1059,7 +1059,7 @@ {:value "© 2016 Elsevier Inc. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 164, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -1128,7 +1128,7 @@ :timestamp 1505531976000}, :score 0.0, :issued {:date-parts [[2017 9 16]]}, - :references-count 164, + :references-count 0, :alternative-id ["S0165032716312022"], :URL "http://dx.doi.org/10.1016/j.jad.2016.10.035", :ISSN ["0165-0327"], @@ -1150,7 +1150,7 @@ {:value "© 2016 Elsevier B.V. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 46, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -1217,7 +1217,7 @@ :timestamp 1498366217000}, :score 0.0, :issued {:date-parts [[2017 3 1]]}, - :references-count 46, + :references-count 0, :alternative-id ["S0165032716312113"], :URL "http://dx.doi.org/10.1016/j.jad.2016.11.036", :ISSN ["0165-0327"], @@ -1240,7 +1240,7 @@ {:value "© 2016 Elsevier B.V. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 79, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -1256,8 +1256,8 @@ "clinicalkey.com" "jad-journal.com" "clinicalkey.es" - "clinicalkey.com.au" "clinicalkey.fr" + "clinicalkey.com.au" "elsevier.com" "sciencedirect.com"], :crossmark-restriction true}, @@ -1315,22 +1315,22 @@ :language "en", :link [{:URL - "http://api.elsevier.com/content/article/PII:S0165032716317256?httpAccept=text/plain", - :content-type "text/plain", + "http://api.elsevier.com/content/article/PII:S0165032716317256?httpAccept=text/xml", + :content-type "text/xml", :content-version "vor", :intended-application "text-mining"} {:URL - "http://api.elsevier.com/content/article/PII:S0165032716317256?httpAccept=text/xml", - :content-type "text/xml", + "http://api.elsevier.com/content/article/PII:S0165032716317256?httpAccept=text/plain", + :content-type "text/plain", :content-version "vor", :intended-application "text-mining"}], :deposited - {:date-parts [[2017 6 25]], - :date-time "2017-06-25T04:50:17Z", - :timestamp 1498366217000}, + {:date-parts [[2018 2 13]], + :date-time "2018-02-13T02:55:51Z", + :timestamp 1518490551000}, :score 0.0, :issued {:date-parts [[2017 2 1]]}, - :references-count 79, + :references-count 0, :alternative-id ["S0165032716317256"], :URL "http://dx.doi.org/10.1016/j.jad.2016.11.046", :ISSN ["0165-0327"], @@ -1353,7 +1353,7 @@ {:value "© 2016 Elsevier B.V. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 34, + {:reference-count 0, :publisher "Elsevier BV", :issue "5", :license @@ -1417,7 +1417,7 @@ :timestamp 1492992956000}, :score 0.0, :issued {:date-parts [[2017 4 24]]}, - :references-count 34, + :references-count 0, :journal-issue {:issue "5", :published-print {:date-parts [[2017 5 1]]}}, :alternative-id ["S0278239116310667"], @@ -1443,7 +1443,7 @@ "© 2016 American Association of Oral and Maxillofacial Surgeons", :name "copyright", :label "Copyright"}]} - {:reference-count 189, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -1472,7 +1472,7 @@ :page "232-242", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", :source "Crossref", - :is-referenced-by-count 4, + :is-referenced-by-count 7, :title ["Mate-choice copying, social information processing, and the roles of oxytocin"], :prefix "10.1016", @@ -1510,7 +1510,7 @@ :timestamp 1498367603000}, :score 0.0, :issued {:date-parts [[2017 1 1]]}, - :references-count 189, + :references-count 0, :alternative-id ["S0149763416306285"], :URL "http://dx.doi.org/10.1016/j.neubiorev.2016.12.003", :ISSN ["0149-7634"], @@ -1533,7 +1533,7 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 193, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -1563,7 +1563,7 @@ :page "123-164", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", :source "Crossref", - :is-referenced-by-count 5, + :is-referenced-by-count 14, :title ["A systematic review of the psychobiological burden of informal caregiving for patients with dementia: Focus on cognitive and biological markers of chronic stress"], :prefix "10.1016", @@ -1625,7 +1625,7 @@ :timestamp 1498369882000}, :score 0.0, :issued {:date-parts [[2017 2 1]]}, - :references-count 193, + :references-count 0, :alternative-id ["S0149763416302792"], :URL "http://dx.doi.org/10.1016/j.neubiorev.2016.12.006", :ISSN ["0149-7634"], @@ -1648,7 +1648,7 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 397, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -1684,7 +1684,7 @@ :page "191-218", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", :source "Crossref", - :is-referenced-by-count 15, + :is-referenced-by-count 19, :title ["The neural diathesis-stress model of schizophrenia revisited: An update on recent findings considering illness stage and neurobiological and methodological complexities"], :prefix "10.1016", @@ -1726,7 +1726,7 @@ :timestamp 1498370661000}, :score 0.0, :issued {:date-parts [[2017 2 1]]}, - :references-count 397, + :references-count 0, :alternative-id ["S0149763416301713"], :URL "http://dx.doi.org/10.1016/j.neubiorev.2016.12.013", :ISSN ["0149-7634"], @@ -1749,7 +1749,7 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 84, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -1781,7 +1781,7 @@ :page "147-155", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", :source "Crossref", - :is-referenced-by-count 8, + :is-referenced-by-count 10, :title ["Glutamate dysregulation and glutamatergic therapeutics for PTSD: Evidence from human studies"], :prefix "10.1016", @@ -1826,12 +1826,12 @@ :content-version "vor", :intended-application "text-mining"}], :deposited - {:date-parts [[2017 5 4]], - :date-time "2017-05-04T23:03:23Z", - :timestamp 1493939003000}, + {:date-parts [[2017 12 19]], + :date-time "2017-12-19T01:21:02Z", + :timestamp 1513646462000}, :score 0.0, :issued {:date-parts [[2017 5 1]]}, - :references-count 84, + :references-count 0, :alternative-id ["S0304394016309351"], :URL "http://dx.doi.org/10.1016/j.neulet.2016.11.064", :ISSN ["0304-3940"], @@ -1854,7 +1854,7 @@ {:value "Published by Elsevier Ireland Ltd.", :name "copyright", :label "Copyright"}]} - {:reference-count 38, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -1888,7 +1888,7 @@ :page "103-109", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", :source "Crossref", - :is-referenced-by-count 4, + :is-referenced-by-count 5, :title ["Parkinson’s disease-like motor and non-motor symptoms in rotenone-treated zebrafish"], :prefix "10.1016", @@ -1947,7 +1947,7 @@ :timestamp 1512669839000}, :score 0.0, :issued {:date-parts [[2017 1 1]]}, - :references-count 38, + :references-count 0, :alternative-id ["S0161813X16302443"], :URL "http://dx.doi.org/10.1016/j.neuro.2016.11.006", :ISSN ["0161-813X"], @@ -1970,7 +1970,7 @@ {:value "© 2016 Elsevier B.V. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 56, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -1986,8 +1986,8 @@ "clinicalkey.com" "neurobiologyofaging.org" "clinicalkey.es" - "clinicalkey.com.au" "clinicalkey.fr" + "clinicalkey.com.au" "elsevier.com" "sciencedirect.com"], :crossmark-restriction true}, @@ -2039,22 +2039,22 @@ :language "en", :link [{:URL - "http://api.elsevier.com/content/article/PII:S0197458016303013?httpAccept=text/plain", - :content-type "text/plain", + "http://api.elsevier.com/content/article/PII:S0197458016303013?httpAccept=text/xml", + :content-type "text/xml", :content-version "vor", :intended-application "text-mining"} {:URL - "http://api.elsevier.com/content/article/PII:S0197458016303013?httpAccept=text/xml", - :content-type "text/xml", + "http://api.elsevier.com/content/article/PII:S0197458016303013?httpAccept=text/plain", + :content-type "text/plain", :content-version "vor", :intended-application "text-mining"}], :deposited - {:date-parts [[2017 6 25]], - :date-time "2017-06-25T04:57:19Z", - :timestamp 1498366639000}, + {:date-parts [[2018 1 4]], + :date-time "2018-01-04T22:08:16Z", + :timestamp 1515103696000}, :score 0.0, :issued {:date-parts [[2017 3 1]]}, - :references-count 56, + :references-count 0, :alternative-id ["S0197458016303013"], :URL "http://dx.doi.org/10.1016/j.neurobiolaging.2016.11.014", :ISSN ["0197-4580"], @@ -2077,7 +2077,7 @@ {:value "© 2016 Elsevier Inc. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 70, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -2132,22 +2132,22 @@ :language "en", :link [{:URL - "http://api.elsevier.com/content/article/PII:S1053811916307650?httpAccept=text/plain", - :content-type "text/plain", + "http://api.elsevier.com/content/article/PII:S1053811916307650?httpAccept=text/xml", + :content-type "text/xml", :content-version "vor", :intended-application "text-mining"} {:URL - "http://api.elsevier.com/content/article/PII:S1053811916307650?httpAccept=text/xml", - :content-type "text/xml", + "http://api.elsevier.com/content/article/PII:S1053811916307650?httpAccept=text/plain", + :content-type "text/plain", :content-version "vor", :intended-application "text-mining"}], :deposited - {:date-parts [[2017 6 25]], - :date-time "2017-06-25T06:02:50Z", - :timestamp 1498370570000}, + {:date-parts [[2018 1 20]], + :date-time "2018-01-20T14:43:22Z", + :timestamp 1516459402000}, :score 0.0, :issued {:date-parts [[2017 2 1]]}, - :references-count 70, + :references-count 0, :alternative-id ["S1053811916307650"], :URL "http://dx.doi.org/10.1016/j.neuroimage.2016.12.046", :ISSN ["1053-8119"], @@ -2168,7 +2168,7 @@ {:value "© 2016 Elsevier Inc. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 204, + {:reference-count 0, :publisher "Elsevier BV", :issue "1", :license @@ -2207,7 +2207,7 @@ :page "14-30", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", :source "Crossref", - :is-referenced-by-count 31, + :is-referenced-by-count 39, :title ["Context Processing and the Neurobiology of Post-Traumatic Stress Disorder"], :prefix "10.1016", @@ -2241,7 +2241,7 @@ :timestamp 1509223571000}, :score 0.0, :issued {:date-parts [[2016 10 1]]}, - :references-count 204, + :references-count 0, :journal-issue {:issue "1", :published-print {:date-parts [[2016 10 1]]}}, :alternative-id ["S0896627316306407"], @@ -2264,7 +2264,7 @@ {:value "Published by Elsevier Inc.", :name "copyright", :label "Copyright"}]} - {:reference-count 78, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -2348,7 +2348,7 @@ :timestamp 1506153295000}, :score 0.0, :issued {:date-parts [[2017 1 1]]}, - :references-count 78, + :references-count 0, :alternative-id ["S2213158216302224"], :URL "http://dx.doi.org/10.1016/j.nicl.2016.11.014", :ISSN ["2213-1582"], @@ -2371,7 +2371,7 @@ {:value "© 2016 The Authors. Published by Elsevier Inc.", :name "copyright", :label "Copyright"}]} - {:reference-count 82, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -2445,7 +2445,7 @@ :timestamp 1498351682000}, :score 0.0, :issued {:date-parts [[2016 12 1]]}, - :references-count 82, + :references-count 0, :alternative-id ["S1074742716302519"], :URL "http://dx.doi.org/10.1016/j.nlm.2016.10.006", :ISSN ["1074-7427"], @@ -2468,13 +2468,13 @@ {:value "© 2016 Elsevier Inc. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 119, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start - {:date-parts [[2017 5 30]], - :date-time "2017-05-30T20:25:25Z", - :timestamp 1496175925000}, + {:date-parts [[2017 7 1]], + :date-time "2017-07-01T00:00:00Z", + :timestamp 1498867200000}, :content-version "tdm", :delay-in-days 0, :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], @@ -2496,7 +2496,7 @@ :page "126-134", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", :source "Crossref", - :is-referenced-by-count 5, + :is-referenced-by-count 6, :title ["The role of glucocorticoids in emotional memory reconsolidation"], :prefix "10.1016", @@ -2525,12 +2525,12 @@ :content-version "vor", :intended-application "text-mining"}], :deposited - {:date-parts [[2017 5 30]], - :date-time "2017-05-30T20:25:25Z", - :timestamp 1496175925000}, + {:date-parts [[2017 12 29]], + :date-time "2017-12-29T11:50:46Z", + :timestamp 1514548246000}, :score 0.0, - :issued {:date-parts [[2017 5 30]]}, - :references-count 119, + :issued {:date-parts [[2017 7 1]]}, + :references-count 0, :alternative-id ["S107474271630315X"], :URL "http://dx.doi.org/10.1016/j.nlm.2016.11.008", :ISSN ["1074-7427"], @@ -2553,7 +2553,7 @@ {:value "© 2016 Elsevier Inc. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 65, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -2580,7 +2580,7 @@ :page "1-11", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", :source "Crossref", - :is-referenced-by-count 2, + :is-referenced-by-count 4, :title ["Opposite effects of central oxytocin and arginine vasopressin on changes in gastric motor function induced by chronic stress"], :prefix "10.1016", @@ -2622,7 +2622,7 @@ :timestamp 1498359452000}, :score 0.0, :issued {:date-parts [[2017 1 1]]}, - :references-count 65, + :references-count 0, :alternative-id ["S0196978116302157"], :URL "http://dx.doi.org/10.1016/j.peptides.2016.11.001", :ISSN ["0196-9781"], @@ -2643,7 +2643,7 @@ {:value "© 2016 Elsevier Inc. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 63, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -2674,7 +2674,7 @@ :page "1-10", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", :source "Crossref", - :is-referenced-by-count 3, + :is-referenced-by-count 4, :title ["Protective effect of low dose caffeine on psychological stress and cognitive function"], :prefix "10.1016", @@ -2721,22 +2721,22 @@ :language "en", :link [{:URL - "http://api.elsevier.com/content/article/PII:S0031938416307041?httpAccept=text/plain", - :content-type "text/plain", + "http://api.elsevier.com/content/article/PII:S0031938416307041?httpAccept=text/xml", + :content-type "text/xml", :content-version "vor", :intended-application "text-mining"} {:URL - "http://api.elsevier.com/content/article/PII:S0031938416307041?httpAccept=text/xml", - :content-type "text/xml", + "http://api.elsevier.com/content/article/PII:S0031938416307041?httpAccept=text/plain", + :content-type "text/plain", :content-version "vor", :intended-application "text-mining"}], :deposited - {:date-parts [[2017 6 25]], - :date-time "2017-06-25T01:17:03Z", - :timestamp 1498353423000}, + {:date-parts [[2018 3 27]], + :date-time "2018-03-27T00:25:41Z", + :timestamp 1522110341000}, :score 0.0, :issued {:date-parts [[2017 1 1]]}, - :references-count 63, + :references-count 0, :alternative-id ["S0031938416307041"], :URL "http://dx.doi.org/10.1016/j.physbeh.2016.10.010", :ISSN ["0031-9384"], @@ -2759,7 +2759,7 @@ {:value "© 2016 Elsevier Inc. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 61, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -2800,7 +2800,7 @@ :page "47-53", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", :source "Crossref", - :is-referenced-by-count 1, + :is-referenced-by-count 2, :title ["Aged mice receiving caffeine since adulthood show distinct patterns of anxiety-related behavior"], :prefix "10.1016", @@ -2856,7 +2856,7 @@ :timestamp 1498364798000}, :score 0.0, :issued {:date-parts [[2017 3 1]]}, - :references-count 61, + :references-count 0, :alternative-id ["S0031938416309064"], :URL "http://dx.doi.org/10.1016/j.physbeh.2016.11.030", :ISSN ["0031-9384"], @@ -2879,7 +2879,7 @@ {:value "© 2016 Elsevier Inc. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 80, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -2962,7 +2962,7 @@ :timestamp 1498367793000}, :score 0.0, :issued {:date-parts [[2017 2 1]]}, - :references-count 80, + :references-count 0, :alternative-id ["S0031938416305728"], :URL "http://dx.doi.org/10.1016/j.physbeh.2016.12.004", :ISSN ["0031-9384"], @@ -2985,7 +2985,7 @@ {:value "© 2016 Elsevier Inc. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 5, + {:reference-count 0, :publisher "Elsevier BV", :issue "2", :license @@ -3056,7 +3056,7 @@ :timestamp 1498362804000}, :score 0.0, :issued {:date-parts [[2017 3 1]]}, - :references-count 5, + :references-count 0, :journal-issue {:issue "2", :published-print {:date-parts [[2017 3 1]]}}, :alternative-id ["S0033318216301426"], @@ -3084,7 +3084,7 @@ "© 2016 Academy of Psychosomatic Medicine. Published by Elsevier Inc. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 34, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -3154,7 +3154,7 @@ :timestamp 1512057067000}, :score 0.0, :issued {:date-parts [[2017 1 1]]}, - :references-count 34, + :references-count 0, :alternative-id ["S0306453016307545"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.09.025", :ISSN ["0306-4530"], @@ -3177,7 +3177,7 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 55, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -3263,7 +3263,7 @@ :timestamp 1498351257000}, :score 0.0, :issued {:date-parts [[2016 12 1]]}, - :references-count 55, + :references-count 0, :alternative-id ["S0306453016307594"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.09.027", :ISSN ["0306-4530"], @@ -3286,7 +3286,7 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 67, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -3322,7 +3322,7 @@ :page "371-379", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", :source "Crossref", - :is-referenced-by-count 2, + :is-referenced-by-count 4, :title ["Subcortical gray matter changes in transgender subjects after long-term cross-sex hormone administration"], :prefix "10.1016", @@ -3396,7 +3396,7 @@ :timestamp 1498351324000}, :score 0.0, :issued {:date-parts [[2016 12 1]]}, - :references-count 67, + :references-count 0, :alternative-id ["S0306453016307144"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.09.028", :ISSN ["0306-4530"], @@ -3419,7 +3419,7 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 80, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -3451,7 +3451,7 @@ :page "387-396", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", :source "Crossref", - :is-referenced-by-count 2, + :is-referenced-by-count 3, :title ["Exploring the neural mechanisms of finasteride: a proteomic analysis in the nucleus accumbens"], :prefix "10.1016", @@ -3509,7 +3509,7 @@ :timestamp 1498351444000}, :score 0.0, :issued {:date-parts [[2016 12 1]]}, - :references-count 80, + :references-count 0, :alternative-id ["S0306453016307715"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.10.001", :ISSN ["0306-4530"], @@ -3532,7 +3532,7 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 13, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -3565,7 +3565,7 @@ :page "52-55", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", :source "Crossref", - :is-referenced-by-count 2, + :is-referenced-by-count 4, :title ["Testing the ecological validity of the Trier Social Stress Test: Association with real-life exam stress"], :prefix "10.1016", @@ -3619,7 +3619,7 @@ :timestamp 1512057073000}, :score 0.0, :issued {:date-parts [[2017 1 1]]}, - :references-count 13, + :references-count 0, :alternative-id ["S0306453016307740"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.10.002", :ISSN ["0306-4530"], @@ -3642,7 +3642,7 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 59, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -3674,7 +3674,7 @@ :page "26-35", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", :source "Crossref", - :is-referenced-by-count 0, + :is-referenced-by-count 1, :title ["Do sex hormones or hormone therapy modify the relation of n-3 fatty acids with incident depressive symptoms in postmenopausal women? The MESA Study"], :prefix "10.1016", @@ -3728,7 +3728,7 @@ :timestamp 1512057029000}, :score 0.0, :issued {:date-parts [[2017 1 1]]}, - :references-count 59, + :references-count 0, :alternative-id ["S0306453016307867"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.10.003", :ISSN ["0306-4530"], @@ -3751,7 +3751,7 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 95, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -3813,7 +3813,7 @@ :timestamp 1512057055000}, :score 0.0, :issued {:date-parts [[2017 1 1]]}, - :references-count 95, + :references-count 0, :alternative-id ["S0306453016307880"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.10.004", :ISSN ["0306-4530"], @@ -3836,7 +3836,7 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 74, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -3872,7 +3872,7 @@ :page "56-63", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", :source "Crossref", - :is-referenced-by-count 5, + :is-referenced-by-count 7, :title ["Prenatal maternal cortisol concentrations predict neurodevelopment in middle childhood"], :prefix "10.1016", @@ -3914,7 +3914,7 @@ :timestamp 1512057069000}, :score 0.0, :issued {:date-parts [[2017 1 1]]}, - :references-count 74, + :references-count 0, :alternative-id ["S0306453016307892"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.10.005", :ISSN ["0306-4530"], @@ -3937,7 +3937,7 @@ {:value "© 2016 Published by Elsevier Ltd.", :name "copyright", :label "Copyright"}]} - {:reference-count 15, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -4015,7 +4015,7 @@ :timestamp 1512057094000}, :score 0.0, :issued {:date-parts [[2017 1 1]]}, - :references-count 15, + :references-count 0, :alternative-id ["S0306453016307909"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.10.006", :ISSN ["0306-4530"], @@ -4038,7 +4038,7 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 54, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -4128,7 +4128,7 @@ :timestamp 1512057091000}, :score 0.0, :issued {:date-parts [[2017 1 1]]}, - :references-count 54, + :references-count 0, :alternative-id ["S0306453016305327"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.10.007", :ISSN ["0306-4530"], @@ -4151,7 +4151,7 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 51, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -4225,7 +4225,7 @@ :timestamp 1512057108000}, :score 0.0, :issued {:date-parts [[2017 1 1]]}, - :references-count 51, + :references-count 0, :alternative-id ["S0306453016302190"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.10.008", :ISSN ["0306-4530"], @@ -4248,7 +4248,7 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 48, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -4323,7 +4323,7 @@ :timestamp 1512057082000}, :score 0.0, :issued {:date-parts [[2017 1 1]]}, - :references-count 48, + :references-count 0, :alternative-id ["S0306453016307983"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.10.009", :ISSN ["0306-4530"], @@ -4346,7 +4346,7 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 83, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -4456,7 +4456,7 @@ :timestamp 1512057059000}, :score 0.0, :issued {:date-parts [[2017 1 1]]}, - :references-count 83, + :references-count 0, :alternative-id ["S0306453016308022"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.10.010", :ISSN ["0306-4530"], @@ -4479,7 +4479,7 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 70, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -4579,7 +4579,7 @@ :timestamp 1498359328000}, :score 0.0, :issued {:date-parts [[2017 2 1]]}, - :references-count 70, + :references-count 0, :alternative-id ["S030645301630806X"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.10.011", :ISSN ["0306-4530"], @@ -4602,7 +4602,7 @@ {:value "Published by Elsevier Ltd.", :name "copyright", :label "Copyright"}]} - {:reference-count 64, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -4684,7 +4684,7 @@ :timestamp 1512057104000}, :score 0.0, :issued {:date-parts [[2017 1 1]]}, - :references-count 64, + :references-count 0, :alternative-id ["S0306453016308083"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.10.012", :ISSN ["0306-4530"], @@ -4707,7 +4707,7 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 88, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -4773,7 +4773,7 @@ :timestamp 1512057078000}, :score 0.0, :issued {:date-parts [[2017 1 1]]}, - :references-count 88, + :references-count 0, :alternative-id ["S0306453016302128"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.10.013", :ISSN ["0306-4530"], @@ -4796,7 +4796,7 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 45, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -4866,7 +4866,7 @@ :timestamp 1512057041000}, :score 0.0, :issued {:date-parts [[2017 1 1]]}, - :references-count 45, + :references-count 0, :alternative-id ["S0306453016308216"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.10.014", :ISSN ["0306-4530"], @@ -4889,7 +4889,7 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 39, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -4995,7 +4995,7 @@ :timestamp 1498354968000}, :score 0.0, :issued {:date-parts [[2017 2 1]]}, - :references-count 39, + :references-count 0, :alternative-id ["S0306453016308332"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.10.015", :ISSN ["0306-4530"], @@ -5018,7 +5018,7 @@ {:value "© 2016 Published by Elsevier Ltd.", :name "copyright", :label "Copyright"}]} - {:reference-count 45, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -5116,7 +5116,7 @@ :timestamp 1512057086000}, :score 0.0, :issued {:date-parts [[2017 1 1]]}, - :references-count 45, + :references-count 0, :alternative-id ["S0306453016305595"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.10.016", :ISSN ["0306-4530"], @@ -5139,7 +5139,7 @@ {:value "© 2016 The Authors. Published by Elsevier Ltd.", :name "copyright", :label "Copyright"}]} - {:reference-count 36, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -5171,7 +5171,7 @@ :page "124-131", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", :source "Crossref", - :is-referenced-by-count 3, + :is-referenced-by-count 5, :title ["The impact of perceived intensity and frequency of police work occupational stressors on the cortisol awakening response (CAR): Findings from the BCOPS study"], :prefix "10.1016", @@ -5225,7 +5225,7 @@ :timestamp 1512057078000}, :score 0.0, :issued {:date-parts [[2017 1 1]]}, - :references-count 36, + :references-count 0, :alternative-id ["S0306453016302025"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.10.017", :ISSN ["0306-4530"], @@ -5248,7 +5248,7 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 83, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -5280,7 +5280,7 @@ :page "132-140", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", :source "Crossref", - :is-referenced-by-count 0, + :is-referenced-by-count 1, :title ["Effects of mineralocorticoid-receptor stimulation on risk taking behavior in young healthy men and women"], :prefix "10.1016", @@ -5330,7 +5330,7 @@ :timestamp 1512057105000}, :score 0.0, :issued {:date-parts [[2017 1 1]]}, - :references-count 83, + :references-count 0, :alternative-id ["S0306453016308447"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.10.018", :ISSN ["0306-4530"], @@ -5353,7 +5353,7 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 41, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -5392,7 +5392,7 @@ :page "183-191", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", :source "Crossref", - :is-referenced-by-count 5, + :is-referenced-by-count 7, :title ["Cortisol reactivity and suicidal behavior: Investigating the role of hypothalamic-pituitary-adrenal axis responses to stress in suicide attempters and ideators"], :prefix "10.1016", @@ -5438,7 +5438,7 @@ :timestamp 1512057111000}, :score 0.0, :issued {:date-parts [[2017 1 1]]}, - :references-count 41, + :references-count 0, :alternative-id ["S0306453016308435"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.10.019", :ISSN ["0306-4530"], @@ -5461,7 +5461,7 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 43, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -5551,7 +5551,7 @@ :timestamp 1512057058000}, :score 0.0, :issued {:date-parts [[2017 1 1]]}, - :references-count 43, + :references-count 0, :alternative-id ["S0306453016308459"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.10.020", :ISSN ["0306-4530"], @@ -5574,7 +5574,7 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 47, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -5606,7 +5606,7 @@ :page "77-83", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", :source "Crossref", - :is-referenced-by-count 2, + :is-referenced-by-count 3, :title ["The role of oxytocin in modulating interpersonal space: A pharmacological fMRI study"], :prefix "10.1016", @@ -5660,7 +5660,7 @@ :timestamp 1498360766000}, :score 0.0, :issued {:date-parts [[2017 2 1]]}, - :references-count 47, + :references-count 0, :alternative-id ["S0306453016304668"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.10.021", :ISSN ["0306-4530"], @@ -5683,7 +5683,7 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 51, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -5769,7 +5769,7 @@ :timestamp 1512057089000}, :score 0.0, :issued {:date-parts [[2017 1 1]]}, - :references-count 51, + :references-count 0, :alternative-id ["S0306453016308587"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.10.022", :ISSN ["0306-4530"], @@ -5792,7 +5792,7 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 54, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -5831,7 +5831,7 @@ :page "97-106", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", :source "Crossref", - :is-referenced-by-count 5, + :is-referenced-by-count 6, :title ["Motherhood and infant contact regulate neuroplasticity in the serotonergic midbrain dorsal raphe"], :prefix "10.1016", @@ -5865,7 +5865,7 @@ :timestamp 1498363316000}, :score 0.0, :issued {:date-parts [[2017 2 1]]}, - :references-count 54, + :references-count 0, :alternative-id ["S0306453016308605"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.10.023", :ISSN ["0306-4530"], @@ -5888,7 +5888,7 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 63, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -5978,7 +5978,7 @@ :timestamp 1512057013000}, :score 0.0, :issued {:date-parts [[2017 1 1]]}, - :references-count 63, + :references-count 0, :alternative-id ["S0306453016308630"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.10.024", :ISSN ["0306-4530"], @@ -6002,7 +6002,7 @@ "Crown Copyright © 2016 Published by Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 44, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -6088,7 +6088,7 @@ :timestamp 1512056995000}, :score 0.0, :issued {:date-parts [[2017 1 1]]}, - :references-count 44, + :references-count 0, :alternative-id ["S0306453016308563"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.10.025", :ISSN ["0306-4530"], @@ -6111,7 +6111,7 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 67, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -6214,7 +6214,7 @@ :timestamp 1512057100000}, :score 0.0, :issued {:date-parts [[2017 1 1]]}, - :references-count 67, + :references-count 0, :alternative-id ["S0306453016308654"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.10.026", :ISSN ["0306-4530"], @@ -6237,7 +6237,7 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 54, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -6343,7 +6343,7 @@ :timestamp 1498360766000}, :score 0.0, :issued {:date-parts [[2017 2 1]]}, - :references-count 54, + :references-count 0, :alternative-id ["S0306453016304528"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.10.027", :ISSN ["0306-4530"], @@ -6366,7 +6366,7 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 56, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -6398,7 +6398,7 @@ :page "29-37", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", :source "Crossref", - :is-referenced-by-count 0, + :is-referenced-by-count 2, :title ["Maternal care and affective behavior in female offspring: Implication of the neurosteroid/GABAergic system"], :prefix "10.1016", @@ -6432,7 +6432,7 @@ :timestamp 1498359409000}, :score 0.0, :issued {:date-parts [[2017 2 1]]}, - :references-count 56, + :references-count 0, :alternative-id ["S0306453016304723"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.10.028", :ISSN ["0306-4530"], @@ -6455,7 +6455,7 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 45, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -6540,7 +6540,7 @@ :timestamp 1498361604000}, :score 0.0, :issued {:date-parts [[2017 2 1]]}, - :references-count 45, + :references-count 0, :alternative-id ["S030645301630470X"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.10.029", :ISSN ["0306-4530"], @@ -6575,9 +6575,9 @@ :publisher "Elsevier BV", :license [{:start - {:date-parts [[2017 3 17]], - :date-time "2017-03-17T15:31:03Z", - :timestamp 1489764663000}, + {:date-parts [[2017 4 1]], + :date-time "2017-04-01T00:00:00Z", + :timestamp 1491004800000}, :content-version "tdm", :delay-in-days 0, :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], @@ -6587,8 +6587,8 @@ "clinicalkey.jp" "clinicalkey.com" "clinicalkey.es" - "clinicalkey.com.au" "clinicalkey.fr" + "clinicalkey.com.au" "elsevier.com" "sciencedirect.com"], :crossmark-restriction true}, @@ -6643,21 +6643,21 @@ :language "en", :link [{:URL - "http://api.elsevier.com/content/article/PII:S0306453016308757?httpAccept=text/plain", - :content-type "text/plain", + "http://api.elsevier.com/content/article/PII:S0306453016308757?httpAccept=text/xml", + :content-type "text/xml", :content-version "vor", :intended-application "text-mining"} {:URL - "http://api.elsevier.com/content/article/PII:S0306453016308757?httpAccept=text/xml", - :content-type "text/xml", + "http://api.elsevier.com/content/article/PII:S0306453016308757?httpAccept=text/plain", + :content-type "text/plain", :content-version "vor", :intended-application "text-mining"}], :deposited - {:date-parts [[2017 3 17]], - :date-time "2017-03-17T15:31:03Z", - :timestamp 1489764663000}, + {:date-parts [[2017 12 21]], + :date-time "2017-12-21T03:37:35Z", + :timestamp 1513827455000}, :score 0.0, - :issued {:date-parts [[2017 3 17]]}, + :issued {:date-parts [[2017 4 1]]}, :references-count 0, :alternative-id ["S0306453016308757"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.11.001", @@ -6686,7 +6686,7 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 64, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -6760,7 +6760,7 @@ :timestamp 1512057101000}, :score 0.0, :issued {:date-parts [[2017 1 1]]}, - :references-count 64, + :references-count 0, :alternative-id ["S0306453016308824"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.11.002", :ISSN ["0306-4530"], @@ -6783,7 +6783,7 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 81, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -6869,7 +6869,7 @@ :timestamp 1512057140000}, :score 0.0, :issued {:date-parts [[2017 1 1]]}, - :references-count 81, + :references-count 0, :alternative-id ["S0306453016308836"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.11.003", :ISSN ["0306-4530"], @@ -6892,7 +6892,7 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 50, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -6979,7 +6979,7 @@ :timestamp 1498361086000}, :score 0.0, :issued {:date-parts [[2017 2 1]]}, - :references-count 50, + :references-count 0, :alternative-id ["S030645301630511X"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.11.004", :ISSN ["0306-4530"], @@ -7003,7 +7003,7 @@ "Crown Copyright © 2016 Published by Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 54, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -7095,7 +7095,7 @@ :timestamp 1512057106000}, :score 0.0, :issued {:date-parts [[2017 1 1]]}, - :references-count 54, + :references-count 0, :alternative-id ["S0306453016308903"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.11.005", :ISSN ["0306-4530"], @@ -7118,7 +7118,7 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 19, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -7200,7 +7200,7 @@ :timestamp 1498359763000}, :score 0.0, :issued {:date-parts [[2017 2 1]]}, - :references-count 19, + :references-count 0, :alternative-id ["S0306453016308915"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.11.006", :ISSN ["0306-4530"], @@ -7223,7 +7223,7 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 52, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -7255,7 +7255,7 @@ :page "38-48", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", :source "Crossref", - :is-referenced-by-count 2, + :is-referenced-by-count 6, :title ["Hypothalamic-pituitary-adrenal axis activity and cognition in major depression: The role of remission status"], :prefix "10.1016", @@ -7329,7 +7329,7 @@ :timestamp 1498360769000}, :score 0.0, :issued {:date-parts [[2017 2 1]]}, - :references-count 52, + :references-count 0, :alternative-id ["S0306453016302293"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.11.007", :ISSN ["0306-4530"], @@ -7352,7 +7352,7 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 67, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -7454,7 +7454,7 @@ :timestamp 1498360447000}, :score 0.0, :issued {:date-parts [[2017 2 1]]}, - :references-count 67, + :references-count 0, :alternative-id ["S0306453016308952"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.11.008", :ISSN ["0306-4530"], @@ -7477,7 +7477,7 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 19, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -7563,7 +7563,7 @@ :timestamp 1498361604000}, :score 0.0, :issued {:date-parts [[2017 2 1]]}, - :references-count 19, + :references-count 0, :alternative-id ["S0306453016305005"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.11.009", :ISSN ["0306-4530"], @@ -7586,7 +7586,7 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 17, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -7656,7 +7656,7 @@ :timestamp 1498361959000}, :score 0.0, :issued {:date-parts [[2017 2 1]]}, - :references-count 17, + :references-count 0, :alternative-id ["S030645301630899X"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.11.010", :ISSN ["0306-4530"], @@ -7679,7 +7679,7 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 36, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -7718,7 +7718,7 @@ :page "144-153", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", :source "Crossref", - :is-referenced-by-count 8, + :is-referenced-by-count 10, :title ["Sociodemographic, lifestyle, and psychosocial determinants of hair cortisol in a South London community sample"], :prefix "10.1016", @@ -7776,7 +7776,7 @@ :timestamp 1507578905000}, :score 0.0, :issued {:date-parts [[2017 2 1]]}, - :references-count 36, + :references-count 0, :alternative-id ["S0306453016305923"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.11.011", :ISSN ["0306-4530"], @@ -7799,7 +7799,7 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 92, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -7831,7 +7831,7 @@ :page "19-28", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", :source "Crossref", - :is-referenced-by-count 6, + :is-referenced-by-count 7, :title ["Trauma exposure relates to heightened stress, altered amygdala morphology and deficient extinction learning: Implications for psychopathology"], :prefix "10.1016", @@ -7889,7 +7889,7 @@ :timestamp 1498361079000}, :score 0.0, :issued {:date-parts [[2017 2 1]]}, - :references-count 92, + :references-count 0, :alternative-id ["S0306453016309015"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.11.012", :ISSN ["0306-4530"], @@ -7912,7 +7912,7 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 18, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -7944,7 +7944,7 @@ :page "114-118", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", :source "Crossref", - :is-referenced-by-count 0, + :is-referenced-by-count 1, :title ["Association between dehydroepiandrosterone-sulfate and attention in long-term survivors of childhood acute lymphoblastic leukemia treated with only chemotherapy"], :prefix "10.1016", @@ -8014,7 +8014,7 @@ :timestamp 1498362365000}, :score 0.0, :issued {:date-parts [[2017 2 1]]}, - :references-count 18, + :references-count 0, :alternative-id ["S0306453016305601"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.11.014", :ISSN ["0306-4530"], @@ -8037,7 +8037,7 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 69, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -8120,7 +8120,7 @@ :timestamp 1498362361000}, :score 0.0, :issued {:date-parts [[2017 2 1]]}, - :references-count 69, + :references-count 0, :alternative-id ["S0306453016305996"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.11.015", :ISSN ["0306-4530"], @@ -8143,7 +8143,7 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 20, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -8236,7 +8236,7 @@ :timestamp 1503055223000}, :score 0.0, :issued {:date-parts [[2017 3 1]]}, - :references-count 20, + :references-count 0, :alternative-id ["S0306453016302049"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.11.016", :ISSN ["0306-4530"], @@ -8259,7 +8259,7 @@ {:value "© 2016 The Authors. Published by Elsevier Ltd.", :name "copyright", :label "Copyright"}]} - {:reference-count 47, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -8291,7 +8291,7 @@ :page "174-182", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", :source "Crossref", - :is-referenced-by-count 2, + :is-referenced-by-count 3, :title ["Women recovering from social rejection: The effect of the person and the situation on a hormonal mechanism of affiliation"], :prefix "10.1016", @@ -8333,7 +8333,7 @@ :timestamp 1498364087000}, :score 0.0, :issued {:date-parts [[2017 2 1]]}, - :references-count 47, + :references-count 0, :alternative-id ["S0306453016305066"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.11.017", :ISSN ["0306-4530"], @@ -8356,7 +8356,7 @@ {:value "Published by Elsevier Ltd.", :name "copyright", :label "Copyright"}]} - {:reference-count 68, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -8407,7 +8407,7 @@ :page "57-66", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", :source "Crossref", - :is-referenced-by-count 1, + :is-referenced-by-count 3, :title ["Increased anxiety-like behaviors, but blunted cortisol stress response after neonatal hippocampal lesions in monkeys"], :prefix "10.1016", @@ -8453,7 +8453,7 @@ :timestamp 1507578919000}, :score 0.0, :issued {:date-parts [[2017 2 1]]}, - :references-count 68, + :references-count 0, :alternative-id ["S0306453016309210"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.11.018", :ISSN ["0306-4530"], @@ -8476,7 +8476,7 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 49, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -8508,7 +8508,7 @@ :page "131-140", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", :source "Crossref", - :is-referenced-by-count 8, + :is-referenced-by-count 11, :title ["Rapid effects of dorsal hippocampal G-protein coupled estrogen receptor on learning in female mice"], :prefix "10.1016", @@ -8550,7 +8550,7 @@ :timestamp 1503055242000}, :score 0.0, :issued {:date-parts [[2017 3 1]]}, - :references-count 49, + :references-count 0, :alternative-id ["S0306453016304267"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.11.019", :ISSN ["0306-4530"], @@ -8573,7 +8573,7 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 15, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -8663,7 +8663,7 @@ :timestamp 1503055097000}, :score 0.0, :issued {:date-parts [[2017 3 1]]}, - :references-count 15, + :references-count 0, :alternative-id ["S030645301630703X"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.11.020", :ISSN ["0306-4530"], @@ -8686,7 +8686,7 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 48, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -8726,7 +8726,7 @@ :page "105-111", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", :source "Crossref", - :is-referenced-by-count 3, + :is-referenced-by-count 4, :title ["Allostatic load and reduced cortical thickness in schizophrenia"], :prefix "10.1016", @@ -8784,7 +8784,7 @@ :timestamp 1503055182000}, :score 0.0, :issued {:date-parts [[2017 3 1]]}, - :references-count 48, + :references-count 0, :alternative-id ["S0306453016307600"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.11.021", :ISSN ["0306-4530"], @@ -8807,7 +8807,7 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 71, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -8877,7 +8877,7 @@ :timestamp 1498363149000}, :score 0.0, :issued {:date-parts [[2017 2 1]]}, - :references-count 71, + :references-count 0, :alternative-id ["S0306453016309362"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.11.022", :ISSN ["0306-4530"], @@ -8900,7 +8900,7 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 18, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -8936,7 +8936,7 @@ :page "51-55", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", :source "Crossref", - :is-referenced-by-count 0, + :is-referenced-by-count 1, :title ["Validation of autonomic and endocrine reactivity to a laboratory stressor in young children"], :prefix "10.1016", @@ -8986,7 +8986,7 @@ :timestamp 1503055222000}, :score 0.0, :issued {:date-parts [[2017 3 1]]}, - :references-count 18, + :references-count 0, :alternative-id ["S0306453016306503"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.11.023", :ISSN ["0306-4530"], @@ -9009,7 +9009,7 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 46, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -9102,7 +9102,7 @@ :timestamp 1503055176000}, :score 0.0, :issued {:date-parts [[2017 3 1]]}, - :references-count 46, + :references-count 0, :alternative-id ["S030645301630498X"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.11.024", :ISSN ["0306-4530"], @@ -9125,7 +9125,7 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 48, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -9157,7 +9157,7 @@ :page "112-121", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", :source "Crossref", - :is-referenced-by-count 2, + :is-referenced-by-count 4, :title ["Association between anxiety and metabolic syndrome: A systematic review and meta-analysis of epidemiological studies"], :prefix "10.1016", @@ -9192,7 +9192,7 @@ :timestamp 1503055248000}, :score 0.0, :issued {:date-parts [[2017 3 1]]}, - :references-count 48, + :references-count 0, :alternative-id ["S0306453016304711"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.11.025", :ISSN ["0306-4530"], @@ -9215,7 +9215,7 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 36, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -9324,7 +9324,7 @@ :timestamp 1503055204000}, :score 0.0, :issued {:date-parts [[2017 3 1]]}, - :references-count 36, + :references-count 0, :alternative-id ["S0306453016305364"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.11.026", :ISSN ["0306-4530"], @@ -9347,7 +9347,7 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 66, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -9379,7 +9379,7 @@ :page "95-104", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", :source "Crossref", - :is-referenced-by-count 4, + :is-referenced-by-count 5, :title ["Stress disrupts the reconsolidation of fear memories in men"], :prefix "10.1016", @@ -9413,7 +9413,7 @@ :timestamp 1503055184000}, :score 0.0, :issued {:date-parts [[2017 3 1]]}, - :references-count 66, + :references-count 0, :alternative-id ["S0306453016305583"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.11.027", :ISSN ["0306-4530"], @@ -9436,7 +9436,7 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 52, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -9468,7 +9468,7 @@ :page "203-210", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", :source "Crossref", - :is-referenced-by-count 0, + :is-referenced-by-count 1, :title ["Altered cerebral insulin response in transgenic mice expressing the epsilon-4 allele of the human apolipoprotein E gene"], :prefix "10.1016", @@ -9522,7 +9522,7 @@ :timestamp 1503055137000}, :score 0.0, :issued {:date-parts [[2017 3 1]]}, - :references-count 52, + :references-count 0, :alternative-id ["S0306453016306199"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.11.028", :ISSN ["0306-4530"], @@ -9545,7 +9545,7 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 30, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -9639,7 +9639,7 @@ :timestamp 1503055144000}, :score 0.0, :issued {:date-parts [[2017 3 1]]}, - :references-count 30, + :references-count 0, :alternative-id ["S0306453016307922"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.11.029", :ISSN ["0306-4530"], @@ -9662,7 +9662,7 @@ {:value "© 2016 The Authors. Published by Elsevier Ltd.", :name "copyright", :label "Copyright"}]} - {:reference-count 73, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -9694,7 +9694,7 @@ :page "9-17", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", :source "Crossref", - :is-referenced-by-count 3, + :is-referenced-by-count 4, :title ["Effects of the cortisol stress response on the psychotherapy outcome of panic disorder patients"], :prefix "10.1016", @@ -9736,7 +9736,7 @@ :timestamp 1503055232000}, :score 0.0, :issued {:date-parts [[2017 3 1]]}, - :references-count 73, + :references-count 0, :alternative-id ["S0306453016308125"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.11.030", :ISSN ["0306-4530"], @@ -9759,7 +9759,7 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 55, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -9803,7 +9803,7 @@ :page "197-205", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", :source "Crossref", - :is-referenced-by-count 19, + :is-referenced-by-count 22, :title ["Oxidative stress, inflammation and treatment response in major depression"], :prefix "10.1016", @@ -9881,7 +9881,7 @@ :timestamp 1498366385000}, :score 0.0, :issued {:date-parts [[2017 2 1]]}, - :references-count 55, + :references-count 0, :alternative-id ["S0306453016306862"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.11.031", :ISSN ["0306-4530"], @@ -9904,7 +9904,7 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 35, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -9936,7 +9936,7 @@ :page "154-161", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", :source "Crossref", - :is-referenced-by-count 0, + :is-referenced-by-count 1, :title ["Adolescent binge alcohol exposure increases risk assessment behaviors in male Wistar rats after exposure to an acute psychological stressor in adulthood"], :prefix "10.1016", @@ -9978,7 +9978,7 @@ :timestamp 1498366382000}, :score 0.0, :issued {:date-parts [[2017 2 1]]}, - :references-count 35, + :references-count 0, :alternative-id ["S0306453016309623"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.11.032", :ISSN ["0306-4530"], @@ -10001,7 +10001,7 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 37, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -10037,7 +10037,7 @@ :page "135-143", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", :source "Crossref", - :is-referenced-by-count 8, + :is-referenced-by-count 11, :title ["Combined oral contraceptive use is associated with both improvement and worsening of mood in the different phases of the treatment cycle—A double-blind, placebo-controlled randomized trial"], :prefix "10.1016", @@ -10107,7 +10107,7 @@ :timestamp 1498365988000}, :score 0.0, :issued {:date-parts [[2017 2 1]]}, - :references-count 37, + :references-count 0, :alternative-id ["S0306453016309635"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.11.033", :ISSN ["0306-4530"], @@ -10130,7 +10130,7 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 13, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -10236,7 +10236,7 @@ :timestamp 1498367035000}, :score 0.0, :issued {:date-parts [[2017 2 1]]}, - :references-count 13, + :references-count 0, :alternative-id ["S0306453016309659"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.11.034", :ISSN ["0306-4530"], @@ -10259,7 +10259,7 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 44, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -10291,7 +10291,7 @@ :page "122-130", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", :source "Crossref", - :is-referenced-by-count 0, + :is-referenced-by-count 1, :title ["Higher serum DHEA concentrations before and after SSRI treatment are associated with remission of major depression"], :prefix "10.1016", @@ -10361,7 +10361,7 @@ :timestamp 1503055211000}, :score 0.0, :issued {:date-parts [[2017 3 1]]}, - :references-count 44, + :references-count 0, :alternative-id ["S0306453016307466"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.11.035", :ISSN ["0306-4530"], @@ -10384,7 +10384,7 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 60, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -10416,7 +10416,7 @@ :page "25-36", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", :source "Crossref", - :is-referenced-by-count 25, + :is-referenced-by-count 30, :title ["Cortisol stress reactivity across psychiatric disorders: A systematic review and meta-analysis"], :prefix "10.1016", @@ -10466,7 +10466,7 @@ :timestamp 1503055242000}, :score 0.0, :issued {:date-parts [[2017 3 1]]}, - :references-count 60, + :references-count 0, :alternative-id ["S0306453016304735"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.11.036", :ISSN ["0306-4530"], @@ -10489,7 +10489,7 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 63, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -10522,7 +10522,7 @@ :page "162-173", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", :source "Crossref", - :is-referenced-by-count 5, + :is-referenced-by-count 6, :title ["Mineralocorticoid receptor haplotype, estradiol, progesterone and emotional information processing"], :prefix "10.1016", @@ -10568,7 +10568,7 @@ :timestamp 1498366186000}, :score 0.0, :issued {:date-parts [[2017 2 1]]}, - :references-count 63, + :references-count 0, :alternative-id ["S0306453016309660"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.11.037", :ISSN ["0306-4530"], @@ -10591,7 +10591,7 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 55, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -10623,7 +10623,7 @@ :page "18-24", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", :source "Crossref", - :is-referenced-by-count 3, + :is-referenced-by-count 4, :title ["Oxytocin modulates third-party sanctioning of selfish and generous behavior within and between groups"], :prefix "10.1016", @@ -10665,7 +10665,7 @@ :timestamp 1503055144000}, :score 0.0, :issued {:date-parts [[2017 3 1]]}, - :references-count 55, + :references-count 0, :alternative-id ["S0306453016308678"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.11.039", :ISSN ["0306-4530"], @@ -10688,7 +10688,7 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 53, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -10778,7 +10778,7 @@ :timestamp 1503055154000}, :score 0.0, :issued {:date-parts [[2017 3 1]]}, - :references-count 53, + :references-count 0, :alternative-id ["S0306453016304279"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.11.040", :ISSN ["0306-4530"], @@ -10801,7 +10801,7 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 24, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -10886,7 +10886,7 @@ :timestamp 1503055173000}, :score 0.0, :issued {:date-parts [[2017 3 1]]}, - :references-count 24, + :references-count 0, :alternative-id ["S0306453016305315"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.12.002", :ISSN ["0306-4530"], @@ -10909,7 +10909,7 @@ {:value "© 2016 The Authors. Published by Elsevier Ltd.", :name "copyright", :label "Copyright"}]} - {:reference-count 42, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -10941,7 +10941,7 @@ :page "84-89", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", :source "Crossref", - :is-referenced-by-count 0, + :is-referenced-by-count 1, :title ["OXTR polymorphism in depression and completed suicide—A study on a large population sample"], :prefix "10.1016", @@ -11011,7 +11011,7 @@ :timestamp 1503055237000}, :score 0.0, :issued {:date-parts [[2017 3 1]]}, - :references-count 42, + :references-count 0, :alternative-id ["S0306453016307132"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.12.003", :ISSN ["0306-4530"], @@ -11034,7 +11034,7 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 49, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -11104,7 +11104,7 @@ :timestamp 1503055182000}, :score 0.0, :issued {:date-parts [[2017 3 1]]}, - :references-count 49, + :references-count 0, :alternative-id ["S0306453016302268"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.12.004", :ISSN ["0306-4530"], @@ -11127,7 +11127,7 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 73, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -11167,7 +11167,7 @@ :page "206-217", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", :source "Crossref", - :is-referenced-by-count 4, + :is-referenced-by-count 5, :title ["Sex-specific associations of testosterone with prefrontal-hippocampal development and executive function"], :prefix "10.1016", @@ -11229,7 +11229,7 @@ :timestamp 1498368753000}, :score 0.0, :issued {:date-parts [[2017 2 1]]}, - :references-count 73, + :references-count 0, :alternative-id ["S0306453016309994"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.12.005", :ISSN ["0306-4530"], @@ -11252,7 +11252,7 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 66, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -11326,7 +11326,7 @@ :timestamp 1503055151000}, :score 0.0, :issued {:date-parts [[2017 3 1]]}, - :references-count 66, + :references-count 0, :alternative-id ["S0306453016306801"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.12.006", :ISSN ["0306-4530"], @@ -11349,7 +11349,7 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 48, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -11420,7 +11420,7 @@ :timestamp 1503055123000}, :score 0.0, :issued {:date-parts [[2017 3 1]]}, - :references-count 48, + :references-count 0, :alternative-id ["S0306453016310289"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.12.008", :ISSN ["0306-4530"], @@ -11443,7 +11443,7 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 47, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -11475,7 +11475,7 @@ :page "151-156", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", :source "Crossref", - :is-referenced-by-count 1, + :is-referenced-by-count 3, :title ["Neurocognitive deficits or stress overload: Why do individuals with schizophrenia show poor performance in neurocognitive tests?"], :prefix "10.1016", @@ -11513,7 +11513,7 @@ :timestamp 1494580720000}, :score 0.0, :issued {:date-parts [[2017 5 1]]}, - :references-count 47, + :references-count 0, :alternative-id ["S0920996416304959"], :URL "http://dx.doi.org/10.1016/j.schres.2016.11.002", :ISSN ["0920-9964"], @@ -11536,7 +11536,7 @@ {:value "© 2016 Elsevier B.V. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 59, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -11620,7 +11620,7 @@ :timestamp 1497322185000}, :score 0.0, :issued {:date-parts [[2017 6 13]]}, - :references-count 59, + :references-count 0, :alternative-id ["S0920996416305904"], :URL "http://dx.doi.org/10.1016/j.schres.2016.12.016", :ISSN ["0920-9964"], @@ -11643,7 +11643,7 @@ {:value "© 2016 Elsevier B.V. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 51, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -11667,7 +11667,7 @@ :page "61-67", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", :source "Crossref", - :is-referenced-by-count 2, + :is-referenced-by-count 4, :title ["Intraindividual stability of cortisol and cortisone and the ratio of cortisol to cortisone in saliva, urine and hair"], :prefix "10.1016", @@ -11713,7 +11713,7 @@ :timestamp 1498370999000}, :score 0.0, :issued {:date-parts [[2017 2 1]]}, - :references-count 51, + :references-count 0, :alternative-id ["S0039128X16301969"], :URL "http://dx.doi.org/10.1016/j.steroids.2016.12.008", :ISSN ["0039-128X"], @@ -11734,7 +11734,7 @@ {:value "© 2016 Elsevier Inc. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 357, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -11771,7 +11771,7 @@ :page "83-102", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", :source "Crossref", - :is-referenced-by-count 7, + :is-referenced-by-count 9, :title ["The exercise-glucocorticoid paradox: How exercise is beneficial to cognition, mood, and the brain while increasing glucocorticoid levels"], :prefix "10.1016", @@ -11821,7 +11821,7 @@ :timestamp 1498369127000}, :score 0.0, :issued {:date-parts [[2017 1 1]]}, - :references-count 357, + :references-count 0, :alternative-id ["S0091302216300619"], :URL "http://dx.doi.org/10.1016/j.yfrne.2016.12.001", :ISSN ["0091-3022"], @@ -11844,7 +11844,7 @@ {:value "© 2016 Elsevier Inc. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 152, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -11881,7 +11881,7 @@ :page "122-137", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", :source "Crossref", - :is-referenced-by-count 6, + :is-referenced-by-count 12, :title ["Puberty and structural brain development in humans"], :prefix "10.1016", :volume "44", @@ -11914,7 +11914,7 @@ :timestamp 1497060070000}, :score 0.0, :issued {:date-parts [[2017 1 1]]}, - :references-count 152, + :references-count 0, :alternative-id ["S0091302216300632"], :URL "http://dx.doi.org/10.1016/j.yfrne.2016.12.003", :ISSN ["0091-3022"], @@ -11936,7 +11936,7 @@ {:value "© 2017 Elsevier Inc. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 82, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -11965,7 +11965,7 @@ :page "16-24", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", :source "Crossref", - :is-referenced-by-count 7, + :is-referenced-by-count 10, :title ["Oxytocin receptors modulate a social salience neural network in male prairie voles"], :prefix "10.1016", @@ -12011,7 +12011,7 @@ :timestamp 1503604539000}, :score 0.0, :issued {:date-parts [[2017 1 1]]}, - :references-count 82, + :references-count 0, :alternative-id ["S0018506X1630280X"], :URL "http://dx.doi.org/10.1016/j.yhbeh.2016.10.009", :ISSN ["0018-506X"], @@ -12034,7 +12034,7 @@ {:value "Published by Elsevier Inc.", :name "copyright", :label "Copyright"}]} - {:reference-count 98, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -12108,7 +12108,7 @@ :timestamp 1497581287000}, :score 0.0, :issued {:date-parts [[2017 6 1]]}, - :references-count 98, + :references-count 0, :alternative-id ["S0018506X16301039"], :URL "http://dx.doi.org/10.1016/j.yhbeh.2016.10.014", :ISSN ["0018-506X"], @@ -12131,7 +12131,7 @@ {:value "© 2016 Elsevier Inc. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 112, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -12210,7 +12210,7 @@ :timestamp 1497581244000}, :score 0.0, :issued {:date-parts [[2017 6 1]]}, - :references-count 112, + :references-count 0, :alternative-id ["S0018506X16300277"], :URL "http://dx.doi.org/10.1016/j.yhbeh.2016.10.020", :ISSN ["0018-506X"], @@ -12233,7 +12233,7 @@ {:value "© 2016 Elsevier Inc. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 76, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -12295,7 +12295,7 @@ :timestamp 1497581181000}, :score 0.0, :issued {:date-parts [[2017 6 1]]}, - :references-count 76, + :references-count 0, :alternative-id ["S0018506X1630023X"], :URL "http://dx.doi.org/10.1016/j.yhbeh.2016.11.003", :ISSN ["0018-506X"], @@ -12318,7 +12318,7 @@ {:value "© 2016 Elsevier Inc. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 104, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -12372,7 +12372,7 @@ :timestamp 1497581258000}, :score 0.0, :issued {:date-parts [[2017 6 1]]}, - :references-count 104, + :references-count 0, :alternative-id ["S0018506X16300848"], :URL "http://dx.doi.org/10.1016/j.yhbeh.2016.11.006", :ISSN ["0018-506X"], @@ -12395,7 +12395,7 @@ {:value "© 2016 Elsevier Inc. All rights reserved.", :name "copyright", :label "Copyright"}]} - {:reference-count 171, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -12431,7 +12431,7 @@ :page "113-126", :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", :source "Crossref", - :is-referenced-by-count 6, + :is-referenced-by-count 9, :title ["The Trier Social Stress Test: Principles and practice"], :prefix "10.1016", :volume "6", @@ -12480,7 +12480,7 @@ :timestamp 1499965125000}, :score 0.0, :issued {:date-parts [[2017 2 1]]}, - :references-count 171, + :references-count 0, :alternative-id ["S2352289516300224"], :URL "http://dx.doi.org/10.1016/j.ynstr.2016.11.001", :ISSN ["2352-2895"], @@ -12502,7 +12502,7 @@ {:value "© 2016 The Authors. Published by Elsevier Inc.", :name "copyright", :label "Copyright"}]} - {:reference-count 68, + {:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -12577,7 +12577,7 @@ :timestamp 1498360236000}, :score 0.0, :issued {:date-parts [[2017 1 1]]}, - :references-count 68, + :references-count 0, :alternative-id ["S0091743516303486"], :URL "http://dx.doi.org/10.1016/j.ypmed.2016.11.003", :ISSN ["0091-7435"], diff --git a/dev-resources/works/?filter=type:peer-review.edn b/dev-resources/works/?filter=type:peer-review.edn index e35be056..e95ca661 100644 --- a/dev-resources/works/?filter=type:peer-review.edn +++ b/dev-resources/works/?filter=type:peer-review.edn @@ -2,6 +2,7 @@ :total-results 2, :items ({:reference-count 0, + :publisher "PeerJ", :content-domain {:domain []}, :published-print {:date-parts [[2015 7 14]]}, :DOI "10.7287/peerj.1078v0.2/reviews/1", @@ -15,6 +16,7 @@ :title ["Peer Review #1 of \"Multimodal Imaging Brain Connectivity Analysis (MIBCA) toolbox (v0.2)\""], :prefix "10.7287", + :member "4443", :review {:revision-round "3", :stage "pre-publication"}, :deposited {:date-parts [[2018 1 10]], @@ -29,50 +31,29 @@ [{:id-type "doi", :id "10.7717/peerj.1078", :asserted-by "subject"}]}} - {:institution - {:name "Psychoceramics Institute", - :acronym ["PI"], - :place ["Pittsburg, Arizona"], - :department ["Soft furnishings"]}, - :reference-count 0, - :publisher "Rockefeller University Press", + {:reference-count 0, + :publisher "PeerJ", :content-domain {:domain []}, - :published-print {:date-parts [[2017 4 19]]}, + :published-print {:date-parts [[2016 7 26]]}, :DOI "10.7287/peerj.2196v0.1/reviews/2", :type "peer-review", :created {:date-parts [[2018 1 9]], - :date-time "2018-01-09T18:42:21Z", - :timestamp 1515523341000}, + :date-time "2018-01-09T23:59:03Z", + :timestamp 1515542343000}, :source "Crossref", :is-referenced-by-count 0, :title ["Peer Review #2 of \"Tissue mortality by Caribbean ciliate infection and white band disease in three reef-building coral species (v0.1)\""], :prefix "10.7287", - :author - [{:ORCID "http://orcid.org/0000-0002-3368-4133", - :authenticated-orcid false, - :given "Xiaoguang", - :family "Fang", - :sequence "first", - :affiliation []}], - :member "291", - :review - {:type "referee-report", - :running-number "RC1", - :revision-round "2", - :stage "pre-publication", - :competing-interest-statement "There were no competing interests", - :recommendation "major-revision", - :language "en"}, - :original-title ["Der Titel"], + :member "4443", + :review {:revision-round "2", :stage "pre-publication"}, :deposited {:date-parts [[2018 1 9]], - :date-time "2018-01-09T18:42:21Z", - :timestamp 1515523341000}, + :date-time "2018-01-09T23:59:03Z", + :timestamp 1515542343000}, :score 0.0, - :subtitle ["The Subtitle"], - :issued {:date-parts [[2017 4 19]]}, + :issued {:date-parts [[2016 7 26]]}, :references-count 0, :URL "http://dx.doi.org/10.7287/peerj.2196v0.1/reviews/2", :relation diff --git a/dev-resources/works/query.title=Peer.edn b/dev-resources/works/query.title=Peer.edn index a6ee939e..4614b5e9 100644 --- a/dev-resources/works/query.title=Peer.edn +++ b/dev-resources/works/query.title=Peer.edn @@ -2,6 +2,7 @@ :total-results 2, :items ({:reference-count 0, + :publisher "PeerJ", :content-domain {:domain []}, :published-print {:date-parts [[2015 7 14]]}, :DOI "10.7287/peerj.1078v0.2/reviews/1", @@ -15,6 +16,7 @@ :title ["Peer Review #1 of \"Multimodal Imaging Brain Connectivity Analysis (MIBCA) toolbox (v0.2)\""], :prefix "10.7287", + :member "4443", :review {:revision-round "3", :stage "pre-publication"}, :deposited {:date-parts [[2018 1 10]], @@ -28,49 +30,28 @@ [{:id-type "doi", :id "10.7717/peerj.1078", :asserted-by "subject"}]}} - {:institution - {:name "Psychoceramics Institute", - :acronym ["PI"], - :place ["Pittsburg, Arizona"], - :department ["Soft furnishings"]}, - :reference-count 0, - :publisher "Rockefeller University Press", + {:reference-count 0, + :publisher "PeerJ", :content-domain {:domain []}, - :published-print {:date-parts [[2017 4 19]]}, + :published-print {:date-parts [[2016 7 26]]}, :DOI "10.7287/peerj.2196v0.1/reviews/2", :type "peer-review", :created {:date-parts [[2018 1 9]], - :date-time "2018-01-09T18:42:21Z", - :timestamp 1515523341000}, + :date-time "2018-01-09T23:59:03Z", + :timestamp 1515542343000}, :source "Crossref", :is-referenced-by-count 0, :title ["Peer Review #2 of \"Tissue mortality by Caribbean ciliate infection and white band disease in three reef-building coral species (v0.1)\""], :prefix "10.7287", - :author - [{:ORCID "http://orcid.org/0000-0002-3368-4133", - :authenticated-orcid false, - :given "Xiaoguang", - :family "Fang", - :sequence "first", - :affiliation []}], - :member "291", - :review - {:type "referee-report", - :running-number "RC1", - :revision-round "2", - :stage "pre-publication", - :competing-interest-statement "There were no competing interests", - :recommendation "major-revision", - :language "en"}, - :original-title ["Der Titel"], + :member "4443", + :review {:revision-round "2", :stage "pre-publication"}, :deposited {:date-parts [[2018 1 9]], - :date-time "2018-01-09T18:42:21Z", - :timestamp 1515523341000}, - :subtitle ["The Subtitle"], - :issued {:date-parts [[2017 4 19]]}, + :date-time "2018-01-09T23:59:03Z", + :timestamp 1515542343000}, + :issued {:date-parts [[2016 7 26]]}, :references-count 0, :URL "http://dx.doi.org/10.7287/peerj.2196v0.1/reviews/2", :relation diff --git a/dev-resources/works/query.title=Socioeconomic.edn b/dev-resources/works/query.title=Socioeconomic.edn index 9ac1ab9a..bb1f24a0 100644 --- a/dev-resources/works/query.title=Socioeconomic.edn +++ b/dev-resources/works/query.title=Socioeconomic.edn @@ -1,7 +1,7 @@ {:facets {}, :total-results 1, :items - ({:reference-count 34, + ({:reference-count 0, :publisher "Elsevier BV", :license [{:start @@ -70,7 +70,7 @@ :date-time "2017-11-30T15:51:07Z", :timestamp 1512057067000}, :issued {:date-parts [[2017 1 1]]}, - :references-count 34, + :references-count 0, :alternative-id ["S0306453016307545"], :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.09.025", :ISSN ["0306-4530"], diff --git a/dev/user.clj b/dev/user.clj index f2fcbe7c..5e4a4cd1 100644 --- a/dev/user.clj +++ b/dev/user.clj @@ -80,7 +80,7 @@ url)))] (index-funders))) -(defn setup-feed [& {:keys [source-dir] :or {source-dir "/source"}}] +(defn setup-feed [& {:keys [source-dir] :or {source-dir "/corpus"}}] (let [feed-dir (.getPath (resource "feeds")) feed-source-dir (str feed-dir source-dir) feed-in-dir (str feed-dir "/feed-in") @@ -98,7 +98,7 @@ :feed-file-count feed-file-count})) (defn index-feed [& {:keys [source-dir] - :or {source-dir (or (System/getenv "CAYENNE_API_TEST_CORPUS") "/source")}}] + :or {source-dir (or (System/getenv "CAYENNE_API_TEST_CORPUS") "/corpus")}}] (let [{:keys [feed-source-dir feed-in-dir feed-file-count]} (setup-feed :source-dir source-dir)] (copy-dir feed-source-dir feed-in-dir) (index-journals) From 3e1454cb59b547b620a4fe24b061d5da63bd73d6 Mon Sep 17 00:00:00 2001 From: Mark Woodhall Date: Fri, 11 May 2018 11:47:20 +0100 Subject: [PATCH 147/156] Remove solr and outdated test documentation from readme --- README.md | 23 +++++++---------------- 1 file changed, 7 insertions(+), 16 deletions(-) diff --git a/README.md b/README.md index 83c77d8b..bfb95ec1 100644 --- a/README.md +++ b/README.md @@ -11,7 +11,7 @@ Make sure you have these dependencies installed within your development environm - Leiningen - Docker -The tests require Docker to spin up service dependencies on development machine (SOLR and MongoDB). Download Docker for Mac from https://www.docker.com/docker-mac and confirm that it's installed with `docker-compose --version`. +The tests require Docker to spin up service dependencies on development machine (ElasticSearcElasticSearch). Download Docker for Mac from https://www.docker.com/docker-mac and confirm that it's installed with `docker-compose --version`. ### Preparing CSL Resources @@ -51,7 +51,6 @@ Run as a production service with some profiles: - :graph-api - Must be specified along with :api and :graph. Enables the graph API. Requires datomic leiningen profile. - :feed-api - Must be specified along with :api. Enables the feed API for real-time metadata ingest. - :process-feed-files - Run async processing of incoming feed files. Should be enabled with :feed-api. -- :solr-inserts - Run solr inserts. Should be enabled with :feed-api or instances perform OAI-PMH harvesting. ## Run as a Daemon @@ -79,27 +78,19 @@ Create a docker image: $ lein uberimage - ## Running tests -Running with `lein test` should take care of creating any required infrastructure, typically MongoDB and Solr. +Running with `lein test` should take care of creating any required infrastructure, typically ElasticSearch. -The Solr instance will be created using docker image `crossref/cayenne-solr`, this docker image is available in docker hub but -can also be created locally by cloning `https://github.com/crossref/cayenne-solr` and running `docker image build ./ -t crossref/cayenne-solr`, building -the image locally is useful if you want to make changes to the Solr schema. +The ElasticSearch instance will be created using docker image `docker.elastic.co/elasticsearch/elasticsearch:6.2.3`. -In order for the tests to pass there must be a specific set of feed files present in the feed input directory, these feed files -are not currently in this repository because of distribution issues but this will be addressed. For now, if the expected number of feed files is not -present an exception will be thrown: +The default corpus loaded into ElasticSearch is located in `dev-resources/feeds/corpus`, you can switch to a different corpus using: +``` +CAYENNE_API_TEST_CORPUS=/large-corpus lein test cayenne.corpus-test ``` -actual: java.lang.Exception: The number of feed input files is not as expected. Expected to find 174 files in /home/markwoodhall/src/crossref/cayenne/dev-resources/feeds/source -``` - -Note. Occasionally HTTP Kit will hold onto port 3000 after starting the API, this can sometimes cause problems with multiple -test runs, running a subset, e.g. `lein test cayenne.works-test` is more reliable. -Running tests from the REPL will also work. +The example above switches to a larger corpus located in `dev-resources/feeds/large-corpus` for the specific test run. Keep in mind that many of tests rely on a specific corpus being loaded into ElasticSearch. ## Reference Visibility From aabdb84961c271ba703e10231386817192a06796 Mon Sep 17 00:00:00 2001 From: Mark Woodhall Date: Fri, 11 May 2018 15:53:06 +0100 Subject: [PATCH 148/156] Fix typo --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index bfb95ec1..df0cba02 100644 --- a/README.md +++ b/README.md @@ -11,7 +11,7 @@ Make sure you have these dependencies installed within your development environm - Leiningen - Docker -The tests require Docker to spin up service dependencies on development machine (ElasticSearcElasticSearch). Download Docker for Mac from https://www.docker.com/docker-mac and confirm that it's installed with `docker-compose --version`. +The tests require Docker to spin up service dependencies on development machine (ElasticSearch). Download Docker for Mac from https://www.docker.com/docker-mac and confirm that it's installed with `docker-compose --version`. ### Preparing CSL Resources From b29dca4a7517147a916fbc75542a3ea4abcf0a8a Mon Sep 17 00:00:00 2001 From: Crossref Date: Wed, 11 Jul 2018 07:49:56 -0400 Subject: [PATCH 149/156] issue-36 funder route The indexing was failing due to a self reference in the ingest RDF file. Once that was fixed, the funder route for works was broken e.g.: /funders/100006151/works --- .gitignore | 2 ++ src/cayenne/api/v1/filter.clj | 34 ++++++++++++++++++---------------- src/cayenne/api/v1/query.clj | 2 +- src/cayenne/api/v1/routes.clj | 1 - src/cayenne/data/funder.clj | 10 ++++++---- src/cayenne/ids/doi.clj | 6 +++++- 6 files changed, 32 insertions(+), 23 deletions(-) diff --git a/.gitignore b/.gitignore index 1d7d274b..84193fa1 100644 --- a/.gitignore +++ b/.gitignore @@ -6,6 +6,8 @@ /doc /tmp/* /log +/dev-resources/feeds/feed-processed +/.idea pom.xml .#* *.class diff --git a/src/cayenne/api/v1/filter.clj b/src/cayenne/api/v1/filter.clj index b909a4b5..2c66a837 100644 --- a/src/cayenne/api/v1/filter.clj +++ b/src/cayenne/api/v1/filter.clj @@ -182,12 +182,12 @@ "funder-doi-asserted-by" (-> (equality :funder.doi-asserted-by) (nested :funder)) "has-assertion" (-> (existence :assertion) (nested :assertion)) "has-clinical-trial-number" (-> (existence :clinical-trial) (nested :clinical-trial)) - "full-text" (nested-terms :link {:type :content-type + "full-text" (nested-terms :link {:type :content-type :application :application - :version :version}) - "license" (nested-terms :license {:url :url + :version :version}) + "license" (nested-terms :license {:url :url :version :version - :delay :delay} + :delay :delay} :matchers {:delay #(str ":[* TO " % "]")}) "archive" (equality :archive) "article-number" (equality :article-number) @@ -209,24 +209,26 @@ "award" (nested-terms :funder {:funder-doi :doi :funder :doi :number :award} - :transformers - {:funder-doi doi-id/with-funder-prefix - :funder doi-id/with-funder-prefix - :number #(-> % - string/lower-case - string/replace #"[\s_\-]+" "")}) - "relation" (nested-terms :relation {:type :type + :transformers + {:funder-doi doi-id/with-funder-prefix + :funder doi-id/with-funder-prefix + :number #(-> % + string/lower-case + string/replace #"[\s_\-]+" "")}) + "relation" (nested-terms :relation {:type :type :object-type :object-type - :object-ns :object-ns - :claimed-by :claimed-by - :object :object}) + :object-ns :object-ns + :claimed-by :claimed-by + :object :object}) "member" (equality :member-id :transformer member-id/extract-member-id) "journal" (equality :journal-id) "prefix" (equality :owner-prefix :transformer prefix/extract-prefix) - "funder" (equality :funder-doi - :transformer doi-id/with-funder-prefix)}) + "funder" (nested-terms :funder {:funder-doi :doi} + :transformers + {:funder-doi doi-id/with-funder-prefix}) + }) (def member-filters {"prefix" (equality :prefix.value) diff --git a/src/cayenne/api/v1/query.clj b/src/cayenne/api/v1/query.clj index b2f30181..bd023cd6 100644 --- a/src/cayenne/api/v1/query.clj +++ b/src/cayenne/api/v1/query.clj @@ -259,7 +259,7 @@ ;; todo could be rewritten to use /type/type/id id-field - (update-in [:query :bool :should] conj {:term {id-field (:id query-context)}}) + (assoc-in [:query :bool :should] [(conj {:term {id-field (:id query-context)}})]) ;; todo only considering first filter value (-> query-context :filters empty? not) diff --git a/src/cayenne/api/v1/routes.clj b/src/cayenne/api/v1/routes.clj index 6bf3c009..194448f7 100644 --- a/src/cayenne/api/v1/routes.clj +++ b/src/cayenne/api/v1/routes.clj @@ -225,7 +225,6 @@ :allowed-methods [:get :options :head] :available-media-types t/json :handle-ok #(funder/fetch-works (->> funder-id - doi-id/with-funder-prefix (q/->query-context % :id)))) (defresource prefix-resource [px] diff --git a/src/cayenne/data/funder.clj b/src/cayenne/data/funder.clj index 7dd7d80e..116da22d 100644 --- a/src/cayenne/data/funder.clj +++ b/src/cayenne/data/funder.clj @@ -21,7 +21,7 @@ (get-in [:body :_source :descendant]))) (defn fetch-descendant-work-count [funder-doi] - (let [funder-dois (conj (fetch-descendant-dois funder-doi) + (let [funder-dois (conj (fetch-descendant-dois (doi-id/doi-uri-to-id funder-doi)) funder-doi) nested-query {:bool {:should @@ -102,8 +102,10 @@ ;; todo currently won't work due to filter.clj compounds only accepting ;; one value per filter name (defn fetch-works [query-context] - (let [funder-doi (:id query-context) - filter-dois (conj (fetch-descendant-dois funder-doi) funder-doi)] + (let [funder-doi (doi-id/doi-uri-to-id (:id query-context)) + + filter-dois (conj (fetch-descendant-dois funder-doi) funder-doi) + filter-dois-with-prefix (map doi-id/with-funder-prefix filter-dois)] (work/fetch (-> query-context - (assoc :filter {"funder" {"doi" filter-dois}}))))) + (assoc :filters {"funder" {"doi" filter-dois-with-prefix}}))))) diff --git a/src/cayenne/ids/doi.clj b/src/cayenne/ids/doi.clj index 54592509..69142292 100644 --- a/src/cayenne/ids/doi.clj +++ b/src/cayenne/ids/doi.clj @@ -67,9 +67,13 @@ (when s (ids/get-id-uri :short-doi (normalize-short-doi s)))) +(defn doi-uri-to-id + [doi] + (last (string/split doi #"/"))) + (defn with-prefix [doi prefix] (->> doi - extract-long-suffix + doi-uri-to-id (str prefix "/"))) (defn with-funder-prefix [doi] From ef97a66da910334097955e7a5d73ca6fb53ba8a6 Mon Sep 17 00:00:00 2001 From: Crossref Date: Wed, 11 Jul 2018 15:58:57 -0400 Subject: [PATCH 150/156] allow nested multiple filters --- src/cayenne/api/v1/filter.clj | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/cayenne/api/v1/filter.clj b/src/cayenne/api/v1/filter.clj index 2c66a837..e7f0704d 100644 --- a/src/cayenne/api/v1/filter.clj +++ b/src/cayenne/api/v1/filter.clj @@ -95,11 +95,10 @@ ;; todo :transformers (defn nested-terms [prefix suffixes & {:keys [transformers]}] (fn [val] - (println val) (let [field-name (->> val first (str (name prefix) ".") keyword)] {:occurrence :filter :clause - {:nested {:path prefix :query {:term {field-name (-> val second first)}}}}}))) + {:nested {:path prefix :query {:terms {field-name (second val) }}}}}))) ;; (letfn [(field-name [field] ;; (keyword (str (name prefix) From 7c49dd837f9e9194c0d5d2ee21ecd20f4ce63eaf Mon Sep 17 00:00:00 2001 From: Crossref Date: Thu, 12 Jul 2018 10:20:39 -0400 Subject: [PATCH 151/156] added tests to funders-test test now tests for the funders/####/works route --- dev-resources/funders/100000002-works.edn | 2131 ++++++++++++++++++ dev-resources/funders/100009429-works.edn | 101 + dev-resources/funders/501100001602-works.edn | 227 ++ test/cayenne/funders_test.clj | 8 +- 4 files changed, 2466 insertions(+), 1 deletion(-) create mode 100644 dev-resources/funders/100000002-works.edn create mode 100644 dev-resources/funders/100009429-works.edn create mode 100644 dev-resources/funders/501100001602-works.edn diff --git a/dev-resources/funders/100000002-works.edn b/dev-resources/funders/100000002-works.edn new file mode 100644 index 00000000..dc37071d --- /dev/null +++ b/dev-resources/funders/100000002-works.edn @@ -0,0 +1,2131 @@ +{:facets {}, + :total-results 23, + :items + ({:reference-count 64, + :publisher "Springer Nature", + :issue "3", + :license + [{:start + {:date-parts [[2016 11 11]], + :date-time "2016-11-11T00:00:00Z", + :timestamp 1478822400000}, + :content-version "unspecified", + :delay-in-days 0, + :URL "http://www.springer.com/tdm"}], + :funder + [{:DOI "10.13039/100009633", + :name + "Eunice Kennedy Shriver National Institute of Child Health and Human Development", + :doi-asserted-by "publisher"} + {:name + "Division of Intramural Research, Eunice Kennedy Shriver National Institute of Child Health and Human Development"} + {:DOI "10.13039/100006686", + :name "University of Miami", + :doi-asserted-by "publisher"}], + :content-domain + {:domain ["link.springer.com"], :crossmark-restriction false}, + :short-container-title ["Psychopharmacology"], + :published-print {:date-parts [[2017 2 1]]}, + :DOI "10.1007/s00213-016-4480-x", + :type "journal-article", + :created + {:date-parts [[2016 11 11]], + :date-time "2016-11-11T10:35:51Z", + :timestamp 1478860551000}, + :page "497-506", + :update-policy + "http://dx.doi.org/10.1007/springer_crossmark_policy", + :source "Crossref", + :is-referenced-by-count 9, + :title + ["Acute oxytocin improves memory and gaze following in male but not female nursery-reared infant macaques"], + :prefix "10.1007", + :volume "234", + :author + [{:given "Elizabeth A.", + :family "Simpson", + :sequence "first", + :affiliation []} + {:given "Annika", + :family "Paukner", + :sequence "additional", + :affiliation []} + {:given "Valentina", + :family "Sclafani", + :sequence "additional", + :affiliation []} + {:given "Stefano S. K.", + :family "Kaburu", + :sequence "additional", + :affiliation []} + {:given "Stephen J.", + :family "Suomi", + :sequence "additional", + :affiliation []} + {:given "Pier F.", + :family "Ferrari", + :sequence "additional", + :affiliation []}], + :member "297", + :published-online {:date-parts [[2016 11 11]]}, + :container-title ["Psychopharmacology"], + :language "en", + :link + [{:URL + "http://link.springer.com/content/pdf/10.1007/s00213-016-4480-x.pdf", + :content-type "application/pdf", + :content-version "vor", + :intended-application "text-mining"} + {:URL + "http://link.springer.com/article/10.1007/s00213-016-4480-x/fulltext.html", + :content-type "text/html", + :content-version "vor", + :intended-application "text-mining"} + {:URL + "http://link.springer.com/content/pdf/10.1007/s00213-016-4480-x.pdf", + :content-type "application/pdf", + :content-version "vor", + :intended-application "similarity-checking"}], + :deposited + {:date-parts [[2017 6 25]], + :date-time "2017-06-25T03:22:48Z", + :timestamp 1498360968000}, + :score 0.0, + :issued {:date-parts [[2016 11 11]]}, + :references-count 64, + :journal-issue + {:issue "3", :published-print {:date-parts [[2017 2 1]]}}, + :alternative-id ["4480"], + :URL "http://dx.doi.org/10.1007/s00213-016-4480-x", + :ISSN ["0033-3158" "1432-2072"], + :issn-type + [{:value "0033-3158", :type "print"} + {:value "1432-2072", :type "electronic"}]} + {:reference-count 70, + :publisher "Springer Nature", + :issue "1", + :license + [{:start + {:date-parts [[2016 10 25]], + :date-time "2016-10-25T00:00:00Z", + :timestamp 1477353600000}, + :content-version "unspecified", + :delay-in-days 0, + :URL "http://www.springer.com/tdm"}], + :funder + [{:DOI "10.13039/100009633", + :name "National Institute of Mental Health", + :doi-asserted-by "publisher"}], + :content-domain + {:domain ["link.springer.com"], :crossmark-restriction false}, + :short-container-title ["J Youth Adolescence"], + :published-print {:date-parts [[2017 1 1]]}, + :DOI "10.1007/s10964-016-0591-2", + :type "journal-article", + :created + {:date-parts [[2016 10 25]], + :date-time "2016-10-25T05:40:53Z", + :timestamp 1477374053000}, + :page "121-135", + :update-policy + "http://dx.doi.org/10.1007/springer_crossmark_policy", + :source "Crossref", + :is-referenced-by-count 3, + :title + ["Individual and Day-to-Day Differences in Active Coping Predict Diurnal Cortisol Patterns among Early Adolescent Girls"], + :prefix "10.1007", + :volume "46", + :author + [{:given "Michael R.", + :family "Sladek", + :sequence "first", + :affiliation []} + {:given "Leah D.", + :family "Doane", + :sequence "additional", + :affiliation []} + {:given "Catherine B.", + :family "Stroud", + :sequence "additional", + :affiliation []}], + :member "297", + :published-online {:date-parts [[2016 10 25]]}, + :container-title ["Journal of Youth and Adolescence"], + :language "en", + :link + [{:URL + "http://link.springer.com/content/pdf/10.1007/s10964-016-0591-2.pdf", + :content-type "application/pdf", + :content-version "vor", + :intended-application "text-mining"} + {:URL + "http://link.springer.com/article/10.1007/s10964-016-0591-2/fulltext.html", + :content-type "text/html", + :content-version "vor", + :intended-application "text-mining"} + {:URL + "http://link.springer.com/content/pdf/10.1007/s10964-016-0591-2.pdf", + :content-type "application/pdf", + :content-version "vor", + :intended-application "similarity-checking"}], + :deposited + {:date-parts [[2017 6 25]], + :date-time "2017-06-25T02:00:55Z", + :timestamp 1498356055000}, + :score 0.0, + :issued {:date-parts [[2016 10 25]]}, + :references-count 70, + :journal-issue + {:issue "1", :published-print {:date-parts [[2017 1 1]]}}, + :alternative-id ["591"], + :URL "http://dx.doi.org/10.1007/s10964-016-0591-2", + :ISSN ["0047-2891" "1573-6601"], + :issn-type + [{:value "0047-2891", :type "print"} + {:value "1573-6601", :type "electronic"}]} + {:reference-count 0, + :publisher "Elsevier BV", + :license + [{:start + {:date-parts [[2017 2 1]], + :date-time "2017-02-01T00:00:00Z", + :timestamp 1485907200000}, + :content-version "tdm", + :delay-in-days 0, + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], + :funder + [{:DOI "10.13039/100000002", + :name "National Institutes of Health", + :doi-asserted-by "publisher"}], + :content-domain + {:domain + ["clinicalkey.jp" + "alcoholjournal.org" + "clinicalkey.com" + "clinicalkey.es" + "clinicalkey.com.au" + "clinicalkey.fr" + "elsevier.com" + "sciencedirect.com"], + :crossmark-restriction true}, + :short-container-title ["Alcohol"], + :published-print {:date-parts [[2017 2 1]]}, + :DOI "10.1016/j.alcohol.2016.08.008", + :type "journal-article", + :created + {:date-parts [[2016 12 16]], + :date-time "2016-12-16T08:43:21Z", + :timestamp 1481877801000}, + :page "139-151", + :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", + :source "Crossref", + :is-referenced-by-count 2, + :title + ["Analyses of differentially expressed genes after exposure to acute stress, acute ethanol, or a combination of both in mice"], + :prefix "10.1016", + :volume "58", + :author + [{:given "Jessica A.", + :family "Baker", + :sequence "first", + :affiliation []} + {:given "Jingxin", + :family "Li", + :sequence "additional", + :affiliation []} + {:given "Diana", + :family "Zhou", + :sequence "additional", + :affiliation []} + {:given "Ming", + :family "Yang", + :sequence "additional", + :affiliation []} + {:given "Melloni N.", + :family "Cook", + :sequence "additional", + :affiliation []} + {:given "Byron C.", + :family "Jones", + :sequence "additional", + :affiliation []} + {:given "Megan K.", + :family "Mulligan", + :sequence "additional", + :affiliation []} + {:given "Kristin M.", + :family "Hamre", + :sequence "additional", + :affiliation []} + {:given "Lu", + :family "Lu", + :sequence "additional", + :affiliation []}], + :member "78", + :container-title ["Alcohol"], + :language "en", + :link + [{:URL + "http://api.elsevier.com/content/article/PII:S0741832916300714?httpAccept=text/plain", + :content-type "text/plain", + :content-version "vor", + :intended-application "text-mining"} + {:URL + "http://api.elsevier.com/content/article/PII:S0741832916300714?httpAccept=text/xml", + :content-type "text/xml", + :content-version "vor", + :intended-application "text-mining"}], + :deposited + {:date-parts [[2017 6 25]], + :date-time "2017-06-25T06:03:02Z", + :timestamp 1498370582000}, + :score 0.0, + :issued {:date-parts [[2017 2 1]]}, + :references-count 0, + :alternative-id ["S0741832916300714"], + :URL "http://dx.doi.org/10.1016/j.alcohol.2016.08.008", + :ISSN ["0741-8329"], + :issn-type [{:value "0741-8329", :type "print"}], + :assertion + [{:value "Elsevier", + :name "publisher", + :label "This article is maintained by"} + {:value + "Analyses of differentially expressed genes after exposure to acute stress, acute ethanol, or a combination of both in mice", + :name "articletitle", + :label "Article Title"} + {:value "Alcohol", :name "journaltitle", :label "Journal Title"} + {:value "http://dx.doi.org/10.1016/j.alcohol.2016.08.008", + :name "articlelink", + :label "CrossRef DOI link to publisher maintained version"} + {:value "article", :name "content_type", :label "Content Type"} + {:value "Published by Elsevier Inc.", + :name "copyright", + :label "Copyright"}]} + {:reference-count 0, + :publisher "Elsevier BV", + :issue "1", + :license + [{:start + {:date-parts [[2017 1 1]], + :date-time "2017-01-01T00:00:00Z", + :timestamp 1483228800000}, + :content-version "tdm", + :delay-in-days 0, + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], + :funder + [{:DOI "10.13039/100000002", + :name "NIH", + :doi-asserted-by "publisher"} + {:name "NIH OD"}], + :content-domain + {:domain ["elsevier.com" "sciencedirect.com"], + :crossmark-restriction true}, + :short-container-title ["Bioorganic & Medicinal Chemistry"], + :published-print {:date-parts [[2017 1 1]]}, + :DOI "10.1016/j.bmc.2016.10.035", + :type "journal-article", + :created + {:date-parts [[2016 11 1]], + :date-time "2016-11-01T08:31:03Z", + :timestamp 1477989063000}, + :page "305-315", + :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", + :source "Crossref", + :is-referenced-by-count 4, + :title + ["An evaluation of central penetration from a peripherally administered oxytocin receptor selective antagonist in nonhuman primates"], + :prefix "10.1016", + :volume "25", + :author + [{:given "Aaron L.", + :family "Smith", + :sequence "first", + :affiliation []} + {:given "Hasse", + :family "Walum", + :sequence "additional", + :affiliation []} + {:ORCID "http://orcid.org/0000-0003-3981-8654", + :authenticated-orcid false, + :given "Fawn", + :family "Connor-Stroud", + :sequence "additional", + :affiliation []} + {:given "Sara M.", + :family "Freeman", + :sequence "additional", + :affiliation []} + {:given "Kiyoshi", + :family "Inoue", + :sequence "additional", + :affiliation []} + {:given "Lisa A.", + :family "Parr", + :sequence "additional", + :affiliation []} + {:given "Mark M.", + :family "Goodman", + :sequence "additional", + :affiliation []} + {:given "Larry J.", + :family "Young", + :sequence "additional", + :affiliation []}], + :member "78", + :container-title ["Bioorganic & Medicinal Chemistry"], + :language "en", + :link + [{:URL + "http://api.elsevier.com/content/article/PII:S0968089616310872?httpAccept=text/plain", + :content-type "text/plain", + :content-version "vor", + :intended-application "text-mining"} + {:URL + "http://api.elsevier.com/content/article/PII:S0968089616310872?httpAccept=text/xml", + :content-type "text/xml", + :content-version "vor", + :intended-application "text-mining"}], + :deposited + {:date-parts [[2017 6 25]], + :date-time "2017-06-25T02:29:54Z", + :timestamp 1498357794000}, + :score 0.0, + :issued {:date-parts [[2017 1 1]]}, + :references-count 0, + :journal-issue + {:issue "1", :published-print {:date-parts [[2017 1 1]]}}, + :alternative-id ["S0968089616310872"], + :URL "http://dx.doi.org/10.1016/j.bmc.2016.10.035", + :ISSN ["0968-0896"], + :issn-type [{:value "0968-0896", :type "print"}], + :assertion + [{:value "Elsevier", + :name "publisher", + :label "This article is maintained by"} + {:value + "An evaluation of central penetration from a peripherally administered oxytocin receptor selective antagonist in nonhuman primates", + :name "articletitle", + :label "Article Title"} + {:value "Bioorganic & Medicinal Chemistry", + :name "journaltitle", + :label "Journal Title"} + {:value "http://dx.doi.org/10.1016/j.bmc.2016.10.035", + :name "articlelink", + :label "CrossRef DOI link to publisher maintained version"} + {:value "article", :name "content_type", :label "Content Type"} + {:value "Published by Elsevier Ltd.", + :name "copyright", + :label "Copyright"}]} + {:reference-count 0, + :publisher "Elsevier BV", + :license + [{:start + {:date-parts [[2017 2 1]], + :date-time "2017-02-01T00:00:00Z", + :timestamp 1485907200000}, + :content-version "tdm", + :delay-in-days 0, + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], + :funder + [{:DOI "10.13039/100000025", + :name "National Institutes of Mental Health", + :doi-asserted-by "crossref"} + {:name + "Golden Family foundation, and Canadian Institutes of Health Research"} + {:name "Sir Henry Wellcome Postdoctoral Fellowship"} + {:name "Waterloo Foundation Child Development"} + {:DOI "10.13039/501100005366", + :name "University of Oslo", + :doi-asserted-by "crossref"} + {:name "NARSAD Young Investigator"}], + :content-domain + {:domain ["elsevier.com" "sciencedirect.com"], + :crossmark-restriction true}, + :short-container-title ["Neuroscience & Biobehavioral Reviews"], + :published-print {:date-parts [[2017 2 1]]}, + :DOI "10.1016/j.neubiorev.2016.12.013", + :type "journal-article", + :created + {:date-parts [[2016 12 16]], + :date-time "2016-12-16T23:37:30Z", + :timestamp 1481931450000}, + :page "191-218", + :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", + :source "Crossref", + :is-referenced-by-count 19, + :title + ["The neural diathesis-stress model of schizophrenia revisited: An update on recent findings considering illness stage and neurobiological and methodological complexities"], + :prefix "10.1016", + :volume "73", + :author + [{:given "Marita", + :family "Pruessner", + :sequence "first", + :affiliation []} + {:given "Alexis E.", + :family "Cullen", + :sequence "additional", + :affiliation []} + {:given "Monica", + :family "Aas", + :sequence "additional", + :affiliation []} + {:given "Elaine F.", + :family "Walker", + :sequence "additional", + :affiliation []}], + :member "78", + :container-title ["Neuroscience & Biobehavioral Reviews"], + :language "en", + :link + [{:URL + "http://api.elsevier.com/content/article/PII:S0149763416301713?httpAccept=text/plain", + :content-type "text/plain", + :content-version "vor", + :intended-application "text-mining"} + {:URL + "http://api.elsevier.com/content/article/PII:S0149763416301713?httpAccept=text/xml", + :content-type "text/xml", + :content-version "vor", + :intended-application "text-mining"}], + :deposited + {:date-parts [[2017 6 25]], + :date-time "2017-06-25T06:04:21Z", + :timestamp 1498370661000}, + :score 0.0, + :issued {:date-parts [[2017 2 1]]}, + :references-count 0, + :alternative-id ["S0149763416301713"], + :URL "http://dx.doi.org/10.1016/j.neubiorev.2016.12.013", + :ISSN ["0149-7634"], + :issn-type [{:value "0149-7634", :type "print"}], + :assertion + [{:value "Elsevier", + :name "publisher", + :label "This article is maintained by"} + {:value + "The neural diathesis-stress model of schizophrenia revisited: An update on recent findings considering illness stage and neurobiological and methodological complexities", + :name "articletitle", + :label "Article Title"} + {:value "Neuroscience & Biobehavioral Reviews", + :name "journaltitle", + :label "Journal Title"} + {:value "http://dx.doi.org/10.1016/j.neubiorev.2016.12.013", + :name "articlelink", + :label "CrossRef DOI link to publisher maintained version"} + {:value "article", :name "content_type", :label "Content Type"} + {:value "© 2016 Elsevier Ltd. All rights reserved.", + :name "copyright", + :label "Copyright"}]} + {:reference-count 0, + :publisher "Elsevier BV", + :license + [{:start + {:date-parts [[2017 5 1]], + :date-time "2017-05-01T00:00:00Z", + :timestamp 1493596800000}, + :content-version "tdm", + :delay-in-days 0, + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], + :funder + [{:DOI "10.13039/100000738", + :name "Department of Veterans Affairs", + :doi-asserted-by "crossref"} + {:DOI "10.13039/100000025", + :name "NIMH", + :doi-asserted-by "publisher"} + {:name "Yale Center for Clinical Investigation"}], + :content-domain + {:domain ["elsevier.com" "sciencedirect.com"], + :crossmark-restriction true}, + :short-container-title ["Neuroscience Letters"], + :published-print {:date-parts [[2017 5 1]]}, + :DOI "10.1016/j.neulet.2016.11.064", + :type "journal-article", + :created + {:date-parts [[2016 12 1]], + :date-time "2016-12-01T19:15:56Z", + :timestamp 1480619756000}, + :page "147-155", + :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", + :source "Crossref", + :is-referenced-by-count 10, + :title + ["Glutamate dysregulation and glutamatergic therapeutics for PTSD: Evidence from human studies"], + :prefix "10.1016", + :volume "649", + :author + [{:given "Lynnette A.", + :family "Averill", + :sequence "first", + :affiliation []} + {:given "Prerana", + :family "Purohit", + :sequence "additional", + :affiliation []} + {:given "Christopher L.", + :family "Averill", + :sequence "additional", + :affiliation []} + {:given "Markus A.", + :family "Boesl", + :sequence "additional", + :affiliation []} + {:given "John H.", + :family "Krystal", + :sequence "additional", + :affiliation []} + {:given "Chadi G.", + :family "Abdallah", + :sequence "additional", + :affiliation []}], + :member "78", + :container-title ["Neuroscience Letters"], + :language "en", + :link + [{:URL + "http://api.elsevier.com/content/article/PII:S0304394016309351?httpAccept=text/xml", + :content-type "text/xml", + :content-version "vor", + :intended-application "text-mining"} + {:URL + "http://api.elsevier.com/content/article/PII:S0304394016309351?httpAccept=text/plain", + :content-type "text/plain", + :content-version "vor", + :intended-application "text-mining"}], + :deposited + {:date-parts [[2017 12 19]], + :date-time "2017-12-19T01:21:02Z", + :timestamp 1513646462000}, + :score 0.0, + :issued {:date-parts [[2017 5 1]]}, + :references-count 0, + :alternative-id ["S0304394016309351"], + :URL "http://dx.doi.org/10.1016/j.neulet.2016.11.064", + :ISSN ["0304-3940"], + :issn-type [{:value "0304-3940", :type "print"}], + :assertion + [{:value "Elsevier", + :name "publisher", + :label "This article is maintained by"} + {:value + "Glutamate dysregulation and glutamatergic therapeutics for PTSD: Evidence from human studies", + :name "articletitle", + :label "Article Title"} + {:value "Neuroscience Letters", + :name "journaltitle", + :label "Journal Title"} + {:value "http://dx.doi.org/10.1016/j.neulet.2016.11.064", + :name "articlelink", + :label "CrossRef DOI link to publisher maintained version"} + {:value "article", :name "content_type", :label "Content Type"} + {:value "Published by Elsevier Ireland Ltd.", + :name "copyright", + :label "Copyright"}]} + {:reference-count 0, + :publisher "Elsevier BV", + :issue "1", + :license + [{:start + {:date-parts [[2016 10 1]], + :date-time "2016-10-01T00:00:00Z", + :timestamp 1475280000000}, + :content-version "tdm", + :delay-in-days 0, + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"} + {:start + {:date-parts [[2017 10 5]], + :date-time "2017-10-05T00:00:00Z", + :timestamp 1507161600000}, + :content-version "vor", + :delay-in-days 369, + :URL "http://www.elsevier.com/open-access/userlicense/1.0/"}], + :funder + [{:DOI "10.13039/100000005", + :name "Department of Defense", + :doi-asserted-by "publisher"} + {:DOI "10.13039/100000025", + :name "National Institute of Mental Health", + :doi-asserted-by "publisher"}], + :content-domain + {:domain ["cell.com" "elsevier.com" "sciencedirect.com"], + :crossmark-restriction true}, + :short-container-title ["Neuron"], + :published-print {:date-parts [[2016 10 1]]}, + :DOI "10.1016/j.neuron.2016.09.039", + :type "journal-article", + :created + {:date-parts [[2016 10 5]], + :date-time "2016-10-05T17:06:26Z", + :timestamp 1475687186000}, + :page "14-30", + :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", + :source "Crossref", + :is-referenced-by-count 39, + :title + ["Context Processing and the Neurobiology of Post-Traumatic Stress Disorder"], + :prefix "10.1016", + :volume "92", + :author + [{:given "Israel", + :family "Liberzon", + :sequence "first", + :affiliation []} + {:given "James L.", + :family "Abelson", + :sequence "additional", + :affiliation []}], + :member "78", + :container-title ["Neuron"], + :language "en", + :link + [{:URL + "http://api.elsevier.com/content/article/PII:S0896627316306407?httpAccept=text/xml", + :content-type "text/xml", + :content-version "vor", + :intended-application "text-mining"} + {:URL + "http://api.elsevier.com/content/article/PII:S0896627316306407?httpAccept=text/plain", + :content-type "text/plain", + :content-version "vor", + :intended-application "text-mining"}], + :deposited + {:date-parts [[2017 10 28]], + :date-time "2017-10-28T20:46:11Z", + :timestamp 1509223571000}, + :score 0.0, + :issued {:date-parts [[2016 10 1]]}, + :references-count 0, + :journal-issue + {:issue "1", :published-print {:date-parts [[2016 10 1]]}}, + :alternative-id ["S0896627316306407"], + :URL "http://dx.doi.org/10.1016/j.neuron.2016.09.039", + :ISSN ["0896-6273"], + :issn-type [{:value "0896-6273", :type "print"}], + :assertion + [{:value "Elsevier", + :name "publisher", + :label "This article is maintained by"} + {:value + "Context Processing and the Neurobiology of Post-Traumatic Stress Disorder", + :name "articletitle", + :label "Article Title"} + {:value "Neuron", :name "journaltitle", :label "Journal Title"} + {:value "http://dx.doi.org/10.1016/j.neuron.2016.09.039", + :name "articlelink", + :label "CrossRef DOI link to publisher maintained version"} + {:value "article", :name "content_type", :label "Content Type"} + {:value "Published by Elsevier Inc.", + :name "copyright", + :label "Copyright"}]} + {:reference-count 0, + :publisher "Elsevier BV", + :license + [{:start + {:date-parts [[2017 2 1]], + :date-time "2017-02-01T00:00:00Z", + :timestamp 1485907200000}, + :content-version "tdm", + :delay-in-days 0, + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], + :funder + [{:DOI "10.13039/100000002", + :name "NIH", + :doi-asserted-by "publisher"} + {:DOI "10.13039/100009429", + :name "NRSA", + :doi-asserted-by "crossref"}], + :content-domain + {:domain + ["psyneuen-journal.com" + "clinicalkey.jp" + "clinicalkey.com" + "clinicalkey.es" + "clinicalkey.com.au" + "clinicalkey.fr" + "elsevier.com" + "sciencedirect.com"], + :crossmark-restriction true}, + :short-container-title ["Psychoneuroendocrinology"], + :published-print {:date-parts [[2017 2 1]]}, + :DOI "10.1016/j.psyneuen.2016.10.023", + :type "journal-article", + :created + {:date-parts [[2016 11 19]], + :date-time "2016-11-19T17:02:15Z", + :timestamp 1479574935000}, + :page "97-106", + :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", + :source "Crossref", + :is-referenced-by-count 6, + :title + ["Motherhood and infant contact regulate neuroplasticity in the serotonergic midbrain dorsal raphe"], + :prefix "10.1016", + :volume "76", + :author + [{:given "M. Allie", + :family "Holschbach", + :sequence "first", + :affiliation []} + {:given "Joseph S.", + :family "Lonstein", + :sequence "additional", + :affiliation []}], + :member "78", + :container-title ["Psychoneuroendocrinology"], + :language "en", + :link + [{:URL + "http://api.elsevier.com/content/article/PII:S0306453016308605?httpAccept=text/plain", + :content-type "text/plain", + :content-version "vor", + :intended-application "text-mining"} + {:URL + "http://api.elsevier.com/content/article/PII:S0306453016308605?httpAccept=text/xml", + :content-type "text/xml", + :content-version "vor", + :intended-application "text-mining"}], + :deposited + {:date-parts [[2017 6 25]], + :date-time "2017-06-25T04:01:56Z", + :timestamp 1498363316000}, + :score 0.0, + :issued {:date-parts [[2017 2 1]]}, + :references-count 0, + :alternative-id ["S0306453016308605"], + :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.10.023", + :ISSN ["0306-4530"], + :issn-type [{:value "0306-4530", :type "print"}], + :assertion + [{:value "Elsevier", + :name "publisher", + :label "This article is maintained by"} + {:value + "Motherhood and infant contact regulate neuroplasticity in the serotonergic midbrain dorsal raphe", + :name "articletitle", + :label "Article Title"} + {:value "Psychoneuroendocrinology", + :name "journaltitle", + :label "Journal Title"} + {:value "http://dx.doi.org/10.1016/j.psyneuen.2016.10.023", + :name "articlelink", + :label "CrossRef DOI link to publisher maintained version"} + {:value "article", :name "content_type", :label "Content Type"} + {:value "© 2016 Elsevier Ltd. All rights reserved.", + :name "copyright", + :label "Copyright"}]} + {:reference-count 0, + :publisher "Elsevier BV", + :license + [{:start + {:date-parts [[2017 1 1]], + :date-time "2017-01-01T00:00:00Z", + :timestamp 1483228800000}, + :content-version "tdm", + :delay-in-days 0, + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], + :funder + [{:DOI "10.13039/100000049", + :name "National Institute on Aging", + :doi-asserted-by "publisher"} + {:DOI "10.13039/100000071", + :name "National Institute of Child Health and Human Development", + :doi-asserted-by "publisher"} + {:DOI "10.13039/100000049", + :name "National Institute on Aging", + :doi-asserted-by "publisher"} + {:DOI "10.13039/100000026", + :name "National Institute on Drug Abuse", + :doi-asserted-by "publisher"}], + :content-domain + {:domain + ["psyneuen-journal.com" + "clinicalkey.jp" + "clinicalkey.com" + "clinicalkey.es" + "clinicalkey.com.au" + "clinicalkey.fr" + "elsevier.com" + "sciencedirect.com"], + :crossmark-restriction true}, + :short-container-title ["Psychoneuroendocrinology"], + :published-print {:date-parts [[2017 1 1]]}, + :DOI "10.1016/j.psyneuen.2016.10.026", + :type "journal-article", + :created + {:date-parts [[2016 10 29]], + :date-time "2016-10-29T15:01:26Z", + :timestamp 1477753286000}, + :page "152-163", + :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", + :source "Crossref", + :is-referenced-by-count 1, + :title + ["Frontal brain asymmetry, childhood maltreatment, and low-grade inflammation at midlife"], + :prefix "10.1016", + :volume "75", + :author + [{:given "Camelia E.", + :family "Hostinar", + :sequence "first", + :affiliation []} + {:given "Richard J.", + :family "Davidson", + :sequence "additional", + :affiliation []} + {:given "Eileen K.", + :family "Graham", + :sequence "additional", + :affiliation []} + {:given "Daniel K.", + :family "Mroczek", + :sequence "additional", + :affiliation []} + {:given "Margie E.", + :family "Lachman", + :sequence "additional", + :affiliation []} + {:given "Teresa E.", + :family "Seeman", + :sequence "additional", + :affiliation []} + {:given "Carien M.", + :family "van Reekum", + :sequence "additional", + :affiliation []} + {:given "Gregory E.", + :family "Miller", + :sequence "additional", + :affiliation []}], + :member "78", + :container-title ["Psychoneuroendocrinology"], + :language "en", + :link + [{:URL + "http://api.elsevier.com/content/article/PII:S0306453016308654?httpAccept=text/xml", + :content-type "text/xml", + :content-version "vor", + :intended-application "text-mining"} + {:URL + "http://api.elsevier.com/content/article/PII:S0306453016308654?httpAccept=text/plain", + :content-type "text/plain", + :content-version "vor", + :intended-application "text-mining"}], + :deposited + {:date-parts [[2017 11 30]], + :date-time "2017-11-30T15:51:40Z", + :timestamp 1512057100000}, + :score 0.0, + :issued {:date-parts [[2017 1 1]]}, + :references-count 0, + :alternative-id ["S0306453016308654"], + :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.10.026", + :ISSN ["0306-4530"], + :issn-type [{:value "0306-4530", :type "print"}], + :assertion + [{:value "Elsevier", + :name "publisher", + :label "This article is maintained by"} + {:value + "Frontal brain asymmetry, childhood maltreatment, and low-grade inflammation at midlife", + :name "articletitle", + :label "Article Title"} + {:value "Psychoneuroendocrinology", + :name "journaltitle", + :label "Journal Title"} + {:value "http://dx.doi.org/10.1016/j.psyneuen.2016.10.026", + :name "articlelink", + :label "CrossRef DOI link to publisher maintained version"} + {:value "article", :name "content_type", :label "Content Type"} + {:value "© 2016 Elsevier Ltd. All rights reserved.", + :name "copyright", + :label "Copyright"}]} + {:reference-count 0, + :publisher "Elsevier BV", + :license + [{:start + {:date-parts [[2017 2 1]], + :date-time "2017-02-01T00:00:00Z", + :timestamp 1485907200000}, + :content-version "tdm", + :delay-in-days 0, + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"} + {:start + {:date-parts [[2017 11 23]], + :date-time "2017-11-23T00:00:00Z", + :timestamp 1511395200000}, + :content-version "am", + :delay-in-days 295, + :URL "http://www.elsevier.com/open-access/userlicense/1.0/"}], + :funder + [{:DOI "10.13039/100000025", + :name "National Institute for Mental Health", + :doi-asserted-by "crossref"} + {:name "National Institute for Child Health and Development"} + {:name + "Integrated Training in Psychobiology and Psychopathology Fellowship"} + {:DOI "10.13039/100000001", + :name "National Science Foundation", + :doi-asserted-by "publisher"} + {:name + "National Institutes of Health, Office of Research Infrastructure Programs"}], + :content-domain + {:domain + ["psyneuen-journal.com" + "clinicalkey.jp" + "clinicalkey.com" + "clinicalkey.es" + "clinicalkey.com.au" + "clinicalkey.fr" + "elsevier.com" + "sciencedirect.com"], + :crossmark-restriction true}, + :short-container-title ["Psychoneuroendocrinology"], + :published-print {:date-parts [[2017 2 1]]}, + :DOI "10.1016/j.psyneuen.2016.11.018", + :type "journal-article", + :created + {:date-parts [[2016 11 18]], + :date-time "2016-11-18T20:17:20Z", + :timestamp 1479500240000}, + :page "57-66", + :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", + :source "Crossref", + :is-referenced-by-count 3, + :title + ["Increased anxiety-like behaviors, but blunted cortisol stress response after neonatal hippocampal lesions in monkeys"], + :prefix "10.1016", + :volume "76", + :author + [{:given "Jessica", + :family "Raper", + :sequence "first", + :affiliation []} + {:given "Mark", + :family "Wilson", + :sequence "additional", + :affiliation []} + {:given "Mar", + :family "Sanchez", + :sequence "additional", + :affiliation []} + {:given "Christa", + :family "Payne", + :sequence "additional", + :affiliation []} + {:given "Jocelyne", + :family "Bachevalier", + :sequence "additional", + :affiliation []}], + :member "78", + :container-title ["Psychoneuroendocrinology"], + :language "en", + :link + [{:URL + "http://api.elsevier.com/content/article/PII:S0306453016309210?httpAccept=text/xml", + :content-type "text/xml", + :content-version "vor", + :intended-application "text-mining"} + {:URL + "http://api.elsevier.com/content/article/PII:S0306453016309210?httpAccept=text/plain", + :content-type "text/plain", + :content-version "vor", + :intended-application "text-mining"}], + :deposited + {:date-parts [[2017 10 9]], + :date-time "2017-10-09T19:55:19Z", + :timestamp 1507578919000}, + :score 0.0, + :issued {:date-parts [[2017 2 1]]}, + :references-count 0, + :alternative-id ["S0306453016309210"], + :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.11.018", + :ISSN ["0306-4530"], + :issn-type [{:value "0306-4530", :type "print"}], + :assertion + [{:value "Elsevier", + :name "publisher", + :label "This article is maintained by"} + {:value + "Increased anxiety-like behaviors, but blunted cortisol stress response after neonatal hippocampal lesions in monkeys", + :name "articletitle", + :label "Article Title"} + {:value "Psychoneuroendocrinology", + :name "journaltitle", + :label "Journal Title"} + {:value "http://dx.doi.org/10.1016/j.psyneuen.2016.11.018", + :name "articlelink", + :label "CrossRef DOI link to publisher maintained version"} + {:value "article", :name "content_type", :label "Content Type"} + {:value "© 2016 Elsevier Ltd. All rights reserved.", + :name "copyright", + :label "Copyright"}]} + {:reference-count 0, + :publisher "Elsevier BV", + :license + [{:start + {:date-parts [[2017 3 1]], + :date-time "2017-03-01T00:00:00Z", + :timestamp 1488326400000}, + :content-version "tdm", + :delay-in-days 0, + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], + :funder + [{:DOI "10.13039/100000002", + :name "National Institutes of Health", + :doi-asserted-by "publisher"} + {:name "State of Maryland"} + {:DOI "10.13039/100000874", + :name "Brain and Behavior Research Foundation", + :doi-asserted-by "publisher"}], + :content-domain + {:domain + ["psyneuen-journal.com" + "clinicalkey.jp" + "clinicalkey.com" + "clinicalkey.es" + "clinicalkey.com.au" + "clinicalkey.fr" + "elsevier.com" + "sciencedirect.com"], + :crossmark-restriction true}, + :short-container-title ["Psychoneuroendocrinology"], + :published-print {:date-parts [[2017 3 1]]}, + :DOI "10.1016/j.psyneuen.2016.11.021", + :type "journal-article", + :created + {:date-parts [[2016 11 24]], + :date-time "2016-11-24T23:32:18Z", + :timestamp 1480030338000}, + :page "105-111", + :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", + :source "Crossref", + :is-referenced-by-count 4, + :title + ["Allostatic load and reduced cortical thickness in schizophrenia"], + :prefix "10.1016", + :volume "77", + :author + [{:given "Joshua", + :family "Chiappelli", + :sequence "first", + :affiliation []} + {:given "Peter", + :family "Kochunov", + :sequence "additional", + :affiliation []} + {:given "Anya", + :family "Savransky", + :sequence "additional", + :affiliation []} + {:given "Feven", + :family "Fisseha", + :sequence "additional", + :affiliation []} + {:given "Krista", + :family "Wisner", + :sequence "additional", + :affiliation []} + {:given "Xiaoming", + :family "Du", + :sequence "additional", + :affiliation []} + {:given "Laura M.", + :family "Rowland", + :sequence "additional", + :affiliation []} + {:given "L. Elliot", + :family "Hong", + :sequence "additional", + :affiliation []}], + :member "78", + :container-title ["Psychoneuroendocrinology"], + :language "en", + :link + [{:URL + "http://api.elsevier.com/content/article/PII:S0306453016307600?httpAccept=text/xml", + :content-type "text/xml", + :content-version "vor", + :intended-application "text-mining"} + {:URL + "http://api.elsevier.com/content/article/PII:S0306453016307600?httpAccept=text/plain", + :content-type "text/plain", + :content-version "vor", + :intended-application "text-mining"}], + :deposited + {:date-parts [[2017 8 18]], + :date-time "2017-08-18T11:19:42Z", + :timestamp 1503055182000}, + :score 0.0, + :issued {:date-parts [[2017 3 1]]}, + :references-count 0, + :alternative-id ["S0306453016307600"], + :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.11.021", + :ISSN ["0306-4530"], + :issn-type [{:value "0306-4530", :type "print"}], + :assertion + [{:value "Elsevier", + :name "publisher", + :label "This article is maintained by"} + {:value + "Allostatic load and reduced cortical thickness in schizophrenia", + :name "articletitle", + :label "Article Title"} + {:value "Psychoneuroendocrinology", + :name "journaltitle", + :label "Journal Title"} + {:value "http://dx.doi.org/10.1016/j.psyneuen.2016.11.021", + :name "articlelink", + :label "CrossRef DOI link to publisher maintained version"} + {:value "article", :name "content_type", :label "Content Type"} + {:value "© 2016 Elsevier Ltd. All rights reserved.", + :name "copyright", + :label "Copyright"}]} + {:reference-count 0, + :publisher "Elsevier BV", + :license + [{:start + {:date-parts [[2017 3 1]], + :date-time "2017-03-01T00:00:00Z", + :timestamp 1488326400000}, + :content-version "tdm", + :delay-in-days 0, + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], + :funder + [{:DOI "10.13039/100000002", + :name "NIH", + :doi-asserted-by "publisher"}], + :content-domain + {:domain + ["psyneuen-journal.com" + "clinicalkey.jp" + "clinicalkey.com" + "clinicalkey.es" + "clinicalkey.com.au" + "clinicalkey.fr" + "elsevier.com" + "sciencedirect.com"], + :crossmark-restriction true}, + :short-container-title ["Psychoneuroendocrinology"], + :published-print {:date-parts [[2017 3 1]]}, + :DOI "10.1016/j.psyneuen.2016.11.023", + :type "journal-article", + :created + {:date-parts [[2016 11 29]], + :date-time "2016-11-29T18:48:01Z", + :timestamp 1480445281000}, + :page "51-55", + :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", + :source "Crossref", + :is-referenced-by-count 1, + :title + ["Validation of autonomic and endocrine reactivity to a laboratory stressor in young children"], + :prefix "10.1016", + :volume "77", + :author + [{:given "Leslie E.", + :family "Roos", + :sequence "first", + :affiliation []} + {:given "Ryan J.", + :family "Giuliano", + :sequence "additional", + :affiliation []} + {:given "Kathryn G.", + :family "Beauchamp", + :sequence "additional", + :affiliation []} + {:given "Megan", + :family "Gunnar", + :sequence "additional", + :affiliation []} + {:given "Brigette", + :family "Amidon", + :sequence "additional", + :affiliation []} + {:given "Philip A.", + :family "Fisher", + :sequence "additional", + :affiliation []}], + :member "78", + :container-title ["Psychoneuroendocrinology"], + :language "en", + :link + [{:URL + "http://api.elsevier.com/content/article/PII:S0306453016306503?httpAccept=text/xml", + :content-type "text/xml", + :content-version "vor", + :intended-application "text-mining"} + {:URL + "http://api.elsevier.com/content/article/PII:S0306453016306503?httpAccept=text/plain", + :content-type "text/plain", + :content-version "vor", + :intended-application "text-mining"}], + :deposited + {:date-parts [[2017 8 18]], + :date-time "2017-08-18T11:20:22Z", + :timestamp 1503055222000}, + :score 0.0, + :issued {:date-parts [[2017 3 1]]}, + :references-count 0, + :alternative-id ["S0306453016306503"], + :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.11.023", + :ISSN ["0306-4530"], + :issn-type [{:value "0306-4530", :type "print"}], + :assertion + [{:value "Elsevier", + :name "publisher", + :label "This article is maintained by"} + {:value + "Validation of autonomic and endocrine reactivity to a laboratory stressor in young children", + :name "articletitle", + :label "Article Title"} + {:value "Psychoneuroendocrinology", + :name "journaltitle", + :label "Journal Title"} + {:value "http://dx.doi.org/10.1016/j.psyneuen.2016.11.023", + :name "articlelink", + :label "CrossRef DOI link to publisher maintained version"} + {:value "article", :name "content_type", :label "Content Type"} + {:value "© 2016 Elsevier Ltd. All rights reserved.", + :name "copyright", + :label "Copyright"}]} + {:reference-count 0, + :publisher "Elsevier BV", + :license + [{:start + {:date-parts [[2017 3 1]], + :date-time "2017-03-01T00:00:00Z", + :timestamp 1488326400000}, + :content-version "tdm", + :delay-in-days 0, + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], + :funder + [{:DOI "10.13039/100000002", + :name "NIH", + :doi-asserted-by "publisher"} + {:DOI "10.13039/100000874", + :name "Brain & Behavior Research Foundation", + :doi-asserted-by "crossref"}], + :content-domain + {:domain + ["psyneuen-journal.com" + "clinicalkey.jp" + "clinicalkey.com" + "clinicalkey.es" + "clinicalkey.com.au" + "clinicalkey.fr" + "elsevier.com" + "sciencedirect.com"], + :crossmark-restriction true}, + :short-container-title ["Psychoneuroendocrinology"], + :published-print {:date-parts [[2017 3 1]]}, + :DOI "10.1016/j.psyneuen.2016.11.024", + :type "journal-article", + :created + {:date-parts [[2016 11 25]], + :date-time "2016-11-25T01:17:12Z", + :timestamp 1480036632000}, + :page "68-74", + :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", + :source "Crossref", + :is-referenced-by-count 2, + :title + ["The impact of the severity of early life stress on diurnal cortisol: The role of puberty"], + :prefix "10.1016", + :volume "77", + :author + [{:given "Lucy S.", + :family "King", + :sequence "first", + :affiliation []} + {:given "Natalie L.", + :family "Colich", + :sequence "additional", + :affiliation []} + {:given "Joelle", + :family "LeMoult", + :sequence "additional", + :affiliation []} + {:given "Kathryn L.", + :family "Humphreys", + :sequence "additional", + :affiliation []} + {:given "Sarah J.", + :family "Ordaz", + :sequence "additional", + :affiliation []} + {:given "Alexandria N.", + :family "Price", + :sequence "additional", + :affiliation []} + {:given "Ian H.", + :family "Gotlib", + :sequence "additional", + :affiliation []}], + :member "78", + :container-title ["Psychoneuroendocrinology"], + :language "en", + :link + [{:URL + "http://api.elsevier.com/content/article/PII:S030645301630498X?httpAccept=text/xml", + :content-type "text/xml", + :content-version "vor", + :intended-application "text-mining"} + {:URL + "http://api.elsevier.com/content/article/PII:S030645301630498X?httpAccept=text/plain", + :content-type "text/plain", + :content-version "vor", + :intended-application "text-mining"}], + :deposited + {:date-parts [[2017 8 18]], + :date-time "2017-08-18T11:19:36Z", + :timestamp 1503055176000}, + :score 0.0, + :issued {:date-parts [[2017 3 1]]}, + :references-count 0, + :alternative-id ["S030645301630498X"], + :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.11.024", + :ISSN ["0306-4530"], + :issn-type [{:value "0306-4530", :type "print"}], + :assertion + [{:value "Elsevier", + :name "publisher", + :label "This article is maintained by"} + {:value + "The impact of the severity of early life stress on diurnal cortisol: The role of puberty", + :name "articletitle", + :label "Article Title"} + {:value "Psychoneuroendocrinology", + :name "journaltitle", + :label "Journal Title"} + {:value "http://dx.doi.org/10.1016/j.psyneuen.2016.11.024", + :name "articlelink", + :label "CrossRef DOI link to publisher maintained version"} + {:value "article", :name "content_type", :label "Content Type"} + {:value "© 2016 Elsevier Ltd. All rights reserved.", + :name "copyright", + :label "Copyright"}]} + {:reference-count 0, + :publisher "Elsevier BV", + :license + [{:start + {:date-parts [[2017 2 1]], + :date-time "2017-02-01T00:00:00Z", + :timestamp 1485907200000}, + :content-version "tdm", + :delay-in-days 0, + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], + :funder + [{:DOI "10.13039/100000025", + :name "National Institute of Mental Health", + :doi-asserted-by "publisher"} + {:name "O'Shaughnessy Foundation"} + {:name "Tinberg family, and grants from the UCSF Academic Senate"} + {:name "UCSF Research Evaluation and Allocation Committee"} + {:name + "National Institutes of Health/National Center for Research Resources"} + {:DOI "10.13039/100006108", + :name "National Center for Advancing Translational Sciences", + :doi-asserted-by "publisher"}], + :content-domain + {:domain + ["psyneuen-journal.com" + "clinicalkey.jp" + "clinicalkey.com" + "clinicalkey.es" + "clinicalkey.com.au" + "clinicalkey.fr" + "elsevier.com" + "sciencedirect.com"], + :crossmark-restriction true}, + :short-container-title ["Psychoneuroendocrinology"], + :published-print {:date-parts [[2017 2 1]]}, + :DOI "10.1016/j.psyneuen.2016.11.031", + :type "journal-article", + :created + {:date-parts [[2016 11 30]], + :date-time "2016-11-30T17:39:59Z", + :timestamp 1480527599000}, + :page "197-205", + :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", + :source "Crossref", + :is-referenced-by-count 22, + :title + ["Oxidative stress, inflammation and treatment response in major depression"], + :prefix "10.1016", + :volume "76", + :author + [{:given "Daniel", + :family "Lindqvist", + :sequence "first", + :affiliation []} + {:given "Firdaus S.", + :family "Dhabhar", + :sequence "additional", + :affiliation []} + {:given "S. Jill", + :family "James", + :sequence "additional", + :affiliation []} + {:given "Christina M.", + :family "Hough", + :sequence "additional", + :affiliation []} + {:given "Felipe A.", + :family "Jain", + :sequence "additional", + :affiliation []} + {:given "F. Saverio", + :family "Bersani", + :sequence "additional", + :affiliation []} + {:given "Victor I.", + :family "Reus", + :sequence "additional", + :affiliation []} + {:given "Josine E.", + :family "Verhoeven", + :sequence "additional", + :affiliation []} + {:given "Elissa S.", + :family "Epel", + :sequence "additional", + :affiliation []} + {:given "Laura", + :family "Mahan", + :sequence "additional", + :affiliation []} + {:given "Rebecca", + :family "Rosser", + :sequence "additional", + :affiliation []} + {:given "Owen M.", + :family "Wolkowitz", + :sequence "additional", + :affiliation []} + {:given "Synthia H.", + :family "Mellon", + :sequence "additional", + :affiliation []}], + :member "78", + :container-title ["Psychoneuroendocrinology"], + :language "en", + :link + [{:URL + "http://api.elsevier.com/content/article/PII:S0306453016306862?httpAccept=text/plain", + :content-type "text/plain", + :content-version "vor", + :intended-application "text-mining"} + {:URL + "http://api.elsevier.com/content/article/PII:S0306453016306862?httpAccept=text/xml", + :content-type "text/xml", + :content-version "vor", + :intended-application "text-mining"}], + :deposited + {:date-parts [[2017 6 25]], + :date-time "2017-06-25T04:53:05Z", + :timestamp 1498366385000}, + :score 0.0, + :issued {:date-parts [[2017 2 1]]}, + :references-count 0, + :alternative-id ["S0306453016306862"], + :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.11.031", + :ISSN ["0306-4530"], + :issn-type [{:value "0306-4530", :type "print"}], + :assertion + [{:value "Elsevier", + :name "publisher", + :label "This article is maintained by"} + {:value + "Oxidative stress, inflammation and treatment response in major depression", + :name "articletitle", + :label "Article Title"} + {:value "Psychoneuroendocrinology", + :name "journaltitle", + :label "Journal Title"} + {:value "http://dx.doi.org/10.1016/j.psyneuen.2016.11.031", + :name "articlelink", + :label "CrossRef DOI link to publisher maintained version"} + {:value "article", :name "content_type", :label "Content Type"} + {:value "© 2016 Elsevier Ltd. All rights reserved.", + :name "copyright", + :label "Copyright"}]} + {:reference-count 0, + :publisher "Elsevier BV", + :license + [{:start + {:date-parts [[2017 3 1]], + :date-time "2017-03-01T00:00:00Z", + :timestamp 1488326400000}, + :content-version "tdm", + :delay-in-days 0, + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], + :funder + [{:DOI "10.13039/100000002", + :name "National Institutes of Health", + :doi-asserted-by "publisher"}], + :content-domain + {:domain + ["psyneuen-journal.com" + "clinicalkey.jp" + "clinicalkey.com" + "clinicalkey.es" + "clinicalkey.com.au" + "clinicalkey.fr" + "elsevier.com" + "sciencedirect.com"], + :crossmark-restriction true}, + :short-container-title ["Psychoneuroendocrinology"], + :published-print {:date-parts [[2017 3 1]]}, + :DOI "10.1016/j.psyneuen.2016.11.040", + :type "journal-article", + :created + {:date-parts [[2016 12 2]], + :date-time "2016-12-02T22:16:35Z", + :timestamp 1480716995000}, + :page "37-46", + :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", + :source "Crossref", + :is-referenced-by-count 5, + :title + ["Behavioral and physiological consequences of enrichment loss in rats"], + :prefix "10.1016", + :volume "77", + :author + [{:given "Brittany L.", + :family "Smith", + :sequence "first", + :affiliation []} + {:given "Carey E.", + :family "Lyons", + :sequence "additional", + :affiliation []} + {:given "Fernanda Guilhaume", + :family "Correa", + :sequence "additional", + :affiliation []} + {:given "Stephen C.", + :family "Benoit", + :sequence "additional", + :affiliation []} + {:given "Brent", + :family "Myers", + :sequence "additional", + :affiliation []} + {:given "Matia B.", + :family "Solomon", + :sequence "additional", + :affiliation []} + {:given "James P.", + :family "Herman", + :sequence "additional", + :affiliation []}], + :member "78", + :container-title ["Psychoneuroendocrinology"], + :language "en", + :link + [{:URL + "http://api.elsevier.com/content/article/PII:S0306453016304279?httpAccept=text/xml", + :content-type "text/xml", + :content-version "vor", + :intended-application "text-mining"} + {:URL + "http://api.elsevier.com/content/article/PII:S0306453016304279?httpAccept=text/plain", + :content-type "text/plain", + :content-version "vor", + :intended-application "text-mining"}], + :deposited + {:date-parts [[2017 8 18]], + :date-time "2017-08-18T11:19:14Z", + :timestamp 1503055154000}, + :score 0.0, + :issued {:date-parts [[2017 3 1]]}, + :references-count 0, + :alternative-id ["S0306453016304279"], + :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.11.040", + :ISSN ["0306-4530"], + :issn-type [{:value "0306-4530", :type "print"}], + :assertion + [{:value "Elsevier", + :name "publisher", + :label "This article is maintained by"} + {:value + "Behavioral and physiological consequences of enrichment loss in rats", + :name "articletitle", + :label "Article Title"} + {:value "Psychoneuroendocrinology", + :name "journaltitle", + :label "Journal Title"} + {:value "http://dx.doi.org/10.1016/j.psyneuen.2016.11.040", + :name "articlelink", + :label "CrossRef DOI link to publisher maintained version"} + {:value "article", :name "content_type", :label "Content Type"} + {:value "© 2016 Elsevier Ltd. All rights reserved.", + :name "copyright", + :label "Copyright"}]} + {:reference-count 0, + :publisher "Elsevier BV", + :license + [{:start + {:date-parts [[2017 1 1]], + :date-time "2017-01-01T00:00:00Z", + :timestamp 1483228800000}, + :content-version "tdm", + :delay-in-days 0, + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], + :funder + [{:DOI "10.13039/100000025", + :name "National Institute of Mental Health", + :doi-asserted-by "crossref"} + {:name "Eunice Kennedy Shriver National Institute of Child Health"} + {:name "Human Development of the National Institutes of Health"}], + :content-domain + {:domain + ["clinicalkey.jp" + "clinicalkey.com" + "clinicalkey.es" + "clinicalkey.com.au" + "clinicalkey.fr" + "elsevier.com" + "sciencedirect.com"], + :crossmark-restriction true}, + :short-container-title ["Frontiers in Neuroendocrinology"], + :published-print {:date-parts [[2017 1 1]]}, + :DOI "10.1016/j.yfrne.2016.12.003", + :type "journal-article", + :created + {:date-parts [[2016 12 19]], + :date-time "2016-12-19T21:31:26Z", + :timestamp 1482183086000}, + :page "122-137", + :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", + :source "Crossref", + :is-referenced-by-count 12, + :title ["Puberty and structural brain development in humans"], + :prefix "10.1016", + :volume "44", + :author + [{:given "Megan M.", + :family "Herting", + :sequence "first", + :affiliation []} + {:given "Elizabeth R.", + :family "Sowell", + :sequence "additional", + :affiliation []}], + :member "78", + :container-title ["Frontiers in Neuroendocrinology"], + :language "en", + :link + [{:URL + "http://api.elsevier.com/content/article/PII:S0091302216300632?httpAccept=text/xml", + :content-type "text/xml", + :content-version "vor", + :intended-application "text-mining"} + {:URL + "http://api.elsevier.com/content/article/PII:S0091302216300632?httpAccept=text/plain", + :content-type "text/plain", + :content-version "vor", + :intended-application "text-mining"}], + :deposited + {:date-parts [[2017 6 10]], + :date-time "2017-06-10T02:01:10Z", + :timestamp 1497060070000}, + :score 0.0, + :issued {:date-parts [[2017 1 1]]}, + :references-count 0, + :alternative-id ["S0091302216300632"], + :URL "http://dx.doi.org/10.1016/j.yfrne.2016.12.003", + :ISSN ["0091-3022"], + :issn-type [{:value "0091-3022", :type "print"}], + :assertion + [{:value "Elsevier", + :name "publisher", + :label "This article is maintained by"} + {:value "Puberty and structural brain development in humans", + :name "articletitle", + :label "Article Title"} + {:value "Frontiers in Neuroendocrinology", + :name "journaltitle", + :label "Journal Title"} + {:value "http://dx.doi.org/10.1016/j.yfrne.2016.12.003", + :name "articlelink", + :label "CrossRef DOI link to publisher maintained version"} + {:value "article", :name "content_type", :label "Content Type"} + {:value "© 2017 Elsevier Inc. All rights reserved.", + :name "copyright", + :label "Copyright"}]} + {:reference-count 0, + :publisher "American Chemical Society (ACS)", + :issue "2", + :funder + [{:DOI "10.13039/100000027", + :name "National Institute on Alcohol Abuse and Alcoholism", + :doi-asserted-by "publisher"} + {:DOI "10.13039/100000026", + :name "National Institute on Drug Abuse", + :doi-asserted-by "publisher"}], + :content-domain {:domain [], :crossmark-restriction false}, + :short-container-title ["ACS Chem. Neurosci."], + :published-print {:date-parts [[2017 2 15]]}, + :DOI "10.1021/acschemneuro.6b00308", + :type "journal-article", + :created + {:date-parts [[2016 12 14]], + :date-time "2016-12-14T15:42:38Z", + :timestamp 1481730158000}, + :page "290-299", + :source "Crossref", + :is-referenced-by-count 3, + :title + ["High-Fat-Diet-Induced Deficits in Dopamine Terminal Function Are Reversed by Restoring Insulin Signaling"], + :prefix "10.1021", + :volume "8", + :author + [{:ORCID "http://orcid.org/0000-0002-7093-6774", + :authenticated-orcid false, + :given "Steve C.", + :family "Fordahl", + :sequence "first", + :affiliation + [{:name + "Department of Physiology\rand Pharmacology, Wake Forest School of Medicine, Winston-Salem, North Carolina 27157, United States"}]} + {:given "Sara R.", + :family "Jones", + :sequence "additional", + :affiliation + [{:name + "Department of Physiology\rand Pharmacology, Wake Forest School of Medicine, Winston-Salem, North Carolina 27157, United States"}]}], + :member "316", + :published-online {:date-parts [[2017 1 3]]}, + :container-title ["ACS Chemical Neuroscience"], + :language "en", + :link + [{:URL "http://pubs.acs.org/doi/pdf/10.1021/acschemneuro.6b00308", + :content-type "unspecified", + :content-version "vor", + :intended-application "similarity-checking"}], + :deposited + {:date-parts [[2018 1 3]], + :date-time "2018-01-03T12:44:56Z", + :timestamp 1514983496000}, + :score 0.0, + :issued {:date-parts [[2017 1 3]]}, + :references-count 0, + :journal-issue + {:issue "2", + :published-online {:date-parts [[2016 12 19]]}, + :published-print {:date-parts [[2017 2 15]]}}, + :alternative-id ["10.1021/acschemneuro.6b00308"], + :URL "http://dx.doi.org/10.1021/acschemneuro.6b00308", + :ISSN ["1948-7193" "1948-7193"], + :issn-type + [{:value "1948-7193", :type "print"} + {:value "1948-7193", :type "electronic"}]} + {:reference-count 54, + :publisher + "American Association for the Advancement of Science (AAAS)", + :issue "6315", + :license + [{:start + {:date-parts [[2017 11 25]], + :date-time "2017-11-25T00:00:00Z", + :timestamp 1511568000000}, + :content-version "vor", + :delay-in-days 366, + :URL + "http://www.sciencemag.org/about/science-licenses-journal-article-reuse"}], + :funder + [{:DOI "10.13039/100000002", + :name "NIH", + :doi-asserted-by "publisher"} + {:DOI "10.13039/100000001", + :name "NSF", + :doi-asserted-by "publisher"} + {:DOI "10.13039/501100001804", + :name "Canada Research Chairs Program", + :doi-asserted-by "publisher"} + {:DOI "10.13039/501100000038", + :name "NSERC", + :doi-asserted-by "publisher"} + {:DOI "10.13039/100008240", + :name "Fonds de recherche du Quebec", + :doi-asserted-by "publisher"}], + :content-domain {:domain [], :crossmark-restriction false}, + :short-container-title ["Science"], + :published-print {:date-parts [[2016 11 25]]}, + :DOI "10.1126/science.aah3580", + :type "journal-article", + :created + {:date-parts [[2016 11 24]], + :date-time "2016-11-24T18:45:13Z", + :timestamp 1480013113000}, + :page "1041-1045", + :source "Crossref", + :is-referenced-by-count 27, + :title + ["Social status alters immune regulation and response to infection in macaques"], + :prefix "10.1126", + :volume "354", + :author + [{:given "Noah", + :family "Snyder-Mackler", + :sequence "first", + :affiliation []} + {:given "Joaquín", + :family "Sanz", + :sequence "additional", + :affiliation []} + {:given "Jordan N.", + :family "Kohn", + :sequence "additional", + :affiliation []} + {:given "Jessica F.", + :family "Brinkworth", + :sequence "additional", + :affiliation []} + {:given "Shauna", + :family "Morrow", + :sequence "additional", + :affiliation []} + {:given "Amanda O.", + :family "Shaver", + :sequence "additional", + :affiliation []} + {:given "Jean-Christophe", + :family "Grenier", + :sequence "additional", + :affiliation []} + {:given "Roger", + :family "Pique-Regi", + :sequence "additional", + :affiliation []} + {:given "Zachary P.", + :family "Johnson", + :sequence "additional", + :affiliation []} + {:given "Mark E.", + :family "Wilson", + :sequence "additional", + :affiliation []} + {:given "Luis B.", + :family "Barreiro", + :sequence "additional", + :affiliation []} + {:given "Jenny", + :family "Tung", + :sequence "additional", + :affiliation []}], + :member "221", + :published-online {:date-parts [[2016 11 24]]}, + :container-title ["Science"], + :language "en", + :link + [{:URL + "https://syndication.highwire.org/content/doi/10.1126/science.aah3580", + :content-type "unspecified", + :content-version "vor", + :intended-application "similarity-checking"}], + :deposited + {:date-parts [[2017 5 8]], + :date-time "2017-05-08T15:03:02Z", + :timestamp 1494255782000}, + :score 0.0, + :issued {:date-parts [[2016 11 24]]}, + :references-count 54, + :journal-issue + {:issue "6315", + :published-online {:date-parts [[2016 11 24]]}, + :published-print {:date-parts [[2016 11 25]]}}, + :alternative-id ["10.1126/science.aah3580"], + :URL "http://dx.doi.org/10.1126/science.aah3580", + :ISSN ["0036-8075" "1095-9203"], + :issn-type + [{:value "0036-8075", :type "print"} + {:value "1095-9203", :type "electronic"}]} + {:reference-count 63, + :publisher "Springer Nature", + :issue "1", + :funder + [{:DOI "10.13039/100000025", + :name "National Institute of Mental Health", + :doi-asserted-by "publisher"} + {:name "Johns Hopkins Military and Veterans Health Institute"} + {:DOI "10.13039/100000066", + :name "National Institute of Environmental Health Sciences", + :doi-asserted-by "publisher"}], + :content-domain + {:domain ["link.springer.com"], :crossmark-restriction false}, + :short-container-title ["Clin Epigenet"], + :published-print {:date-parts [[2016 12 1]]}, + :DOI "10.1186/s13148-016-0279-1", + :type "journal-article", + :created + {:date-parts [[2016 11 3]], + :date-time "2016-11-03T10:30:22Z", + :timestamp 1478169022000}, + :update-policy + "http://dx.doi.org/10.1007/springer_crossmark_policy", + :source "Crossref", + :is-referenced-by-count 5, + :title + ["Discovery and replication of a peripheral tissue DNA methylation biosignature to augment a suicide prediction model"], + :prefix "10.1186", + :volume "8", + :author + [{:given "Makena L.", + :family "Clive", + :sequence "first", + :affiliation []} + {:given "Marco P.", + :family "Boks", + :sequence "additional", + :affiliation []} + {:given "Christiaan H.", + :family "Vinkers", + :sequence "additional", + :affiliation []} + {:given "Lauren M.", + :family "Osborne", + :sequence "additional", + :affiliation []} + {:given "Jennifer L.", + :family "Payne", + :sequence "additional", + :affiliation []} + {:given "Kerry J.", + :family "Ressler", + :sequence "additional", + :affiliation []} + {:given "Alicia K.", + :family "Smith", + :sequence "additional", + :affiliation []} + {:given "Holly C.", + :family "Wilcox", + :sequence "additional", + :affiliation []} + {:given "Zachary", + :family "Kaminsky", + :sequence "additional", + :affiliation []}], + :member "297", + :published-online {:date-parts [[2016 11 3]]}, + :container-title ["Clinical Epigenetics"], + :language "en", + :link + [{:URL + "http://link.springer.com/content/pdf/10.1186/s13148-016-0279-1.pdf", + :content-type "application/pdf", + :content-version "vor", + :intended-application "similarity-checking"}], + :deposited + {:date-parts [[2017 6 25]], + :date-time "2017-06-25T02:42:28Z", + :timestamp 1498358548000}, + :score 0.0, + :issued {:date-parts [[2016 11 3]]}, + :references-count 63, + :journal-issue + {:issue "1", :published-print {:date-parts [[2016 12 1]]}}, + :alternative-id ["279"], + :URL "http://dx.doi.org/10.1186/s13148-016-0279-1", + :ISSN ["1868-7075" "1868-7083"], + :issn-type + [{:value "1868-7075", :type "print"} + {:value "1868-7083", :type "electronic"}]} + {:reference-count 84, + :publisher "Frontiers Media SA", + :funder + [{:DOI "10.13039/100000002", + :name "National Institutes of Health", + :doi-asserted-by "publisher"}], + :content-domain + {:domain ["frontiersin.org"], :crossmark-restriction true}, + :short-container-title ["Front. Behav. Neurosci."], + :published-print {:date-parts [[2016 11 14]]}, + :DOI "10.3389/fnbeh.2016.00221", + :type "journal-article", + :created + {:date-parts [[2016 11 14]], + :date-time "2016-11-14T03:08:14Z", + :timestamp 1479092894000}, + :update-policy "http://dx.doi.org/10.3389/crossmark-policy", + :source "Crossref", + :is-referenced-by-count 9, + :title + ["Challenges to the Pair Bond: Neural and Hormonal Effects of Separation and Reunion in a Monogamous Primate"], + :prefix "10.3389", + :volume "10", + :author + [{:given "Katie", + :family "Hinde", + :sequence "first", + :affiliation []} + {:given "Chelsea", + :family "Muth", + :sequence "additional", + :affiliation []} + {:given "Nicole", + :family "Maninger", + :sequence "additional", + :affiliation []} + {:given "Benjamin J.", + :family "Ragen", + :sequence "additional", + :affiliation []} + {:given "Rebecca H.", + :family "Larke", + :sequence "additional", + :affiliation []} + {:given "Michael R.", + :family "Jarcho", + :sequence "additional", + :affiliation []} + {:given "Sally P.", + :family "Mendoza", + :sequence "additional", + :affiliation []} + {:given "William A.", + :family "Mason", + :sequence "additional", + :affiliation []} + {:given "Emilio", + :family "Ferrer", + :sequence "additional", + :affiliation []} + {:given "Simon R.", + :family "Cherry", + :sequence "additional", + :affiliation []} + {:given "Marina L.", + :family "Fisher-Phelps", + :sequence "additional", + :affiliation []} + {:given "Karen L.", + :family "Bales", + :sequence "additional", + :affiliation []}], + :member "1965", + :published-online {:date-parts [[2016 11 14]]}, + :container-title ["Frontiers in Behavioral Neuroscience"], + :link + [{:URL + "http://journal.frontiersin.org/article/10.3389/fnbeh.2016.00221/full", + :content-type "unspecified", + :content-version "vor", + :intended-application "similarity-checking"}], + :deposited + {:date-parts [[2017 6 25]], + :date-time "2017-06-25T03:29:44Z", + :timestamp 1498361384000}, + :score 0.0, + :issued {:date-parts [[2016 11 14]]}, + :references-count 84, + :URL "http://dx.doi.org/10.3389/fnbeh.2016.00221", + :ISSN ["1662-5153"], + :issn-type [{:value "1662-5153", :type "electronic"}]}), + :items-per-page 20, + :query {:start-index 0, :search-terms nil}} diff --git a/dev-resources/funders/100009429-works.edn b/dev-resources/funders/100009429-works.edn new file mode 100644 index 00000000..e5c25190 --- /dev/null +++ b/dev-resources/funders/100009429-works.edn @@ -0,0 +1,101 @@ +{:facets {}, + :total-results 1, + :items + ({:reference-count 0, + :publisher "Elsevier BV", + :license + [{:start + {:date-parts [[2017 2 1]], + :date-time "2017-02-01T00:00:00Z", + :timestamp 1485907200000}, + :content-version "tdm", + :delay-in-days 0, + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], + :funder + [{:DOI "10.13039/100000002", + :name "NIH", + :doi-asserted-by "publisher"} + {:DOI "10.13039/100009429", + :name "NRSA", + :doi-asserted-by "crossref"}], + :content-domain + {:domain + ["psyneuen-journal.com" + "clinicalkey.jp" + "clinicalkey.com" + "clinicalkey.es" + "clinicalkey.com.au" + "clinicalkey.fr" + "elsevier.com" + "sciencedirect.com"], + :crossmark-restriction true}, + :short-container-title ["Psychoneuroendocrinology"], + :published-print {:date-parts [[2017 2 1]]}, + :DOI "10.1016/j.psyneuen.2016.10.023", + :type "journal-article", + :created + {:date-parts [[2016 11 19]], + :date-time "2016-11-19T17:02:15Z", + :timestamp 1479574935000}, + :page "97-106", + :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", + :source "Crossref", + :is-referenced-by-count 6, + :title + ["Motherhood and infant contact regulate neuroplasticity in the serotonergic midbrain dorsal raphe"], + :prefix "10.1016", + :volume "76", + :author + [{:given "M. Allie", + :family "Holschbach", + :sequence "first", + :affiliation []} + {:given "Joseph S.", + :family "Lonstein", + :sequence "additional", + :affiliation []}], + :member "78", + :container-title ["Psychoneuroendocrinology"], + :language "en", + :link + [{:URL + "http://api.elsevier.com/content/article/PII:S0306453016308605?httpAccept=text/plain", + :content-type "text/plain", + :content-version "vor", + :intended-application "text-mining"} + {:URL + "http://api.elsevier.com/content/article/PII:S0306453016308605?httpAccept=text/xml", + :content-type "text/xml", + :content-version "vor", + :intended-application "text-mining"}], + :deposited + {:date-parts [[2017 6 25]], + :date-time "2017-06-25T04:01:56Z", + :timestamp 1498363316000}, + :score 0.0, + :issued {:date-parts [[2017 2 1]]}, + :references-count 0, + :alternative-id ["S0306453016308605"], + :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.10.023", + :ISSN ["0306-4530"], + :issn-type [{:value "0306-4530", :type "print"}], + :assertion + [{:value "Elsevier", + :name "publisher", + :label "This article is maintained by"} + {:value + "Motherhood and infant contact regulate neuroplasticity in the serotonergic midbrain dorsal raphe", + :name "articletitle", + :label "Article Title"} + {:value "Psychoneuroendocrinology", + :name "journaltitle", + :label "Journal Title"} + {:value "http://dx.doi.org/10.1016/j.psyneuen.2016.10.023", + :name "articlelink", + :label "CrossRef DOI link to publisher maintained version"} + {:value "article", :name "content_type", :label "Content Type"} + {:value "© 2016 Elsevier Ltd. All rights reserved.", + :name "copyright", + :label "Copyright"}]}), + :items-per-page 20, + :query {:start-index 0, :search-terms nil}} diff --git a/dev-resources/funders/501100001602-works.edn b/dev-resources/funders/501100001602-works.edn new file mode 100644 index 00000000..5d1b1a1a --- /dev/null +++ b/dev-resources/funders/501100001602-works.edn @@ -0,0 +1,227 @@ +{:facets {}, + :total-results 2, + :items + ({:reference-count 0, + :publisher "Elsevier BV", + :license + [{:start + {:date-parts [[2017 2 1]], + :date-time "2017-02-01T00:00:00Z", + :timestamp 1485907200000}, + :content-version "tdm", + :delay-in-days 0, + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], + :funder + [{:name + "Health Research Board, Ireland (HRB) through Health Research Awards"} + {:DOI "10.13039/501100001602", + :name "Science Foundation Ireland", + :doi-asserted-by "publisher"}], + :content-domain + {:domain ["elsevier.com" "sciencedirect.com"], + :crossmark-restriction true}, + :short-container-title ["Neuroscience & Biobehavioral Reviews"], + :published-print {:date-parts [[2017 2 1]]}, + :DOI "10.1016/j.neubiorev.2016.12.006", + :type "journal-article", + :created + {:date-parts [[2016 12 13]], + :date-time "2016-12-13T23:18:23Z", + :timestamp 1481671103000}, + :page "123-164", + :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", + :source "Crossref", + :is-referenced-by-count 14, + :title + ["A systematic review of the psychobiological burden of informal caregiving for patients with dementia: Focus on cognitive and biological markers of chronic stress"], + :prefix "10.1016", + :volume "73", + :author + [{:given "Andrew P.", + :family "Allen", + :sequence "first", + :affiliation []} + {:given "Eileen A.", + :family "Curran", + :sequence "additional", + :affiliation []} + {:given "Áine", + :family "Duggan", + :sequence "additional", + :affiliation []} + {:given "John F.", + :family "Cryan", + :sequence "additional", + :affiliation []} + {:given "Aoife Ní", + :family "Chorcoráin", + :sequence "additional", + :affiliation []} + {:given "Timothy G.", + :family "Dinan", + :sequence "additional", + :affiliation []} + {:given "D. William", + :family "Molloy", + :sequence "additional", + :affiliation []} + {:given "Patricia M.", + :family "Kearney", + :sequence "additional", + :affiliation []} + {:given "Gerard", + :family "Clarke", + :sequence "additional", + :affiliation []}], + :member "78", + :container-title ["Neuroscience & Biobehavioral Reviews"], + :language "en", + :link + [{:URL + "http://api.elsevier.com/content/article/PII:S0149763416302792?httpAccept=text/plain", + :content-type "text/plain", + :content-version "vor", + :intended-application "text-mining"} + {:URL + "http://api.elsevier.com/content/article/PII:S0149763416302792?httpAccept=text/xml", + :content-type "text/xml", + :content-version "vor", + :intended-application "text-mining"}], + :deposited + {:date-parts [[2017 6 25]], + :date-time "2017-06-25T05:51:22Z", + :timestamp 1498369882000}, + :score 0.0, + :issued {:date-parts [[2017 2 1]]}, + :references-count 0, + :alternative-id ["S0149763416302792"], + :URL "http://dx.doi.org/10.1016/j.neubiorev.2016.12.006", + :ISSN ["0149-7634"], + :issn-type [{:value "0149-7634", :type "print"}], + :assertion + [{:value "Elsevier", + :name "publisher", + :label "This article is maintained by"} + {:value + "A systematic review of the psychobiological burden of informal caregiving for patients with dementia: Focus on cognitive and biological markers of chronic stress", + :name "articletitle", + :label "Article Title"} + {:value "Neuroscience & Biobehavioral Reviews", + :name "journaltitle", + :label "Journal Title"} + {:value "http://dx.doi.org/10.1016/j.neubiorev.2016.12.006", + :name "articlelink", + :label "CrossRef DOI link to publisher maintained version"} + {:value "article", :name "content_type", :label "Content Type"} + {:value "© 2016 Elsevier Ltd. All rights reserved.", + :name "copyright", + :label "Copyright"}]} + {:reference-count 0, + :publisher "Elsevier BV", + :license + [{:start + {:date-parts [[2017 2 1]], + :date-time "2017-02-01T00:00:00Z", + :timestamp 1485907200000}, + :content-version "tdm", + :delay-in-days 0, + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"} + {:start + {:date-parts [[2016 7 1]], + :date-time "2016-07-01T00:00:00Z", + :timestamp 1467331200000}, + :content-version "vor", + :delay-in-days 0, + :URL "http://creativecommons.org/licenses/by-nc-nd/4.0/"}], + :funder + [{:name "Health Research Board, Ireland (HRB)"} + {:DOI "10.13039/501100001602", + :name "Science Foundation Ireland", + :doi-asserted-by "publisher"}], + :content-domain + {:domain ["elsevier.com" "sciencedirect.com"], + :crossmark-restriction true}, + :short-container-title ["Neurobiology of Stress"], + :published-print {:date-parts [[2017 2 1]]}, + :DOI "10.1016/j.ynstr.2016.11.001", + :type "journal-article", + :created + {:date-parts [[2016 11 12]], + :date-time "2016-11-12T07:31:05Z", + :timestamp 1478935865000}, + :page "113-126", + :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", + :source "Crossref", + :is-referenced-by-count 9, + :title ["The Trier Social Stress Test: Principles and practice"], + :prefix "10.1016", + :volume "6", + :author + [{:given "Andrew P.", + :family "Allen", + :sequence "first", + :affiliation []} + {:given "Paul J.", + :family "Kennedy", + :sequence "additional", + :affiliation []} + {:given "Samantha", + :family "Dockray", + :sequence "additional", + :affiliation []} + {:given "John F.", + :family "Cryan", + :sequence "additional", + :affiliation []} + {:given "Timothy G.", + :family "Dinan", + :sequence "additional", + :affiliation []} + {:given "Gerard", + :family "Clarke", + :sequence "additional", + :affiliation []}], + :member "78", + :container-title ["Neurobiology of Stress"], + :language "en", + :link + [{:URL + "http://api.elsevier.com/content/article/PII:S2352289516300224?httpAccept=text/xml", + :content-type "text/xml", + :content-version "vor", + :intended-application "text-mining"} + {:URL + "http://api.elsevier.com/content/article/PII:S2352289516300224?httpAccept=text/plain", + :content-type "text/plain", + :content-version "vor", + :intended-application "text-mining"}], + :deposited + {:date-parts [[2017 7 13]], + :date-time "2017-07-13T16:58:45Z", + :timestamp 1499965125000}, + :score 0.0, + :issued {:date-parts [[2017 2 1]]}, + :references-count 0, + :alternative-id ["S2352289516300224"], + :URL "http://dx.doi.org/10.1016/j.ynstr.2016.11.001", + :ISSN ["2352-2895"], + :issn-type [{:value "2352-2895", :type "print"}], + :assertion + [{:value "Elsevier", + :name "publisher", + :label "This article is maintained by"} + {:value "The Trier Social Stress Test: Principles and practice", + :name "articletitle", + :label "Article Title"} + {:value "Neurobiology of Stress", + :name "journaltitle", + :label "Journal Title"} + {:value "http://dx.doi.org/10.1016/j.ynstr.2016.11.001", + :name "articlelink", + :label "CrossRef DOI link to publisher maintained version"} + {:value "article", :name "content_type", :label "Content Type"} + {:value "© 2016 The Authors. Published by Elsevier Inc.", + :name "copyright", + :label "Copyright"}]}), + :items-per-page 20, + :query {:start-index 0, :search-terms nil}} diff --git a/test/cayenne/funders_test.clj b/test/cayenne/funders_test.clj index 89ed9e35..8810d37a 100644 --- a/test/cayenne/funders_test.clj +++ b/test/cayenne/funders_test.clj @@ -19,11 +19,17 @@ (doseq [funder ["100000001" "100006151" "501100000315" "501100000314"]] (let [response (api-get (str "/v1/funders/" funder)) expected-response (read-string (slurp (resource (str "funders/" funder ".edn"))))] - (is (= expected-response response)))))) + (is (= expected-response response))))) + (testing "funders/works endpoint returns expected result for funder" + (doseq [funder ["100000002" "100009429" "501100001602" ]] + (let [response (api-get (str "/v1/funders/" funder "/works")) + expected-response (read-string (slurp (resource (str "funders/" funder "-works.edn"))))] + (is (= expected-response response)))))) (use-fixtures :once (api-with #(do (user/load-test-funders) + (user/index-feed) ;; todo wait until indexing finished (Thread/sleep 5000)))) From 104c1004635818deea335b0cd89c39f83ddeb65b Mon Sep 17 00:00:00 2001 From: Crossref Date: Thu, 12 Jul 2018 13:30:45 -0400 Subject: [PATCH 152/156] comments and revert query.clj change to assoc-in is unnecessary. --- src/cayenne/api/v1/filter.clj | 2 ++ src/cayenne/api/v1/query.clj | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/src/cayenne/api/v1/filter.clj b/src/cayenne/api/v1/filter.clj index e7f0704d..507109f2 100644 --- a/src/cayenne/api/v1/filter.clj +++ b/src/cayenne/api/v1/filter.clj @@ -99,6 +99,8 @@ {:occurrence :filter :clause {:nested {:path prefix :query {:terms {field-name (second val) }}}}}))) + ; nested terms could be called with a list of values, + ; the es-fetch handles them, so don't take only the first item ;; (letfn [(field-name [field] ;; (keyword (str (name prefix) diff --git a/src/cayenne/api/v1/query.clj b/src/cayenne/api/v1/query.clj index bd023cd6..b2f30181 100644 --- a/src/cayenne/api/v1/query.clj +++ b/src/cayenne/api/v1/query.clj @@ -259,7 +259,7 @@ ;; todo could be rewritten to use /type/type/id id-field - (assoc-in [:query :bool :should] [(conj {:term {id-field (:id query-context)}})]) + (update-in [:query :bool :should] conj {:term {id-field (:id query-context)}}) ;; todo only considering first filter value (-> query-context :filters empty? not) From 5f34ea50b964fcb18556e78274ec67fdb7394465 Mon Sep 17 00:00:00 2001 From: Mark Woodhall Date: Thu, 12 Jul 2018 21:40:55 +0100 Subject: [PATCH 153/156] Add initial count-types implementation as per master PREP 55 --- dev-resources/members.edn | 16 ++++++++++++++++ src/cayenne/data/member.clj | 1 + src/cayenne/elastic/mappings.clj | 1 + src/cayenne/tasks/coverage.clj | 21 +++++++++++++++++++++ 4 files changed, 39 insertions(+) diff --git a/dev-resources/members.edn b/dev-resources/members.edn index a3e42262..0ca652a4 100644 --- a/dev-resources/members.edn +++ b/dev-resources/members.edn @@ -5,6 +5,22 @@ ({:primary-name "Elsevier BV", :counts {:current-dois 121, :backfile-dois 0, :total-dois 121}, :breakdowns {:dois-by-issued-year [[2017 115] [2016 6]]}, + :counts-type + {:backfile + {:peer-review 1, + :journal-article 5, + :posted-content 1}, + :current + {:peer-review 1, + :journal-article 163, + :reference-entry 1, + :book-chapter 6}, + :all + {:peer-review 2, + :journal-article 168, + :reference-entry 1, + :book-chapter 6, + :posted-content 1}} :prefixes ["10.7424" "10.25013" diff --git a/src/cayenne/data/member.clj b/src/cayenne/data/member.clj index 4937d3b5..640fe347 100644 --- a/src/cayenne/data/member.clj +++ b/src/cayenne/data/member.clj @@ -31,6 +31,7 @@ :counts (select-keys coverage-doc [:current-dois :backfile-dois :total-dois]) + :counts-type (:type-counts coverage-doc) :last-status-check-time (-> coverage-doc :finished dc/to-long)}))) (defn get-coverage [subject-type subject-ids] diff --git a/src/cayenne/elastic/mappings.clj b/src/cayenne/elastic/mappings.clj index 438effe6..762c1f55 100644 --- a/src/cayenne/elastic/mappings.clj +++ b/src/cayenne/elastic/mappings.clj @@ -274,6 +274,7 @@ :total-dois {:type "long"} :backfile-dois {:type "long"} :current-dois {:type "long"} + :type-counts {:type "object"} :breakdowns {:type "object"} :coverage {:type "object"}}) diff --git a/src/cayenne/tasks/coverage.clj b/src/cayenne/tasks/coverage.clj index ab000abf..649bd468 100644 --- a/src/cayenne/tasks/coverage.clj +++ b/src/cayenne/tasks/coverage.clj @@ -1,5 +1,6 @@ (ns cayenne.tasks.coverage (:require [cayenne.ids.issn :as issn-id] + [cayenne.ids.type :as type-id] [cayenne.conf :as conf] [cayenne.util :refer [?> ?>>]] [cayenne.data.work :as works] @@ -119,10 +120,29 @@ :current-dois current-count :total-dois (+ backfile-count current-count)})) +(defn get-type-counts [record-id content-type] + (let [backfile-count (get-work-count type record-id :timing :backfile :filters {:type [(name content-type)]}) + current-count (get-work-count type record-id :timing :current :filters {:type [(name content-type)]})] + (cond-> {} + (pos? backfile-count) + (assoc :backfile {content-type backfile-count}) + (pos? current-count) + (assoc :current {content-type current-count}) + (or (pos? current-count) (pos? backfile-count)) + (assoc :all {content-type (+ current-count backfile-count)})))) + +(defn check-type-counts [record & {:keys [type id-field]}] + (let [record-id (get record id-field)] + (apply + merge-with + merge + (map (partial get-type-counts record-id) (keys type-id/type-dictionary))))) + (defn index-coverage-command [record & {:keys [type id-field]}] (let [started-date (dt/now) record-source (:_source record) record-counts (check-record-counts record-source :type type :id-field id-field) + type-counts (check-type-counts record-source :type type :id-field id-field) breakdowns (check-breakdowns record-source :type type :id-field id-field) coverage (check-record-coverage record-source :type type :id-field id-field)] [{:index {:_id (.toString (UUID/randomUUID))}} @@ -133,6 +153,7 @@ :total-dois (:total-dois record-counts) :backfile-dois (:backfile-dois record-counts) :current-dois (:current-dois record-counts) + :type-counts type-counts :breakdowns breakdowns :coverage coverage}])) From a740615b9494a4b891f2cda447c0a6021e5bb723 Mon Sep 17 00:00:00 2001 From: Crossref Date: Fri, 13 Jul 2018 08:49:28 -0400 Subject: [PATCH 154/156] added some comments --- src/cayenne/data/funder.clj | 11 ++++++++--- src/cayenne/ids/doi.clj | 7 +++++-- 2 files changed, 13 insertions(+), 5 deletions(-) diff --git a/src/cayenne/data/funder.clj b/src/cayenne/data/funder.clj index 116da22d..ef609f10 100644 --- a/src/cayenne/data/funder.clj +++ b/src/cayenne/data/funder.clj @@ -21,6 +21,8 @@ (get-in [:body :_source :descendant]))) (defn fetch-descendant-work-count [funder-doi] + ;funders are indexed with the funder id as their database id, they are linked, however, with their + ;doi (with the funder prefix) so we must turn the doi to an id to do the query (let [funder-dois (conj (fetch-descendant-dois (doi-id/doi-uri-to-id funder-doi)) funder-doi) nested-query {:bool @@ -99,13 +101,16 @@ (get-in response [:body :hits :total]) (map ->response-doc docs))))) -;; todo currently won't work due to filter.clj compounds only accepting -;; one value per filter name + (defn fetch-works [query-context] + "for a given set of funders in a funders/works query, fetch all the descendant funders, + then fetch all works with those funders." + ; funders are fetched using their ids (let [funder-doi (doi-id/doi-uri-to-id (:id query-context)) filter-dois (conj (fetch-descendant-dois funder-doi) funder-doi) filter-dois-with-prefix (map doi-id/with-funder-prefix filter-dois)] (work/fetch - (-> query-context + (-> query-context ;works linking to (including funders linking to funders by realations + ;funders need their ids to be dois (assoc :filters {"funder" {"doi" filter-dois-with-prefix}}))))) diff --git a/src/cayenne/ids/doi.clj b/src/cayenne/ids/doi.clj index 69142292..68bfc046 100644 --- a/src/cayenne/ids/doi.clj +++ b/src/cayenne/ids/doi.clj @@ -60,7 +60,8 @@ (if (string/blank? normalized-doi) nil (ids/get-id-uri :long-doi normalized-doi))))) - + +; todo: put funder id functions in their own namespace again? (defn to-short-doi-uri "Ensure a short DOI is in a normalized URI form." [s] @@ -68,12 +69,14 @@ (ids/get-id-uri :short-doi (normalize-short-doi s)))) (defn doi-uri-to-id + "takes the last portion of a doi after the last /. Useful for funder identifiers" [doi] (last (string/split doi #"/"))) (defn with-prefix [doi prefix] + "used to convert a funder id to a funder doi" (->> doi - doi-uri-to-id + doi-uri-to-id ;in case we're passed a funder doi instead of just the ID (str prefix "/"))) (defn with-funder-prefix [doi] From d2a37d8a80ef3577f49850ca9747a7b4d5218bc3 Mon Sep 17 00:00:00 2001 From: Mark Woodhall Date: Tue, 24 Jul 2018 09:55:12 +0100 Subject: [PATCH 155/156] Add complete count-types and coverage-type implementation In order to make this work and avoid excess mapping explosion I have changed the underlying structure of the coverage index so that coverage by type is actually indexed, from this we can calculate an overview of the coverage, coverage counts by type, and coverage type. --- dev-resources/members.edn | 98 ++- dev-resources/titles-offset-20.edn | 920 +++++++++++++++++----------- dev-resources/titles-offset-40.edn | 920 +++++++++++++++++----------- dev-resources/titles.edn | 932 ++++++++++++++++++----------- dev-resources/titles/0306-4530.edn | 58 +- dev-resources/titles/2303-5595.edn | 46 +- dev-resources/titles/2542-1298.edn | 46 +- src/cayenne/api/v1/filter.clj | 3 +- src/cayenne/data/coverage.clj | 49 ++ src/cayenne/data/journal.clj | 11 +- src/cayenne/data/member.clj | 12 +- src/cayenne/elastic/mappings.clj | 3 +- src/cayenne/tasks/coverage.clj | 92 +-- 13 files changed, 1980 insertions(+), 1210 deletions(-) create mode 100644 src/cayenne/data/coverage.clj diff --git a/dev-resources/members.edn b/dev-resources/members.edn index 0ca652a4..8e8c5256 100644 --- a/dev-resources/members.edn +++ b/dev-resources/members.edn @@ -5,22 +5,6 @@ ({:primary-name "Elsevier BV", :counts {:current-dois 121, :backfile-dois 0, :total-dois 121}, :breakdowns {:dois-by-issued-year [[2017 115] [2016 6]]}, - :counts-type - {:backfile - {:peer-review 1, - :journal-article 5, - :posted-content 1}, - :current - {:peer-review 1, - :journal-article 163, - :reference-entry 1, - :book-chapter 6}, - :all - {:peer-review 2, - :journal-article 168, - :reference-entry 1, - :book-chapter 6, - :posted-content 1}} :prefixes ["10.7424" "10.25013" @@ -52,22 +36,26 @@ "10.4065"], :coverage {:affiliations-current 0.0, - :funders-backfile 0, - :licenses-backfile 0, + :similarity-checking-current 0.0, + :funders-backfile 0.0, + :licenses-backfile 0.0, :funders-current 0.3884297520661157, - :affiliations-backfile 0, - :resource-links-backfile 0, - :orcids-backfile 0, + :affiliations-backfile 0.0, + :resource-links-backfile 0.0, + :orcids-backfile 0.0, :update-policies-current 0.9504132231404959, + :open-references-backfile 0.0, :orcids-current 0.06611570247933884, - :references-backfile 0, - :award-numbers-backfile 0, - :update-policies-backfile 0, + :similarity-checking-backfile 0.0, + :references-backfile 0.0, + :award-numbers-backfile 0.0, + :update-policies-backfile 0.0, :licenses-current 1.0, :award-numbers-current 0.0, - :abstracts-backfile 0, + :abstracts-backfile 0.0, :resource-links-current 1.0, :abstracts-current 0.0, + :open-references-current 0.0, :references-current 0.0}, :prefix [{:reference-visibility "closed", @@ -184,12 +172,69 @@ :value "10.4065"}], :id 78, :tokens ["elsevier" "bv"], + :counts-type + {:all {:journal-article 115, :book-chapter 6}, + :current {:journal-article 115, :book-chapter 6}, + :backfile {}}, + :coverage-type + {:all + {:journal-article + {:affiliations 0.0, + :abstracts 0.0, + :orcids 0.06956521739130435, + :licenses 1.0, + :references 0.0, + :funders 0.408695652173913, + :similarity-checking 0.0, + :award-numbers 0.0, + :update-policies 1.0, + :resource-links 1.0, + :open-references 0.0}, + :book-chapter + {:affiliations 0.0, + :abstracts 0.0, + :orcids 0.0, + :licenses 1.0, + :references 0.0, + :funders 0.0, + :similarity-checking 0.0, + :award-numbers 0.0, + :update-policies 0.0, + :resource-links 1.0, + :open-references 0.0}}, + :current + {:journal-article + {:affiliations 0.0, + :abstracts 0.0, + :orcids 0.06956521739130435, + :licenses 1.0, + :references 0.0, + :funders 0.408695652173913, + :similarity-checking 0.0, + :award-numbers 0.0, + :update-policies 1.0, + :resource-links 1.0, + :open-references 0.0}, + :book-chapter + {:affiliations 0.0, + :abstracts 0.0, + :orcids 0.0, + :licenses 1.0, + :references 0.0, + :funders 0.0, + :similarity-checking 0.0, + :award-numbers 0.0, + :update-policies 0.0, + :resource-links 1.0, + :open-references 0.0}}, + :backfile {}}, :flags {:deposits-abstracts-current false, :deposits-orcids-current true, :deposits true, :deposits-affiliations-backfile false, :deposits-update-policies-backfile false, + :deposits-similarity-checking-backfile false, :deposits-award-numbers-current false, :deposits-resource-links-current true, :deposits-articles true, @@ -199,11 +244,14 @@ :deposits-abstracts-backfile false, :deposits-licenses-backfile false, :deposits-award-numbers-backfile false, + :deposits-open-references-backfile false, + :deposits-open-references-current false, :deposits-references-current false, :deposits-resource-links-backfile false, :deposits-orcids-backfile false, :deposits-funders-backfile false, :deposits-update-policies-current true, + :deposits-similarity-checking-current false, :deposits-licenses-current true}, :location "230 Park Avenue Suite 800 Shantae McGee New York NY 10169-0935 United States", diff --git a/dev-resources/titles-offset-20.edn b/dev-resources/titles-offset-20.edn index 11978597..979d05b3 100644 --- a/dev-resources/titles-offset-20.edn +++ b/dev-resources/titles-offset-20.edn @@ -6,33 +6,40 @@ :breakdowns {:dois-by-issued-year []}, :publisher "Vilnius Gediminas Technical University", :coverage - {:affiliations-current 0, - :funders-backfile 0, - :licenses-backfile 0, - :funders-current 0, - :affiliations-backfile 0, - :resource-links-backfile 0, - :orcids-backfile 0, - :update-policies-current 0, - :orcids-current 0, - :references-backfile 0, - :award-numbers-backfile 0, - :update-policies-backfile 0, - :licenses-current 0, - :award-numbers-current 0, - :abstracts-backfile 0, - :resource-links-current 0, - :abstracts-current 0, - :references-current 0}, + {:affiliations-current 0.0, + :similarity-checking-current 0.0, + :funders-backfile 0.0, + :licenses-backfile 0.0, + :funders-current 0.0, + :affiliations-backfile 0.0, + :resource-links-backfile 0.0, + :orcids-backfile 0.0, + :update-policies-current 0.0, + :open-references-backfile 0.0, + :orcids-current 0.0, + :similarity-checking-backfile 0.0, + :references-backfile 0.0, + :award-numbers-backfile 0.0, + :update-policies-backfile 0.0, + :licenses-current 0.0, + :award-numbers-current 0.0, + :abstracts-backfile 0.0, + :resource-links-current 0.0, + :abstracts-current 0.0, + :open-references-current 0.0, + :references-current 0.0}, :title "18-toji Lietuvos jaunųjų mokslininkų konferencijos ciklo „Mokslas – Lietuvos ateitis” Pastatų inžinerinės sistemos", :subjects [], + :counts-type {:all {}, :current {}, :backfile {}}, + :coverage-type {:all {}, :current {}, :backfile {}}, :flags {:deposits-abstracts-current false, :deposits-orcids-current false, :deposits false, :deposits-affiliations-backfile false, :deposits-update-policies-backfile false, + :deposits-similarity-checking-backfile false, :deposits-award-numbers-current false, :deposits-resource-links-current false, :deposits-articles false, @@ -42,11 +49,14 @@ :deposits-abstracts-backfile false, :deposits-licenses-backfile false, :deposits-award-numbers-backfile false, + :deposits-open-references-backfile false, + :deposits-open-references-current false, :deposits-references-current false, :deposits-resource-links-backfile false, :deposits-orcids-backfile false, :deposits-funders-backfile false, :deposits-update-policies-current false, + :deposits-similarity-checking-current false, :deposits-licenses-current false}, :ISSN ["2029-7149"], :issn-type [{:value "2029-7149", :type "electronic"}]} @@ -54,32 +64,39 @@ :breakdowns {:dois-by-issued-year []}, :publisher "OpenEdition", :coverage - {:affiliations-current 0, - :funders-backfile 0, - :licenses-backfile 0, - :funders-current 0, - :affiliations-backfile 0, - :resource-links-backfile 0, - :orcids-backfile 0, - :update-policies-current 0, - :orcids-current 0, - :references-backfile 0, - :award-numbers-backfile 0, - :update-policies-backfile 0, - :licenses-current 0, - :award-numbers-current 0, - :abstracts-backfile 0, - :resource-links-current 0, - :abstracts-current 0, - :references-current 0}, + {:affiliations-current 0.0, + :similarity-checking-current 0.0, + :funders-backfile 0.0, + :licenses-backfile 0.0, + :funders-current 0.0, + :affiliations-backfile 0.0, + :resource-links-backfile 0.0, + :orcids-backfile 0.0, + :update-policies-current 0.0, + :open-references-backfile 0.0, + :orcids-current 0.0, + :similarity-checking-backfile 0.0, + :references-backfile 0.0, + :award-numbers-backfile 0.0, + :update-policies-backfile 0.0, + :licenses-current 0.0, + :award-numbers-current 0.0, + :abstracts-backfile 0.0, + :resource-links-current 0.0, + :abstracts-current 0.0, + :open-references-current 0.0, + :references-current 0.0}, :title "1895 Mille huit cent quatre-vingt-quinze", :subjects [], + :counts-type {:all {}, :current {}, :backfile {}}, + :coverage-type {:all {}, :current {}, :backfile {}}, :flags {:deposits-abstracts-current false, :deposits-orcids-current false, :deposits false, :deposits-affiliations-backfile false, :deposits-update-policies-backfile false, + :deposits-similarity-checking-backfile false, :deposits-award-numbers-current false, :deposits-resource-links-current false, :deposits-articles false, @@ -89,11 +106,14 @@ :deposits-abstracts-backfile false, :deposits-licenses-backfile false, :deposits-award-numbers-backfile false, + :deposits-open-references-backfile false, + :deposits-open-references-current false, :deposits-references-current false, :deposits-resource-links-backfile false, :deposits-orcids-backfile false, :deposits-funders-backfile false, :deposits-update-policies-current false, + :deposits-similarity-checking-current false, :deposits-licenses-current false}, :ISSN ["0769-0959" "1960-6176"], :issn-type @@ -103,33 +123,40 @@ :breakdowns {:dois-by-issued-year []}, :publisher "Open Library of Humanities", :coverage - {:affiliations-current 0, - :funders-backfile 0, - :licenses-backfile 0, - :funders-current 0, - :affiliations-backfile 0, - :resource-links-backfile 0, - :orcids-backfile 0, - :update-policies-current 0, - :orcids-current 0, - :references-backfile 0, - :award-numbers-backfile 0, - :update-policies-backfile 0, - :licenses-current 0, - :award-numbers-current 0, - :abstracts-backfile 0, - :resource-links-current 0, - :abstracts-current 0, - :references-current 0}, + {:affiliations-current 0.0, + :similarity-checking-current 0.0, + :funders-backfile 0.0, + :licenses-backfile 0.0, + :funders-current 0.0, + :affiliations-backfile 0.0, + :resource-links-backfile 0.0, + :orcids-backfile 0.0, + :update-policies-current 0.0, + :open-references-backfile 0.0, + :orcids-current 0.0, + :similarity-checking-backfile 0.0, + :references-backfile 0.0, + :award-numbers-backfile 0.0, + :update-policies-backfile 0.0, + :licenses-current 0.0, + :award-numbers-current 0.0, + :abstracts-backfile 0.0, + :resource-links-current 0.0, + :abstracts-current 0.0, + :open-references-current 0.0, + :references-current 0.0}, :title "19 Interdisciplinary Studies in the Long Nineteenth Century", :subjects [], + :counts-type {:all {}, :current {}, :backfile {}}, + :coverage-type {:all {}, :current {}, :backfile {}}, :flags {:deposits-abstracts-current false, :deposits-orcids-current false, :deposits false, :deposits-affiliations-backfile false, :deposits-update-policies-backfile false, + :deposits-similarity-checking-backfile false, :deposits-award-numbers-current false, :deposits-resource-links-current false, :deposits-articles false, @@ -139,11 +166,14 @@ :deposits-abstracts-backfile false, :deposits-licenses-backfile false, :deposits-award-numbers-backfile false, + :deposits-open-references-backfile false, + :deposits-open-references-current false, :deposits-references-current false, :deposits-resource-links-backfile false, :deposits-orcids-backfile false, :deposits-funders-backfile false, :deposits-update-policies-current false, + :deposits-similarity-checking-current false, :deposits-licenses-current false}, :ISSN ["1755-1560"], :issn-type [{:value "1755-1560", :type "electronic"}]} @@ -151,32 +181,39 @@ :breakdowns {:dois-by-issued-year []}, :publisher "University of California Press", :coverage - {:affiliations-current 0, - :funders-backfile 0, - :licenses-backfile 0, - :funders-current 0, - :affiliations-backfile 0, - :resource-links-backfile 0, - :orcids-backfile 0, - :update-policies-current 0, - :orcids-current 0, - :references-backfile 0, - :award-numbers-backfile 0, - :update-policies-backfile 0, - :licenses-current 0, - :award-numbers-current 0, - :abstracts-backfile 0, - :resource-links-current 0, - :abstracts-current 0, - :references-current 0}, + {:affiliations-current 0.0, + :similarity-checking-current 0.0, + :funders-backfile 0.0, + :licenses-backfile 0.0, + :funders-current 0.0, + :affiliations-backfile 0.0, + :resource-links-backfile 0.0, + :orcids-backfile 0.0, + :update-policies-current 0.0, + :open-references-backfile 0.0, + :orcids-current 0.0, + :similarity-checking-backfile 0.0, + :references-backfile 0.0, + :award-numbers-backfile 0.0, + :update-policies-backfile 0.0, + :licenses-current 0.0, + :award-numbers-current 0.0, + :abstracts-backfile 0.0, + :resource-links-current 0.0, + :abstracts-current 0.0, + :open-references-current 0.0, + :references-current 0.0}, :title "19th-Century Music", :subjects [], + :counts-type {:all {}, :current {}, :backfile {}}, + :coverage-type {:all {}, :current {}, :backfile {}}, :flags {:deposits-abstracts-current false, :deposits-orcids-current false, :deposits false, :deposits-affiliations-backfile false, :deposits-update-policies-backfile false, + :deposits-similarity-checking-backfile false, :deposits-award-numbers-current false, :deposits-resource-links-current false, :deposits-articles false, @@ -186,11 +223,14 @@ :deposits-abstracts-backfile false, :deposits-licenses-backfile false, :deposits-award-numbers-backfile false, + :deposits-open-references-backfile false, + :deposits-open-references-current false, :deposits-references-current false, :deposits-resource-links-backfile false, :deposits-orcids-backfile false, :deposits-funders-backfile false, :deposits-update-policies-current false, + :deposits-similarity-checking-current false, :deposits-licenses-current false}, :ISSN ["0148-2076" "1533-8606"], :issn-type @@ -200,32 +240,39 @@ :breakdowns {:dois-by-issued-year []}, :publisher "21st Century Political Science Association", :coverage - {:affiliations-current 0, - :funders-backfile 0, - :licenses-backfile 0, - :funders-current 0, - :affiliations-backfile 0, - :resource-links-backfile 0, - :orcids-backfile 0, - :update-policies-current 0, - :orcids-current 0, - :references-backfile 0, - :award-numbers-backfile 0, - :update-policies-backfile 0, - :licenses-current 0, - :award-numbers-current 0, - :abstracts-backfile 0, - :resource-links-current 0, - :abstracts-current 0, - :references-current 0}, + {:affiliations-current 0.0, + :similarity-checking-current 0.0, + :funders-backfile 0.0, + :licenses-backfile 0.0, + :funders-current 0.0, + :affiliations-backfile 0.0, + :resource-links-backfile 0.0, + :orcids-backfile 0.0, + :update-policies-current 0.0, + :open-references-backfile 0.0, + :orcids-current 0.0, + :similarity-checking-backfile 0.0, + :references-backfile 0.0, + :award-numbers-backfile 0.0, + :update-policies-backfile 0.0, + :licenses-current 0.0, + :award-numbers-current 0.0, + :abstracts-backfile 0.0, + :resource-links-current 0.0, + :abstracts-current 0.0, + :open-references-current 0.0, + :references-current 0.0}, :title "21st centry Political Science Review", :subjects [], + :counts-type {:all {}, :current {}, :backfile {}}, + :coverage-type {:all {}, :current {}, :backfile {}}, :flags {:deposits-abstracts-current false, :deposits-orcids-current false, :deposits false, :deposits-affiliations-backfile false, :deposits-update-policies-backfile false, + :deposits-similarity-checking-backfile false, :deposits-award-numbers-current false, :deposits-resource-links-current false, :deposits-articles false, @@ -235,11 +282,14 @@ :deposits-abstracts-backfile false, :deposits-licenses-backfile false, :deposits-award-numbers-backfile false, + :deposits-open-references-backfile false, + :deposits-open-references-current false, :deposits-references-current false, :deposits-resource-links-backfile false, :deposits-orcids-backfile false, :deposits-funders-backfile false, :deposits-update-policies-current false, + :deposits-similarity-checking-current false, :deposits-licenses-current false}, :ISSN ["1229-5167"], :issn-type [{:value "1229-5167", :type "print"}]} @@ -247,32 +297,39 @@ :breakdowns {:dois-by-issued-year []}, :publisher "21st Century Political Science Association", :coverage - {:affiliations-current 0, - :funders-backfile 0, - :licenses-backfile 0, - :funders-current 0, - :affiliations-backfile 0, - :resource-links-backfile 0, - :orcids-backfile 0, - :update-policies-current 0, - :orcids-current 0, - :references-backfile 0, - :award-numbers-backfile 0, - :update-policies-backfile 0, - :licenses-current 0, - :award-numbers-current 0, - :abstracts-backfile 0, - :resource-links-current 0, - :abstracts-current 0, - :references-current 0}, + {:affiliations-current 0.0, + :similarity-checking-current 0.0, + :funders-backfile 0.0, + :licenses-backfile 0.0, + :funders-current 0.0, + :affiliations-backfile 0.0, + :resource-links-backfile 0.0, + :orcids-backfile 0.0, + :update-policies-current 0.0, + :open-references-backfile 0.0, + :orcids-current 0.0, + :similarity-checking-backfile 0.0, + :references-backfile 0.0, + :award-numbers-backfile 0.0, + :update-policies-backfile 0.0, + :licenses-current 0.0, + :award-numbers-current 0.0, + :abstracts-backfile 0.0, + :resource-links-current 0.0, + :abstracts-current 0.0, + :open-references-current 0.0, + :references-current 0.0}, :title "21st centry Political Science Review", :subjects [], + :counts-type {:all {}, :current {}, :backfile {}}, + :coverage-type {:all {}, :current {}, :backfile {}}, :flags {:deposits-abstracts-current false, :deposits-orcids-current false, :deposits false, :deposits-affiliations-backfile false, :deposits-update-policies-backfile false, + :deposits-similarity-checking-backfile false, :deposits-award-numbers-current false, :deposits-resource-links-current false, :deposits-articles false, @@ -282,11 +339,14 @@ :deposits-abstracts-backfile false, :deposits-licenses-backfile false, :deposits-award-numbers-backfile false, + :deposits-open-references-backfile false, + :deposits-open-references-current false, :deposits-references-current false, :deposits-resource-links-backfile false, :deposits-orcids-backfile false, :deposits-funders-backfile false, :deposits-update-policies-current false, + :deposits-similarity-checking-current false, :deposits-licenses-current false}, :ISSN ["1229-5167"], :issn-type [{:value "1229-5167", :type "print"}]} @@ -294,33 +354,40 @@ :breakdowns {:dois-by-issued-year []}, :publisher "ABED - Associacao Brasileira de Educacao a Distancia", :coverage - {:affiliations-current 0, - :funders-backfile 0, - :licenses-backfile 0, - :funders-current 0, - :affiliations-backfile 0, - :resource-links-backfile 0, - :orcids-backfile 0, - :update-policies-current 0, - :orcids-current 0, - :references-backfile 0, - :award-numbers-backfile 0, - :update-policies-backfile 0, - :licenses-current 0, - :award-numbers-current 0, - :abstracts-backfile 0, - :resource-links-current 0, - :abstracts-current 0, - :references-current 0}, + {:affiliations-current 0.0, + :similarity-checking-current 0.0, + :funders-backfile 0.0, + :licenses-backfile 0.0, + :funders-current 0.0, + :affiliations-backfile 0.0, + :resource-links-backfile 0.0, + :orcids-backfile 0.0, + :update-policies-current 0.0, + :open-references-backfile 0.0, + :orcids-current 0.0, + :similarity-checking-backfile 0.0, + :references-backfile 0.0, + :award-numbers-backfile 0.0, + :update-policies-backfile 0.0, + :licenses-current 0.0, + :award-numbers-current 0.0, + :abstracts-backfile 0.0, + :resource-links-current 0.0, + :abstracts-current 0.0, + :open-references-current 0.0, + :references-current 0.0}, :title "21º CIAED - Congresso Internacional ABED de Educação a Distância", :subjects [], + :counts-type {:all {}, :current {}, :backfile {}}, + :coverage-type {:all {}, :current {}, :backfile {}}, :flags {:deposits-abstracts-current false, :deposits-orcids-current false, :deposits false, :deposits-affiliations-backfile false, :deposits-update-policies-backfile false, + :deposits-similarity-checking-backfile false, :deposits-award-numbers-current false, :deposits-resource-links-current false, :deposits-articles false, @@ -330,11 +397,14 @@ :deposits-abstracts-backfile false, :deposits-licenses-backfile false, :deposits-award-numbers-backfile false, + :deposits-open-references-backfile false, + :deposits-open-references-current false, :deposits-references-current false, :deposits-resource-links-backfile false, :deposits-orcids-backfile false, :deposits-funders-backfile false, :deposits-update-policies-current false, + :deposits-similarity-checking-current false, :deposits-licenses-current false}, :ISSN ["2175-4098"], :issn-type [{:value "2175-4098", :type "electronic"}]} @@ -342,32 +412,39 @@ :breakdowns {:dois-by-issued-year []}, :publisher "\"Editora Edgard Blucher, Ltda.\"", :coverage - {:affiliations-current 0, - :funders-backfile 0, - :licenses-backfile 0, - :funders-current 0, - :affiliations-backfile 0, - :resource-links-backfile 0, - :orcids-backfile 0, - :update-policies-current 0, - :orcids-current 0, - :references-backfile 0, - :award-numbers-backfile 0, - :update-policies-backfile 0, - :licenses-current 0, - :award-numbers-current 0, - :abstracts-backfile 0, - :resource-links-current 0, - :abstracts-current 0, - :references-current 0}, + {:affiliations-current 0.0, + :similarity-checking-current 0.0, + :funders-backfile 0.0, + :licenses-backfile 0.0, + :funders-current 0.0, + :affiliations-backfile 0.0, + :resource-links-backfile 0.0, + :orcids-backfile 0.0, + :update-policies-current 0.0, + :open-references-backfile 0.0, + :orcids-current 0.0, + :similarity-checking-backfile 0.0, + :references-backfile 0.0, + :award-numbers-backfile 0.0, + :update-policies-backfile 0.0, + :licenses-current 0.0, + :award-numbers-current 0.0, + :abstracts-backfile 0.0, + :resource-links-current 0.0, + :abstracts-current 0.0, + :open-references-current 0.0, + :references-current 0.0}, :title "23a Reunião da Associação Brasileira de Cristalografia", :subjects [], + :counts-type {:all {}, :current {}, :backfile {}}, + :coverage-type {:all {}, :current {}, :backfile {}}, :flags {:deposits-abstracts-current false, :deposits-orcids-current false, :deposits false, :deposits-affiliations-backfile false, :deposits-update-policies-backfile false, + :deposits-similarity-checking-backfile false, :deposits-award-numbers-current false, :deposits-resource-links-current false, :deposits-articles false, @@ -377,11 +454,14 @@ :deposits-abstracts-backfile false, :deposits-licenses-backfile false, :deposits-award-numbers-backfile false, + :deposits-open-references-backfile false, + :deposits-open-references-current false, :deposits-references-current false, :deposits-resource-links-backfile false, :deposits-orcids-backfile false, :deposits-funders-backfile false, :deposits-update-policies-current false, + :deposits-similarity-checking-current false, :deposits-licenses-current false}, :ISSN ["2358-9337"], :issn-type [{:value "2358-9337", :type "electronic"}]} @@ -389,32 +469,39 @@ :breakdowns {:dois-by-issued-year []}, :publisher "JSTOR", :coverage - {:affiliations-current 0, - :funders-backfile 0, - :licenses-backfile 0, - :funders-current 0, - :affiliations-backfile 0, - :resource-links-backfile 0, - :orcids-backfile 0, - :update-policies-current 0, - :orcids-current 0, - :references-backfile 0, - :award-numbers-backfile 0, - :update-policies-backfile 0, - :licenses-current 0, - :award-numbers-current 0, - :abstracts-backfile 0, - :resource-links-current 0, - :abstracts-current 0, - :references-current 0}, + {:affiliations-current 0.0, + :similarity-checking-current 0.0, + :funders-backfile 0.0, + :licenses-backfile 0.0, + :funders-current 0.0, + :affiliations-backfile 0.0, + :resource-links-backfile 0.0, + :orcids-backfile 0.0, + :update-policies-current 0.0, + :open-references-backfile 0.0, + :orcids-current 0.0, + :similarity-checking-backfile 0.0, + :references-backfile 0.0, + :award-numbers-backfile 0.0, + :update-policies-backfile 0.0, + :licenses-current 0.0, + :award-numbers-current 0.0, + :abstracts-backfile 0.0, + :resource-links-current 0.0, + :abstracts-current 0.0, + :open-references-current 0.0, + :references-current 0.0}, :title "291", :subjects [], + :counts-type {:all {}, :current {}, :backfile {}}, + :coverage-type {:all {}, :current {}, :backfile {}}, :flags {:deposits-abstracts-current false, :deposits-orcids-current false, :deposits false, :deposits-affiliations-backfile false, :deposits-update-policies-backfile false, + :deposits-similarity-checking-backfile false, :deposits-award-numbers-current false, :deposits-resource-links-current false, :deposits-articles false, @@ -424,11 +511,14 @@ :deposits-abstracts-backfile false, :deposits-licenses-backfile false, :deposits-award-numbers-backfile false, + :deposits-open-references-backfile false, + :deposits-open-references-current false, :deposits-references-current false, :deposits-resource-links-backfile false, :deposits-orcids-backfile false, :deposits-funders-backfile false, :deposits-update-policies-current false, + :deposits-similarity-checking-current false, :deposits-licenses-current false}, :ISSN ["1054-7193"], :issn-type [{:value "1054-7193", :type "print"}]} @@ -436,32 +526,39 @@ :breakdowns {:dois-by-issued-year []}, :publisher "IOP Publishing", :coverage - {:affiliations-current 0, - :funders-backfile 0, - :licenses-backfile 0, - :funders-current 0, - :affiliations-backfile 0, - :resource-links-backfile 0, - :orcids-backfile 0, - :update-policies-current 0, - :orcids-current 0, - :references-backfile 0, - :award-numbers-backfile 0, - :update-policies-backfile 0, - :licenses-current 0, - :award-numbers-current 0, - :abstracts-backfile 0, - :resource-links-current 0, - :abstracts-current 0, - :references-current 0}, + {:affiliations-current 0.0, + :similarity-checking-current 0.0, + :funders-backfile 0.0, + :licenses-backfile 0.0, + :funders-current 0.0, + :affiliations-backfile 0.0, + :resource-links-backfile 0.0, + :orcids-backfile 0.0, + :update-policies-current 0.0, + :open-references-backfile 0.0, + :orcids-current 0.0, + :similarity-checking-backfile 0.0, + :references-backfile 0.0, + :award-numbers-backfile 0.0, + :update-policies-backfile 0.0, + :licenses-current 0.0, + :award-numbers-current 0.0, + :abstracts-backfile 0.0, + :resource-links-current 0.0, + :abstracts-current 0.0, + :open-references-current 0.0, + :references-current 0.0}, :title "2D Materials", :subjects [], + :counts-type {:all {}, :current {}, :backfile {}}, + :coverage-type {:all {}, :current {}, :backfile {}}, :flags {:deposits-abstracts-current false, :deposits-orcids-current false, :deposits false, :deposits-affiliations-backfile false, :deposits-update-policies-backfile false, + :deposits-similarity-checking-backfile false, :deposits-award-numbers-current false, :deposits-resource-links-current false, :deposits-articles false, @@ -471,11 +568,14 @@ :deposits-abstracts-backfile false, :deposits-licenses-backfile false, :deposits-award-numbers-backfile false, + :deposits-open-references-backfile false, + :deposits-open-references-current false, :deposits-references-current false, :deposits-resource-links-backfile false, :deposits-orcids-backfile false, :deposits-funders-backfile false, :deposits-update-policies-current false, + :deposits-similarity-checking-current false, :deposits-licenses-current false}, :ISSN ["2053-1583"], :issn-type [{:value "2053-1583", :type "electronic"}]} @@ -483,32 +583,39 @@ :breakdowns {:dois-by-issued-year []}, :publisher "Springer-Verlag", :coverage - {:affiliations-current 0, - :funders-backfile 0, - :licenses-backfile 0, - :funders-current 0, - :affiliations-backfile 0, - :resource-links-backfile 0, - :orcids-backfile 0, - :update-policies-current 0, - :orcids-current 0, - :references-backfile 0, - :award-numbers-backfile 0, - :update-policies-backfile 0, - :licenses-current 0, - :award-numbers-current 0, - :abstracts-backfile 0, - :resource-links-current 0, - :abstracts-current 0, - :references-current 0}, + {:affiliations-current 0.0, + :similarity-checking-current 0.0, + :funders-backfile 0.0, + :licenses-backfile 0.0, + :funders-current 0.0, + :affiliations-backfile 0.0, + :resource-links-backfile 0.0, + :orcids-backfile 0.0, + :update-policies-current 0.0, + :open-references-backfile 0.0, + :orcids-current 0.0, + :similarity-checking-backfile 0.0, + :references-backfile 0.0, + :award-numbers-backfile 0.0, + :update-policies-backfile 0.0, + :licenses-current 0.0, + :award-numbers-current 0.0, + :abstracts-backfile 0.0, + :resource-links-current 0.0, + :abstracts-current 0.0, + :open-references-current 0.0, + :references-current 0.0}, :title "3 Biotech", :subjects [], + :counts-type {:all {}, :current {}, :backfile {}}, + :coverage-type {:all {}, :current {}, :backfile {}}, :flags {:deposits-abstracts-current false, :deposits-orcids-current false, :deposits false, :deposits-affiliations-backfile false, :deposits-update-policies-backfile false, + :deposits-similarity-checking-backfile false, :deposits-award-numbers-current false, :deposits-resource-links-current false, :deposits-articles false, @@ -518,11 +625,14 @@ :deposits-abstracts-backfile false, :deposits-licenses-backfile false, :deposits-award-numbers-backfile false, + :deposits-open-references-backfile false, + :deposits-open-references-current false, :deposits-references-current false, :deposits-resource-links-backfile false, :deposits-orcids-backfile false, :deposits-funders-backfile false, :deposits-update-policies-current false, + :deposits-similarity-checking-current false, :deposits-licenses-current false}, :ISSN ["2190-572X" "2190-5738"], :issn-type @@ -532,32 +642,39 @@ :breakdowns {:dois-by-issued-year []}, :publisher "Makale Sistemi/Geomes", :coverage - {:affiliations-current 0, - :funders-backfile 0, - :licenses-backfile 0, - :funders-current 0, - :affiliations-backfile 0, - :resource-links-backfile 0, - :orcids-backfile 0, - :update-policies-current 0, - :orcids-current 0, - :references-backfile 0, - :award-numbers-backfile 0, - :update-policies-backfile 0, - :licenses-current 0, - :award-numbers-current 0, - :abstracts-backfile 0, - :resource-links-current 0, - :abstracts-current 0, - :references-current 0}, + {:affiliations-current 0.0, + :similarity-checking-current 0.0, + :funders-backfile 0.0, + :licenses-backfile 0.0, + :funders-current 0.0, + :affiliations-backfile 0.0, + :resource-links-backfile 0.0, + :orcids-backfile 0.0, + :update-policies-current 0.0, + :open-references-backfile 0.0, + :orcids-current 0.0, + :similarity-checking-backfile 0.0, + :references-backfile 0.0, + :award-numbers-backfile 0.0, + :update-policies-backfile 0.0, + :licenses-current 0.0, + :award-numbers-current 0.0, + :abstracts-backfile 0.0, + :resource-links-current 0.0, + :abstracts-current 0.0, + :open-references-current 0.0, + :references-current 0.0}, :title "3 SEKTÖR SOSYAL EKONOMİ DERGİSİ", :subjects [], + :counts-type {:all {}, :current {}, :backfile {}}, + :coverage-type {:all {}, :current {}, :backfile {}}, :flags {:deposits-abstracts-current false, :deposits-orcids-current false, :deposits false, :deposits-affiliations-backfile false, :deposits-update-policies-backfile false, + :deposits-similarity-checking-backfile false, :deposits-award-numbers-current false, :deposits-resource-links-current false, :deposits-articles false, @@ -567,11 +684,14 @@ :deposits-abstracts-backfile false, :deposits-licenses-backfile false, :deposits-award-numbers-backfile false, + :deposits-open-references-backfile false, + :deposits-open-references-current false, :deposits-references-current false, :deposits-resource-links-backfile false, :deposits-orcids-backfile false, :deposits-funders-backfile false, :deposits-update-policies-current false, + :deposits-similarity-checking-current false, :deposits-licenses-current false}, :ISSN ["2148-1237"], :issn-type [{:value "2148-1237", :type "electronic"}]} @@ -579,32 +699,39 @@ :breakdowns {:dois-by-issued-year []}, :publisher "DEStech Publications", :coverage - {:affiliations-current 0, - :funders-backfile 0, - :licenses-backfile 0, - :funders-current 0, - :affiliations-backfile 0, - :resource-links-backfile 0, - :orcids-backfile 0, - :update-policies-current 0, - :orcids-current 0, - :references-backfile 0, - :award-numbers-backfile 0, - :update-policies-backfile 0, - :licenses-current 0, - :award-numbers-current 0, - :abstracts-backfile 0, - :resource-links-current 0, - :abstracts-current 0, - :references-current 0}, + {:affiliations-current 0.0, + :similarity-checking-current 0.0, + :funders-backfile 0.0, + :licenses-backfile 0.0, + :funders-current 0.0, + :affiliations-backfile 0.0, + :resource-links-backfile 0.0, + :orcids-backfile 0.0, + :update-policies-current 0.0, + :open-references-backfile 0.0, + :orcids-current 0.0, + :similarity-checking-backfile 0.0, + :references-backfile 0.0, + :award-numbers-backfile 0.0, + :update-policies-backfile 0.0, + :licenses-current 0.0, + :award-numbers-current 0.0, + :abstracts-backfile 0.0, + :resource-links-current 0.0, + :abstracts-current 0.0, + :open-references-current 0.0, + :references-current 0.0}, :title "30th International Symposium on Ballistics", :subjects [], + :counts-type {:all {}, :current {}, :backfile {}}, + :coverage-type {:all {}, :current {}, :backfile {}}, :flags {:deposits-abstracts-current false, :deposits-orcids-current false, :deposits false, :deposits-affiliations-backfile false, :deposits-update-policies-backfile false, + :deposits-similarity-checking-backfile false, :deposits-award-numbers-current false, :deposits-resource-links-current false, :deposits-articles false, @@ -614,11 +741,14 @@ :deposits-abstracts-backfile false, :deposits-licenses-backfile false, :deposits-award-numbers-backfile false, + :deposits-open-references-backfile false, + :deposits-open-references-current false, :deposits-references-current false, :deposits-resource-links-backfile false, :deposits-orcids-backfile false, :deposits-funders-backfile false, :deposits-update-policies-current false, + :deposits-similarity-checking-current false, :deposits-licenses-current false}, :ISSN [], :issn-type []} @@ -626,32 +756,39 @@ :breakdowns {:dois-by-issued-year []}, :publisher "Sistema de Bibliotecas PUCP", :coverage - {:affiliations-current 0, - :funders-backfile 0, - :licenses-backfile 0, - :funders-current 0, - :affiliations-backfile 0, - :resource-links-backfile 0, - :orcids-backfile 0, - :update-policies-current 0, - :orcids-current 0, - :references-backfile 0, - :award-numbers-backfile 0, - :update-policies-backfile 0, - :licenses-current 0, - :award-numbers-current 0, - :abstracts-backfile 0, - :resource-links-current 0, - :abstracts-current 0, - :references-current 0}, + {:affiliations-current 0.0, + :similarity-checking-current 0.0, + :funders-backfile 0.0, + :licenses-backfile 0.0, + :funders-current 0.0, + :affiliations-backfile 0.0, + :resource-links-backfile 0.0, + :orcids-backfile 0.0, + :update-policies-current 0.0, + :open-references-backfile 0.0, + :orcids-current 0.0, + :similarity-checking-backfile 0.0, + :references-backfile 0.0, + :award-numbers-backfile 0.0, + :update-policies-backfile 0.0, + :licenses-current 0.0, + :award-numbers-current 0.0, + :abstracts-backfile 0.0, + :resource-links-current 0.0, + :abstracts-current 0.0, + :open-references-current 0.0, + :references-current 0.0}, :title "360 Revista de Ciencias de la Gestión", :subjects [], + :counts-type {:all {}, :current {}, :backfile {}}, + :coverage-type {:all {}, :current {}, :backfile {}}, :flags {:deposits-abstracts-current false, :deposits-orcids-current false, :deposits false, :deposits-affiliations-backfile false, :deposits-update-policies-backfile false, + :deposits-similarity-checking-backfile false, :deposits-award-numbers-current false, :deposits-resource-links-current false, :deposits-articles false, @@ -661,11 +798,14 @@ :deposits-abstracts-backfile false, :deposits-licenses-backfile false, :deposits-award-numbers-backfile false, + :deposits-open-references-backfile false, + :deposits-open-references-current false, :deposits-references-current false, :deposits-resource-links-backfile false, :deposits-orcids-backfile false, :deposits-funders-backfile false, :deposits-update-policies-current false, + :deposits-similarity-checking-current false, :deposits-licenses-current false}, :ISSN ["2518-0495"], :issn-type [{:value "2518-0495", :type "electronic"}]} @@ -673,33 +813,40 @@ :breakdowns {:dois-by-issued-year []}, :publisher "Barbara Budrich Publishers", :coverage - {:affiliations-current 0, - :funders-backfile 0, - :licenses-backfile 0, - :funders-current 0, - :affiliations-backfile 0, - :resource-links-backfile 0, - :orcids-backfile 0, - :update-policies-current 0, - :orcids-current 0, - :references-backfile 0, - :award-numbers-backfile 0, - :update-policies-backfile 0, - :licenses-current 0, - :award-numbers-current 0, - :abstracts-backfile 0, - :resource-links-current 0, - :abstracts-current 0, - :references-current 0}, + {:affiliations-current 0.0, + :similarity-checking-current 0.0, + :funders-backfile 0.0, + :licenses-backfile 0.0, + :funders-current 0.0, + :affiliations-backfile 0.0, + :resource-links-backfile 0.0, + :orcids-backfile 0.0, + :update-policies-current 0.0, + :open-references-backfile 0.0, + :orcids-current 0.0, + :similarity-checking-backfile 0.0, + :references-backfile 0.0, + :award-numbers-backfile 0.0, + :update-policies-backfile 0.0, + :licenses-current 0.0, + :award-numbers-current 0.0, + :abstracts-backfile 0.0, + :resource-links-current 0.0, + :abstracts-current 0.0, + :open-references-current 0.0, + :references-current 0.0}, :title "360° – Das studentische Journal für Politik und Gesellschaft", :subjects [], + :counts-type {:all {}, :current {}, :backfile {}}, + :coverage-type {:all {}, :current {}, :backfile {}}, :flags {:deposits-abstracts-current false, :deposits-orcids-current false, :deposits false, :deposits-affiliations-backfile false, :deposits-update-policies-backfile false, + :deposits-similarity-checking-backfile false, :deposits-award-numbers-current false, :deposits-resource-links-current false, :deposits-articles false, @@ -709,11 +856,14 @@ :deposits-abstracts-backfile false, :deposits-licenses-backfile false, :deposits-award-numbers-backfile false, + :deposits-open-references-backfile false, + :deposits-open-references-current false, :deposits-references-current false, :deposits-resource-links-backfile false, :deposits-orcids-backfile false, :deposits-funders-backfile false, :deposits-update-policies-current false, + :deposits-similarity-checking-current false, :deposits-licenses-current false}, :ISSN ["1863-8783" "2366-4177"], :issn-type @@ -723,32 +873,39 @@ :breakdowns {:dois-by-issued-year []}, :publisher "Innovative Medical Technologies Development Foundation", :coverage - {:affiliations-current 0, - :funders-backfile 0, - :licenses-backfile 0, - :funders-current 0, - :affiliations-backfile 0, - :resource-links-backfile 0, - :orcids-backfile 0, - :update-policies-current 0, - :orcids-current 0, - :references-backfile 0, - :award-numbers-backfile 0, - :update-policies-backfile 0, - :licenses-current 0, - :award-numbers-current 0, - :abstracts-backfile 0, - :resource-links-current 0, - :abstracts-current 0, - :references-current 0}, + {:affiliations-current 0.0, + :similarity-checking-current 0.0, + :funders-backfile 0.0, + :licenses-backfile 0.0, + :funders-current 0.0, + :affiliations-backfile 0.0, + :resource-links-backfile 0.0, + :orcids-backfile 0.0, + :update-policies-current 0.0, + :open-references-backfile 0.0, + :orcids-current 0.0, + :similarity-checking-backfile 0.0, + :references-backfile 0.0, + :award-numbers-backfile 0.0, + :update-policies-backfile 0.0, + :licenses-current 0.0, + :award-numbers-current 0.0, + :abstracts-backfile 0.0, + :resource-links-current 0.0, + :abstracts-current 0.0, + :open-references-current 0.0, + :references-current 0.0}, :title "36510", :subjects [], + :counts-type {:all {}, :current {}, :backfile {}}, + :coverage-type {:all {}, :current {}, :backfile {}}, :flags {:deposits-abstracts-current false, :deposits-orcids-current false, :deposits false, :deposits-affiliations-backfile false, :deposits-update-policies-backfile false, + :deposits-similarity-checking-backfile false, :deposits-award-numbers-current false, :deposits-resource-links-current false, :deposits-articles false, @@ -758,11 +915,14 @@ :deposits-abstracts-backfile false, :deposits-licenses-backfile false, :deposits-award-numbers-backfile false, + :deposits-open-references-backfile false, + :deposits-open-references-current false, :deposits-references-current false, :deposits-resource-links-backfile false, :deposits-orcids-backfile false, :deposits-funders-backfile false, :deposits-update-policies-current false, + :deposits-similarity-checking-current false, :deposits-licenses-current false}, :ISSN [], :issn-type []} @@ -770,32 +930,39 @@ :breakdowns {:dois-by-issued-year []}, :publisher "\"Area de Innovacion y Desarrollo, S.L. - 3 Ciencias\"", :coverage - {:affiliations-current 0, - :funders-backfile 0, - :licenses-backfile 0, - :funders-current 0, - :affiliations-backfile 0, - :resource-links-backfile 0, - :orcids-backfile 0, - :update-policies-current 0, - :orcids-current 0, - :references-backfile 0, - :award-numbers-backfile 0, - :update-policies-backfile 0, - :licenses-current 0, - :award-numbers-current 0, - :abstracts-backfile 0, - :resource-links-current 0, - :abstracts-current 0, - :references-current 0}, + {:affiliations-current 0.0, + :similarity-checking-current 0.0, + :funders-backfile 0.0, + :licenses-backfile 0.0, + :funders-current 0.0, + :affiliations-backfile 0.0, + :resource-links-backfile 0.0, + :orcids-backfile 0.0, + :update-policies-current 0.0, + :open-references-backfile 0.0, + :orcids-current 0.0, + :similarity-checking-backfile 0.0, + :references-backfile 0.0, + :award-numbers-backfile 0.0, + :update-policies-backfile 0.0, + :licenses-current 0.0, + :award-numbers-current 0.0, + :abstracts-backfile 0.0, + :resource-links-current 0.0, + :abstracts-current 0.0, + :open-references-current 0.0, + :references-current 0.0}, :title "3C Empresa Investigación y pensamiento crítico", :subjects [], + :counts-type {:all {}, :current {}, :backfile {}}, + :coverage-type {:all {}, :current {}, :backfile {}}, :flags {:deposits-abstracts-current false, :deposits-orcids-current false, :deposits false, :deposits-affiliations-backfile false, :deposits-update-policies-backfile false, + :deposits-similarity-checking-backfile false, :deposits-award-numbers-current false, :deposits-resource-links-current false, :deposits-articles false, @@ -805,11 +972,14 @@ :deposits-abstracts-backfile false, :deposits-licenses-backfile false, :deposits-award-numbers-backfile false, + :deposits-open-references-backfile false, + :deposits-open-references-current false, :deposits-references-current false, :deposits-resource-links-backfile false, :deposits-orcids-backfile false, :deposits-funders-backfile false, :deposits-update-policies-current false, + :deposits-similarity-checking-current false, :deposits-licenses-current false}, :ISSN ["2254-3376"], :issn-type [{:value "2254-3376", :type "electronic"}]} @@ -817,32 +987,39 @@ :breakdowns {:dois-by-issued-year []}, :publisher "Association for Computing Machinery", :coverage - {:affiliations-current 0, - :funders-backfile 0, - :licenses-backfile 0, - :funders-current 0, - :affiliations-backfile 0, - :resource-links-backfile 0, - :orcids-backfile 0, - :update-policies-current 0, - :orcids-current 0, - :references-backfile 0, - :award-numbers-backfile 0, - :update-policies-backfile 0, - :licenses-current 0, - :award-numbers-current 0, - :abstracts-backfile 0, - :resource-links-current 0, - :abstracts-current 0, - :references-current 0}, + {:affiliations-current 0.0, + :similarity-checking-current 0.0, + :funders-backfile 0.0, + :licenses-backfile 0.0, + :funders-current 0.0, + :affiliations-backfile 0.0, + :resource-links-backfile 0.0, + :orcids-backfile 0.0, + :update-policies-current 0.0, + :open-references-backfile 0.0, + :orcids-current 0.0, + :similarity-checking-backfile 0.0, + :references-backfile 0.0, + :award-numbers-backfile 0.0, + :update-policies-backfile 0.0, + :licenses-current 0.0, + :award-numbers-current 0.0, + :abstracts-backfile 0.0, + :resource-links-current 0.0, + :abstracts-current 0.0, + :open-references-current 0.0, + :references-current 0.0}, :title "3C ON-LINE", :subjects [], + :counts-type {:all {}, :current {}, :backfile {}}, + :coverage-type {:all {}, :current {}, :backfile {}}, :flags {:deposits-abstracts-current false, :deposits-orcids-current false, :deposits false, :deposits-affiliations-backfile false, :deposits-update-policies-backfile false, + :deposits-similarity-checking-backfile false, :deposits-award-numbers-current false, :deposits-resource-links-current false, :deposits-articles false, @@ -852,11 +1029,14 @@ :deposits-abstracts-backfile false, :deposits-licenses-backfile false, :deposits-award-numbers-backfile false, + :deposits-open-references-backfile false, + :deposits-open-references-current false, :deposits-references-current false, :deposits-resource-links-backfile false, :deposits-orcids-backfile false, :deposits-funders-backfile false, :deposits-update-policies-current false, + :deposits-similarity-checking-current false, :deposits-licenses-current false}, :ISSN ["1078-2192"], :issn-type [{:value "1078-2192", :type "print"}]} @@ -864,32 +1044,39 @@ :breakdowns {:dois-by-issued-year []}, :publisher "\"Area de Innovacion y Desarrollo, S.L. - 3 Ciencias\"", :coverage - {:affiliations-current 0, - :funders-backfile 0, - :licenses-backfile 0, - :funders-current 0, - :affiliations-backfile 0, - :resource-links-backfile 0, - :orcids-backfile 0, - :update-policies-current 0, - :orcids-current 0, - :references-backfile 0, - :award-numbers-backfile 0, - :update-policies-backfile 0, - :licenses-current 0, - :award-numbers-current 0, - :abstracts-backfile 0, - :resource-links-current 0, - :abstracts-current 0, - :references-current 0}, + {:affiliations-current 0.0, + :similarity-checking-current 0.0, + :funders-backfile 0.0, + :licenses-backfile 0.0, + :funders-current 0.0, + :affiliations-backfile 0.0, + :resource-links-backfile 0.0, + :orcids-backfile 0.0, + :update-policies-current 0.0, + :open-references-backfile 0.0, + :orcids-current 0.0, + :similarity-checking-backfile 0.0, + :references-backfile 0.0, + :award-numbers-backfile 0.0, + :update-policies-backfile 0.0, + :licenses-current 0.0, + :award-numbers-current 0.0, + :abstracts-backfile 0.0, + :resource-links-current 0.0, + :abstracts-current 0.0, + :open-references-current 0.0, + :references-current 0.0}, :title "3C Tecnología_Glosas de innovación aplicadas a la pyme", :subjects [], + :counts-type {:all {}, :current {}, :backfile {}}, + :coverage-type {:all {}, :current {}, :backfile {}}, :flags {:deposits-abstracts-current false, :deposits-orcids-current false, :deposits false, :deposits-affiliations-backfile false, :deposits-update-policies-backfile false, + :deposits-similarity-checking-backfile false, :deposits-award-numbers-current false, :deposits-resource-links-current false, :deposits-articles false, @@ -899,11 +1086,14 @@ :deposits-abstracts-backfile false, :deposits-licenses-backfile false, :deposits-award-numbers-backfile false, + :deposits-open-references-backfile false, + :deposits-open-references-current false, :deposits-references-current false, :deposits-resource-links-backfile false, :deposits-orcids-backfile false, :deposits-funders-backfile false, :deposits-update-policies-current false, + :deposits-similarity-checking-current false, :deposits-licenses-current false}, :ISSN ["2254-4143"], :issn-type [{:value "2254-4143", :type "electronic"}]} @@ -911,32 +1101,39 @@ :breakdowns {:dois-by-issued-year []}, :publisher "\"Area de Innovacion y Desarrollo, S.L. - 3 Ciencias\"", :coverage - {:affiliations-current 0, - :funders-backfile 0, - :licenses-backfile 0, - :funders-current 0, - :affiliations-backfile 0, - :resource-links-backfile 0, - :orcids-backfile 0, - :update-policies-current 0, - :orcids-current 0, - :references-backfile 0, - :award-numbers-backfile 0, - :update-policies-backfile 0, - :licenses-current 0, - :award-numbers-current 0, - :abstracts-backfile 0, - :resource-links-current 0, - :abstracts-current 0, - :references-current 0}, + {:affiliations-current 0.0, + :similarity-checking-current 0.0, + :funders-backfile 0.0, + :licenses-backfile 0.0, + :funders-current 0.0, + :affiliations-backfile 0.0, + :resource-links-backfile 0.0, + :orcids-backfile 0.0, + :update-policies-current 0.0, + :open-references-backfile 0.0, + :orcids-current 0.0, + :similarity-checking-backfile 0.0, + :references-backfile 0.0, + :award-numbers-backfile 0.0, + :update-policies-backfile 0.0, + :licenses-current 0.0, + :award-numbers-current 0.0, + :abstracts-backfile 0.0, + :resource-links-current 0.0, + :abstracts-current 0.0, + :open-references-current 0.0, + :references-current 0.0}, :title "3C TIC Cuadernos de desarrollo aplicados a las TIC", :subjects [], + :counts-type {:all {}, :current {}, :backfile {}}, + :coverage-type {:all {}, :current {}, :backfile {}}, :flags {:deposits-abstracts-current false, :deposits-orcids-current false, :deposits false, :deposits-affiliations-backfile false, :deposits-update-policies-backfile false, + :deposits-similarity-checking-backfile false, :deposits-award-numbers-current false, :deposits-resource-links-current false, :deposits-articles false, @@ -946,11 +1143,14 @@ :deposits-abstracts-backfile false, :deposits-licenses-backfile false, :deposits-award-numbers-backfile false, + :deposits-open-references-backfile false, + :deposits-open-references-current false, :deposits-references-current false, :deposits-resource-links-backfile false, :deposits-orcids-backfile false, :deposits-funders-backfile false, :deposits-update-policies-current false, + :deposits-similarity-checking-current false, :deposits-licenses-current false}, :ISSN ["2254-6529"], :issn-type [{:value "2254-6529", :type "electronic"}]})} diff --git a/dev-resources/titles-offset-40.edn b/dev-resources/titles-offset-40.edn index 2bba5ca6..a265f0fb 100644 --- a/dev-resources/titles-offset-40.edn +++ b/dev-resources/titles-offset-40.edn @@ -6,32 +6,39 @@ :breakdowns {:dois-by-issued-year []}, :publisher "Mary Ann Liebert", :coverage - {:affiliations-current 0, - :funders-backfile 0, - :licenses-backfile 0, - :funders-current 0, - :affiliations-backfile 0, - :resource-links-backfile 0, - :orcids-backfile 0, - :update-policies-current 0, - :orcids-current 0, - :references-backfile 0, - :award-numbers-backfile 0, - :update-policies-backfile 0, - :licenses-current 0, - :award-numbers-current 0, - :abstracts-backfile 0, - :resource-links-current 0, - :abstracts-current 0, - :references-current 0}, + {:affiliations-current 0.0, + :similarity-checking-current 0.0, + :funders-backfile 0.0, + :licenses-backfile 0.0, + :funders-current 0.0, + :affiliations-backfile 0.0, + :resource-links-backfile 0.0, + :orcids-backfile 0.0, + :update-policies-current 0.0, + :open-references-backfile 0.0, + :orcids-current 0.0, + :similarity-checking-backfile 0.0, + :references-backfile 0.0, + :award-numbers-backfile 0.0, + :update-policies-backfile 0.0, + :licenses-current 0.0, + :award-numbers-current 0.0, + :abstracts-backfile 0.0, + :resource-links-current 0.0, + :abstracts-current 0.0, + :open-references-current 0.0, + :references-current 0.0}, :title "3D Printing and Additive Manufacturing", :subjects [], + :counts-type {:all {}, :current {}, :backfile {}}, + :coverage-type {:all {}, :current {}, :backfile {}}, :flags {:deposits-abstracts-current false, :deposits-orcids-current false, :deposits false, :deposits-affiliations-backfile false, :deposits-update-policies-backfile false, + :deposits-similarity-checking-backfile false, :deposits-award-numbers-current false, :deposits-resource-links-current false, :deposits-articles false, @@ -41,11 +48,14 @@ :deposits-abstracts-backfile false, :deposits-licenses-backfile false, :deposits-award-numbers-backfile false, + :deposits-open-references-backfile false, + :deposits-open-references-current false, :deposits-references-current false, :deposits-resource-links-backfile false, :deposits-orcids-backfile false, :deposits-funders-backfile false, :deposits-update-policies-current false, + :deposits-similarity-checking-current false, :deposits-licenses-current false}, :ISSN ["2329-7662" "2329-7670"], :issn-type @@ -55,32 +65,39 @@ :breakdowns {:dois-by-issued-year []}, :publisher "Springer (Biomed Central Ltd.)", :coverage - {:affiliations-current 0, - :funders-backfile 0, - :licenses-backfile 0, - :funders-current 0, - :affiliations-backfile 0, - :resource-links-backfile 0, - :orcids-backfile 0, - :update-policies-current 0, - :orcids-current 0, - :references-backfile 0, - :award-numbers-backfile 0, - :update-policies-backfile 0, - :licenses-current 0, - :award-numbers-current 0, - :abstracts-backfile 0, - :resource-links-current 0, - :abstracts-current 0, - :references-current 0}, + {:affiliations-current 0.0, + :similarity-checking-current 0.0, + :funders-backfile 0.0, + :licenses-backfile 0.0, + :funders-current 0.0, + :affiliations-backfile 0.0, + :resource-links-backfile 0.0, + :orcids-backfile 0.0, + :update-policies-current 0.0, + :open-references-backfile 0.0, + :orcids-current 0.0, + :similarity-checking-backfile 0.0, + :references-backfile 0.0, + :award-numbers-backfile 0.0, + :update-policies-backfile 0.0, + :licenses-current 0.0, + :award-numbers-current 0.0, + :abstracts-backfile 0.0, + :resource-links-current 0.0, + :abstracts-current 0.0, + :open-references-current 0.0, + :references-current 0.0}, :title "3D Printing in Medicine", :subjects [], + :counts-type {:all {}, :current {}, :backfile {}}, + :coverage-type {:all {}, :current {}, :backfile {}}, :flags {:deposits-abstracts-current false, :deposits-orcids-current false, :deposits false, :deposits-affiliations-backfile false, :deposits-update-policies-backfile false, + :deposits-similarity-checking-backfile false, :deposits-award-numbers-current false, :deposits-resource-links-current false, :deposits-articles false, @@ -90,11 +107,14 @@ :deposits-abstracts-backfile false, :deposits-licenses-backfile false, :deposits-award-numbers-backfile false, + :deposits-open-references-backfile false, + :deposits-open-references-current false, :deposits-references-current false, :deposits-resource-links-backfile false, :deposits-orcids-backfile false, :deposits-funders-backfile false, :deposits-update-policies-current false, + :deposits-similarity-checking-current false, :deposits-licenses-current false}, :ISSN ["2365-6271"], :issn-type [{:value "2365-6271", :type "electronic"}]} @@ -102,32 +122,39 @@ :breakdowns {:dois-by-issued-year []}, :publisher "Springer-Verlag", :coverage - {:affiliations-current 0, - :funders-backfile 0, - :licenses-backfile 0, - :funders-current 0, - :affiliations-backfile 0, - :resource-links-backfile 0, - :orcids-backfile 0, - :update-policies-current 0, - :orcids-current 0, - :references-backfile 0, - :award-numbers-backfile 0, - :update-policies-backfile 0, - :licenses-current 0, - :award-numbers-current 0, - :abstracts-backfile 0, - :resource-links-current 0, - :abstracts-current 0, - :references-current 0}, + {:affiliations-current 0.0, + :similarity-checking-current 0.0, + :funders-backfile 0.0, + :licenses-backfile 0.0, + :funders-current 0.0, + :affiliations-backfile 0.0, + :resource-links-backfile 0.0, + :orcids-backfile 0.0, + :update-policies-current 0.0, + :open-references-backfile 0.0, + :orcids-current 0.0, + :similarity-checking-backfile 0.0, + :references-backfile 0.0, + :award-numbers-backfile 0.0, + :update-policies-backfile 0.0, + :licenses-current 0.0, + :award-numbers-current 0.0, + :abstracts-backfile 0.0, + :resource-links-current 0.0, + :abstracts-current 0.0, + :open-references-current 0.0, + :references-current 0.0}, :title "3D Research", :subjects [], + :counts-type {:all {}, :current {}, :backfile {}}, + :coverage-type {:all {}, :current {}, :backfile {}}, :flags {:deposits-abstracts-current false, :deposits-orcids-current false, :deposits false, :deposits-affiliations-backfile false, :deposits-update-policies-backfile false, + :deposits-similarity-checking-backfile false, :deposits-award-numbers-current false, :deposits-resource-links-current false, :deposits-articles false, @@ -137,11 +164,14 @@ :deposits-abstracts-backfile false, :deposits-licenses-backfile false, :deposits-award-numbers-backfile false, + :deposits-open-references-backfile false, + :deposits-open-references-current false, :deposits-references-current false, :deposits-resource-links-backfile false, :deposits-orcids-backfile false, :deposits-funders-backfile false, :deposits-update-policies-current false, + :deposits-similarity-checking-current false, :deposits-licenses-current false}, :ISSN ["2092-6731"], :issn-type [{:value "2092-6731", :type "electronic"}]} @@ -149,32 +179,39 @@ :breakdowns {:dois-by-issued-year []}, :publisher "Penerbit Universiti Kebangsaan Malaysia (UKM Press)", :coverage - {:affiliations-current 0, - :funders-backfile 0, - :licenses-backfile 0, - :funders-current 0, - :affiliations-backfile 0, - :resource-links-backfile 0, - :orcids-backfile 0, - :update-policies-current 0, - :orcids-current 0, - :references-backfile 0, - :award-numbers-backfile 0, - :update-policies-backfile 0, - :licenses-current 0, - :award-numbers-current 0, - :abstracts-backfile 0, - :resource-links-current 0, - :abstracts-current 0, - :references-current 0}, + {:affiliations-current 0.0, + :similarity-checking-current 0.0, + :funders-backfile 0.0, + :licenses-backfile 0.0, + :funders-current 0.0, + :affiliations-backfile 0.0, + :resource-links-backfile 0.0, + :orcids-backfile 0.0, + :update-policies-current 0.0, + :open-references-backfile 0.0, + :orcids-current 0.0, + :similarity-checking-backfile 0.0, + :references-backfile 0.0, + :award-numbers-backfile 0.0, + :update-policies-backfile 0.0, + :licenses-current 0.0, + :award-numbers-current 0.0, + :abstracts-backfile 0.0, + :resource-links-current 0.0, + :abstracts-current 0.0, + :open-references-current 0.0, + :references-current 0.0}, :title "3L The Southeast Asian Journal of English Language Studies", :subjects [], + :counts-type {:all {}, :current {}, :backfile {}}, + :coverage-type {:all {}, :current {}, :backfile {}}, :flags {:deposits-abstracts-current false, :deposits-orcids-current false, :deposits false, :deposits-affiliations-backfile false, :deposits-update-policies-backfile false, + :deposits-similarity-checking-backfile false, :deposits-award-numbers-current false, :deposits-resource-links-current false, :deposits-articles false, @@ -184,11 +221,14 @@ :deposits-abstracts-backfile false, :deposits-licenses-backfile false, :deposits-award-numbers-backfile false, + :deposits-open-references-backfile false, + :deposits-open-references-current false, :deposits-references-current false, :deposits-resource-links-backfile false, :deposits-orcids-backfile false, :deposits-funders-backfile false, :deposits-update-policies-current false, + :deposits-similarity-checking-current false, :deposits-licenses-current false}, :ISSN ["0128-5157" "2550-2247"], :issn-type @@ -198,32 +238,39 @@ :breakdowns {:dois-by-issued-year []}, :publisher "EDP Sciences", :coverage - {:affiliations-current 0, - :funders-backfile 0, - :licenses-backfile 0, - :funders-current 0, - :affiliations-backfile 0, - :resource-links-backfile 0, - :orcids-backfile 0, - :update-policies-current 0, - :orcids-current 0, - :references-backfile 0, - :award-numbers-backfile 0, - :update-policies-backfile 0, - :licenses-current 0, - :award-numbers-current 0, - :abstracts-backfile 0, - :resource-links-current 0, - :abstracts-current 0, - :references-current 0}, + {:affiliations-current 0.0, + :similarity-checking-current 0.0, + :funders-backfile 0.0, + :licenses-backfile 0.0, + :funders-current 0.0, + :affiliations-backfile 0.0, + :resource-links-backfile 0.0, + :orcids-backfile 0.0, + :update-policies-current 0.0, + :open-references-backfile 0.0, + :orcids-current 0.0, + :similarity-checking-backfile 0.0, + :references-backfile 0.0, + :award-numbers-backfile 0.0, + :update-policies-backfile 0.0, + :licenses-current 0.0, + :award-numbers-current 0.0, + :abstracts-backfile 0.0, + :resource-links-current 0.0, + :abstracts-current 0.0, + :open-references-current 0.0, + :references-current 0.0}, :title "4open", :subjects [], + :counts-type {:all {}, :current {}, :backfile {}}, + :coverage-type {:all {}, :current {}, :backfile {}}, :flags {:deposits-abstracts-current false, :deposits-orcids-current false, :deposits false, :deposits-affiliations-backfile false, :deposits-update-policies-backfile false, + :deposits-similarity-checking-backfile false, :deposits-award-numbers-current false, :deposits-resource-links-current false, :deposits-articles false, @@ -233,11 +280,14 @@ :deposits-abstracts-backfile false, :deposits-licenses-backfile false, :deposits-award-numbers-backfile false, + :deposits-open-references-backfile false, + :deposits-open-references-current false, :deposits-references-current false, :deposits-resource-links-backfile false, :deposits-orcids-backfile false, :deposits-funders-backfile false, :deposits-update-policies-current false, + :deposits-similarity-checking-current false, :deposits-licenses-current false}, :ISSN ["2557-0250"], :issn-type [{:value "2557-0250", :type "electronic"}]} @@ -245,32 +295,39 @@ :breakdowns {:dois-by-issued-year []}, :publisher "Springer-Verlag", :coverage - {:affiliations-current 0, - :funders-backfile 0, - :licenses-backfile 0, - :funders-current 0, - :affiliations-backfile 0, - :resource-links-backfile 0, - :orcids-backfile 0, - :update-policies-current 0, - :orcids-current 0, - :references-backfile 0, - :award-numbers-backfile 0, - :update-policies-backfile 0, - :licenses-current 0, - :award-numbers-current 0, - :abstracts-backfile 0, - :resource-links-current 0, - :abstracts-current 0, - :references-current 0}, + {:affiliations-current 0.0, + :similarity-checking-current 0.0, + :funders-backfile 0.0, + :licenses-backfile 0.0, + :funders-current 0.0, + :affiliations-backfile 0.0, + :resource-links-backfile 0.0, + :orcids-backfile 0.0, + :update-policies-current 0.0, + :open-references-backfile 0.0, + :orcids-current 0.0, + :similarity-checking-backfile 0.0, + :references-backfile 0.0, + :award-numbers-backfile 0.0, + :update-policies-backfile 0.0, + :licenses-current 0.0, + :award-numbers-current 0.0, + :abstracts-backfile 0.0, + :resource-links-current 0.0, + :abstracts-current 0.0, + :open-references-current 0.0, + :references-current 0.0}, :title "4OR", :subjects [], + :counts-type {:all {}, :current {}, :backfile {}}, + :coverage-type {:all {}, :current {}, :backfile {}}, :flags {:deposits-abstracts-current false, :deposits-orcids-current false, :deposits false, :deposits-affiliations-backfile false, :deposits-update-policies-backfile false, + :deposits-similarity-checking-backfile false, :deposits-award-numbers-current false, :deposits-resource-links-current false, :deposits-articles false, @@ -280,11 +337,14 @@ :deposits-abstracts-backfile false, :deposits-licenses-backfile false, :deposits-award-numbers-backfile false, + :deposits-open-references-backfile false, + :deposits-open-references-current false, :deposits-references-current false, :deposits-resource-links-backfile false, :deposits-orcids-backfile false, :deposits-funders-backfile false, :deposits-update-policies-current false, + :deposits-similarity-checking-current false, :deposits-licenses-current false}, :ISSN ["1619-4500" "1614-2411"], :issn-type @@ -294,32 +354,39 @@ :breakdowns {:dois-by-issued-year []}, :publisher "Mark Allen Group", :coverage - {:affiliations-current 0, - :funders-backfile 0, - :licenses-backfile 0, - :funders-current 0, - :affiliations-backfile 0, - :resource-links-backfile 0, - :orcids-backfile 0, - :update-policies-current 0, - :orcids-current 0, - :references-backfile 0, - :award-numbers-backfile 0, - :update-policies-backfile 0, - :licenses-current 0, - :award-numbers-current 0, - :abstracts-backfile 0, - :resource-links-current 0, - :abstracts-current 0, - :references-current 0}, + {:affiliations-current 0.0, + :similarity-checking-current 0.0, + :funders-backfile 0.0, + :licenses-backfile 0.0, + :funders-current 0.0, + :affiliations-backfile 0.0, + :resource-links-backfile 0.0, + :orcids-backfile 0.0, + :update-policies-current 0.0, + :open-references-backfile 0.0, + :orcids-current 0.0, + :similarity-checking-backfile 0.0, + :references-backfile 0.0, + :award-numbers-backfile 0.0, + :update-policies-backfile 0.0, + :licenses-current 0.0, + :award-numbers-current 0.0, + :abstracts-backfile 0.0, + :resource-links-current 0.0, + :abstracts-current 0.0, + :open-references-current 0.0, + :references-current 0.0}, :title "5 to 7 Educator", :subjects [], + :counts-type {:all {}, :current {}, :backfile {}}, + :coverage-type {:all {}, :current {}, :backfile {}}, :flags {:deposits-abstracts-current false, :deposits-orcids-current false, :deposits false, :deposits-affiliations-backfile false, :deposits-update-policies-backfile false, + :deposits-similarity-checking-backfile false, :deposits-award-numbers-current false, :deposits-resource-links-current false, :deposits-articles false, @@ -329,11 +396,14 @@ :deposits-abstracts-backfile false, :deposits-licenses-backfile false, :deposits-award-numbers-backfile false, + :deposits-open-references-backfile false, + :deposits-open-references-current false, :deposits-references-current false, :deposits-resource-links-backfile false, :deposits-orcids-backfile false, :deposits-funders-backfile false, :deposits-update-policies-current false, + :deposits-similarity-checking-current false, :deposits-licenses-current false}, :ISSN ["1746-7500" "2052-4595"], :issn-type @@ -344,32 +414,39 @@ :publisher "Ovid Technologies (Wolters Kluwer) - Anesthesia & Analgesia", :coverage - {:affiliations-current 0, - :funders-backfile 0, - :licenses-backfile 0, - :funders-current 0, - :affiliations-backfile 0, - :resource-links-backfile 0, - :orcids-backfile 0, - :update-policies-current 0, - :orcids-current 0, - :references-backfile 0, - :award-numbers-backfile 0, - :update-policies-backfile 0, - :licenses-current 0, - :award-numbers-current 0, - :abstracts-backfile 0, - :resource-links-current 0, - :abstracts-current 0, - :references-current 0}, + {:affiliations-current 0.0, + :similarity-checking-current 0.0, + :funders-backfile 0.0, + :licenses-backfile 0.0, + :funders-current 0.0, + :affiliations-backfile 0.0, + :resource-links-backfile 0.0, + :orcids-backfile 0.0, + :update-policies-current 0.0, + :open-references-backfile 0.0, + :orcids-current 0.0, + :similarity-checking-backfile 0.0, + :references-backfile 0.0, + :award-numbers-backfile 0.0, + :update-policies-backfile 0.0, + :licenses-current 0.0, + :award-numbers-current 0.0, + :abstracts-backfile 0.0, + :resource-links-current 0.0, + :abstracts-current 0.0, + :open-references-current 0.0, + :references-current 0.0}, :title "A & A Case Reports", :subjects [], + :counts-type {:all {}, :current {}, :backfile {}}, + :coverage-type {:all {}, :current {}, :backfile {}}, :flags {:deposits-abstracts-current false, :deposits-orcids-current false, :deposits false, :deposits-affiliations-backfile false, :deposits-update-policies-backfile false, + :deposits-similarity-checking-backfile false, :deposits-award-numbers-current false, :deposits-resource-links-current false, :deposits-articles false, @@ -379,11 +456,14 @@ :deposits-abstracts-backfile false, :deposits-licenses-backfile false, :deposits-award-numbers-backfile false, + :deposits-open-references-backfile false, + :deposits-open-references-current false, :deposits-references-current false, :deposits-resource-links-backfile false, :deposits-orcids-backfile false, :deposits-funders-backfile false, :deposits-update-policies-current false, + :deposits-similarity-checking-current false, :deposits-licenses-current false}, :ISSN ["2325-7237"], :issn-type [{:value "2325-7237", :type "print"}]} @@ -392,32 +472,39 @@ :publisher "Ovid Technologies (Wolters Kluwer) - Anesthesia & Analgesia", :coverage - {:affiliations-current 0, - :funders-backfile 0, - :licenses-backfile 0, - :funders-current 0, - :affiliations-backfile 0, - :resource-links-backfile 0, - :orcids-backfile 0, - :update-policies-current 0, - :orcids-current 0, - :references-backfile 0, - :award-numbers-backfile 0, - :update-policies-backfile 0, - :licenses-current 0, - :award-numbers-current 0, - :abstracts-backfile 0, - :resource-links-current 0, - :abstracts-current 0, - :references-current 0}, + {:affiliations-current 0.0, + :similarity-checking-current 0.0, + :funders-backfile 0.0, + :licenses-backfile 0.0, + :funders-current 0.0, + :affiliations-backfile 0.0, + :resource-links-backfile 0.0, + :orcids-backfile 0.0, + :update-policies-current 0.0, + :open-references-backfile 0.0, + :orcids-current 0.0, + :similarity-checking-backfile 0.0, + :references-backfile 0.0, + :award-numbers-backfile 0.0, + :update-policies-backfile 0.0, + :licenses-current 0.0, + :award-numbers-current 0.0, + :abstracts-backfile 0.0, + :resource-links-current 0.0, + :abstracts-current 0.0, + :open-references-current 0.0, + :references-current 0.0}, :title "A & A Case Reports", :subjects [], + :counts-type {:all {}, :current {}, :backfile {}}, + :coverage-type {:all {}, :current {}, :backfile {}}, :flags {:deposits-abstracts-current false, :deposits-orcids-current false, :deposits false, :deposits-affiliations-backfile false, :deposits-update-policies-backfile false, + :deposits-similarity-checking-backfile false, :deposits-award-numbers-current false, :deposits-resource-links-current false, :deposits-articles false, @@ -427,11 +514,14 @@ :deposits-abstracts-backfile false, :deposits-licenses-backfile false, :deposits-award-numbers-backfile false, + :deposits-open-references-backfile false, + :deposits-open-references-current false, :deposits-references-current false, :deposits-resource-links-backfile false, :deposits-orcids-backfile false, :deposits-funders-backfile false, :deposits-update-policies-current false, + :deposits-similarity-checking-current false, :deposits-licenses-current false}, :ISSN ["2575-3126"], :issn-type [{:value "2575-3126", :type "print"}]} @@ -439,32 +529,39 @@ :breakdowns {:dois-by-issued-year []}, :publisher "International Monetary Fund", :coverage - {:affiliations-current 0, - :funders-backfile 0, - :licenses-backfile 0, - :funders-current 0, - :affiliations-backfile 0, - :resource-links-backfile 0, - :orcids-backfile 0, - :update-policies-current 0, - :orcids-current 0, - :references-backfile 0, - :award-numbers-backfile 0, - :update-policies-backfile 0, - :licenses-current 0, - :award-numbers-current 0, - :abstracts-backfile 0, - :resource-links-current 0, - :abstracts-current 0, - :references-current 0}, + {:affiliations-current 0.0, + :similarity-checking-current 0.0, + :funders-backfile 0.0, + :licenses-backfile 0.0, + :funders-current 0.0, + :affiliations-backfile 0.0, + :resource-links-backfile 0.0, + :orcids-backfile 0.0, + :update-policies-current 0.0, + :open-references-backfile 0.0, + :orcids-current 0.0, + :similarity-checking-backfile 0.0, + :references-backfile 0.0, + :award-numbers-backfile 0.0, + :update-policies-backfile 0.0, + :licenses-current 0.0, + :award-numbers-current 0.0, + :abstracts-backfile 0.0, + :resource-links-current 0.0, + :abstracts-current 0.0, + :open-references-current 0.0, + :references-current 0.0}, :title "A Balance Sheet Approach to Financial Crisis", :subjects [], + :counts-type {:all {}, :current {}, :backfile {}}, + :coverage-type {:all {}, :current {}, :backfile {}}, :flags {:deposits-abstracts-current false, :deposits-orcids-current false, :deposits false, :deposits-affiliations-backfile false, :deposits-update-policies-backfile false, + :deposits-similarity-checking-backfile false, :deposits-award-numbers-current false, :deposits-resource-links-current false, :deposits-articles false, @@ -474,11 +571,14 @@ :deposits-abstracts-backfile false, :deposits-licenses-backfile false, :deposits-award-numbers-backfile false, + :deposits-open-references-backfile false, + :deposits-open-references-current false, :deposits-references-current false, :deposits-resource-links-backfile false, :deposits-orcids-backfile false, :deposits-funders-backfile false, :deposits-update-policies-current false, + :deposits-similarity-checking-current false, :deposits-licenses-current false}, :ISSN ["1934-7073"], :issn-type [{:value "1934-7073", :type "print"}]} @@ -487,32 +587,39 @@ :publisher "Centro interdisciplinar de Pesquisa em Educacao e Direito CIPED", :coverage - {:affiliations-current 0, - :funders-backfile 0, - :licenses-backfile 0, - :funders-current 0, - :affiliations-backfile 0, - :resource-links-backfile 0, - :orcids-backfile 0, - :update-policies-current 0, - :orcids-current 0, - :references-backfile 0, - :award-numbers-backfile 0, - :update-policies-backfile 0, - :licenses-current 0, - :award-numbers-current 0, - :abstracts-backfile 0, - :resource-links-current 0, - :abstracts-current 0, - :references-current 0}, + {:affiliations-current 0.0, + :similarity-checking-current 0.0, + :funders-backfile 0.0, + :licenses-backfile 0.0, + :funders-current 0.0, + :affiliations-backfile 0.0, + :resource-links-backfile 0.0, + :orcids-backfile 0.0, + :update-policies-current 0.0, + :open-references-backfile 0.0, + :orcids-current 0.0, + :similarity-checking-backfile 0.0, + :references-backfile 0.0, + :award-numbers-backfile 0.0, + :update-policies-backfile 0.0, + :licenses-current 0.0, + :award-numbers-current 0.0, + :abstracts-backfile 0.0, + :resource-links-current 0.0, + :abstracts-current 0.0, + :open-references-current 0.0, + :references-current 0.0}, :title "A Barriguda Revista Científica", :subjects [], + :counts-type {:all {}, :current {}, :backfile {}}, + :coverage-type {:all {}, :current {}, :backfile {}}, :flags {:deposits-abstracts-current false, :deposits-orcids-current false, :deposits false, :deposits-affiliations-backfile false, :deposits-update-policies-backfile false, + :deposits-similarity-checking-backfile false, :deposits-award-numbers-current false, :deposits-resource-links-current false, :deposits-articles false, @@ -522,11 +629,14 @@ :deposits-abstracts-backfile false, :deposits-licenses-backfile false, :deposits-award-numbers-backfile false, + :deposits-open-references-backfile false, + :deposits-open-references-current false, :deposits-references-current false, :deposits-resource-links-backfile false, :deposits-orcids-backfile false, :deposits-funders-backfile false, :deposits-update-policies-current false, + :deposits-similarity-checking-current false, :deposits-licenses-current false}, :ISSN ["2236-6695"], :issn-type [{:value "2236-6695", :type "electronic"}]} @@ -534,32 +644,39 @@ :breakdowns {:dois-by-issued-year []}, :publisher "Universidade Estadual de Feira de Santana", :coverage - {:affiliations-current 0, - :funders-backfile 0, - :licenses-backfile 0, - :funders-current 0, - :affiliations-backfile 0, - :resource-links-backfile 0, - :orcids-backfile 0, - :update-policies-current 0, - :orcids-current 0, - :references-backfile 0, - :award-numbers-backfile 0, - :update-policies-backfile 0, - :licenses-current 0, - :award-numbers-current 0, - :abstracts-backfile 0, - :resource-links-current 0, - :abstracts-current 0, - :references-current 0}, + {:affiliations-current 0.0, + :similarity-checking-current 0.0, + :funders-backfile 0.0, + :licenses-backfile 0.0, + :funders-current 0.0, + :affiliations-backfile 0.0, + :resource-links-backfile 0.0, + :orcids-backfile 0.0, + :update-policies-current 0.0, + :open-references-backfile 0.0, + :orcids-current 0.0, + :similarity-checking-backfile 0.0, + :references-backfile 0.0, + :award-numbers-backfile 0.0, + :update-policies-backfile 0.0, + :licenses-current 0.0, + :award-numbers-current 0.0, + :abstracts-backfile 0.0, + :resource-links-current 0.0, + :abstracts-current 0.0, + :open-references-current 0.0, + :references-current 0.0}, :title "A Cor das Letras", :subjects [], + :counts-type {:all {}, :current {}, :backfile {}}, + :coverage-type {:all {}, :current {}, :backfile {}}, :flags {:deposits-abstracts-current false, :deposits-orcids-current false, :deposits false, :deposits-affiliations-backfile false, :deposits-update-policies-backfile false, + :deposits-similarity-checking-backfile false, :deposits-award-numbers-current false, :deposits-resource-links-current false, :deposits-articles false, @@ -569,11 +686,14 @@ :deposits-abstracts-backfile false, :deposits-licenses-backfile false, :deposits-award-numbers-backfile false, + :deposits-open-references-backfile false, + :deposits-open-references-current false, :deposits-references-current false, :deposits-resource-links-backfile false, :deposits-orcids-backfile false, :deposits-funders-backfile false, :deposits-update-policies-current false, + :deposits-similarity-checking-current false, :deposits-licenses-current false}, :ISSN ["1415-8973"], :issn-type [{:value "1415-8973", :type "print"}]} @@ -581,32 +701,39 @@ :breakdowns {:dois-by-issued-year []}, :publisher "SAGE Publications", :coverage - {:affiliations-current 0, - :funders-backfile 0, - :licenses-backfile 0, - :funders-current 0, - :affiliations-backfile 0, - :resource-links-backfile 0, - :orcids-backfile 0, - :update-policies-current 0, - :orcids-current 0, - :references-backfile 0, - :award-numbers-backfile 0, - :update-policies-backfile 0, - :licenses-current 0, - :award-numbers-current 0, - :abstracts-backfile 0, - :resource-links-current 0, - :abstracts-current 0, - :references-current 0}, + {:affiliations-current 0.0, + :similarity-checking-current 0.0, + :funders-backfile 0.0, + :licenses-backfile 0.0, + :funders-current 0.0, + :affiliations-backfile 0.0, + :resource-links-backfile 0.0, + :orcids-backfile 0.0, + :update-policies-current 0.0, + :open-references-backfile 0.0, + :orcids-current 0.0, + :similarity-checking-backfile 0.0, + :references-backfile 0.0, + :award-numbers-backfile 0.0, + :update-policies-backfile 0.0, + :licenses-current 0.0, + :award-numbers-current 0.0, + :abstracts-backfile 0.0, + :resource-links-current 0.0, + :abstracts-current 0.0, + :open-references-current 0.0, + :references-current 0.0}, :title "A Current Bibliography on African Affairs", :subjects [], + :counts-type {:all {}, :current {}, :backfile {}}, + :coverage-type {:all {}, :current {}, :backfile {}}, :flags {:deposits-abstracts-current false, :deposits-orcids-current false, :deposits false, :deposits-affiliations-backfile false, :deposits-update-policies-backfile false, + :deposits-similarity-checking-backfile false, :deposits-award-numbers-current false, :deposits-resource-links-current false, :deposits-articles false, @@ -616,11 +743,14 @@ :deposits-abstracts-backfile false, :deposits-licenses-backfile false, :deposits-award-numbers-backfile false, + :deposits-open-references-backfile false, + :deposits-open-references-current false, :deposits-references-current false, :deposits-resource-links-backfile false, :deposits-orcids-backfile false, :deposits-funders-backfile false, :deposits-update-policies-current false, + :deposits-similarity-checking-current false, :deposits-licenses-current false}, :ISSN ["0011-3255" "2376-6662"], :issn-type @@ -630,33 +760,40 @@ :breakdowns {:dois-by-issued-year []}, :publisher "Fundacao Educacional de Criciuma- FUCRI", :coverage - {:affiliations-current 0, - :funders-backfile 0, - :licenses-backfile 0, - :funders-current 0, - :affiliations-backfile 0, - :resource-links-backfile 0, - :orcids-backfile 0, - :update-policies-current 0, - :orcids-current 0, - :references-backfile 0, - :award-numbers-backfile 0, - :update-policies-backfile 0, - :licenses-current 0, - :award-numbers-current 0, - :abstracts-backfile 0, - :resource-links-current 0, - :abstracts-current 0, - :references-current 0}, + {:affiliations-current 0.0, + :similarity-checking-current 0.0, + :funders-backfile 0.0, + :licenses-backfile 0.0, + :funders-current 0.0, + :affiliations-backfile 0.0, + :resource-links-backfile 0.0, + :orcids-backfile 0.0, + :update-policies-current 0.0, + :open-references-backfile 0.0, + :orcids-current 0.0, + :similarity-checking-backfile 0.0, + :references-backfile 0.0, + :award-numbers-backfile 0.0, + :update-policies-backfile 0.0, + :licenses-current 0.0, + :award-numbers-current 0.0, + :abstracts-backfile 0.0, + :resource-links-current 0.0, + :abstracts-current 0.0, + :open-references-current 0.0, + :references-current 0.0}, :title "A ESCALA DE BORG COMO INSTRUMENTO DE MENSURAÇÃO DA INTENSIDADE DE AULAS DE ZUMBA", :subjects [], + :counts-type {:all {}, :current {}, :backfile {}}, + :coverage-type {:all {}, :current {}, :backfile {}}, :flags {:deposits-abstracts-current false, :deposits-orcids-current false, :deposits false, :deposits-affiliations-backfile false, :deposits-update-policies-backfile false, + :deposits-similarity-checking-backfile false, :deposits-award-numbers-current false, :deposits-resource-links-current false, :deposits-articles false, @@ -666,11 +803,14 @@ :deposits-abstracts-backfile false, :deposits-licenses-backfile false, :deposits-award-numbers-backfile false, + :deposits-open-references-backfile false, + :deposits-open-references-current false, :deposits-references-current false, :deposits-resource-links-backfile false, :deposits-orcids-backfile false, :deposits-funders-backfile false, :deposits-update-policies-current false, + :deposits-similarity-checking-current false, :deposits-licenses-current false}, :ISSN [], :issn-type []} @@ -678,32 +818,39 @@ :breakdowns {:dois-by-issued-year []}, :publisher "\"Universidade Autonoma de Lisboa, EdiUal\"", :coverage - {:affiliations-current 0, - :funders-backfile 0, - :licenses-backfile 0, - :funders-current 0, - :affiliations-backfile 0, - :resource-links-backfile 0, - :orcids-backfile 0, - :update-policies-current 0, - :orcids-current 0, - :references-backfile 0, - :award-numbers-backfile 0, - :update-policies-backfile 0, - :licenses-current 0, - :award-numbers-current 0, - :abstracts-backfile 0, - :resource-links-current 0, - :abstracts-current 0, - :references-current 0}, + {:affiliations-current 0.0, + :similarity-checking-current 0.0, + :funders-backfile 0.0, + :licenses-backfile 0.0, + :funders-current 0.0, + :affiliations-backfile 0.0, + :resource-links-backfile 0.0, + :orcids-backfile 0.0, + :update-policies-current 0.0, + :open-references-backfile 0.0, + :orcids-current 0.0, + :similarity-checking-backfile 0.0, + :references-backfile 0.0, + :award-numbers-backfile 0.0, + :update-policies-backfile 0.0, + :licenses-current 0.0, + :award-numbers-current 0.0, + :abstracts-backfile 0.0, + :resource-links-current 0.0, + :abstracts-current 0.0, + :open-references-current 0.0, + :references-current 0.0}, :title "A Galileu Revista de Economia e Direito", :subjects [], + :counts-type {:all {}, :current {}, :backfile {}}, + :coverage-type {:all {}, :current {}, :backfile {}}, :flags {:deposits-abstracts-current false, :deposits-orcids-current false, :deposits false, :deposits-affiliations-backfile false, :deposits-update-policies-backfile false, + :deposits-similarity-checking-backfile false, :deposits-award-numbers-current false, :deposits-resource-links-current false, :deposits-articles false, @@ -713,11 +860,14 @@ :deposits-abstracts-backfile false, :deposits-licenses-backfile false, :deposits-award-numbers-backfile false, + :deposits-open-references-backfile false, + :deposits-open-references-current false, :deposits-references-current false, :deposits-resource-links-backfile false, :deposits-orcids-backfile false, :deposits-funders-backfile false, :deposits-update-policies-current false, + :deposits-similarity-checking-current false, :deposits-licenses-current false}, :ISSN ["0873-495X" "0873-495X"], :issn-type @@ -727,32 +877,39 @@ :breakdowns {:dois-by-issued-year []}, :publisher "Cairo Center for Development Benchmarking", :coverage - {:affiliations-current 0, - :funders-backfile 0, - :licenses-backfile 0, - :funders-current 0, - :affiliations-backfile 0, - :resource-links-backfile 0, - :orcids-backfile 0, - :update-policies-current 0, - :orcids-current 0, - :references-backfile 0, - :award-numbers-backfile 0, - :update-policies-backfile 0, - :licenses-current 0, - :award-numbers-current 0, - :abstracts-backfile 0, - :resource-links-current 0, - :abstracts-current 0, - :references-current 0}, + {:affiliations-current 0.0, + :similarity-checking-current 0.0, + :funders-backfile 0.0, + :licenses-backfile 0.0, + :funders-current 0.0, + :affiliations-backfile 0.0, + :resource-links-backfile 0.0, + :orcids-backfile 0.0, + :update-policies-current 0.0, + :open-references-backfile 0.0, + :orcids-current 0.0, + :similarity-checking-backfile 0.0, + :references-backfile 0.0, + :award-numbers-backfile 0.0, + :update-policies-backfile 0.0, + :licenses-current 0.0, + :award-numbers-current 0.0, + :abstracts-backfile 0.0, + :resource-links-current 0.0, + :abstracts-current 0.0, + :open-references-current 0.0, + :references-current 0.0}, :title "A General Approach to Panel Data Set-Theoretic Research", :subjects [], + :counts-type {:all {}, :current {}, :backfile {}}, + :coverage-type {:all {}, :current {}, :backfile {}}, :flags {:deposits-abstracts-current false, :deposits-orcids-current false, :deposits false, :deposits-affiliations-backfile false, :deposits-update-policies-backfile false, + :deposits-similarity-checking-backfile false, :deposits-award-numbers-current false, :deposits-resource-links-current false, :deposits-articles false, @@ -762,11 +919,14 @@ :deposits-abstracts-backfile false, :deposits-licenses-backfile false, :deposits-award-numbers-backfile false, + :deposits-open-references-backfile false, + :deposits-open-references-current false, :deposits-references-current false, :deposits-resource-links-backfile false, :deposits-orcids-backfile false, :deposits-funders-backfile false, :deposits-update-policies-current false, + :deposits-similarity-checking-current false, :deposits-licenses-current false}, :ISSN [], :issn-type []} @@ -774,32 +934,39 @@ :breakdowns {:dois-by-issued-year []}, :publisher "Informa UK (Taylor & Francis)", :coverage - {:affiliations-current 0, - :funders-backfile 0, - :licenses-backfile 0, - :funders-current 0, - :affiliations-backfile 0, - :resource-links-backfile 0, - :orcids-backfile 0, - :update-policies-current 0, - :orcids-current 0, - :references-backfile 0, - :award-numbers-backfile 0, - :update-policies-backfile 0, - :licenses-current 0, - :award-numbers-current 0, - :abstracts-backfile 0, - :resource-links-current 0, - :abstracts-current 0, - :references-current 0}, + {:affiliations-current 0.0, + :similarity-checking-current 0.0, + :funders-backfile 0.0, + :licenses-backfile 0.0, + :funders-current 0.0, + :affiliations-backfile 0.0, + :resource-links-backfile 0.0, + :orcids-backfile 0.0, + :update-policies-current 0.0, + :open-references-backfile 0.0, + :orcids-current 0.0, + :similarity-checking-backfile 0.0, + :references-backfile 0.0, + :award-numbers-backfile 0.0, + :update-policies-backfile 0.0, + :licenses-current 0.0, + :award-numbers-current 0.0, + :abstracts-backfile 0.0, + :resource-links-current 0.0, + :abstracts-current 0.0, + :open-references-current 0.0, + :references-current 0.0}, :title "A I I E Transactions", :subjects [], + :counts-type {:all {}, :current {}, :backfile {}}, + :coverage-type {:all {}, :current {}, :backfile {}}, :flags {:deposits-abstracts-current false, :deposits-orcids-current false, :deposits false, :deposits-affiliations-backfile false, :deposits-update-policies-backfile false, + :deposits-similarity-checking-backfile false, :deposits-award-numbers-current false, :deposits-resource-links-current false, :deposits-articles false, @@ -809,11 +976,14 @@ :deposits-abstracts-backfile false, :deposits-licenses-backfile false, :deposits-award-numbers-backfile false, + :deposits-open-references-backfile false, + :deposits-open-references-current false, :deposits-references-current false, :deposits-resource-links-backfile false, :deposits-orcids-backfile false, :deposits-funders-backfile false, :deposits-update-policies-current false, + :deposits-similarity-checking-current false, :deposits-licenses-current false}, :ISSN ["0569-5554"], :issn-type [{:value "0569-5554", :type "print"}]} @@ -821,33 +991,40 @@ :breakdowns {:dois-by-issued-year []}, :publisher "Fundacao Educacional de Criciuma- FUCRI", :coverage - {:affiliations-current 0, - :funders-backfile 0, - :licenses-backfile 0, - :funders-current 0, - :affiliations-backfile 0, - :resource-links-backfile 0, - :orcids-backfile 0, - :update-policies-current 0, - :orcids-current 0, - :references-backfile 0, - :award-numbers-backfile 0, - :update-policies-backfile 0, - :licenses-current 0, - :award-numbers-current 0, - :abstracts-backfile 0, - :resource-links-current 0, - :abstracts-current 0, - :references-current 0}, + {:affiliations-current 0.0, + :similarity-checking-current 0.0, + :funders-backfile 0.0, + :licenses-backfile 0.0, + :funders-current 0.0, + :affiliations-backfile 0.0, + :resource-links-backfile 0.0, + :orcids-backfile 0.0, + :update-policies-current 0.0, + :open-references-backfile 0.0, + :orcids-current 0.0, + :similarity-checking-backfile 0.0, + :references-backfile 0.0, + :award-numbers-backfile 0.0, + :update-policies-backfile 0.0, + :licenses-current 0.0, + :award-numbers-current 0.0, + :abstracts-backfile 0.0, + :resource-links-current 0.0, + :abstracts-current 0.0, + :open-references-current 0.0, + :references-current 0.0}, :title "A INFLUÊNCIA DA PUBLICIDADE NA TRANSIÇÃO NUTRICIONAL UMA SÍNTESE PARA ENTENDER A OBESIDADE", :subjects [], + :counts-type {:all {}, :current {}, :backfile {}}, + :coverage-type {:all {}, :current {}, :backfile {}}, :flags {:deposits-abstracts-current false, :deposits-orcids-current false, :deposits false, :deposits-affiliations-backfile false, :deposits-update-policies-backfile false, + :deposits-similarity-checking-backfile false, :deposits-award-numbers-current false, :deposits-resource-links-current false, :deposits-articles false, @@ -857,11 +1034,14 @@ :deposits-abstracts-backfile false, :deposits-licenses-backfile false, :deposits-award-numbers-backfile false, + :deposits-open-references-backfile false, + :deposits-open-references-current false, :deposits-references-current false, :deposits-resource-links-backfile false, :deposits-orcids-backfile false, :deposits-funders-backfile false, :deposits-update-policies-current false, + :deposits-similarity-checking-current false, :deposits-licenses-current false}, :ISSN [], :issn-type []} @@ -869,33 +1049,40 @@ :breakdowns {:dois-by-issued-year []}, :publisher "Fundacao Educacional de Criciuma- FUCRI", :coverage - {:affiliations-current 0, - :funders-backfile 0, - :licenses-backfile 0, - :funders-current 0, - :affiliations-backfile 0, - :resource-links-backfile 0, - :orcids-backfile 0, - :update-policies-current 0, - :orcids-current 0, - :references-backfile 0, - :award-numbers-backfile 0, - :update-policies-backfile 0, - :licenses-current 0, - :award-numbers-current 0, - :abstracts-backfile 0, - :resource-links-current 0, - :abstracts-current 0, - :references-current 0}, + {:affiliations-current 0.0, + :similarity-checking-current 0.0, + :funders-backfile 0.0, + :licenses-backfile 0.0, + :funders-current 0.0, + :affiliations-backfile 0.0, + :resource-links-backfile 0.0, + :orcids-backfile 0.0, + :update-policies-current 0.0, + :open-references-backfile 0.0, + :orcids-current 0.0, + :similarity-checking-backfile 0.0, + :references-backfile 0.0, + :award-numbers-backfile 0.0, + :update-policies-backfile 0.0, + :licenses-current 0.0, + :award-numbers-current 0.0, + :abstracts-backfile 0.0, + :resource-links-current 0.0, + :abstracts-current 0.0, + :open-references-current 0.0, + :references-current 0.0}, :title "A INFLUÊNCIA DE 15 SEMANAS DE ATIVIDADES PSICOMOTORAS NA AUTONOMIA FUNCIONAL DE IDOSOS", :subjects [], + :counts-type {:all {}, :current {}, :backfile {}}, + :coverage-type {:all {}, :current {}, :backfile {}}, :flags {:deposits-abstracts-current false, :deposits-orcids-current false, :deposits false, :deposits-affiliations-backfile false, :deposits-update-policies-backfile false, + :deposits-similarity-checking-backfile false, :deposits-award-numbers-current false, :deposits-resource-links-current false, :deposits-articles false, @@ -905,11 +1092,14 @@ :deposits-abstracts-backfile false, :deposits-licenses-backfile false, :deposits-award-numbers-backfile false, + :deposits-open-references-backfile false, + :deposits-open-references-current false, :deposits-references-current false, :deposits-resource-links-backfile false, :deposits-orcids-backfile false, :deposits-funders-backfile false, :deposits-update-policies-current false, + :deposits-similarity-checking-current false, :deposits-licenses-current false}, :ISSN [], :issn-type []} @@ -917,33 +1107,40 @@ :breakdowns {:dois-by-issued-year []}, :publisher "Fundacao Educacional de Criciuma- FUCRI", :coverage - {:affiliations-current 0, - :funders-backfile 0, - :licenses-backfile 0, - :funders-current 0, - :affiliations-backfile 0, - :resource-links-backfile 0, - :orcids-backfile 0, - :update-policies-current 0, - :orcids-current 0, - :references-backfile 0, - :award-numbers-backfile 0, - :update-policies-backfile 0, - :licenses-current 0, - :award-numbers-current 0, - :abstracts-backfile 0, - :resource-links-current 0, - :abstracts-current 0, - :references-current 0}, + {:affiliations-current 0.0, + :similarity-checking-current 0.0, + :funders-backfile 0.0, + :licenses-backfile 0.0, + :funders-current 0.0, + :affiliations-backfile 0.0, + :resource-links-backfile 0.0, + :orcids-backfile 0.0, + :update-policies-current 0.0, + :open-references-backfile 0.0, + :orcids-current 0.0, + :similarity-checking-backfile 0.0, + :references-backfile 0.0, + :award-numbers-backfile 0.0, + :update-policies-backfile 0.0, + :licenses-current 0.0, + :award-numbers-current 0.0, + :abstracts-backfile 0.0, + :resource-links-current 0.0, + :abstracts-current 0.0, + :open-references-current 0.0, + :references-current 0.0}, :title "A INFLUÊNCIA DE 15 SEMANAS DE ATIVIDADES PSICOMOTORAS NA AUTONOMIA FUNCIONAL DE IDOSOS", :subjects [], + :counts-type {:all {}, :current {}, :backfile {}}, + :coverage-type {:all {}, :current {}, :backfile {}}, :flags {:deposits-abstracts-current false, :deposits-orcids-current false, :deposits false, :deposits-affiliations-backfile false, :deposits-update-policies-backfile false, + :deposits-similarity-checking-backfile false, :deposits-award-numbers-current false, :deposits-resource-links-current false, :deposits-articles false, @@ -953,11 +1150,14 @@ :deposits-abstracts-backfile false, :deposits-licenses-backfile false, :deposits-award-numbers-backfile false, + :deposits-open-references-backfile false, + :deposits-open-references-current false, :deposits-references-current false, :deposits-resource-links-backfile false, :deposits-orcids-backfile false, :deposits-funders-backfile false, :deposits-update-policies-current false, + :deposits-similarity-checking-current false, :deposits-licenses-current false}, :ISSN [], :issn-type []})} diff --git a/dev-resources/titles.edn b/dev-resources/titles.edn index c0066743..4b8f218c 100644 --- a/dev-resources/titles.edn +++ b/dev-resources/titles.edn @@ -6,32 +6,39 @@ :breakdowns {:dois-by-issued-year []}, :publisher "Kniga - Service Agency Ltd.", :coverage - {:affiliations-current 0, - :funders-backfile 0, - :licenses-backfile 0, - :funders-current 0, - :affiliations-backfile 0, - :resource-links-backfile 0, - :orcids-backfile 0, - :update-policies-current 0, - :orcids-current 0, - :references-backfile 0, - :award-numbers-backfile 0, - :update-policies-backfile 0, - :licenses-current 0, - :award-numbers-current 0, - :abstracts-backfile 0, - :resource-links-current 0, - :abstracts-current 0, - :references-current 0}, + {:affiliations-current 0.0, + :similarity-checking-current 0.0, + :funders-backfile 0.0, + :licenses-backfile 0.0, + :funders-current 0.0, + :affiliations-backfile 0.0, + :resource-links-backfile 0.0, + :orcids-backfile 0.0, + :update-policies-current 0.0, + :open-references-backfile 0.0, + :orcids-current 0.0, + :similarity-checking-backfile 0.0, + :references-backfile 0.0, + :award-numbers-backfile 0.0, + :update-policies-backfile 0.0, + :licenses-current 0.0, + :award-numbers-current 0.0, + :abstracts-backfile 0.0, + :resource-links-current 0.0, + :abstracts-current 0.0, + :open-references-current 0.0, + :references-current 0.0}, :title "Arctic Environmental Research", :subjects [], + :counts-type {:all {}, :current {}, :backfile {}}, + :coverage-type {:all {}, :current {}, :backfile {}}, :flags {:deposits-abstracts-current false, :deposits-orcids-current false, :deposits false, :deposits-affiliations-backfile false, :deposits-update-policies-backfile false, + :deposits-similarity-checking-backfile false, :deposits-award-numbers-current false, :deposits-resource-links-current false, :deposits-articles false, @@ -41,11 +48,14 @@ :deposits-abstracts-backfile false, :deposits-licenses-backfile false, :deposits-award-numbers-backfile false, + :deposits-open-references-backfile false, + :deposits-open-references-current false, :deposits-references-current false, :deposits-resource-links-backfile false, :deposits-orcids-backfile false, :deposits-funders-backfile false, :deposits-update-policies-current false, + :deposits-similarity-checking-current false, :deposits-licenses-current false}, :ISSN ["2541-8416"], :issn-type [{:value "2541-8416", :type "print"}]} @@ -53,32 +63,39 @@ :breakdowns {:dois-by-issued-year []}, :publisher "Arterialnaya Gipertenziya", :coverage - {:affiliations-current 0, - :funders-backfile 0, - :licenses-backfile 0, - :funders-current 0, - :affiliations-backfile 0, - :resource-links-backfile 0, - :orcids-backfile 0, - :update-policies-current 0, - :orcids-current 0, - :references-backfile 0, - :award-numbers-backfile 0, - :update-policies-backfile 0, - :licenses-current 0, - :award-numbers-current 0, - :abstracts-backfile 0, - :resource-links-current 0, - :abstracts-current 0, - :references-current 0}, + {:affiliations-current 0.0, + :similarity-checking-current 0.0, + :funders-backfile 0.0, + :licenses-backfile 0.0, + :funders-current 0.0, + :affiliations-backfile 0.0, + :resource-links-backfile 0.0, + :orcids-backfile 0.0, + :update-policies-current 0.0, + :open-references-backfile 0.0, + :orcids-current 0.0, + :similarity-checking-backfile 0.0, + :references-backfile 0.0, + :award-numbers-backfile 0.0, + :update-policies-backfile 0.0, + :licenses-current 0.0, + :award-numbers-current 0.0, + :abstracts-backfile 0.0, + :resource-links-current 0.0, + :abstracts-current 0.0, + :open-references-current 0.0, + :references-current 0.0}, :title "Arterial’naya Gipertenziya (Arterial Hypertension)", :subjects [], + :counts-type {:all {}, :current {}, :backfile {}}, + :coverage-type {:all {}, :current {}, :backfile {}}, :flags {:deposits-abstracts-current false, :deposits-orcids-current false, :deposits false, :deposits-affiliations-backfile false, :deposits-update-policies-backfile false, + :deposits-similarity-checking-backfile false, :deposits-award-numbers-current false, :deposits-resource-links-current false, :deposits-articles false, @@ -88,11 +105,14 @@ :deposits-abstracts-backfile false, :deposits-licenses-backfile false, :deposits-award-numbers-backfile false, + :deposits-open-references-backfile false, + :deposits-open-references-current false, :deposits-references-current false, :deposits-resource-links-backfile false, :deposits-orcids-backfile false, :deposits-funders-backfile false, :deposits-update-policies-current false, + :deposits-similarity-checking-current false, :deposits-licenses-current false}, :ISSN ["1607-419X" "2411-8524"], :issn-type @@ -102,32 +122,39 @@ :breakdowns {:dois-by-issued-year []}, :publisher "Academic Journals", :coverage - {:affiliations-current 0, - :funders-backfile 0, - :licenses-backfile 0, - :funders-current 0, - :affiliations-backfile 0, - :resource-links-backfile 0, - :orcids-backfile 0, - :update-policies-current 0, - :orcids-current 0, - :references-backfile 0, - :award-numbers-backfile 0, - :update-policies-backfile 0, - :licenses-current 0, - :award-numbers-current 0, - :abstracts-backfile 0, - :resource-links-current 0, - :abstracts-current 0, - :references-current 0}, + {:affiliations-current 0.0, + :similarity-checking-current 0.0, + :funders-backfile 0.0, + :licenses-backfile 0.0, + :funders-current 0.0, + :affiliations-backfile 0.0, + :resource-links-backfile 0.0, + :orcids-backfile 0.0, + :update-policies-current 0.0, + :open-references-backfile 0.0, + :orcids-current 0.0, + :similarity-checking-backfile 0.0, + :references-backfile 0.0, + :award-numbers-backfile 0.0, + :update-policies-backfile 0.0, + :licenses-current 0.0, + :award-numbers-current 0.0, + :abstracts-backfile 0.0, + :resource-links-current 0.0, + :abstracts-current 0.0, + :open-references-current 0.0, + :references-current 0.0}, :title "International Journal of Computer Engineering Research", :subjects [], + :counts-type {:all {}, :current {}, :backfile {}}, + :coverage-type {:all {}, :current {}, :backfile {}}, :flags {:deposits-abstracts-current false, :deposits-orcids-current false, :deposits false, :deposits-affiliations-backfile false, :deposits-update-policies-backfile false, + :deposits-similarity-checking-backfile false, :deposits-award-numbers-current false, :deposits-resource-links-current false, :deposits-articles false, @@ -137,11 +164,14 @@ :deposits-abstracts-backfile false, :deposits-licenses-backfile false, :deposits-award-numbers-backfile false, + :deposits-open-references-backfile false, + :deposits-open-references-current false, :deposits-references-current false, :deposits-resource-links-backfile false, :deposits-orcids-backfile false, :deposits-funders-backfile false, :deposits-update-policies-current false, + :deposits-similarity-checking-current false, :deposits-licenses-current false}, :ISSN ["2141-6494"], :issn-type [{:value "2141-6494", :type "electronic"}]} @@ -149,32 +179,39 @@ :breakdowns {:dois-by-issued-year []}, :publisher "Kniga - Service Agency Ltd.", :coverage - {:affiliations-current 0, - :funders-backfile 0, - :licenses-backfile 0, - :funders-current 0, - :affiliations-backfile 0, - :resource-links-backfile 0, - :orcids-backfile 0, - :update-policies-current 0, - :orcids-current 0, - :references-backfile 0, - :award-numbers-backfile 0, - :update-policies-backfile 0, - :licenses-current 0, - :award-numbers-current 0, - :abstracts-backfile 0, - :resource-links-current 0, - :abstracts-current 0, - :references-current 0}, + {:affiliations-current 0.0, + :similarity-checking-current 0.0, + :funders-backfile 0.0, + :licenses-backfile 0.0, + :funders-current 0.0, + :affiliations-backfile 0.0, + :resource-links-backfile 0.0, + :orcids-backfile 0.0, + :update-policies-current 0.0, + :open-references-backfile 0.0, + :orcids-current 0.0, + :similarity-checking-backfile 0.0, + :references-backfile 0.0, + :award-numbers-backfile 0.0, + :update-policies-backfile 0.0, + :licenses-current 0.0, + :award-numbers-current 0.0, + :abstracts-backfile 0.0, + :resource-links-current 0.0, + :abstracts-current 0.0, + :open-references-current 0.0, + :references-current 0.0}, :title "Journal of Medical and Biological Research", :subjects [], + :counts-type {:all {}, :current {}, :backfile {}}, + :coverage-type {:all {}, :current {}, :backfile {}}, :flags {:deposits-abstracts-current false, :deposits-orcids-current false, :deposits false, :deposits-affiliations-backfile false, :deposits-update-policies-backfile false, + :deposits-similarity-checking-backfile false, :deposits-award-numbers-current false, :deposits-resource-links-current false, :deposits-articles false, @@ -184,11 +221,14 @@ :deposits-abstracts-backfile false, :deposits-licenses-backfile false, :deposits-award-numbers-backfile false, + :deposits-open-references-backfile false, + :deposits-open-references-current false, :deposits-references-current false, :deposits-resource-links-backfile false, :deposits-orcids-backfile false, :deposits-funders-backfile false, :deposits-update-policies-current false, + :deposits-similarity-checking-current false, :deposits-licenses-current false}, :ISSN ["2542-1298"], :issn-type [{:value "2542-1298", :type "print"}]} @@ -196,33 +236,40 @@ :breakdowns {:dois-by-issued-year []}, :publisher "Uniwersytet Kardynala Stefana Wyszynskiego", :coverage - {:affiliations-current 0, - :funders-backfile 0, - :licenses-backfile 0, - :funders-current 0, - :affiliations-backfile 0, - :resource-links-backfile 0, - :orcids-backfile 0, - :update-policies-current 0, - :orcids-current 0, - :references-backfile 0, - :award-numbers-backfile 0, - :update-policies-backfile 0, - :licenses-current 0, - :award-numbers-current 0, - :abstracts-backfile 0, - :resource-links-current 0, - :abstracts-current 0, - :references-current 0}, + {:affiliations-current 0.0, + :similarity-checking-current 0.0, + :funders-backfile 0.0, + :licenses-backfile 0.0, + :funders-current 0.0, + :affiliations-backfile 0.0, + :resource-links-backfile 0.0, + :orcids-backfile 0.0, + :update-policies-current 0.0, + :open-references-backfile 0.0, + :orcids-current 0.0, + :similarity-checking-backfile 0.0, + :references-backfile 0.0, + :award-numbers-backfile 0.0, + :update-policies-backfile 0.0, + :licenses-current 0.0, + :award-numbers-current 0.0, + :abstracts-backfile 0.0, + :resource-links-current 0.0, + :abstracts-current 0.0, + :open-references-current 0.0, + :references-current 0.0}, :title "Młody Jurysta Kwartalnik Studentów i Doktorantów Wydziału Prawa i Administracji UKSW", :subjects [], + :counts-type {:all {}, :current {}, :backfile {}}, + :coverage-type {:all {}, :current {}, :backfile {}}, :flags {:deposits-abstracts-current false, :deposits-orcids-current false, :deposits false, :deposits-affiliations-backfile false, :deposits-update-policies-backfile false, + :deposits-similarity-checking-backfile false, :deposits-award-numbers-current false, :deposits-resource-links-current false, :deposits-articles false, @@ -232,11 +279,14 @@ :deposits-abstracts-backfile false, :deposits-licenses-backfile false, :deposits-award-numbers-backfile false, + :deposits-open-references-backfile false, + :deposits-open-references-current false, :deposits-references-current false, :deposits-resource-links-backfile false, :deposits-orcids-backfile false, :deposits-funders-backfile false, :deposits-update-policies-current false, + :deposits-similarity-checking-current false, :deposits-licenses-current false}, :ISSN ["2353-1185"], :issn-type [{:value "2353-1185", :type "electronic"}]} @@ -244,32 +294,39 @@ :breakdowns {:dois-by-issued-year []}, :publisher "Publishing House Ophthalmology", :coverage - {:affiliations-current 0, - :funders-backfile 0, - :licenses-backfile 0, - :funders-current 0, - :affiliations-backfile 0, - :resource-links-backfile 0, - :orcids-backfile 0, - :update-policies-current 0, - :orcids-current 0, - :references-backfile 0, - :award-numbers-backfile 0, - :update-policies-backfile 0, - :licenses-current 0, - :award-numbers-current 0, - :abstracts-backfile 0, - :resource-links-current 0, - :abstracts-current 0, - :references-current 0}, + {:affiliations-current 0.0, + :similarity-checking-current 0.0, + :funders-backfile 0.0, + :licenses-backfile 0.0, + :funders-current 0.0, + :affiliations-backfile 0.0, + :resource-links-backfile 0.0, + :orcids-backfile 0.0, + :update-policies-current 0.0, + :open-references-backfile 0.0, + :orcids-current 0.0, + :similarity-checking-backfile 0.0, + :references-backfile 0.0, + :award-numbers-backfile 0.0, + :update-policies-backfile 0.0, + :licenses-current 0.0, + :award-numbers-current 0.0, + :abstracts-backfile 0.0, + :resource-links-current 0.0, + :abstracts-current 0.0, + :open-references-current 0.0, + :references-current 0.0}, :title "New in Ophthalmology № 2 2017", :subjects [], + :counts-type {:all {}, :current {}, :backfile {}}, + :coverage-type {:all {}, :current {}, :backfile {}}, :flags {:deposits-abstracts-current false, :deposits-orcids-current false, :deposits false, :deposits-affiliations-backfile false, :deposits-update-policies-backfile false, + :deposits-similarity-checking-backfile false, :deposits-award-numbers-current false, :deposits-resource-links-current false, :deposits-articles false, @@ -279,11 +336,14 @@ :deposits-abstracts-backfile false, :deposits-licenses-backfile false, :deposits-award-numbers-backfile false, + :deposits-open-references-backfile false, + :deposits-open-references-current false, :deposits-references-current false, :deposits-resource-links-backfile false, :deposits-orcids-backfile false, :deposits-funders-backfile false, :deposits-update-policies-current false, + :deposits-similarity-checking-current false, :deposits-licenses-current false}, :ISSN ["2221-9528" "2221-9528"], :issn-type @@ -293,33 +353,40 @@ :breakdowns {:dois-by-issued-year []}, :publisher "Oil Gas Scientific Research Project Institute", :coverage - {:affiliations-current 0, - :funders-backfile 0, - :licenses-backfile 0, - :funders-current 0, - :affiliations-backfile 0, - :resource-links-backfile 0, - :orcids-backfile 0, - :update-policies-current 0, - :orcids-current 0, - :references-backfile 0, - :award-numbers-backfile 0, - :update-policies-backfile 0, - :licenses-current 0, - :award-numbers-current 0, - :abstracts-backfile 0, - :resource-links-current 0, - :abstracts-current 0, - :references-current 0}, + {:affiliations-current 0.0, + :similarity-checking-current 0.0, + :funders-backfile 0.0, + :licenses-backfile 0.0, + :funders-current 0.0, + :affiliations-backfile 0.0, + :resource-links-backfile 0.0, + :orcids-backfile 0.0, + :update-policies-current 0.0, + :open-references-backfile 0.0, + :orcids-current 0.0, + :similarity-checking-backfile 0.0, + :references-backfile 0.0, + :award-numbers-backfile 0.0, + :update-policies-backfile 0.0, + :licenses-current 0.0, + :award-numbers-current 0.0, + :abstracts-backfile 0.0, + :resource-links-current 0.0, + :abstracts-current 0.0, + :open-references-current 0.0, + :references-current 0.0}, :title "Proceedings of OilGasScientificResearchProjects Institute SOCAR", :subjects [], + :counts-type {:all {}, :current {}, :backfile {}}, + :coverage-type {:all {}, :current {}, :backfile {}}, :flags {:deposits-abstracts-current false, :deposits-orcids-current false, :deposits false, :deposits-affiliations-backfile false, :deposits-update-policies-backfile false, + :deposits-similarity-checking-backfile false, :deposits-award-numbers-current false, :deposits-resource-links-current false, :deposits-articles false, @@ -329,11 +396,14 @@ :deposits-abstracts-backfile false, :deposits-licenses-backfile false, :deposits-award-numbers-backfile false, + :deposits-open-references-backfile false, + :deposits-open-references-current false, :deposits-references-current false, :deposits-resource-links-backfile false, :deposits-orcids-backfile false, :deposits-funders-backfile false, :deposits-update-policies-current false, + :deposits-similarity-checking-current false, :deposits-licenses-current false}, :ISSN ["2218-6867" "2218-8622"], :issn-type @@ -343,33 +413,40 @@ :breakdowns {:dois-by-issued-year []}, :publisher "National Medical Research Radiological Centre", :coverage - {:affiliations-current 0, - :funders-backfile 0, - :licenses-backfile 0, - :funders-current 0, - :affiliations-backfile 0, - :resource-links-backfile 0, - :orcids-backfile 0, - :update-policies-current 0, - :orcids-current 0, - :references-backfile 0, - :award-numbers-backfile 0, - :update-policies-backfile 0, - :licenses-current 0, - :award-numbers-current 0, - :abstracts-backfile 0, - :resource-links-current 0, - :abstracts-current 0, - :references-current 0}, + {:affiliations-current 0.0, + :similarity-checking-current 0.0, + :funders-backfile 0.0, + :licenses-backfile 0.0, + :funders-current 0.0, + :affiliations-backfile 0.0, + :resource-links-backfile 0.0, + :orcids-backfile 0.0, + :update-policies-current 0.0, + :open-references-backfile 0.0, + :orcids-current 0.0, + :similarity-checking-backfile 0.0, + :references-backfile 0.0, + :award-numbers-backfile 0.0, + :update-policies-backfile 0.0, + :licenses-current 0.0, + :award-numbers-current 0.0, + :abstracts-backfile 0.0, + :resource-links-current 0.0, + :abstracts-current 0.0, + :open-references-current 0.0, + :references-current 0.0}, :title "Radiation and Risk Bulletin of the National Radiation and Epidemiological Registry", :subjects [], + :counts-type {:all {}, :current {}, :backfile {}}, + :coverage-type {:all {}, :current {}, :backfile {}}, :flags {:deposits-abstracts-current false, :deposits-orcids-current false, :deposits false, :deposits-affiliations-backfile false, :deposits-update-policies-backfile false, + :deposits-similarity-checking-backfile false, :deposits-award-numbers-current false, :deposits-resource-links-current false, :deposits-articles false, @@ -379,11 +456,14 @@ :deposits-abstracts-backfile false, :deposits-licenses-backfile false, :deposits-award-numbers-backfile false, + :deposits-open-references-backfile false, + :deposits-open-references-current false, :deposits-references-current false, :deposits-resource-links-backfile false, :deposits-orcids-backfile false, :deposits-funders-backfile false, :deposits-update-policies-current false, + :deposits-similarity-checking-current false, :deposits-licenses-current false}, :ISSN ["0131-3878" "2412-950X"], :issn-type @@ -393,32 +473,39 @@ :breakdowns {:dois-by-issued-year []}, :publisher "Polish Rhetoric Society", :coverage - {:affiliations-current 0, - :funders-backfile 0, - :licenses-backfile 0, - :funders-current 0, - :affiliations-backfile 0, - :resource-links-backfile 0, - :orcids-backfile 0, - :update-policies-current 0, - :orcids-current 0, - :references-backfile 0, - :award-numbers-backfile 0, - :update-policies-backfile 0, - :licenses-current 0, - :award-numbers-current 0, - :abstracts-backfile 0, - :resource-links-current 0, - :abstracts-current 0, - :references-current 0}, + {:affiliations-current 0.0, + :similarity-checking-current 0.0, + :funders-backfile 0.0, + :licenses-backfile 0.0, + :funders-current 0.0, + :affiliations-backfile 0.0, + :resource-links-backfile 0.0, + :orcids-backfile 0.0, + :update-policies-current 0.0, + :open-references-backfile 0.0, + :orcids-current 0.0, + :similarity-checking-backfile 0.0, + :references-backfile 0.0, + :award-numbers-backfile 0.0, + :update-policies-backfile 0.0, + :licenses-current 0.0, + :award-numbers-current 0.0, + :abstracts-backfile 0.0, + :resource-links-current 0.0, + :abstracts-current 0.0, + :open-references-current 0.0, + :references-current 0.0}, :title "Res Rhetorica", :subjects [], + :counts-type {:all {}, :current {}, :backfile {}}, + :coverage-type {:all {}, :current {}, :backfile {}}, :flags {:deposits-abstracts-current false, :deposits-orcids-current false, :deposits false, :deposits-affiliations-backfile false, :deposits-update-policies-backfile false, + :deposits-similarity-checking-backfile false, :deposits-award-numbers-current false, :deposits-resource-links-current false, :deposits-articles false, @@ -428,11 +515,14 @@ :deposits-abstracts-backfile false, :deposits-licenses-backfile false, :deposits-award-numbers-backfile false, + :deposits-open-references-backfile false, + :deposits-open-references-current false, :deposits-references-current false, :deposits-resource-links-backfile false, :deposits-orcids-backfile false, :deposits-funders-backfile false, :deposits-update-policies-current false, + :deposits-similarity-checking-current false, :deposits-licenses-current false}, :ISSN ["2392-3113"], :issn-type [{:value "2392-3113", :type "electronic"}]} @@ -441,32 +531,39 @@ :publisher "National and University Library of the Republic of Srpska", :coverage - {:affiliations-current 0, - :funders-backfile 0, - :licenses-backfile 0, - :funders-current 0, - :affiliations-backfile 0, - :resource-links-backfile 0, - :orcids-backfile 0, - :update-policies-current 0, - :orcids-current 0, - :references-backfile 0, - :award-numbers-backfile 0, - :update-policies-backfile 0, - :licenses-current 0, - :award-numbers-current 0, - :abstracts-backfile 0, - :resource-links-current 0, - :abstracts-current 0, - :references-current 0}, + {:affiliations-current 0.0, + :similarity-checking-current 0.0, + :funders-backfile 0.0, + :licenses-backfile 0.0, + :funders-current 0.0, + :affiliations-backfile 0.0, + :resource-links-backfile 0.0, + :orcids-backfile 0.0, + :update-policies-current 0.0, + :open-references-backfile 0.0, + :orcids-current 0.0, + :similarity-checking-backfile 0.0, + :references-backfile 0.0, + :award-numbers-backfile 0.0, + :update-policies-backfile 0.0, + :licenses-current 0.0, + :award-numbers-current 0.0, + :abstracts-backfile 0.0, + :resource-links-current 0.0, + :abstracts-current 0.0, + :open-references-current 0.0, + :references-current 0.0}, :title "РАДОВИ ЧАСОПИС ЗА ХУМАНИСТИЧКЕ И ДРУШТВЕНЕ НАУКЕ", :subjects [], + :counts-type {:all {}, :current {}, :backfile {}}, + :coverage-type {:all {}, :current {}, :backfile {}}, :flags {:deposits-abstracts-current false, :deposits-orcids-current false, :deposits false, :deposits-affiliations-backfile false, :deposits-update-policies-backfile false, + :deposits-similarity-checking-backfile false, :deposits-award-numbers-current false, :deposits-resource-links-current false, :deposits-articles false, @@ -476,11 +573,14 @@ :deposits-abstracts-backfile false, :deposits-licenses-backfile false, :deposits-award-numbers-backfile false, + :deposits-open-references-backfile false, + :deposits-open-references-current false, :deposits-references-current false, :deposits-resource-links-backfile false, :deposits-orcids-backfile false, :deposits-funders-backfile false, :deposits-update-policies-current false, + :deposits-similarity-checking-current false, :deposits-licenses-current false}, :ISSN ["2303-5595"], :issn-type [{:value "2303-5595", :type "print"}]} @@ -488,33 +588,40 @@ :breakdowns {:dois-by-issued-year []}, :publisher "Swarthmore College", :coverage - {:affiliations-current 0, - :funders-backfile 0, - :licenses-backfile 0, - :funders-current 0, - :affiliations-backfile 0, - :resource-links-backfile 0, - :orcids-backfile 0, - :update-policies-current 0, - :orcids-current 0, - :references-backfile 0, - :award-numbers-backfile 0, - :update-policies-backfile 0, - :licenses-current 0, - :award-numbers-current 0, - :abstracts-backfile 0, - :resource-links-current 0, - :abstracts-current 0, - :references-current 0}, + {:affiliations-current 0.0, + :similarity-checking-current 0.0, + :funders-backfile 0.0, + :licenses-backfile 0.0, + :funders-current 0.0, + :affiliations-backfile 0.0, + :resource-links-backfile 0.0, + :orcids-backfile 0.0, + :update-policies-current 0.0, + :open-references-backfile 0.0, + :orcids-current 0.0, + :similarity-checking-backfile 0.0, + :references-backfile 0.0, + :award-numbers-backfile 0.0, + :update-policies-backfile 0.0, + :licenses-current 0.0, + :award-numbers-current 0.0, + :abstracts-backfile 0.0, + :resource-links-current 0.0, + :abstracts-current 0.0, + :open-references-current 0.0, + :references-current 0.0}, :title "#CritEdPol Journal of Critical Education Policy Studies at Swarthmore College", :subjects [], + :counts-type {:all {}, :current {}, :backfile {}}, + :coverage-type {:all {}, :current {}, :backfile {}}, :flags {:deposits-abstracts-current false, :deposits-orcids-current false, :deposits false, :deposits-affiliations-backfile false, :deposits-update-policies-backfile false, + :deposits-similarity-checking-backfile false, :deposits-award-numbers-current false, :deposits-resource-links-current false, :deposits-articles false, @@ -524,11 +631,14 @@ :deposits-abstracts-backfile false, :deposits-licenses-backfile false, :deposits-award-numbers-backfile false, + :deposits-open-references-backfile false, + :deposits-open-references-current false, :deposits-references-current false, :deposits-resource-links-backfile false, :deposits-orcids-backfile false, :deposits-funders-backfile false, :deposits-update-policies-current false, + :deposits-similarity-checking-current false, :deposits-licenses-current false}, :ISSN ["2473-912X"], :issn-type [{:value "2473-912X", :type "electronic"}]} @@ -536,32 +646,39 @@ :breakdowns {:dois-by-issued-year []}, :publisher "Georg Thieme Verlag KG", :coverage - {:affiliations-current 0, - :funders-backfile 0, - :licenses-backfile 0, - :funders-current 0, - :affiliations-backfile 0, - :resource-links-backfile 0, - :orcids-backfile 0, - :update-policies-current 0, - :orcids-current 0, - :references-backfile 0, - :award-numbers-backfile 0, - :update-policies-backfile 0, - :licenses-current 0, - :award-numbers-current 0, - :abstracts-backfile 0, - :resource-links-current 0, - :abstracts-current 0, - :references-current 0}, + {:affiliations-current 0.0, + :similarity-checking-current 0.0, + :funders-backfile 0.0, + :licenses-backfile 0.0, + :funders-current 0.0, + :affiliations-backfile 0.0, + :resource-links-backfile 0.0, + :orcids-backfile 0.0, + :update-policies-current 0.0, + :open-references-backfile 0.0, + :orcids-current 0.0, + :similarity-checking-backfile 0.0, + :references-backfile 0.0, + :award-numbers-backfile 0.0, + :update-policies-backfile 0.0, + :licenses-current 0.0, + :award-numbers-current 0.0, + :abstracts-backfile 0.0, + :resource-links-current 0.0, + :abstracts-current 0.0, + :open-references-current 0.0, + :references-current 0.0}, :title "(Aza)-Morita–Baylis–Hillman Reactions", :subjects [], + :counts-type {:all {}, :current {}, :backfile {}}, + :coverage-type {:all {}, :current {}, :backfile {}}, :flags {:deposits-abstracts-current false, :deposits-orcids-current false, :deposits false, :deposits-affiliations-backfile false, :deposits-update-policies-backfile false, + :deposits-similarity-checking-backfile false, :deposits-award-numbers-current false, :deposits-resource-links-current false, :deposits-articles false, @@ -571,11 +688,14 @@ :deposits-abstracts-backfile false, :deposits-licenses-backfile false, :deposits-award-numbers-backfile false, + :deposits-open-references-backfile false, + :deposits-open-references-current false, :deposits-references-current false, :deposits-resource-links-backfile false, :deposits-orcids-backfile false, :deposits-funders-backfile false, :deposits-update-policies-current false, + :deposits-similarity-checking-current false, :deposits-licenses-current false}, :ISSN ["2040-0330"], :issn-type [{:value "2040-0330", :type "electronic"}]} @@ -583,32 +703,39 @@ :breakdowns {:dois-by-issued-year []}, :publisher "Universidade do Estado do Rio de Janeiro UERJ", :coverage - {:affiliations-current 0, - :funders-backfile 0, - :licenses-backfile 0, - :funders-current 0, - :affiliations-backfile 0, - :resource-links-backfile 0, - :orcids-backfile 0, - :update-policies-current 0, - :orcids-current 0, - :references-backfile 0, - :award-numbers-backfile 0, - :update-policies-backfile 0, - :licenses-current 0, - :award-numbers-current 0, - :abstracts-backfile 0, - :resource-links-current 0, - :abstracts-current 0, - :references-current 0}, + {:affiliations-current 0.0, + :similarity-checking-current 0.0, + :funders-backfile 0.0, + :licenses-backfile 0.0, + :funders-current 0.0, + :affiliations-backfile 0.0, + :resource-links-backfile 0.0, + :orcids-backfile 0.0, + :update-policies-current 0.0, + :open-references-backfile 0.0, + :orcids-current 0.0, + :similarity-checking-backfile 0.0, + :references-backfile 0.0, + :award-numbers-backfile 0.0, + :update-policies-backfile 0.0, + :licenses-current 0.0, + :award-numbers-current 0.0, + :abstracts-backfile 0.0, + :resource-links-current 0.0, + :abstracts-current 0.0, + :open-references-current 0.0, + :references-current 0.0}, :title "(Syn)thesis", :subjects [], + :counts-type {:all {}, :current {}, :backfile {}}, + :coverage-type {:all {}, :current {}, :backfile {}}, :flags {:deposits-abstracts-current false, :deposits-orcids-current false, :deposits false, :deposits-affiliations-backfile false, :deposits-update-policies-backfile false, + :deposits-similarity-checking-backfile false, :deposits-award-numbers-current false, :deposits-resource-links-current false, :deposits-articles false, @@ -618,11 +745,14 @@ :deposits-abstracts-backfile false, :deposits-licenses-backfile false, :deposits-award-numbers-backfile false, + :deposits-open-references-backfile false, + :deposits-open-references-current false, :deposits-references-current false, :deposits-resource-links-backfile false, :deposits-orcids-backfile false, :deposits-funders-backfile false, :deposits-update-policies-current false, + :deposits-similarity-checking-current false, :deposits-licenses-current false}, :ISSN ["1414-915X" "2358-4130"], :issn-type @@ -632,32 +762,39 @@ :breakdowns {:dois-by-issued-year []}, :publisher "Universidad Nacional del Litoral", :coverage - {:affiliations-current 0, - :funders-backfile 0, - :licenses-backfile 0, - :funders-current 0, - :affiliations-backfile 0, - :resource-links-backfile 0, - :orcids-backfile 0, - :update-policies-current 0, - :orcids-current 0, - :references-backfile 0, - :award-numbers-backfile 0, - :update-policies-backfile 0, - :licenses-current 0, - :award-numbers-current 0, - :abstracts-backfile 0, - :resource-links-current 0, - :abstracts-current 0, - :references-current 0}, + {:affiliations-current 0.0, + :similarity-checking-current 0.0, + :funders-backfile 0.0, + :licenses-backfile 0.0, + :funders-current 0.0, + :affiliations-backfile 0.0, + :resource-links-backfile 0.0, + :orcids-backfile 0.0, + :update-policies-current 0.0, + :open-references-backfile 0.0, + :orcids-current 0.0, + :similarity-checking-backfile 0.0, + :references-backfile 0.0, + :award-numbers-backfile 0.0, + :update-policies-backfile 0.0, + :licenses-current 0.0, + :award-numbers-current 0.0, + :abstracts-backfile 0.0, + :resource-links-current 0.0, + :abstracts-current 0.0, + :open-references-current 0.0, + :references-current 0.0}, :title "+E", :subjects [], + :counts-type {:all {}, :current {}, :backfile {}}, + :coverage-type {:all {}, :current {}, :backfile {}}, :flags {:deposits-abstracts-current false, :deposits-orcids-current false, :deposits false, :deposits-affiliations-backfile false, :deposits-update-policies-backfile false, + :deposits-similarity-checking-backfile false, :deposits-award-numbers-current false, :deposits-resource-links-current false, :deposits-articles false, @@ -667,11 +804,14 @@ :deposits-abstracts-backfile false, :deposits-licenses-backfile false, :deposits-award-numbers-backfile false, + :deposits-open-references-backfile false, + :deposits-open-references-current false, :deposits-references-current false, :deposits-resource-links-backfile false, :deposits-orcids-backfile false, :deposits-funders-backfile false, :deposits-update-policies-current false, + :deposits-similarity-checking-current false, :deposits-licenses-current false}, :ISSN ["2250-4591" "2346-9986"], :issn-type @@ -681,32 +821,39 @@ :breakdowns {:dois-by-issued-year []}, :publisher "Georg Thieme Verlag KG", :coverage - {:affiliations-current 0, - :funders-backfile 0, - :licenses-backfile 0, - :funders-current 0, - :affiliations-backfile 0, - :resource-links-backfile 0, - :orcids-backfile 0, - :update-policies-current 0, - :orcids-current 0, - :references-backfile 0, - :award-numbers-backfile 0, - :update-policies-backfile 0, - :licenses-current 0, - :award-numbers-current 0, - :abstracts-backfile 0, - :resource-links-current 0, - :abstracts-current 0, - :references-current 0}, + {:affiliations-current 0.0, + :similarity-checking-current 0.0, + :funders-backfile 0.0, + :licenses-backfile 0.0, + :funders-current 0.0, + :affiliations-backfile 0.0, + :resource-links-backfile 0.0, + :orcids-backfile 0.0, + :update-policies-current 0.0, + :open-references-backfile 0.0, + :orcids-current 0.0, + :similarity-checking-backfile 0.0, + :references-backfile 0.0, + :award-numbers-backfile 0.0, + :update-policies-backfile 0.0, + :licenses-current 0.0, + :award-numbers-current 0.0, + :abstracts-backfile 0.0, + :resource-links-current 0.0, + :abstracts-current 0.0, + :open-references-current 0.0, + :references-current 0.0}, :title "-Quinone Imide Reactions", :subjects [], + :counts-type {:all {}, :current {}, :backfile {}}, + :coverage-type {:all {}, :current {}, :backfile {}}, :flags {:deposits-abstracts-current false, :deposits-orcids-current false, :deposits false, :deposits-affiliations-backfile false, :deposits-update-policies-backfile false, + :deposits-similarity-checking-backfile false, :deposits-award-numbers-current false, :deposits-resource-links-current false, :deposits-articles false, @@ -716,11 +863,14 @@ :deposits-abstracts-backfile false, :deposits-licenses-backfile false, :deposits-award-numbers-backfile false, + :deposits-open-references-backfile false, + :deposits-open-references-current false, :deposits-references-current false, :deposits-resource-links-backfile false, :deposits-orcids-backfile false, :deposits-funders-backfile false, :deposits-update-policies-current false, + :deposits-similarity-checking-current false, :deposits-licenses-current false}, :ISSN ["2040-0233"], :issn-type [{:value "2040-0233", :type "electronic"}]} @@ -728,32 +878,39 @@ :breakdowns {:dois-by-issued-year []}, :publisher "Georg Thieme Verlag KG", :coverage - {:affiliations-current 0, - :funders-backfile 0, - :licenses-backfile 0, - :funders-current 0, - :affiliations-backfile 0, - :resource-links-backfile 0, - :orcids-backfile 0, - :update-policies-current 0, - :orcids-current 0, - :references-backfile 0, - :award-numbers-backfile 0, - :update-policies-backfile 0, - :licenses-current 0, - :award-numbers-current 0, - :abstracts-backfile 0, - :resource-links-current 0, - :abstracts-current 0, - :references-current 0}, + {:affiliations-current 0.0, + :similarity-checking-current 0.0, + :funders-backfile 0.0, + :licenses-backfile 0.0, + :funders-current 0.0, + :affiliations-backfile 0.0, + :resource-links-backfile 0.0, + :orcids-backfile 0.0, + :update-policies-current 0.0, + :open-references-backfile 0.0, + :orcids-current 0.0, + :similarity-checking-backfile 0.0, + :references-backfile 0.0, + :award-numbers-backfile 0.0, + :update-policies-backfile 0.0, + :licenses-current 0.0, + :award-numbers-current 0.0, + :abstracts-backfile 0.0, + :resource-links-current 0.0, + :abstracts-current 0.0, + :open-references-current 0.0, + :references-current 0.0}, :title "-Selective Additions", :subjects [], + :counts-type {:all {}, :current {}, :backfile {}}, + :coverage-type {:all {}, :current {}, :backfile {}}, :flags {:deposits-abstracts-current false, :deposits-orcids-current false, :deposits false, :deposits-affiliations-backfile false, :deposits-update-policies-backfile false, + :deposits-similarity-checking-backfile false, :deposits-award-numbers-current false, :deposits-resource-links-current false, :deposits-articles false, @@ -763,11 +920,14 @@ :deposits-abstracts-backfile false, :deposits-licenses-backfile false, :deposits-award-numbers-backfile false, + :deposits-open-references-backfile false, + :deposits-open-references-current false, :deposits-references-current false, :deposits-resource-links-backfile false, :deposits-orcids-backfile false, :deposits-funders-backfile false, :deposits-update-policies-current false, + :deposits-similarity-checking-current false, :deposits-licenses-current false}, :ISSN ["2020-0420"], :issn-type [{:value "2020-0420", :type "electronic"}]} @@ -775,32 +935,39 @@ :breakdowns {:dois-by-issued-year []}, :publisher "Georg Thieme Verlag KG", :coverage - {:affiliations-current 0, - :funders-backfile 0, - :licenses-backfile 0, - :funders-current 0, - :affiliations-backfile 0, - :resource-links-backfile 0, - :orcids-backfile 0, - :update-policies-current 0, - :orcids-current 0, - :references-backfile 0, - :award-numbers-backfile 0, - :update-policies-backfile 0, - :licenses-current 0, - :award-numbers-current 0, - :abstracts-backfile 0, - :resource-links-current 0, - :abstracts-current 0, - :references-current 0}, + {:affiliations-current 0.0, + :similarity-checking-current 0.0, + :funders-backfile 0.0, + :licenses-backfile 0.0, + :funders-current 0.0, + :affiliations-backfile 0.0, + :resource-links-backfile 0.0, + :orcids-backfile 0.0, + :update-policies-current 0.0, + :open-references-backfile 0.0, + :orcids-current 0.0, + :similarity-checking-backfile 0.0, + :references-backfile 0.0, + :award-numbers-backfile 0.0, + :update-policies-backfile 0.0, + :licenses-current 0.0, + :award-numbers-current 0.0, + :abstracts-backfile 0.0, + :resource-links-current 0.0, + :abstracts-current 0.0, + :open-references-current 0.0, + :references-current 0.0}, :title "-Selective and Unsubstituted Nitro-Mannich Reactions", :subjects [], + :counts-type {:all {}, :current {}, :backfile {}}, + :coverage-type {:all {}, :current {}, :backfile {}}, :flags {:deposits-abstracts-current false, :deposits-orcids-current false, :deposits false, :deposits-affiliations-backfile false, :deposits-update-policies-backfile false, + :deposits-similarity-checking-backfile false, :deposits-award-numbers-current false, :deposits-resource-links-current false, :deposits-articles false, @@ -810,11 +977,14 @@ :deposits-abstracts-backfile false, :deposits-licenses-backfile false, :deposits-award-numbers-backfile false, + :deposits-open-references-backfile false, + :deposits-open-references-current false, :deposits-references-current false, :deposits-resource-links-backfile false, :deposits-orcids-backfile false, :deposits-funders-backfile false, :deposits-update-policies-current false, + :deposits-similarity-checking-current false, :deposits-licenses-current false}, :ISSN ["2020-0447"], :issn-type [{:value "2020-0447", :type "electronic"}]} @@ -823,31 +993,68 @@ :publisher "Elsevier ", :coverage {:affiliations-current 0.0, - :funders-backfile 0, - :licenses-backfile 0, + :similarity-checking-current 0.0, + :funders-backfile 0.0, + :licenses-backfile 0.0, :funders-current 0.3421052631578947, - :affiliations-backfile 0, - :resource-links-backfile 0, - :orcids-backfile 0, + :affiliations-backfile 0.0, + :resource-links-backfile 0.0, + :orcids-backfile 0.0, :update-policies-current 1.0, + :open-references-backfile 0.0, :orcids-current 0.0, - :references-backfile 0, - :award-numbers-backfile 0, - :update-policies-backfile 0, + :similarity-checking-backfile 0.0, + :references-backfile 0.0, + :award-numbers-backfile 0.0, + :update-policies-backfile 0.0, :licenses-current 1.0, :award-numbers-current 0.0, - :abstracts-backfile 0, + :abstracts-backfile 0.0, :resource-links-current 1.0, :abstracts-current 0.0, + :open-references-current 0.0, :references-current 0.0}, :title "Psychoneuroendocrinology", :subjects [], + :counts-type + {:all {:journal-article 76}, + :current {:journal-article 76}, + :backfile {}}, + :coverage-type + {:all + {:journal-article + {:affiliations 0.0, + :abstracts 0.0, + :orcids 0.0, + :licenses 1.0, + :references 0.0, + :funders 0.3421052631578947, + :similarity-checking 0.0, + :award-numbers 0.0, + :update-policies 1.0, + :resource-links 1.0, + :open-references 0.0}}, + :current + {:journal-article + {:affiliations 0.0, + :abstracts 0.0, + :orcids 0.0, + :licenses 1.0, + :references 0.0, + :funders 0.3421052631578947, + :similarity-checking 0.0, + :award-numbers 0.0, + :update-policies 1.0, + :resource-links 1.0, + :open-references 0.0}}, + :backfile {}}, :flags {:deposits-abstracts-current false, :deposits-orcids-current false, :deposits true, :deposits-affiliations-backfile false, :deposits-update-policies-backfile false, + :deposits-similarity-checking-backfile false, :deposits-award-numbers-current false, :deposits-resource-links-current true, :deposits-articles true, @@ -857,11 +1064,14 @@ :deposits-abstracts-backfile false, :deposits-licenses-backfile false, :deposits-award-numbers-backfile false, + :deposits-open-references-backfile false, + :deposits-open-references-current false, :deposits-references-current false, :deposits-resource-links-backfile false, :deposits-orcids-backfile false, :deposits-funders-backfile false, :deposits-update-policies-current true, + :deposits-similarity-checking-current false, :deposits-licenses-current true}, :ISSN ["0306-4530"], :issn-type [{:value "0306-4530", :type "print"}]} @@ -869,32 +1079,39 @@ :breakdowns {:dois-by-issued-year []}, :publisher "\"Science and Education, Ltd.\"", :coverage - {:affiliations-current 0, - :funders-backfile 0, - :licenses-backfile 0, - :funders-current 0, - :affiliations-backfile 0, - :resource-links-backfile 0, - :orcids-backfile 0, - :update-policies-current 0, - :orcids-current 0, - :references-backfile 0, - :award-numbers-backfile 0, - :update-policies-backfile 0, - :licenses-current 0, - :award-numbers-current 0, - :abstracts-backfile 0, - :resource-links-current 0, - :abstracts-current 0, - :references-current 0}, + {:affiliations-current 0.0, + :similarity-checking-current 0.0, + :funders-backfile 0.0, + :licenses-backfile 0.0, + :funders-current 0.0, + :affiliations-backfile 0.0, + :resource-links-backfile 0.0, + :orcids-backfile 0.0, + :update-policies-current 0.0, + :open-references-backfile 0.0, + :orcids-current 0.0, + :similarity-checking-backfile 0.0, + :references-backfile 0.0, + :award-numbers-backfile 0.0, + :update-policies-backfile 0.0, + :licenses-current 0.0, + :award-numbers-current 0.0, + :abstracts-backfile 0.0, + :resource-links-current 0.0, + :abstracts-current 0.0, + :open-references-current 0.0, + :references-current 0.0}, :title "0", :subjects [], + :counts-type {:all {}, :current {}, :backfile {}}, + :coverage-type {:all {}, :current {}, :backfile {}}, :flags {:deposits-abstracts-current false, :deposits-orcids-current false, :deposits false, :deposits-affiliations-backfile false, :deposits-update-policies-backfile false, + :deposits-similarity-checking-backfile false, :deposits-award-numbers-current false, :deposits-resource-links-current false, :deposits-articles false, @@ -904,11 +1121,14 @@ :deposits-abstracts-backfile false, :deposits-licenses-backfile false, :deposits-award-numbers-backfile false, + :deposits-open-references-backfile false, + :deposits-open-references-current false, :deposits-references-current false, :deposits-resource-links-backfile false, :deposits-orcids-backfile false, :deposits-funders-backfile false, :deposits-update-policies-current false, + :deposits-similarity-checking-current false, :deposits-licenses-current false}, :ISSN ["2072-0483"], :issn-type [{:value "2072-0483", :type "print"}]} @@ -916,32 +1136,39 @@ :breakdowns {:dois-by-issued-year []}, :publisher "Universitas Mercu Buana Yogyakarta", :coverage - {:affiliations-current 0, - :funders-backfile 0, - :licenses-backfile 0, - :funders-current 0, - :affiliations-backfile 0, - :resource-links-backfile 0, - :orcids-backfile 0, - :update-policies-current 0, - :orcids-current 0, - :references-backfile 0, - :award-numbers-backfile 0, - :update-policies-backfile 0, - :licenses-current 0, - :award-numbers-current 0, - :abstracts-backfile 0, - :resource-links-current 0, - :abstracts-current 0, - :references-current 0}, + {:affiliations-current 0.0, + :similarity-checking-current 0.0, + :funders-backfile 0.0, + :licenses-backfile 0.0, + :funders-current 0.0, + :affiliations-backfile 0.0, + :resource-links-backfile 0.0, + :orcids-backfile 0.0, + :update-policies-current 0.0, + :open-references-backfile 0.0, + :orcids-current 0.0, + :similarity-checking-backfile 0.0, + :references-backfile 0.0, + :award-numbers-backfile 0.0, + :update-policies-backfile 0.0, + :licenses-current 0.0, + :award-numbers-current 0.0, + :abstracts-backfile 0.0, + :resource-links-current 0.0, + :abstracts-current 0.0, + :open-references-current 0.0, + :references-current 0.0}, :title "085228282256", :subjects [], + :counts-type {:all {}, :current {}, :backfile {}}, + :coverage-type {:all {}, :current {}, :backfile {}}, :flags {:deposits-abstracts-current false, :deposits-orcids-current false, :deposits false, :deposits-affiliations-backfile false, :deposits-update-policies-backfile false, + :deposits-similarity-checking-backfile false, :deposits-award-numbers-current false, :deposits-resource-links-current false, :deposits-articles false, @@ -951,11 +1178,14 @@ :deposits-abstracts-backfile false, :deposits-licenses-backfile false, :deposits-award-numbers-backfile false, + :deposits-open-references-backfile false, + :deposits-open-references-current false, :deposits-references-current false, :deposits-resource-links-backfile false, :deposits-orcids-backfile false, :deposits-funders-backfile false, :deposits-update-policies-current false, + :deposits-similarity-checking-current false, :deposits-licenses-current false}, :ISSN ["2460-1233" "2548-4338"], :issn-type diff --git a/dev-resources/titles/0306-4530.edn b/dev-resources/titles/0306-4530.edn index ceb8b79d..74388cc2 100644 --- a/dev-resources/titles/0306-4530.edn +++ b/dev-resources/titles/0306-4530.edn @@ -3,31 +3,68 @@ :publisher "Elsevier ", :coverage {:affiliations-current 0.0, - :funders-backfile 0, - :licenses-backfile 0, + :similarity-checking-current 0.0, + :funders-backfile 0.0, + :licenses-backfile 0.0, :funders-current 0.3421052631578947, - :affiliations-backfile 0, - :resource-links-backfile 0, - :orcids-backfile 0, + :affiliations-backfile 0.0, + :resource-links-backfile 0.0, + :orcids-backfile 0.0, :update-policies-current 1.0, + :open-references-backfile 0.0, :orcids-current 0.0, - :references-backfile 0, - :award-numbers-backfile 0, - :update-policies-backfile 0, + :similarity-checking-backfile 0.0, + :references-backfile 0.0, + :award-numbers-backfile 0.0, + :update-policies-backfile 0.0, :licenses-current 1.0, :award-numbers-current 0.0, - :abstracts-backfile 0, + :abstracts-backfile 0.0, :resource-links-current 1.0, :abstracts-current 0.0, + :open-references-current 0.0, :references-current 0.0}, :title "Psychoneuroendocrinology", :subjects [], + :counts-type + {:all {:journal-article 76}, + :current {:journal-article 76}, + :backfile {}}, + :coverage-type + {:all + {:journal-article + {:affiliations 0.0, + :abstracts 0.0, + :orcids 0.0, + :licenses 1.0, + :references 0.0, + :funders 0.3421052631578947, + :similarity-checking 0.0, + :award-numbers 0.0, + :update-policies 1.0, + :resource-links 1.0, + :open-references 0.0}}, + :current + {:journal-article + {:affiliations 0.0, + :abstracts 0.0, + :orcids 0.0, + :licenses 1.0, + :references 0.0, + :funders 0.3421052631578947, + :similarity-checking 0.0, + :award-numbers 0.0, + :update-policies 1.0, + :resource-links 1.0, + :open-references 0.0}}, + :backfile {}}, :flags {:deposits-abstracts-current false, :deposits-orcids-current false, :deposits true, :deposits-affiliations-backfile false, :deposits-update-policies-backfile false, + :deposits-similarity-checking-backfile false, :deposits-award-numbers-current false, :deposits-resource-links-current true, :deposits-articles true, @@ -37,11 +74,14 @@ :deposits-abstracts-backfile false, :deposits-licenses-backfile false, :deposits-award-numbers-backfile false, + :deposits-open-references-backfile false, + :deposits-open-references-current false, :deposits-references-current false, :deposits-resource-links-backfile false, :deposits-orcids-backfile false, :deposits-funders-backfile false, :deposits-update-policies-current true, + :deposits-similarity-checking-current false, :deposits-licenses-current true}, :ISSN ["0306-4530"], :issn-type [{:value "0306-4530", :type "print"}]} diff --git a/dev-resources/titles/2303-5595.edn b/dev-resources/titles/2303-5595.edn index eacd3f14..da6cef05 100644 --- a/dev-resources/titles/2303-5595.edn +++ b/dev-resources/titles/2303-5595.edn @@ -3,32 +3,39 @@ :publisher "National and University Library of the Republic of Srpska", :coverage - {:affiliations-current 0, - :funders-backfile 0, - :licenses-backfile 0, - :funders-current 0, - :affiliations-backfile 0, - :resource-links-backfile 0, - :orcids-backfile 0, - :update-policies-current 0, - :orcids-current 0, - :references-backfile 0, - :award-numbers-backfile 0, - :update-policies-backfile 0, - :licenses-current 0, - :award-numbers-current 0, - :abstracts-backfile 0, - :resource-links-current 0, - :abstracts-current 0, - :references-current 0}, + {:affiliations-current 0.0, + :similarity-checking-current 0.0, + :funders-backfile 0.0, + :licenses-backfile 0.0, + :funders-current 0.0, + :affiliations-backfile 0.0, + :resource-links-backfile 0.0, + :orcids-backfile 0.0, + :update-policies-current 0.0, + :open-references-backfile 0.0, + :orcids-current 0.0, + :similarity-checking-backfile 0.0, + :references-backfile 0.0, + :award-numbers-backfile 0.0, + :update-policies-backfile 0.0, + :licenses-current 0.0, + :award-numbers-current 0.0, + :abstracts-backfile 0.0, + :resource-links-current 0.0, + :abstracts-current 0.0, + :open-references-current 0.0, + :references-current 0.0}, :title "РАДОВИ ЧАСОПИС ЗА ХУМАНИСТИЧКЕ И ДРУШТВЕНЕ НАУКЕ", :subjects [], + :counts-type {:all {}, :current {}, :backfile {}}, + :coverage-type {:all {}, :current {}, :backfile {}}, :flags {:deposits-abstracts-current false, :deposits-orcids-current false, :deposits false, :deposits-affiliations-backfile false, :deposits-update-policies-backfile false, + :deposits-similarity-checking-backfile false, :deposits-award-numbers-current false, :deposits-resource-links-current false, :deposits-articles false, @@ -38,11 +45,14 @@ :deposits-abstracts-backfile false, :deposits-licenses-backfile false, :deposits-award-numbers-backfile false, + :deposits-open-references-backfile false, + :deposits-open-references-current false, :deposits-references-current false, :deposits-resource-links-backfile false, :deposits-orcids-backfile false, :deposits-funders-backfile false, :deposits-update-policies-current false, + :deposits-similarity-checking-current false, :deposits-licenses-current false}, :ISSN ["2303-5595"], :issn-type [{:value "2303-5595", :type "print"}]} diff --git a/dev-resources/titles/2542-1298.edn b/dev-resources/titles/2542-1298.edn index 42a65927..965f0871 100644 --- a/dev-resources/titles/2542-1298.edn +++ b/dev-resources/titles/2542-1298.edn @@ -2,32 +2,39 @@ :breakdowns {:dois-by-issued-year []}, :publisher "Kniga - Service Agency Ltd.", :coverage - {:affiliations-current 0, - :funders-backfile 0, - :licenses-backfile 0, - :funders-current 0, - :affiliations-backfile 0, - :resource-links-backfile 0, - :orcids-backfile 0, - :update-policies-current 0, - :orcids-current 0, - :references-backfile 0, - :award-numbers-backfile 0, - :update-policies-backfile 0, - :licenses-current 0, - :award-numbers-current 0, - :abstracts-backfile 0, - :resource-links-current 0, - :abstracts-current 0, - :references-current 0}, + {:affiliations-current 0.0, + :similarity-checking-current 0.0, + :funders-backfile 0.0, + :licenses-backfile 0.0, + :funders-current 0.0, + :affiliations-backfile 0.0, + :resource-links-backfile 0.0, + :orcids-backfile 0.0, + :update-policies-current 0.0, + :open-references-backfile 0.0, + :orcids-current 0.0, + :similarity-checking-backfile 0.0, + :references-backfile 0.0, + :award-numbers-backfile 0.0, + :update-policies-backfile 0.0, + :licenses-current 0.0, + :award-numbers-current 0.0, + :abstracts-backfile 0.0, + :resource-links-current 0.0, + :abstracts-current 0.0, + :open-references-current 0.0, + :references-current 0.0}, :title "Journal of Medical and Biological Research", :subjects [], + :counts-type {:all {}, :current {}, :backfile {}}, + :coverage-type {:all {}, :current {}, :backfile {}}, :flags {:deposits-abstracts-current false, :deposits-orcids-current false, :deposits false, :deposits-affiliations-backfile false, :deposits-update-policies-backfile false, + :deposits-similarity-checking-backfile false, :deposits-award-numbers-current false, :deposits-resource-links-current false, :deposits-articles false, @@ -37,11 +44,14 @@ :deposits-abstracts-backfile false, :deposits-licenses-backfile false, :deposits-award-numbers-backfile false, + :deposits-open-references-backfile false, + :deposits-open-references-current false, :deposits-references-current false, :deposits-resource-links-backfile false, :deposits-orcids-backfile false, :deposits-funders-backfile false, :deposits-update-policies-current false, + :deposits-similarity-checking-current false, :deposits-licenses-current false}, :ISSN ["2542-1298"], :issn-type [{:value "2542-1298", :type "print"}]} diff --git a/src/cayenne/api/v1/filter.clj b/src/cayenne/api/v1/filter.clj index 507109f2..aca91e72 100644 --- a/src/cayenne/api/v1/filter.clj +++ b/src/cayenne/api/v1/filter.clj @@ -128,7 +128,8 @@ :relation ["type" "object_type" "object"]}) (def std-filters - {"from-update-date" (date-range :deposited :from) + {"reference-visibility" (equality :reference-visibility) + "from-update-date" (date-range :deposited :from) "until-update-date" (date-range :deposited :until) "from-index-date" (date-range :indexed :from) "until-index-date" (date-range :indexed :until) diff --git a/src/cayenne/data/coverage.clj b/src/cayenne/data/coverage.clj new file mode 100644 index 00000000..9b6d5700 --- /dev/null +++ b/src/cayenne/data/coverage.clj @@ -0,0 +1,49 @@ +(ns cayenne.data.coverage) + +(defn- remove-zero-count-nodes [m] + (reduce-kv + (fn [m k v] + (if (pos? (:_count v)) + (assoc m k (dissoc v :_count)) + m)) + {} + m)) + +(defn build-type-counts [m] + (reduce-kv + (fn [m k v] + (if (pos? (:_count v)) + (assoc m k (:_count v)) + m)) + {} + m)) + +(defn coverage [coverage-doc coverage-type] + (reduce-kv + (fn [m k v] + (-> m + (assoc-in [:coverage (keyword (str (name k) "-" (name coverage-type)))] v) + (assoc-in [:flags (keyword (str "deposits-" (name k) "-" (name coverage-type)))] (pos? v)))) + {:coverage {} + :flags {:deposits (> (apply + (map :_count (vals (get-in coverage-doc [:coverage :all])))) 0) + :deposits-articles (or (> (get-in coverage-doc [:coverage :all :journal-article :_count]) 0) false)}} + (dissoc (get-in coverage-doc [:coverage coverage-type :all]) :_count))) + +(defn coverage-type [coverage-doc] + (-> (:coverage coverage-doc) + (update-in [:all] dissoc :all) + (update-in [:backfile] dissoc :all) + (update-in [:current] dissoc :all) + (update-in [:all] remove-zero-count-nodes) + (update-in [:backfile] remove-zero-count-nodes) + (update-in [:current] remove-zero-count-nodes))) + +(defn type-counts [coverage-doc] + (-> (:coverage coverage-doc) + (update-in [:all] dissoc :all) + (update-in [:backfile] dissoc :all) + (update-in [:current] dissoc :all) + (update-in [:all] build-type-counts) + (update-in [:current] build-type-counts) + (update-in [:backfile] build-type-counts))) + diff --git a/src/cayenne/data/journal.clj b/src/cayenne/data/journal.clj index 627af4b4..5a1b85a1 100644 --- a/src/cayenne/data/journal.clj +++ b/src/cayenne/data/journal.clj @@ -2,6 +2,7 @@ (:require [cayenne.conf :as conf] [cayenne.util :as util] [cayenne.data.work :as work] + [cayenne.data.coverage :as coverage] [cayenne.ids.issn :as issn-id] [cayenne.api.v1.query :as query] [cayenne.api.v1.response :as r] @@ -17,12 +18,16 @@ :subjects (or (:subject journal-doc) [])} ;; todo {:ASJC :name} (not (nil? coverage-doc)) (merge - {:flags (get-in coverage-doc [:coverage :flags]) - :coverage (get-in coverage-doc [:coverage :coverage]) - :breakdowns (get-in coverage-doc [:breakdowns :breakdowns]) + (merge-with + merge + (coverage/coverage coverage-doc :current) + (coverage/coverage coverage-doc :backfile)) + {:breakdowns (get-in coverage-doc [:breakdowns :breakdowns]) :counts (select-keys coverage-doc [:current-dois :backfile-dois :total-dois]) + :coverage-type (coverage/coverage-type coverage-doc) + :counts-type (coverage/type-counts coverage-doc) :last-status-check-time (-> coverage-doc :finished dc/to-long)}))) (defn get-coverage [subject-type subject-ids] diff --git a/src/cayenne/data/member.clj b/src/cayenne/data/member.clj index 640fe347..aefb4f4f 100644 --- a/src/cayenne/data/member.clj +++ b/src/cayenne/data/member.clj @@ -6,6 +6,7 @@ [cayenne.api.v1.filter :as filter] [cayenne.data.prefix :as prefix] [cayenne.data.work :as work] + [cayenne.data.coverage :as coverage] [cayenne.ids.member :as member-id] [cayenne.ids.prefix :as prefix-id] [clojure.string :as string] @@ -25,13 +26,16 @@ :tokens (:token member-doc)} (not (nil? coverage-doc)) (merge - {:flags (get-in coverage-doc [:coverage :flags]) - :coverage (get-in coverage-doc [:coverage :coverage]) - :breakdowns (get-in coverage-doc [:breakdowns :breakdowns]) + (merge-with + merge + (coverage/coverage coverage-doc :current) + (coverage/coverage coverage-doc :backfile)) + {:breakdowns (get-in coverage-doc [:breakdowns :breakdowns]) :counts (select-keys coverage-doc [:current-dois :backfile-dois :total-dois]) - :counts-type (:type-counts coverage-doc) + :coverage-type (coverage/coverage-type coverage-doc) + :counts-type (coverage/type-counts coverage-doc) :last-status-check-time (-> coverage-doc :finished dc/to-long)}))) (defn get-coverage [subject-type subject-ids] diff --git a/src/cayenne/elastic/mappings.clj b/src/cayenne/elastic/mappings.clj index 762c1f55..80b136dd 100644 --- a/src/cayenne/elastic/mappings.clj +++ b/src/cayenne/elastic/mappings.clj @@ -274,7 +274,6 @@ :total-dois {:type "long"} :backfile-dois {:type "long"} :current-dois {:type "long"} - :type-counts {:type "object"} :breakdowns {:type "object"} :coverage {:type "object"}}) @@ -291,7 +290,7 @@ "member" {:number_of_shards 1 :number_of_replicas 3} "funder" {:number_of_shards 1 :number_of_replicas 3} "subject" {:number_of_shards 1 :number_of_replicas 3} - "coverage" {:number_of_shards 1 :number_of_replicas 3} + "coverage" {:number_of_shards 1 :number_of_replicas 3 :index.mapping.total_fields.limit 1500} "journal" {:number_of_shards 1 :number_of_replicas 3}}) (defn create-indexes diff --git a/src/cayenne/tasks/coverage.clj b/src/cayenne/tasks/coverage.clj index 649bd468..782ac52d 100644 --- a/src/cayenne/tasks/coverage.clj +++ b/src/cayenne/tasks/coverage.clj @@ -39,29 +39,9 @@ (defn coverage [total-count check-count] (if (zero? total-count) - 0 + 0.0 (double (/ check-count total-count)))) -(defn make-filter-check [member-action check-name filter-name filter-value] - (fn [type id] - (let [total-count (get-work-count type id) - total-back-file-count (get-work-count type id :timing :backfile) - total-current-count (get-work-count type id :timing :current) - filter-back-file-count (get-work-count type id - :filters {filter-name [filter-value]} - :timing :backfile) - filter-current-count (get-work-count type id - :filters {filter-name [filter-value]} - :timing :current)] - {:flags {(keyword (str member-action "-" check-name "-current")) - (not (zero? filter-current-count)) - (keyword (str member-action "-" check-name "-backfile")) - (not (zero? filter-back-file-count))} - :coverage {(keyword (str check-name "-current")) - (coverage total-current-count filter-current-count) - (keyword (str check-name "-backfile")) - (coverage total-back-file-count filter-back-file-count)}}))) - (defn check-deposits [type id] {:flags {:deposits @@ -77,27 +57,17 @@ (not))}}) (def checkles - [check-deposits - check-deposits-articles - (make-filter-check "deposits" "affiliations" :has-affiliation "true") - (make-filter-check "deposits" "abstracts" :has-abstract "true") - (make-filter-check "deposits" "update-policies" :has-update-policy "true") - (make-filter-check "deposits" "references" :has-references "true") - (make-filter-check "deposits" "licenses" :has-license "true") - (make-filter-check "deposits" "resource-links" :has-full-text "true") - (make-filter-check "deposits" "orcids" :has-orcid "true") - (make-filter-check "deposits" "award-numbers" :has-award "true") - (make-filter-check "deposits" "funders" :has-funder "true")]) - -(defn check-record-coverage [record & {:keys [type id-field]}] - (-> {} - (merge - (reduce (fn [rslt chk-fn] - (let [check-result (chk-fn type (get record id-field))] - {:flags (merge (:flags rslt) (:flags check-result)) - :coverage (merge (:coverage rslt) (:coverage check-result))})) - {} - checkles)))) + [{:name "affiliations" :filter {:has-affiliation ["true"]}} + {:name "abstracts" :filter {:has-abstract ["true"]}} + {:name "update-policies" :filter {:has-update-policy ["true"]}} + {:name "references" :filter {:has-references ["true"]}} + {:name "licenses" :filter {:has-license ["true"]}} + {:name "resource-links" :filter {:has-full-text ["true"]}} + {:name "orcids" :filter {:has-orcid ["true"]}} + {:name "award-numbers" :filter {:has-award ["true"]}} + {:name "funders" :filter {:has-funder ["true"]}} + {:name "open-references" :filter {:reference-visibility ["open"]}} + {:name "similarity-checking" :filter {:full-text [[:application ["similarity-checking"]]]}}]) (defn check-breakdowns [record & {:keys [type id-field]}] (let [record-id (get record id-field) @@ -120,31 +90,36 @@ :current-dois current-count :total-dois (+ backfile-count current-count)})) -(defn get-type-counts [record-id content-type] - (let [backfile-count (get-work-count type record-id :timing :backfile :filters {:type [(name content-type)]}) - current-count (get-work-count type record-id :timing :current :filters {:type [(name content-type)]})] - (cond-> {} - (pos? backfile-count) - (assoc :backfile {content-type backfile-count}) - (pos? current-count) - (assoc :current {content-type current-count}) - (or (pos? current-count) (pos? backfile-count)) - (assoc :all {content-type (+ current-count backfile-count)})))) - -(defn check-type-counts [record & {:keys [type id-field]}] +(defn get-check-counts [record-id type content-type] + (let [filters (if (= content-type :all) {} {:type [(name content-type)]}) + total-backfile-counts (get-work-count type record-id :timing :backfile :filters filters) + total-current-counts (get-work-count type record-id :timing :current :filters filters)] + (reduce + (fn [m v] + (let [check-backfile-counts (get-work-count type record-id :timing :backfile :filters (merge filters (:filter v))) + check-current-counts (get-work-count type record-id :timing :current :filters (merge filters (:filter v)))] + (-> m + (assoc-in [:backfile content-type (keyword (str (:name v)))] (coverage total-backfile-counts check-backfile-counts)) + (assoc-in [:current content-type (keyword (str (:name v)))] (coverage total-current-counts check-current-counts)) + (assoc-in [:all content-type (keyword (str (:name v)))] (coverage (+ total-current-counts total-backfile-counts) (+ check-backfile-counts check-current-counts)))))) + {:all {content-type {:_count (+ total-backfile-counts total-current-counts)}} + :current {content-type {:_count total-current-counts}} + :backfile {content-type {:_count total-backfile-counts}}} + checkles))) + +(defn check-type-coverage [record & {:keys [type id-field]}] (let [record-id (get record id-field)] (apply merge-with merge - (map (partial get-type-counts record-id) (keys type-id/type-dictionary))))) + (map (partial get-check-counts record-id type) (conj (keys type-id/type-dictionary) :all))))) (defn index-coverage-command [record & {:keys [type id-field]}] (let [started-date (dt/now) record-source (:_source record) record-counts (check-record-counts record-source :type type :id-field id-field) - type-counts (check-type-counts record-source :type type :id-field id-field) - breakdowns (check-breakdowns record-source :type type :id-field id-field) - coverage (check-record-coverage record-source :type type :id-field id-field)] + coverage (check-type-coverage record-source :type type :id-field id-field) + breakdowns (check-breakdowns record-source :type type :id-field id-field)] [{:index {:_id (.toString (UUID/randomUUID))}} {:subject-type (name type) :subject-id (get record-source id-field) @@ -153,7 +128,6 @@ :total-dois (:total-dois record-counts) :backfile-dois (:backfile-dois record-counts) :current-dois (:current-dois record-counts) - :type-counts type-counts :breakdowns breakdowns :coverage coverage}])) From 56c4bc62463e3eb61f00388ab04fcc3236a43028 Mon Sep 17 00:00:00 2001 From: Mark Woodhall Date: Wed, 25 Jul 2018 15:09:28 +0100 Subject: [PATCH 156/156] Fix failing funder works test --- dev-resources/funders/100000002-works.edn | 326 ++++++++++++++++++- dev-resources/funders/100009429-works.edn | 2 +- dev-resources/funders/501100001602-works.edn | 2 +- test/cayenne/funders_test.clj | 9 +- 4 files changed, 332 insertions(+), 7 deletions(-) diff --git a/dev-resources/funders/100000002-works.edn b/dev-resources/funders/100000002-works.edn index dc37071d..ff39faee 100644 --- a/dev-resources/funders/100000002-works.edn +++ b/dev-resources/funders/100000002-works.edn @@ -719,6 +719,107 @@ {:value "Published by Elsevier Inc.", :name "copyright", :label "Copyright"}]} + {:reference-count 0, + :publisher "Elsevier BV", + :license + [{:start + {:date-parts [[2017 1 1]], + :date-time "2017-01-01T00:00:00Z", + :timestamp 1483228800000}, + :content-version "tdm", + :delay-in-days 0, + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], + :funder + [{:DOI "10.13039/100000002", + :name "NIH", + :doi-asserted-by "publisher"}], + :content-domain + {:domain + ["psyneuen-journal.com" + "clinicalkey.jp" + "clinicalkey.com" + "clinicalkey.es" + "clinicalkey.com.au" + "clinicalkey.fr" + "elsevier.com" + "sciencedirect.com"], + :crossmark-restriction true}, + :short-container-title ["Psychoneuroendocrinology"], + :published-print {:date-parts [[2017 1 1]]}, + :DOI "10.1016/j.psyneuen.2016.10.005", + :type "journal-article", + :created + {:date-parts [[2016 10 18]], + :date-time "2016-10-18T01:27:09Z", + :timestamp 1476754029000}, + :page "56-63", + :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", + :source "Crossref", + :is-referenced-by-count 7, + :title + ["Prenatal maternal cortisol concentrations predict neurodevelopment in middle childhood"], + :prefix "10.1016", + :volume "75", + :author + [{:given "Elysia Poggi", + :family "Davis", + :sequence "first", + :affiliation []} + {:given "Kevin", + :family "Head", + :sequence "additional", + :affiliation []} + {:given "Claudia", + :family "Buss", + :sequence "additional", + :affiliation []} + {:given "Curt A.", + :family "Sandman", + :sequence "additional", + :affiliation []}], + :member "78", + :container-title ["Psychoneuroendocrinology"], + :language "en", + :link + [{:URL + "http://api.elsevier.com/content/article/PII:S0306453016307892?httpAccept=text/xml", + :content-type "text/xml", + :content-version "vor", + :intended-application "text-mining"} + {:URL + "http://api.elsevier.com/content/article/PII:S0306453016307892?httpAccept=text/plain", + :content-type "text/plain", + :content-version "vor", + :intended-application "text-mining"}], + :deposited + {:date-parts [[2017 11 30]], + :date-time "2017-11-30T15:51:09Z", + :timestamp 1512057069000}, + :score 0.0, + :issued {:date-parts [[2017 1 1]]}, + :references-count 0, + :alternative-id ["S0306453016307892"], + :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.10.005", + :ISSN ["0306-4530"], + :issn-type [{:value "0306-4530", :type "print"}], + :assertion + [{:value "Elsevier", + :name "publisher", + :label "This article is maintained by"} + {:value + "Prenatal maternal cortisol concentrations predict neurodevelopment in middle childhood", + :name "articletitle", + :label "Article Title"} + {:value "Psychoneuroendocrinology", + :name "journaltitle", + :label "Journal Title"} + {:value "http://dx.doi.org/10.1016/j.psyneuen.2016.10.005", + :name "articlelink", + :label "CrossRef DOI link to publisher maintained version"} + {:value "article", :name "content_type", :label "Content Type"} + {:value "© 2016 Published by Elsevier Ltd.", + :name "copyright", + :label "Copyright"}]} {:reference-count 0, :publisher "Elsevier BV", :license @@ -1665,6 +1766,131 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]} + {:reference-count 0, + :publisher "Elsevier BV", + :license + [{:start + {:date-parts [[2017 2 1]], + :date-time "2017-02-01T00:00:00Z", + :timestamp 1485907200000}, + :content-version "tdm", + :delay-in-days 0, + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], + :funder + [{:name + "Federal funds from the National Institute of Child Health and Human Development"} + {:name + "National Institute on Drug Abuse, the National Institute of Mental Health"} + {:DOI "10.13039/100000065", + :name "National Institute of Neurological Disorders and Stroke", + :doi-asserted-by "publisher"}], + :content-domain + {:domain + ["psyneuen-journal.com" + "clinicalkey.jp" + "clinicalkey.com" + "clinicalkey.es" + "clinicalkey.com.au" + "clinicalkey.fr" + "elsevier.com" + "sciencedirect.com"], + :crossmark-restriction true}, + :short-container-title ["Psychoneuroendocrinology"], + :published-print {:date-parts [[2017 2 1]]}, + :DOI "10.1016/j.psyneuen.2016.12.005", + :type "journal-article", + :created + {:date-parts [[2016 12 8]], + :date-time "2016-12-08T20:48:35Z", + :timestamp 1481230115000}, + :page "206-217", + :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", + :source "Crossref", + :is-referenced-by-count 5, + :title + ["Sex-specific associations of testosterone with prefrontal-hippocampal development and executive function"], + :prefix "10.1016", + :volume "76", + :author + [{:given "Tuong-Vi", + :family "Nguyen", + :sequence "first", + :affiliation []} + {:given "Jimin", + :family "Lew", + :sequence "additional", + :affiliation []} + {:given "Matthew D.", + :family "Albaugh", + :sequence "additional", + :affiliation []} + {:given "Kelly N.", + :family "Botteron", + :sequence "additional", + :affiliation []} + {:given "James J.", + :family "Hudziak", + :sequence "additional", + :affiliation []} + {:given "Vladimir S.", + :family "Fonov", + :sequence "additional", + :affiliation []} + {:given "D. Louis", + :family "Collins", + :sequence "additional", + :affiliation []} + {:given "Simon", + :family "Ducharme", + :sequence "additional", + :affiliation []} + {:given "James T.", + :family "McCracken", + :sequence "additional", + :affiliation []}], + :member "78", + :container-title ["Psychoneuroendocrinology"], + :language "en", + :link + [{:URL + "http://api.elsevier.com/content/article/PII:S0306453016309994?httpAccept=text/plain", + :content-type "text/plain", + :content-version "vor", + :intended-application "text-mining"} + {:URL + "http://api.elsevier.com/content/article/PII:S0306453016309994?httpAccept=text/xml", + :content-type "text/xml", + :content-version "vor", + :intended-application "text-mining"}], + :deposited + {:date-parts [[2017 6 25]], + :date-time "2017-06-25T05:32:33Z", + :timestamp 1498368753000}, + :score 0.0, + :issued {:date-parts [[2017 2 1]]}, + :references-count 0, + :alternative-id ["S0306453016309994"], + :URL "http://dx.doi.org/10.1016/j.psyneuen.2016.12.005", + :ISSN ["0306-4530"], + :issn-type [{:value "0306-4530", :type "print"}], + :assertion + [{:value "Elsevier", + :name "publisher", + :label "This article is maintained by"} + {:value + "Sex-specific associations of testosterone with prefrontal-hippocampal development and executive function", + :name "articletitle", + :label "Article Title"} + {:value "Psychoneuroendocrinology", + :name "journaltitle", + :label "Journal Title"} + {:value "http://dx.doi.org/10.1016/j.psyneuen.2016.12.005", + :name "articlelink", + :label "CrossRef DOI link to publisher maintained version"} + {:value "article", :name "content_type", :label "Content Type"} + {:value "© 2016 Elsevier Ltd. All rights reserved.", + :name "copyright", + :label "Copyright"}]} {:reference-count 0, :publisher "Elsevier BV", :license @@ -1757,6 +1983,104 @@ {:value "© 2017 Elsevier Inc. All rights reserved.", :name "copyright", :label "Copyright"}]} + {:reference-count 0, + :publisher "Elsevier BV", + :license + [{:start + {:date-parts [[2017 1 1]], + :date-time "2017-01-01T00:00:00Z", + :timestamp 1483228800000}, + :content-version "tdm", + :delay-in-days 0, + :URL "http://www.elsevier.com/tdm/userlicense/1.0/"}], + :funder + [{:DOI "10.13039/100000002", + :name "NIH", + :doi-asserted-by "publisher"} + {:name "NIH Office of Research Infrastructure Programs"}], + :content-domain + {:domain ["elsevier.com" "sciencedirect.com"], + :crossmark-restriction true}, + :short-container-title ["Hormones and Behavior"], + :published-print {:date-parts [[2017 1 1]]}, + :DOI "10.1016/j.yhbeh.2016.10.009", + :type "journal-article", + :created + {:date-parts [[2016 10 26]], + :date-time "2016-10-26T04:01:20Z", + :timestamp 1477454480000}, + :page "16-24", + :update-policy "http://dx.doi.org/10.1016/elsevier_cm_policy", + :source "Crossref", + :is-referenced-by-count 10, + :title + ["Oxytocin receptors modulate a social salience neural network in male prairie voles"], + :prefix "10.1016", + :volume "87", + :author + [{:given "Zachary V.", + :family "Johnson", + :sequence "first", + :affiliation []} + {:given "Hasse", + :family "Walum", + :sequence "additional", + :affiliation []} + {:given "Yao", + :family "Xiao", + :sequence "additional", + :affiliation []} + {:given "Paula C.", + :family "Riefkohl", + :sequence "additional", + :affiliation []} + {:given "Larry J.", + :family "Young", + :sequence "additional", + :affiliation []}], + :member "78", + :container-title ["Hormones and Behavior"], + :language "en", + :link + [{:URL + "http://api.elsevier.com/content/article/PII:S0018506X1630280X?httpAccept=text/xml", + :content-type "text/xml", + :content-version "vor", + :intended-application "text-mining"} + {:URL + "http://api.elsevier.com/content/article/PII:S0018506X1630280X?httpAccept=text/plain", + :content-type "text/plain", + :content-version "vor", + :intended-application "text-mining"}], + :deposited + {:date-parts [[2017 8 24]], + :date-time "2017-08-24T19:55:39Z", + :timestamp 1503604539000}, + :score 0.0, + :issued {:date-parts [[2017 1 1]]}, + :references-count 0, + :alternative-id ["S0018506X1630280X"], + :URL "http://dx.doi.org/10.1016/j.yhbeh.2016.10.009", + :ISSN ["0018-506X"], + :issn-type [{:value "0018-506X", :type "print"}], + :assertion + [{:value "Elsevier", + :name "publisher", + :label "This article is maintained by"} + {:value + "Oxytocin receptors modulate a social salience neural network in male prairie voles", + :name "articletitle", + :label "Article Title"} + {:value "Hormones and Behavior", + :name "journaltitle", + :label "Journal Title"} + {:value "http://dx.doi.org/10.1016/j.yhbeh.2016.10.009", + :name "articlelink", + :label "CrossRef DOI link to publisher maintained version"} + {:value "article", :name "content_type", :label "Content Type"} + {:value "Published by Elsevier Inc.", + :name "copyright", + :label "Copyright"}]} {:reference-count 0, :publisher "American Chemical Society (ACS)", :issue "2", @@ -2127,5 +2451,5 @@ :URL "http://dx.doi.org/10.3389/fnbeh.2016.00221", :ISSN ["1662-5153"], :issn-type [{:value "1662-5153", :type "electronic"}]}), - :items-per-page 20, + :items-per-page 1000, :query {:start-index 0, :search-terms nil}} diff --git a/dev-resources/funders/100009429-works.edn b/dev-resources/funders/100009429-works.edn index e5c25190..1069d9ec 100644 --- a/dev-resources/funders/100009429-works.edn +++ b/dev-resources/funders/100009429-works.edn @@ -97,5 +97,5 @@ {:value "© 2016 Elsevier Ltd. All rights reserved.", :name "copyright", :label "Copyright"}]}), - :items-per-page 20, + :items-per-page 1000, :query {:start-index 0, :search-terms nil}} diff --git a/dev-resources/funders/501100001602-works.edn b/dev-resources/funders/501100001602-works.edn index 5d1b1a1a..114683d2 100644 --- a/dev-resources/funders/501100001602-works.edn +++ b/dev-resources/funders/501100001602-works.edn @@ -223,5 +223,5 @@ {:value "© 2016 The Authors. Published by Elsevier Inc.", :name "copyright", :label "Copyright"}]}), - :items-per-page 20, + :items-per-page 1000, :query {:start-index 0, :search-terms nil}} diff --git a/test/cayenne/funders_test.clj b/test/cayenne/funders_test.clj index 8810d37a..0e1a4078 100644 --- a/test/cayenne/funders_test.clj +++ b/test/cayenne/funders_test.clj @@ -20,11 +20,12 @@ (let [response (api-get (str "/v1/funders/" funder)) expected-response (read-string (slurp (resource (str "funders/" funder ".edn"))))] (is (= expected-response response))))) + (testing "funders/works endpoint returns expected result for funder" - (doseq [funder ["100000002" "100009429" "501100001602" ]] - (let [response (api-get (str "/v1/funders/" funder "/works")) - expected-response (read-string (slurp (resource (str "funders/" funder "-works.edn"))))] - (is (= expected-response response)))))) + (doseq [funder ["100000002" "100009429" "501100001602" ]] + (let [response (api-get (str "/v1/funders/" funder "/works?rows=1000")) + expected-response (read-string (slurp (resource (str "funders/" funder "-works.edn"))))] + (is (= expected-response response)))))) (use-fixtures :once