Coverage report: /development/source/library/org/datagraph/spocq-shard/src/shell/timemap.lisp
| Kind | Covered | All | % |
| expression | 0 | 55 | 0.0 |
| branch | 0 | 0 | nil |
Key
Not instrumented
Conditionalized out
Executed
Not executed
Both branches taken
One branch taken
Neither branch taken
1
;;; -*- Mode: lisp; Syntax: ansi-common-lisp; Base: 10; Package: org.datagraph.spocq.implementation; -*-
3
(in-package :org.datagraph.spocq.implementation)
6
generate timemap as ntriples
8
sbcl --core sbcl-spocq.core
9
(sb-ext:save-lisp-and-die "timemap" :executable t :toplevel #'spocq.i::main-timemap)
11
sbcl --core sbcl-spocq.core
12
(sb-ext:save-lisp-and-die "spocq-shell" :executable t)
14
? make it available as a static service?
15
http://www.iana.org/assignments/media-types/application/link-format
18
(defun main-timemap (&rest args &key
19
(query-parameters (sb-posix:getenv "QUERY_STRING"))
20
((:response-content-type *response-content-type*) (select-mime-type (sb-posix:getenv "HTTP_ACCEPT")
21
(list mime:text/plain mime:application/link-format mime:*/*)))
24
(handler-bind ((serious-condition
26
(log-stacktrace "Error in request thread: ~a -> ~a." query-parameters condition)
27
(format *standard-output* "<html><body><pre>~a</pre></body></html>~%" condition)
29
(return-from main-timemap))))
31
;; allow request query arguments to override the static script arguments
32
(with-command-line-configuration (:allow-other-keys t (append (parse-query-parameters query-parameters) args))
33
(setq *start-timestamp* (iso-time))
34
(initialize-spocq :title (or (getarg "--title") "spocqtimemap"))
35
(log-info "Start timemap ~a: (~a)" *start-timestamp* *response-content-type*)
36
(destructuring-bind (&key (properties *timemap-properties*)
37
(timemap-properties properties)
39
*request-configuration*
40
(flet ((split-iri-string (value)
42
(string (mapcar #'intern-iri (split-string value #(#\space))))
44
(assert *repository-id* () "repository-id is required.")
45
(send-response-message :|timemap|
46
(compute-timemap *repository-id* :timemap-properties (split-iri-string timemap-properties))
48
*response-content-type*))))))
53
rapper -i ntriples --count 'http://admin.dydra.com/cgi-bin/timemap.sh?repository-id=statistics/de4.dydra.com&response-limit=200'
54
curl 'http://admin.dydra.com/cgi-bin/timemap.sh?repository-id=statistics/de4.dydra.com&response-limit=20'
56
QUERY_STRING='repository-id=statistics/de1.dydra.com&response-limit=20' ./timemap.sh
57
QUERY_STRING='repository-id=statistics/de4.dydra.com&response-limit=20' ./timemap.sh
58
QUERY_STRING='repository-id=statistics/de4.dydra.com&response-limit=20&properties=http://www.mementoweb.org/terms/tb/end' ./timemap.sh
60
(compute-timemap (repository "jhacker/basic-term-1") :timemap-properties '(|rdf|:|type|))
61
(main-timemap :query-parameters "repository=jhacker/basic-term-1")
62
(main-timemap :query-parameters "repository=statistics/de1.dydra.com&response-limit=20")
63
(main-timemap :query-parameters "repository=jhacker/basic-term-1&properties=http://www.mementoweb.org/terms/tb/end%20http://www.mementoweb.org/terms/tb/start")
64
(main-timemap :query-parameters "repository=statistics/de4.dydra.com&response-limit=21&properties=http://www.mementoweb.org/terms/tb/start")
67
<http://wulff.dev/jhacker/basic-term-1> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.openarchives.org/ore/terms/ResourceMap> .
68
<http://wulff.dev/jhacker/basic-term-1> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.mementoweb.org/terms/tb/TimeMap> .
69
<http://wulff.dev/jhacker/basic-term-1> <http://purl.org/dc/terms/modified> "2013-03-29T14:39:52Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> .
70
<http://wulff.dev/jhacker/basic-term-1> <http://purl.org/dc/terms/created> "2013-03-29T14:39:52Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> .
71
_:timebundle <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.openarchives.org/ore/terms/Aggregation> .
72
_:timebundle <http://www.openarchives.org/ore/terms/aggregates> <urn:dydra:revision:fd578100-ebaf-11e1-a207-0665032ba83f> .
73
_:timebundle <http://www.openarchives.org/ore/terms/aggregates> <urn:dydra:revision:eb75de00-ebaf-11e1-a207-0665032ba83f> .
74
_:timebundle <http://www.openarchives.org/ore/terms/aggregates> <urn:dydra:revision:9934bd00-ebaf-11e1-a207-0665032ba83f> .
75
_:timebundle <http://www.openarchives.org/ore/terms/aggregates> <urn:dydra:revision:45c26f00-ebaf-11e1-a207-0665032ba83f> .
76
_:timebundle <http://www.openarchives.org/ore/terms/aggregates> <urn:dydra:revision:eb7da068-be68-434e-ab9d-9dceaa2cc95e> .
77
_:timebundle <http://www.openarchives.org/ore/terms/aggregates> <http://wulff.dev/jhacker/basic-term-1> .
78
_:timebundle <http://purl.org/dc/elements/1.1/title> "Memento Time Bundle for 'http://wulff.dev/jhacker/basic-term-1'" .
79
_:timebundle <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.mementoweb.org/terms/tb/TimeBundle> .
80
<http://wulff.dev/jhacker/basic-term-1> <http://www.openarchives.org/ore/terms/describes> _:timebundle .
81
<http://wulff.dev/jhacker/basic-term-1> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.mementoweb.org/terms/tb/TimeGate> .
82
<http://wulff.dev/jhacker/basic-term-1> <http://www.mementoweb.org/terms/tb/timeGateFor> <http://wulff.dev/jhacker/basic-term-1> .
83
<http://wulff.dev/jhacker/basic-term-1> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.mementoweb.org/terms/tb/OriginalResource> .
84
<http://wulff.dev/jhacker/basic-term-1> <http://www.mementoweb.org/terms/tb/covers> _:blank0 .
85
_:blank0 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.mementoweb.org/terms/tb/Period> .
86
_:blank0 <http://www.mementoweb.org/terms/tb/start> 2012-06-30T12:53:13Z^^<http://www.w3.org/2001/XMLSchema#dateTime> .
87
<urn:dydra:revision:fd578100-ebaf-11e1-a207-0665032ba83f> <http://www.mementoweb.org/terms/tb/validOver> _:blank1 .
88
<urn:dydra:revision:fd578100-ebaf-11e1-a207-0665032ba83f> <http://www.mementoweb.org/terms/tb/mementoFor> <http://wulff.dev/jhacker/basic-term-1> .
89
<urn:dydra:revision:fd578100-ebaf-11e1-a207-0665032ba83f> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.mementoweb.org/terms/tb/Memento> .
90
_:blank1 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.mementoweb.org/terms/tb/Period> .
91
_:blank1 <http://www.mementoweb.org/terms/tb/start> 2012-08-21T16:48:10Z^^<http://www.w3.org/2001/XMLSchema#dateTime> .
92
<urn:dydra:revision:eb75de00-ebaf-11e1-a207-0665032ba83f> <http://www.mementoweb.org/terms/tb/validOver> _:blank2 .
93
<urn:dydra:revision:eb75de00-ebaf-11e1-a207-0665032ba83f> <http://www.mementoweb.org/terms/tb/mementoFor> <http://wulff.dev/jhacker/basic-term-1> .
94
<urn:dydra:revision:eb75de00-ebaf-11e1-a207-0665032ba83f> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.mementoweb.org/terms/tb/Memento> .
95
_:blank2 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.mementoweb.org/terms/tb/Period> .
96
_:blank2 <http://www.mementoweb.org/terms/tb/start> 2012-08-21T16:47:40Z^^<http://www.w3.org/2001/XMLSchema#dateTime> .
97
_:blank2 <http://www.mementoweb.org/terms/tb/end> 2012-08-21T16:48:10Z^^<http://www.w3.org/2001/XMLSchema#dateTime> .
98
<urn:dydra:revision:9934bd00-ebaf-11e1-a207-0665032ba83f> <http://www.mementoweb.org/terms/tb/validOver> _:blank3 .
99
<urn:dydra:revision:9934bd00-ebaf-11e1-a207-0665032ba83f> <http://www.mementoweb.org/terms/tb/mementoFor> <http://wulff.dev/jhacker/basic-term-1> .
100
<urn:dydra:revision:9934bd00-ebaf-11e1-a207-0665032ba83f> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.mementoweb.org/terms/tb/Memento> .
101
_:blank3 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.mementoweb.org/terms/tb/Period> .
102
_:blank3 <http://www.mementoweb.org/terms/tb/start> 2012-08-21T16:45:22Z^^<http://www.w3.org/2001/XMLSchema#dateTime> .
103
_:blank3 <http://www.mementoweb.org/terms/tb/end> 2012-08-21T16:47:40Z^^<http://www.w3.org/2001/XMLSchema#dateTime> .
104
<urn:dydra:revision:45c26f00-ebaf-11e1-a207-0665032ba83f> <http://www.mementoweb.org/terms/tb/validOver> _:blank4 .
105
<urn:dydra:revision:45c26f00-ebaf-11e1-a207-0665032ba83f> <http://www.mementoweb.org/terms/tb/mementoFor> <http://wulff.dev/jhacker/basic-term-1> .
106
<urn:dydra:revision:45c26f00-ebaf-11e1-a207-0665032ba83f> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.mementoweb.org/terms/tb/Memento> .
107
_:blank4 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.mementoweb.org/terms/tb/Period> .
108
_:blank4 <http://www.mementoweb.org/terms/tb/start> 2012-08-21T16:43:02Z^^<http://www.w3.org/2001/XMLSchema#dateTime> .
109
_:blank4 <http://www.mementoweb.org/terms/tb/end> 2012-08-21T16:45:22Z^^<http://www.w3.org/2001/XMLSchema#dateTime> .
110
<urn:dydra:revision:eb7da068-be68-434e-ab9d-9dceaa2cc95e> <http://www.mementoweb.org/terms/tb/validOver> _:blank5 .
111
<urn:dydra:revision:eb7da068-be68-434e-ab9d-9dceaa2cc95e> <http://www.mementoweb.org/terms/tb/mementoFor> <http://wulff.dev/jhacker/basic-term-1> .
112
<urn:dydra:revision:eb7da068-be68-434e-ab9d-9dceaa2cc95e> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.mementoweb.org/terms/tb/Memento> .
113
_:blank5 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.mementoweb.org/terms/tb/Period> .
114
_:blank5 <http://www.mementoweb.org/terms/tb/start> 2012-06-30T12:53:13Z^^<http://www.w3.org/2001/XMLSchema#dateTime> .
115
_:blank5 <http://www.mementoweb.org/terms/tb/end> 2012-08-21T16:43:02Z^^<http://www.w3.org/2001/XMLSchema#dateTime> .
118
;;; the lim it is 30, but the actual result is just 28 as the next revision would not fit
119
(main-timemap :query-parameters "repository=statistics/de4.dydra.com&response-limit=30")
121
<http://admin.dydra.com/statistics/de4.dydra.com> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.openarchives.org/ore/terms/ResourceMap> .
122
<http://admin.dydra.com/statistics/de4.dydra.com> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.mementoweb.org/terms/tb/TimeMap> .
123
<http://admin.dydra.com/statistics/de4.dydra.com> <http://purl.org/dc/terms/modified> "2013-03-29T17:28:45Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> .
124
<http://admin.dydra.com/statistics/de4.dydra.com> <http://purl.org/dc/terms/created> "2013-03-29T17:28:45Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> .
125
_:timebundle <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.openarchives.org/ore/terms/Aggregation> .
126
_:timebundle <http://www.openarchives.org/ore/terms/aggregates> <http://admin.dydra.com/statistics/de4.dydra.com> .
127
_:timebundle <http://purl.org/dc/elements/1.1/title> "Memento Time Bundle for 'http://admin.dydra.com/statistics/de4.dydra.com'" .
128
_:timebundle <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.mementoweb.org/terms/tb/TimeBundle> .
129
<http://admin.dydra.com/statistics/de4.dydra.com> <http://www.openarchives.org/ore/terms/describes> _:timebundle .
130
<http://admin.dydra.com/statistics/de4.dydra.com> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.mementoweb.org/terms/tb/TimeGate> .
131
<http://admin.dydra.com/statistics/de4.dydra.com> <http://www.mementoweb.org/terms/tb/timeGateFor> <http://admin.dydra.com/statistics/de4.dydra.com> .
132
<http://admin.dydra.com/statistics/de4.dydra.com> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.mementoweb.org/terms/tb/OriginalResource> .
133
<http://admin.dydra.com/statistics/de4.dydra.com> <http://www.mementoweb.org/terms/tb/covers> _:blank0 .
134
_:blank0 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.mementoweb.org/terms/tb/Period> .
135
_:blank0 <http://www.mementoweb.org/terms/tb/start> "2013-03-05T22:34:44Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> .
136
_:timebundle <http://www.openarchives.org/ore/terms/aggregates> <urn:dydra:revision:445b8651-32a6-a04d-8fcb-c2c10a7669b1> .
137
<urn:dydra:revision:445b8651-32a6-a04d-8fcb-c2c10a7669b1> <http://www.mementoweb.org/terms/tb/validOver> _:blank1 .
138
<urn:dydra:revision:445b8651-32a6-a04d-8fcb-c2c10a7669b1> <http://www.mementoweb.org/terms/tb/mementoFor> <http://admin.dydra.com/statistics/de4.dydra.com> .
139
<urn:dydra:revision:445b8651-32a6-a04d-8fcb-c2c10a7669b1> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.mementoweb.org/terms/tb/Memento> .
140
_:blank1 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.mementoweb.org/terms/tb/Period> .
141
_:blank1 <http://www.mementoweb.org/terms/tb/start> "2013-03-26T17:54:43Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> .
142
_:timebundle <http://www.openarchives.org/ore/terms/aggregates> <urn:dydra:revision:83c07043-d2a2-1d4e-9d20-0b047c97d671> .
143
<urn:dydra:revision:83c07043-d2a2-1d4e-9d20-0b047c97d671> <http://www.mementoweb.org/terms/tb/validOver> _:blank2 .
144
<urn:dydra:revision:83c07043-d2a2-1d4e-9d20-0b047c97d671> <http://www.mementoweb.org/terms/tb/mementoFor> <http://admin.dydra.com/statistics/de4.dydra.com> .
145
<urn:dydra:revision:83c07043-d2a2-1d4e-9d20-0b047c97d671> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.mementoweb.org/terms/tb/Memento> .
146
_:blank2 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.mementoweb.org/terms/tb/Period> .
147
_:blank2 <http://www.mementoweb.org/terms/tb/start> "2013-03-26T16:54:42Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> .
148
_:blank2 <http://www.mementoweb.org/terms/tb/end> "2013-03-26T17:54:43Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> .