ftr_ruby 0.1.1 → 0.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,1355 @@
1
+ <!DOCTYPE html>
2
+
3
+ <html lang="en">
4
+ <head>
5
+ <meta charset="UTF-8">
6
+ <meta name="viewport" content="width=device-width, initial-scale=1">
7
+
8
+ <title>class FtrRuby::Output - RDoc Documentation</title>
9
+
10
+
11
+ <meta
12
+ name="keywords"
13
+ content="ruby,class,FtrRuby::Output"
14
+ >
15
+
16
+ <meta
17
+ name="description"
18
+ content="class FtrRuby::Output: result of executing a FAIR test against a specific resource. This class generates a provenance-rich RDF graph describing a single test execution, incl"
19
+ >
20
+
21
+
22
+
23
+
24
+
25
+ <!-- Open Graph / Facebook -->
26
+ <meta property="og:type" content="website">
27
+ <meta property="og:title" content="class FtrRuby::Output - RDoc Documentation">
28
+
29
+
30
+
31
+ <meta property="og:description" content="result of executing a FAIR test against a specific resource. This class generates a provenance-rich RDF graph describing a single test execution, incl">
32
+
33
+
34
+
35
+
36
+
37
+ <!-- Twitter -->
38
+ <meta name="twitter:card" content="summary">
39
+ <meta name="twitter:title" content="class FtrRuby::Output - RDoc Documentation">
40
+
41
+
42
+
43
+ <meta name="twitter:description" content="result of executing a FAIR test against a specific resource. This class generates a provenance-rich RDF graph describing a single test execution, incl">
44
+
45
+
46
+
47
+ <script type="text/javascript">
48
+ var rdoc_rel_prefix = "../";
49
+ var index_rel_prefix = "../";
50
+ </script>
51
+
52
+ <script
53
+ src="../js/theme-toggle.js?v=7.2.0"
54
+ ></script>
55
+
56
+ <script
57
+ src="../js/search_navigation.js?v=7.2.0"
58
+ defer
59
+ ></script>
60
+
61
+ <script
62
+ src="../js/search_data.js?v=7.2.0"
63
+ defer
64
+ ></script>
65
+
66
+ <script
67
+ src="../js/search_ranker.js?v=7.2.0"
68
+ defer
69
+ ></script>
70
+
71
+ <script
72
+ src="../js/search_controller.js?v=7.2.0"
73
+ defer
74
+ ></script>
75
+
76
+ <script
77
+ src="../js/c_highlighter.js?v=7.2.0"
78
+ defer
79
+ ></script>
80
+
81
+ <script
82
+ src="../js/bash_highlighter.js?v=7.2.0"
83
+ defer
84
+ ></script>
85
+
86
+ <script
87
+ src="../js/aliki.js?v=7.2.0"
88
+ defer
89
+ ></script>
90
+
91
+ <link
92
+ href="../css/rdoc.css?v=7.2.0"
93
+ rel="stylesheet"
94
+ >
95
+
96
+
97
+
98
+
99
+ <body role="document" class="class has-toc">
100
+ <svg xmlns="http://www.w3.org/2000/svg" style="display: none;">
101
+ <!-- Chevron (right arrow) - used for expand/collapse -->
102
+ <symbol
103
+ id="icon-chevron"
104
+ viewBox="0 0 24 24"
105
+ fill="none"
106
+ stroke="currentColor"
107
+ stroke-width="2"
108
+ stroke-linecap="round"
109
+ stroke-linejoin="round"
110
+ >
111
+ <polyline points="9 18 15 12 9 6"></polyline>
112
+ </symbol>
113
+
114
+ <!-- File/Document - Pages section -->
115
+ <symbol
116
+ id="icon-file"
117
+ viewBox="0 0 24 24"
118
+ fill="none"
119
+ stroke="currentColor"
120
+ stroke-width="2"
121
+ stroke-linecap="round"
122
+ stroke-linejoin="round"
123
+ >
124
+ <path
125
+ d="M14.5 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7.5L14.5 2z"
126
+ ></path>
127
+
128
+ <polyline points="14 2 14 8 20 8"></polyline>
129
+ </symbol>
130
+
131
+ <!-- Layers/Stack - Classes and Modules section -->
132
+ <symbol
133
+ id="icon-layers"
134
+ viewBox="0 0 24 24"
135
+ fill="none"
136
+ stroke="currentColor"
137
+ stroke-width="2"
138
+ stroke-linecap="round"
139
+ stroke-linejoin="round"
140
+ >
141
+ <polygon points="12 2 2 7 12 12 22 7 12 2"></polygon>
142
+ <polyline points="2 17 12 22 22 17"></polyline>
143
+ <polyline points="2 12 12 17 22 12"></polyline>
144
+ </symbol>
145
+
146
+ <!-- Curly braces with C - Class Methods section -->
147
+ <symbol
148
+ id="icon-class-methods"
149
+ viewBox="0 0 24 24"
150
+ fill="none"
151
+ stroke="currentColor"
152
+ stroke-width="2"
153
+ stroke-linecap="round"
154
+ stroke-linejoin="round"
155
+ >
156
+ <path d="M6 3C3.5 3 2 4.5 2 7v3c0 1.5-1 2-1 2s1 .5 1 2v5c0 2.5 1.5 4 4 4"></path>
157
+ <path d="M18 3c2.5 0 4 1.5 4 4v3c0 1.5 1 2 1 2s-1 .5-1 2v5c0 2.5-1.5 4-4 4"></path>
158
+
159
+ <text
160
+ x="12"
161
+ y="17"
162
+ text-anchor="middle"
163
+ font-size="13"
164
+ font-weight="bold"
165
+ fill="currentColor"
166
+ stroke="none"
167
+ >
168
+ C
169
+ </text>
170
+ </symbol>
171
+
172
+ <!-- Curly braces with I - Instance Methods section -->
173
+ <symbol
174
+ id="icon-instance-methods"
175
+ viewBox="0 0 24 24"
176
+ fill="none"
177
+ stroke="currentColor"
178
+ stroke-width="2"
179
+ stroke-linecap="round"
180
+ stroke-linejoin="round"
181
+ >
182
+ <path d="M6 3C3.5 3 2 4.5 2 7v3c0 1.5-1 2-1 2s1 .5 1 2v5c0 2.5 1.5 4 4 4"></path>
183
+ <path d="M18 3c2.5 0 4 1.5 4 4v3c0 1.5 1 2 1 2s-1 .5-1 2v5c0 2.5-1.5 4-4 4"></path>
184
+
185
+ <text
186
+ x="12"
187
+ y="17"
188
+ text-anchor="middle"
189
+ font-size="13"
190
+ font-weight="bold"
191
+ fill="currentColor"
192
+ stroke="none"
193
+ >
194
+ I
195
+ </text>
196
+ </symbol>
197
+
198
+ <!-- Double chevrons up - Ancestors section -->
199
+ <symbol
200
+ id="icon-ancestors"
201
+ viewBox="0 0 24 24"
202
+ fill="none"
203
+ stroke="currentColor"
204
+ stroke-width="2"
205
+ stroke-linecap="round"
206
+ stroke-linejoin="round"
207
+ >
208
+ <polyline points="17 11 12 6 7 11"></polyline>
209
+ <polyline points="17 18 12 13 7 18"></polyline>
210
+ </symbol>
211
+
212
+ <!-- User with plus - Included Modules section -->
213
+ <symbol
214
+ id="icon-includes"
215
+ viewBox="0 0 24 24"
216
+ fill="none"
217
+ stroke="currentColor"
218
+ stroke-width="2"
219
+ stroke-linecap="round"
220
+ stroke-linejoin="round"
221
+ >
222
+ <path d="M16 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2"></path>
223
+ <circle cx="8.5" cy="7" r="4"></circle>
224
+
225
+ <line
226
+ x1="20"
227
+ y1="8"
228
+ x2="20"
229
+ y2="14"
230
+ ></line>
231
+
232
+ <line
233
+ x1="23"
234
+ y1="11"
235
+ x2="17"
236
+ y2="11"
237
+ ></line>
238
+ </symbol>
239
+
240
+ <!-- User with check - Extended Modules section -->
241
+ <symbol
242
+ id="icon-extends"
243
+ viewBox="0 0 24 24"
244
+ fill="none"
245
+ stroke="currentColor"
246
+ stroke-width="2"
247
+ stroke-linecap="round"
248
+ stroke-linejoin="round"
249
+ >
250
+ <path d="M16 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2"></path>
251
+ <circle cx="8.5" cy="7" r="4"></circle>
252
+ <polyline points="17 11 19 13 23 9"></polyline>
253
+ </symbol>
254
+
255
+ <!-- List - Sections section -->
256
+ <symbol
257
+ id="icon-list"
258
+ viewBox="0 0 24 24"
259
+ fill="none"
260
+ stroke="currentColor"
261
+ stroke-width="2"
262
+ stroke-linecap="round"
263
+ stroke-linejoin="round"
264
+ >
265
+ <line
266
+ x1="8"
267
+ y1="6"
268
+ x2="21"
269
+ y2="6"
270
+ ></line>
271
+
272
+ <line
273
+ x1="8"
274
+ y1="12"
275
+ x2="21"
276
+ y2="12"
277
+ ></line>
278
+
279
+ <line
280
+ x1="8"
281
+ y1="18"
282
+ x2="21"
283
+ y2="18"
284
+ ></line>
285
+
286
+ <line
287
+ x1="3"
288
+ y1="6"
289
+ x2="3.01"
290
+ y2="6"
291
+ ></line>
292
+
293
+ <line
294
+ x1="3"
295
+ y1="12"
296
+ x2="3.01"
297
+ y2="12"
298
+ ></line>
299
+
300
+ <line
301
+ x1="3"
302
+ y1="18"
303
+ x2="3.01"
304
+ y2="18"
305
+ ></line>
306
+ </symbol>
307
+ </svg>
308
+
309
+ <header class="top-navbar">
310
+ <a href="../index.html" class="navbar-brand">
311
+ RDoc Documentation
312
+ </a>
313
+
314
+ <!-- Desktop search bar -->
315
+ <div class="navbar-search navbar-search-desktop" role="search">
316
+ <form action="#" method="get" accept-charset="utf-8">
317
+ <input id="search-field" role="combobox" aria-label="Search"
318
+ aria-autocomplete="list" aria-controls="search-results-desktop"
319
+ type="text" name="search" placeholder="Search (/) for a class, method..."
320
+ spellcheck="false" autocomplete="off"
321
+ title="Type to search, Up and Down to navigate, Enter to load">
322
+ <ul id="search-results-desktop" aria-label="Search Results"
323
+ aria-busy="false" aria-expanded="false"
324
+ aria-atomic="false" class="initially-hidden search-results"></ul>
325
+ </form>
326
+ </div>
327
+
328
+ <!-- Mobile search icon button -->
329
+ <button id="search-toggle" class="navbar-search-mobile" aria-label="Open search" type="button">
330
+ <span aria-hidden="true">🔍</span>
331
+ </button>
332
+
333
+ <!-- Theme toggle button -->
334
+ <button id="theme-toggle" class="theme-toggle" aria-label="Switch to dark mode" type="button">
335
+ <span class="theme-toggle-icon" aria-hidden="true">🌙</span>
336
+ </button>
337
+ </header>
338
+
339
+ <!-- Search Modal (Mobile) -->
340
+ <div id="search-modal" class="search-modal" hidden aria-modal="true" role="dialog" aria-label="Search">
341
+ <div class="search-modal-backdrop"></div>
342
+ <div class="search-modal-content">
343
+ <div class="search-modal-header">
344
+ <form class="search-modal-form" action="#" method="get" accept-charset="utf-8">
345
+ <span class="search-modal-icon" aria-hidden="true">🔍</span>
346
+ <input id="search-field-mobile" role="combobox" aria-label="Search"
347
+ aria-autocomplete="list" aria-controls="search-results-mobile"
348
+ type="text" name="search" placeholder="Search documentation"
349
+ spellcheck="false" autocomplete="off">
350
+ <button type="button" class="search-modal-close" aria-label="Close search" id="search-modal-close">
351
+ <span aria-hidden="true">esc</span>
352
+ </button>
353
+ </form>
354
+ </div>
355
+ <div class="search-modal-body">
356
+ <ul id="search-results-mobile" aria-label="Search Results"
357
+ aria-busy="false" aria-expanded="false"
358
+ aria-atomic="false" class="search-results search-modal-results initially-hidden"></ul>
359
+ <div class="search-modal-empty">
360
+ <p>No recent searches</p>
361
+ </div>
362
+ </div>
363
+ </div>
364
+ </div>
365
+
366
+ <div id="navigation-toggle" role="button" tabindex="0" aria-label="Toggle sidebar" aria-expanded="true" aria-controls="navigation">
367
+ <span aria-hidden="true">&#9776;</span>
368
+ </div>
369
+
370
+
371
+ <nav id="navigation" role="navigation" hidden>
372
+
373
+
374
+
375
+
376
+
377
+ <div id="fileindex-section" class="nav-section">
378
+ <details class="nav-section-collapsible" >
379
+ <summary class="nav-section-header">
380
+ <span class="nav-section-icon">
381
+ <svg>
382
+ <use href="#icon-file"></use>
383
+ </svg>
384
+ </span>
385
+
386
+ <span class="nav-section-title">Pages</span>
387
+
388
+ <span class="nav-section-chevron">
389
+ <svg>
390
+ <use href="#icon-chevron"></use>
391
+ </svg>
392
+ </span>
393
+ </summary>
394
+
395
+ <ul class="nav-list">
396
+
397
+
398
+
399
+
400
+
401
+
402
+ <li>
403
+ <a href="../CHANGELOG_md.html">
404
+ CHANGELOG
405
+ </a>
406
+ </li>
407
+
408
+
409
+
410
+
411
+ <li>
412
+ <a href="../Gemfile.html">
413
+ Gemfile
414
+ </a>
415
+ </li>
416
+
417
+
418
+
419
+
420
+ <li>
421
+ <a href="../Gemfile_lock.html">
422
+ Gemfile.lock
423
+ </a>
424
+ </li>
425
+
426
+
427
+
428
+
429
+ <li>
430
+ <a href="../LICENSE_txt.html">
431
+ LICENSE
432
+ </a>
433
+ </li>
434
+
435
+
436
+
437
+
438
+ <li>
439
+ <a href="../README_md.html">
440
+ README
441
+ </a>
442
+ </li>
443
+
444
+
445
+
446
+
447
+ <li>
448
+ <a href="../Rakefile.html">
449
+ Rakefile
450
+ </a>
451
+ </li>
452
+
453
+
454
+
455
+
456
+ <li>
457
+ <a href="../bin/setup.html">
458
+ setup
459
+ </a>
460
+ </li>
461
+
462
+
463
+
464
+
465
+ <li>
466
+ <a href="../sig/ftr_ruby_rbs.html">
467
+ ftr_ruby.rbs
468
+ </a>
469
+ </li>
470
+
471
+ </ul>
472
+ </details>
473
+ </div>
474
+
475
+
476
+
477
+
478
+
479
+ <div id="parent-class-section" class="nav-section">
480
+ <details class="nav-section-collapsible" open>
481
+ <summary class="nav-section-header">
482
+ <span class="nav-section-icon">
483
+ <svg><use href="#icon-ancestors"></use></svg>
484
+ </span>
485
+ <span class="nav-section-title">Ancestors</span>
486
+ <span class="nav-section-chevron">
487
+ <svg><use href="#icon-chevron"></use></svg>
488
+ </span>
489
+ </summary>
490
+ <ul><li>Object</li></ul>
491
+ </details>
492
+ </div>
493
+
494
+
495
+
496
+ <div id="includes-section" class="nav-section">
497
+ <details class="nav-section-collapsible" open>
498
+ <summary class="nav-section-header">
499
+ <span class="nav-section-icon">
500
+ <svg><use href="#icon-includes"></use></svg>
501
+ </span>
502
+ <span class="nav-section-title">Included Modules</span>
503
+ <span class="nav-section-chevron">
504
+ <svg><use href="#icon-chevron"></use></svg>
505
+ </span>
506
+ </summary>
507
+
508
+ <ul class="nav-list">
509
+
510
+
511
+ <li><span class="include">RDF</span></li>
512
+
513
+
514
+ </ul>
515
+ </details>
516
+ </div>
517
+
518
+
519
+
520
+
521
+
522
+ <div class="nav-section">
523
+ <details class="nav-section-collapsible" open>
524
+ <summary class="nav-section-header">
525
+ <span class="nav-section-icon">
526
+ <svg><use href="#icon-class-methods"></use></svg>
527
+ </span>
528
+ <span class="nav-section-title">Class Methods</span>
529
+ <span class="nav-section-chevron">
530
+ <svg><use href="#icon-chevron"></use></svg>
531
+ </span>
532
+ </summary>
533
+ <ul class="nav-list" role="directory">
534
+
535
+ <li ><a href="#method-c-clear_comments">clear_comments</a></li>
536
+
537
+ <li ><a href="#method-c-new">new</a></li>
538
+
539
+ </ul>
540
+ </details>
541
+ </div>
542
+
543
+
544
+
545
+ <div class="nav-section">
546
+ <details class="nav-section-collapsible" open>
547
+ <summary class="nav-section-header">
548
+ <span class="nav-section-icon">
549
+ <svg><use href="#icon-instance-methods"></use></svg>
550
+ </span>
551
+ <span class="nav-section-title">Instance Methods</span>
552
+ <span class="nav-section-chevron">
553
+ <svg><use href="#icon-chevron"></use></svg>
554
+ </span>
555
+ </summary>
556
+ <ul class="nav-list" role="directory">
557
+
558
+ <li ><a href="#method-i-add_newline_to_comments">add_newline_to_comments</a></li>
559
+
560
+ <li ><a href="#method-i-createEvaluationResponse">createEvaluationResponse</a></li>
561
+
562
+ </ul>
563
+ </details>
564
+ </div>
565
+
566
+
567
+ <div id="classindex-section" class="nav-section">
568
+ <details class="nav-section-collapsible" open>
569
+ <summary class="nav-section-header">
570
+ <span class="nav-section-icon">
571
+ <svg><use href="#icon-layers"></use></svg>
572
+ </span>
573
+ <span class="nav-section-title">Classes and Modules</span>
574
+ <span class="nav-section-chevron">
575
+ <svg><use href="#icon-chevron"></use></svg>
576
+ </span>
577
+ </summary>
578
+
579
+ <ul class="link-list nav-list"><li><details><summary><code><a href="../FtrRuby.html">FtrRuby</a></code></summary><ul class="link-list nav-list"><li><code><a href="../FtrRuby/DCAT_Record.html">DCAT_Record</a></code></li><li><code><a href="../FtrRuby/Error.html">Error</a></code></li><li><code><a href="../FtrRuby/FDPIndex.html">FDPIndex</a></code></li><li><code><a href="../FtrRuby/Output.html">Output</a></code></li><li><code><a href="../FtrRuby/TestInfra.html">TestInfra</a></code></li><li><code><a href="../FtrRuby/Tests.html">Tests</a></code></li></ul></details></li><li><code><a href="../OpenAPI.html">OpenAPI</a></code></li></ul>
580
+ </details>
581
+ </div>
582
+
583
+ </nav>
584
+
585
+ <main role="main" aria-labelledby="class-ftrruby-output">
586
+
587
+
588
+ <ol role="navigation" aria-label="Breadcrumb navigation" class="breadcrumb">
589
+
590
+ <li>
591
+
592
+ <a href="../FtrRuby.html">FtrRuby</a><span>::</span>
593
+
594
+ </li>
595
+
596
+ <li>
597
+
598
+ <span>Output</span>
599
+
600
+ </li>
601
+
602
+ </ol>
603
+
604
+
605
+ <span id="class-FtrRuby::Output" class="legacy-anchor"></span>
606
+ <h1 id="class-ftrruby-output" class="anchor-link class">
607
+ class FtrRuby::Output
608
+ </h1>
609
+
610
+ <section class="description">
611
+
612
+ <p>Represents the output/result of executing a FAIR test against a specific resource.</p>
613
+
614
+ <p>This class generates a provenance-rich RDF graph describing a single test execution, including the result score, log messages, summary, and optional guidance for improvement.</p>
615
+
616
+ <p>The output follows the FAIR Test Registry (FTR) vocabulary and uses PROV for tracing the execution activity and the tested entity.</p>
617
+
618
+ <p>@example</p>
619
+
620
+ <pre class="ruby"><span class="ruby-identifier">output</span> = <span class="ruby-constant">FtrRuby</span><span class="ruby-operator">::</span><span class="ruby-constant">Output</span>.<span class="ruby-identifier">new</span>(
621
+ <span class="ruby-value">testedGUID:</span> <span class="ruby-string">&quot;https://doi.org/10.5281/zenodo.1234567&quot;</span>,
622
+ <span class="ruby-value">meta:</span> <span class="ruby-identifier">test_meta_hash</span>
623
+ )
624
+ <span class="ruby-identifier">output</span>.<span class="ruby-identifier">score</span> = <span class="ruby-string">&quot;pass&quot;</span>
625
+ <span class="ruby-identifier">output</span>.<span class="ruby-identifier">comments</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-string">&quot;Resource has a resolvable persistent identifier.&quot;</span>
626
+ <span class="ruby-identifier">jsonld</span> = <span class="ruby-identifier">output</span>.<span class="ruby-identifier">createEvaluationResponse</span>
627
+ </pre>
628
+
629
+ </section>
630
+
631
+
632
+ <span id="5Buntitled-5D" class="legacy-anchor"></span>
633
+ <section class="documentation-section anchor-link">
634
+
635
+
636
+
637
+
638
+
639
+ <section class="constants-list">
640
+ <header>
641
+ <h3 id="untitled-constants"><a href="#untitled-constants">Constants</a></h3>
642
+ </header>
643
+ <dl>
644
+
645
+ <dt id="OPUTPUT_VERSION">OPUTPUT_VERSION</dt>
646
+
647
+ <dd>
648
+
649
+
650
+ </dd>
651
+
652
+
653
+ </dl>
654
+ </section>
655
+
656
+
657
+
658
+ <section class="attribute-method-details method-section">
659
+ <header>
660
+ <h3 id="untitled-attributes"><a href="#untitled-attributes">Attributes</a></h3>
661
+ </header>
662
+
663
+
664
+ <div id="attribute-c-comments" class="method-detail anchor-link">
665
+ <div class="method-heading attribute-method-heading">
666
+ <a href="#attribute-c-comments" title="Link to this attribute">
667
+ <span class="method-name">comments</span>
668
+ <span class="attribute-access-type">[R]</span>
669
+ </a>
670
+ </div>
671
+
672
+ <div class="method-description">
673
+
674
+
675
+
676
+
677
+ </div>
678
+ </div>
679
+
680
+ <div id="attribute-i-api" class="method-detail anchor-link">
681
+ <div class="method-heading attribute-method-heading">
682
+ <a href="#attribute-i-api" title="Link to this attribute">
683
+ <span class="method-name">api</span>
684
+ <span class="attribute-access-type">[RW]</span>
685
+ </a>
686
+ </div>
687
+
688
+ <div class="method-description">
689
+
690
+
691
+
692
+
693
+ </div>
694
+ </div>
695
+
696
+ <div id="attribute-i-basePath" class="method-detail anchor-link">
697
+ <div class="method-heading attribute-method-heading">
698
+ <a href="#attribute-i-basePath" title="Link to this attribute">
699
+ <span class="method-name">basePath</span>
700
+ <span class="attribute-access-type">[RW]</span>
701
+ </a>
702
+ </div>
703
+
704
+ <div class="method-description">
705
+
706
+
707
+
708
+
709
+ </div>
710
+ </div>
711
+
712
+ <div id="attribute-i-comments" class="method-detail anchor-link">
713
+ <div class="method-heading attribute-method-heading">
714
+ <a href="#attribute-i-comments" title="Link to this attribute">
715
+ <span class="method-name">comments</span>
716
+ <span class="attribute-access-type">[RW]</span>
717
+ </a>
718
+ </div>
719
+
720
+ <div class="method-description">
721
+
722
+
723
+
724
+
725
+ </div>
726
+ </div>
727
+
728
+ <div id="attribute-i-completeness" class="method-detail anchor-link">
729
+ <div class="method-heading attribute-method-heading">
730
+ <a href="#attribute-i-completeness" title="Link to this attribute">
731
+ <span class="method-name">completeness</span>
732
+ <span class="attribute-access-type">[RW]</span>
733
+ </a>
734
+ </div>
735
+
736
+ <div class="method-description">
737
+
738
+
739
+
740
+
741
+ </div>
742
+ </div>
743
+
744
+ <div id="attribute-i-creator" class="method-detail anchor-link">
745
+ <div class="method-heading attribute-method-heading">
746
+ <a href="#attribute-i-creator" title="Link to this attribute">
747
+ <span class="method-name">creator</span>
748
+ <span class="attribute-access-type">[RW]</span>
749
+ </a>
750
+ </div>
751
+
752
+ <div class="method-description">
753
+
754
+
755
+
756
+
757
+ </div>
758
+ </div>
759
+
760
+ <div id="attribute-i-description" class="method-detail anchor-link">
761
+ <div class="method-heading attribute-method-heading">
762
+ <a href="#attribute-i-description" title="Link to this attribute">
763
+ <span class="method-name">description</span>
764
+ <span class="attribute-access-type">[RW]</span>
765
+ </a>
766
+ </div>
767
+
768
+ <div class="method-description">
769
+
770
+
771
+
772
+
773
+ </div>
774
+ </div>
775
+
776
+ <div id="attribute-i-dt" class="method-detail anchor-link">
777
+ <div class="method-heading attribute-method-heading">
778
+ <a href="#attribute-i-dt" title="Link to this attribute">
779
+ <span class="method-name">dt</span>
780
+ <span class="attribute-access-type">[RW]</span>
781
+ </a>
782
+ </div>
783
+
784
+ <div class="method-description">
785
+
786
+
787
+
788
+
789
+ </div>
790
+ </div>
791
+
792
+ <div id="attribute-i-guidance" class="method-detail anchor-link">
793
+ <div class="method-heading attribute-method-heading">
794
+ <a href="#attribute-i-guidance" title="Link to this attribute">
795
+ <span class="method-name">guidance</span>
796
+ <span class="attribute-access-type">[RW]</span>
797
+ </a>
798
+ </div>
799
+
800
+ <div class="method-description">
801
+
802
+
803
+
804
+
805
+ </div>
806
+ </div>
807
+
808
+ <div id="attribute-i-host" class="method-detail anchor-link">
809
+ <div class="method-heading attribute-method-heading">
810
+ <a href="#attribute-i-host" title="Link to this attribute">
811
+ <span class="method-name">host</span>
812
+ <span class="attribute-access-type">[RW]</span>
813
+ </a>
814
+ </div>
815
+
816
+ <div class="method-description">
817
+
818
+
819
+
820
+
821
+ </div>
822
+ </div>
823
+
824
+ <div id="attribute-i-license" class="method-detail anchor-link">
825
+ <div class="method-heading attribute-method-heading">
826
+ <a href="#attribute-i-license" title="Link to this attribute">
827
+ <span class="method-name">license</span>
828
+ <span class="attribute-access-type">[RW]</span>
829
+ </a>
830
+ </div>
831
+
832
+ <div class="method-description">
833
+
834
+
835
+
836
+
837
+ </div>
838
+ </div>
839
+
840
+ <div id="attribute-i-metric" class="method-detail anchor-link">
841
+ <div class="method-heading attribute-method-heading">
842
+ <a href="#attribute-i-metric" title="Link to this attribute">
843
+ <span class="method-name">metric</span>
844
+ <span class="attribute-access-type">[RW]</span>
845
+ </a>
846
+ </div>
847
+
848
+ <div class="method-description">
849
+
850
+
851
+
852
+
853
+ </div>
854
+ </div>
855
+
856
+ <div id="attribute-i-name" class="method-detail anchor-link">
857
+ <div class="method-heading attribute-method-heading">
858
+ <a href="#attribute-i-name" title="Link to this attribute">
859
+ <span class="method-name">name</span>
860
+ <span class="attribute-access-type">[RW]</span>
861
+ </a>
862
+ </div>
863
+
864
+ <div class="method-description">
865
+
866
+
867
+
868
+
869
+ </div>
870
+ </div>
871
+
872
+ <div id="attribute-i-protocol" class="method-detail anchor-link">
873
+ <div class="method-heading attribute-method-heading">
874
+ <a href="#attribute-i-protocol" title="Link to this attribute">
875
+ <span class="method-name">protocol</span>
876
+ <span class="attribute-access-type">[RW]</span>
877
+ </a>
878
+ </div>
879
+
880
+ <div class="method-description">
881
+
882
+
883
+
884
+
885
+ </div>
886
+ </div>
887
+
888
+ <div id="attribute-i-score" class="method-detail anchor-link">
889
+ <div class="method-heading attribute-method-heading">
890
+ <a href="#attribute-i-score" title="Link to this attribute">
891
+ <span class="method-name">score</span>
892
+ <span class="attribute-access-type">[RW]</span>
893
+ </a>
894
+ </div>
895
+
896
+ <div class="method-description">
897
+
898
+
899
+
900
+
901
+ </div>
902
+ </div>
903
+
904
+ <div id="attribute-i-softwareid" class="method-detail anchor-link">
905
+ <div class="method-heading attribute-method-heading">
906
+ <a href="#attribute-i-softwareid" title="Link to this attribute">
907
+ <span class="method-name">softwareid</span>
908
+ <span class="attribute-access-type">[RW]</span>
909
+ </a>
910
+ </div>
911
+
912
+ <div class="method-description">
913
+
914
+
915
+
916
+
917
+ </div>
918
+ </div>
919
+
920
+ <div id="attribute-i-summary" class="method-detail anchor-link">
921
+ <div class="method-heading attribute-method-heading">
922
+ <a href="#attribute-i-summary" title="Link to this attribute">
923
+ <span class="method-name">summary</span>
924
+ <span class="attribute-access-type">[RW]</span>
925
+ </a>
926
+ </div>
927
+
928
+ <div class="method-description">
929
+
930
+
931
+
932
+
933
+ </div>
934
+ </div>
935
+
936
+ <div id="attribute-i-testedGUID" class="method-detail anchor-link">
937
+ <div class="method-heading attribute-method-heading">
938
+ <a href="#attribute-i-testedGUID" title="Link to this attribute">
939
+ <span class="method-name">testedGUID</span>
940
+ <span class="attribute-access-type">[RW]</span>
941
+ </a>
942
+ </div>
943
+
944
+ <div class="method-description">
945
+
946
+
947
+
948
+
949
+ </div>
950
+ </div>
951
+
952
+ <div id="attribute-i-testid" class="method-detail anchor-link">
953
+ <div class="method-heading attribute-method-heading">
954
+ <a href="#attribute-i-testid" title="Link to this attribute">
955
+ <span class="method-name">testid</span>
956
+ <span class="attribute-access-type">[RW]</span>
957
+ </a>
958
+ </div>
959
+
960
+ <div class="method-description">
961
+
962
+
963
+
964
+
965
+ </div>
966
+ </div>
967
+
968
+ <div id="attribute-i-uniqueid" class="method-detail anchor-link">
969
+ <div class="method-heading attribute-method-heading">
970
+ <a href="#attribute-i-uniqueid" title="Link to this attribute">
971
+ <span class="method-name">uniqueid</span>
972
+ <span class="attribute-access-type">[RW]</span>
973
+ </a>
974
+ </div>
975
+
976
+ <div class="method-description">
977
+
978
+
979
+
980
+
981
+ </div>
982
+ </div>
983
+
984
+ <div id="attribute-i-version" class="method-detail anchor-link">
985
+ <div class="method-heading attribute-method-heading">
986
+ <a href="#attribute-i-version" title="Link to this attribute">
987
+ <span class="method-name">version</span>
988
+ <span class="attribute-access-type">[RW]</span>
989
+ </a>
990
+ </div>
991
+
992
+ <div class="method-description">
993
+
994
+
995
+
996
+
997
+ </div>
998
+ </div>
999
+
1000
+ </section>
1001
+
1002
+
1003
+
1004
+
1005
+
1006
+
1007
+ <section id="public-class-untitled-method-details" class="method-section anchor-link">
1008
+ <header>
1009
+ <h3 id="public-class-untitled-methods"><a href="#public-class-untitled-methods">Public Class Methods</a></h3>
1010
+ </header>
1011
+
1012
+
1013
+ <div id="method-c-clear_comments" class="method-detail anchor-link ">
1014
+ <div class="method-header">
1015
+
1016
+ <div class="method-heading">
1017
+ <a href="#method-c-clear_comments" title="Link to this method">
1018
+ <span class="method-name">clear_comments</span>
1019
+ <span class="method-args">()</span>
1020
+ </a>
1021
+ </div>
1022
+
1023
+ </div>
1024
+
1025
+
1026
+ <div class="method-controls">
1027
+ <details class="method-source-toggle">
1028
+ <summary>Source</summary>
1029
+ </details>
1030
+ </div>
1031
+ <div class="method-source-code" id="clear_comments-source">
1032
+ <pre class="ruby"><span class="ruby-comment"># File lib/output.rb, line 168</span>
1033
+ <span class="ruby-keyword">def</span> <span class="ruby-keyword">self</span>.<span class="ruby-identifier ruby-title">clear_comments</span>
1034
+ <span class="ruby-ivar">@comments</span> = []
1035
+ <span class="ruby-keyword">end</span></pre>
1036
+ </div>
1037
+
1038
+
1039
+
1040
+ <div class="method-description">
1041
+
1042
+
1043
+
1044
+
1045
+
1046
+ </div>
1047
+
1048
+
1049
+
1050
+
1051
+
1052
+ </div>
1053
+
1054
+
1055
+ <div id="method-c-new" class="method-detail anchor-link ">
1056
+ <div class="method-header">
1057
+
1058
+ <div class="method-heading">
1059
+ <a href="#method-c-new" title="Link to this method">
1060
+ <span class="method-name">new</span>
1061
+ <span class="method-args">(testedGUID:, meta:)</span>
1062
+ </a>
1063
+ </div>
1064
+
1065
+ </div>
1066
+
1067
+
1068
+ <div class="method-controls">
1069
+ <details class="method-source-toggle">
1070
+ <summary>Source</summary>
1071
+ </details>
1072
+ </div>
1073
+ <div class="method-source-code" id="new-source">
1074
+ <pre class="ruby"><span class="ruby-comment"># File lib/output.rb, line 36</span>
1075
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">initialize</span>(<span class="ruby-value">testedGUID:</span>, <span class="ruby-value">meta:</span>)
1076
+ <span class="ruby-ivar">@score</span> = <span class="ruby-string">&quot;indeterminate&quot;</span>
1077
+ <span class="ruby-ivar">@testedGUID</span> = <span class="ruby-identifier">testedGUID</span>
1078
+ <span class="ruby-ivar">@uniqueid</span> = <span class="ruby-string">&quot;urn:fairtestoutput:&quot;</span> <span class="ruby-operator">+</span> <span class="ruby-constant">SecureRandom</span>.<span class="ruby-identifier">uuid</span>
1079
+ <span class="ruby-ivar">@name</span> = <span class="ruby-identifier">meta</span>[<span class="ruby-value">:testname</span>]
1080
+ <span class="ruby-ivar">@description</span> = <span class="ruby-identifier">meta</span>[<span class="ruby-value">:description</span>]
1081
+ <span class="ruby-ivar">@license</span> = <span class="ruby-identifier">meta</span>[<span class="ruby-value">:license</span>] <span class="ruby-operator">||</span> <span class="ruby-string">&quot;https://creativecommons.org/licenses/by/4.0/&quot;</span>
1082
+ <span class="ruby-ivar">@dt</span> = <span class="ruby-constant">Time</span>.<span class="ruby-identifier">now</span>.<span class="ruby-identifier">iso8601</span>
1083
+ <span class="ruby-ivar">@metric</span> = <span class="ruby-identifier">meta</span>[<span class="ruby-value">:metric</span>]
1084
+ <span class="ruby-ivar">@version</span> = <span class="ruby-identifier">meta</span>[<span class="ruby-value">:testversion</span>]
1085
+ <span class="ruby-ivar">@summary</span> = <span class="ruby-identifier">meta</span>[<span class="ruby-value">:summary</span>] <span class="ruby-operator">||</span> <span class="ruby-string">&quot;Summary:&quot;</span>
1086
+ <span class="ruby-ivar">@completeness</span> = <span class="ruby-string">&quot;100&quot;</span>
1087
+ <span class="ruby-ivar">@comments</span> = []
1088
+ <span class="ruby-ivar">@guidance</span> = <span class="ruby-identifier">meta</span>.<span class="ruby-identifier">fetch</span>(<span class="ruby-value">:guidance</span>, [])
1089
+ <span class="ruby-ivar">@creator</span> = <span class="ruby-identifier">meta</span>[<span class="ruby-value">:creator</span>]
1090
+ <span class="ruby-ivar">@protocol</span> = <span class="ruby-identifier">meta</span>[<span class="ruby-value">:protocol</span>].<span class="ruby-identifier">gsub</span>(<span class="ruby-regexp">%r{[:/]}</span>, <span class="ruby-string">&quot;&quot;</span>)
1091
+ <span class="ruby-ivar">@host</span> = <span class="ruby-identifier">meta</span>[<span class="ruby-value">:host</span>].<span class="ruby-identifier">gsub</span>(<span class="ruby-regexp">%r{[:/]}</span>, <span class="ruby-string">&quot;&quot;</span>)
1092
+ <span class="ruby-ivar">@basePath</span> = <span class="ruby-identifier">meta</span>[<span class="ruby-value">:basePath</span>].<span class="ruby-identifier">gsub</span>(<span class="ruby-regexp">%r{[:/]}</span>, <span class="ruby-string">&quot;&quot;</span>)
1093
+ <span class="ruby-ivar">@softwareid</span> = <span class="ruby-node">&quot;#{@protocol}://#{@host}/#{@basePath}/#{meta[:testid]}&quot;</span>
1094
+ <span class="ruby-ivar">@api</span> = <span class="ruby-node">&quot;#{@softwareid}/api&quot;</span>
1095
+ <span class="ruby-keyword">end</span></pre>
1096
+ </div>
1097
+
1098
+
1099
+
1100
+ <div class="method-description">
1101
+
1102
+
1103
+ <p>Creates a new test output instance.</p>
1104
+
1105
+ <p>@param testedGUID [String] The identifier (usually URI) of the resource being tested @param meta [Hash] Metadata about the test (same structure used by <a href="DCAT_Record.html"><code>DCAT_Record</code></a>)</p>
1106
+
1107
+
1108
+ </div>
1109
+
1110
+
1111
+
1112
+
1113
+
1114
+ </div>
1115
+
1116
+
1117
+ </section>
1118
+
1119
+
1120
+
1121
+
1122
+
1123
+
1124
+
1125
+ <section id="public-instance-untitled-method-details" class="method-section anchor-link">
1126
+ <header>
1127
+ <h3 id="public-instance-untitled-methods"><a href="#public-instance-untitled-methods">Public Instance Methods</a></h3>
1128
+ </header>
1129
+
1130
+
1131
+ <div id="method-i-add_newline_to_comments" class="method-detail anchor-link ">
1132
+ <div class="method-header">
1133
+
1134
+ <div class="method-heading">
1135
+ <a href="#method-i-add_newline_to_comments" title="Link to this method">
1136
+ <span class="method-name">add_newline_to_comments</span>
1137
+ <span class="method-args">()</span>
1138
+ </a>
1139
+ </div>
1140
+
1141
+ </div>
1142
+
1143
+
1144
+ <div class="method-controls">
1145
+ <details class="method-source-toggle">
1146
+ <summary>Source</summary>
1147
+ </details>
1148
+ </div>
1149
+ <div class="method-source-code" id="add_newline_to_comments-source">
1150
+ <pre class="ruby"><span class="ruby-comment"># File lib/output.rb, line 172</span>
1151
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">add_newline_to_comments</span>
1152
+ <span class="ruby-identifier">cleancomments</span> = []
1153
+ <span class="ruby-ivar">@comments</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">c</span><span class="ruby-operator">|</span>
1154
+ <span class="ruby-identifier">c</span> <span class="ruby-operator">+=</span> <span class="ruby-string">&quot;\n&quot;</span> <span class="ruby-keyword">unless</span> <span class="ruby-identifier">c</span> <span class="ruby-operator">=~</span> <span class="ruby-regexp">/\n$/</span>
1155
+ <span class="ruby-identifier">cleancomments</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">c</span>
1156
+ <span class="ruby-keyword">end</span>
1157
+ <span class="ruby-ivar">@comments</span> = <span class="ruby-identifier">cleancomments</span>
1158
+ <span class="ruby-keyword">end</span></pre>
1159
+ </div>
1160
+
1161
+
1162
+
1163
+ <div class="method-description">
1164
+
1165
+
1166
+
1167
+
1168
+
1169
+ </div>
1170
+
1171
+
1172
+
1173
+
1174
+
1175
+ </div>
1176
+
1177
+
1178
+ <div id="method-i-createEvaluationResponse" class="method-detail anchor-link ">
1179
+ <div class="method-header">
1180
+
1181
+ <div class="method-heading">
1182
+ <a href="#method-i-createEvaluationResponse" title="Link to this method">
1183
+ <span class="method-name">createEvaluationResponse</span>
1184
+ <span class="method-args">()</span>
1185
+ </a>
1186
+ </div>
1187
+
1188
+ </div>
1189
+
1190
+
1191
+ <div class="method-controls">
1192
+ <details class="method-source-toggle">
1193
+ <summary>Source</summary>
1194
+ </details>
1195
+ </div>
1196
+ <div class="method-source-code" id="createEvaluationResponse-source">
1197
+ <pre class="ruby"><span class="ruby-comment"># File lib/output.rb, line 69</span>
1198
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">createEvaluationResponse</span>
1199
+ <span class="ruby-identifier">g</span> = <span class="ruby-constant">RDF</span><span class="ruby-operator">::</span><span class="ruby-constant">Graph</span>.<span class="ruby-identifier">new</span>
1200
+ <span class="ruby-identifier">schema</span> = <span class="ruby-constant">RDF</span><span class="ruby-operator">::</span><span class="ruby-constant">Vocab</span><span class="ruby-operator">::</span><span class="ruby-constant">SCHEMA</span>
1201
+ <span class="ruby-identifier">xsd</span> = <span class="ruby-constant">RDF</span><span class="ruby-operator">::</span><span class="ruby-constant">Vocab</span><span class="ruby-operator">::</span><span class="ruby-constant">XSD</span>
1202
+ <span class="ruby-identifier">dct</span> = <span class="ruby-constant">RDF</span><span class="ruby-operator">::</span><span class="ruby-constant">Vocab</span><span class="ruby-operator">::</span><span class="ruby-constant">DC</span>
1203
+ <span class="ruby-identifier">prov</span> = <span class="ruby-constant">RDF</span><span class="ruby-operator">::</span><span class="ruby-constant">Vocab</span><span class="ruby-operator">::</span><span class="ruby-constant">PROV</span>
1204
+ <span class="ruby-identifier">dcat</span> = <span class="ruby-constant">RDF</span><span class="ruby-operator">::</span><span class="ruby-constant">Vocab</span><span class="ruby-operator">::</span><span class="ruby-constant">DCAT</span>
1205
+ <span class="ruby-identifier">dqv</span> = <span class="ruby-constant">RDF</span><span class="ruby-operator">::</span><span class="ruby-constant">Vocabulary</span>.<span class="ruby-identifier">new</span>(<span class="ruby-string">&quot;https://www.w3.org/TR/vocab-dqv/&quot;</span>)
1206
+ <span class="ruby-identifier">ftr</span> = <span class="ruby-constant">RDF</span><span class="ruby-operator">::</span><span class="ruby-constant">Vocabulary</span>.<span class="ruby-identifier">new</span>(<span class="ruby-string">&quot;https://w3id.org/ftr#&quot;</span>)
1207
+ <span class="ruby-identifier">sio</span> = <span class="ruby-constant">RDF</span><span class="ruby-operator">::</span><span class="ruby-constant">Vocabulary</span>.<span class="ruby-identifier">new</span>(<span class="ruby-string">&quot;http://semanticscience.org/resource/&quot;</span>)
1208
+ <span class="ruby-identifier">cwmo</span> = <span class="ruby-constant">RDF</span><span class="ruby-operator">::</span><span class="ruby-constant">Vocabulary</span>.<span class="ruby-identifier">new</span>(<span class="ruby-string">&quot;http://purl.org/cwmo/#&quot;</span>)
1209
+
1210
+ <span class="ruby-identifier">add_newline_to_comments</span>
1211
+
1212
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">summary</span> <span class="ruby-operator">=~</span> <span class="ruby-regexp">/^Summary$/</span>
1213
+ <span class="ruby-identifier">summary</span> = <span class="ruby-node">&quot;Summary of test results: #{comments[-1]}&quot;</span>
1214
+ <span class="ruby-identifier">summary</span> <span class="ruby-operator">||=</span> <span class="ruby-node">&quot;Summary of test results: #{comments[-2]}&quot;</span>
1215
+ <span class="ruby-keyword">end</span>
1216
+
1217
+ <span class="ruby-identifier">executionid</span> = <span class="ruby-string">&quot;urn:ostrails:testexecutionactivity:&quot;</span> <span class="ruby-operator">+</span> <span class="ruby-constant">SecureRandom</span>.<span class="ruby-identifier">uuid</span>
1218
+
1219
+ <span class="ruby-comment"># tid = &#39;urn:ostrails:fairtestentity:&#39; + SecureRandom.uuid</span>
1220
+ <span class="ruby-comment"># The entity is no longer an anonymous node, it is the GUID Of the tested input</span>
1221
+
1222
+ <span class="ruby-identifier">triplify</span>(<span class="ruby-identifier">executionid</span>, <span class="ruby-constant">RDF</span>.<span class="ruby-identifier">type</span>, <span class="ruby-identifier">ftr</span>.<span class="ruby-constant">TestExecutionActivity</span>, <span class="ruby-identifier">g</span>)
1223
+ <span class="ruby-identifier">triplify</span>(<span class="ruby-identifier">executionid</span>, <span class="ruby-identifier">prov</span>.<span class="ruby-identifier">wasAssociatedWith</span>, <span class="ruby-identifier">softwareid</span>, <span class="ruby-identifier">g</span>)
1224
+ <span class="ruby-identifier">triplify</span>(<span class="ruby-identifier">uniqueid</span>, <span class="ruby-identifier">prov</span>.<span class="ruby-identifier">wasGeneratedBy</span>, <span class="ruby-identifier">executionid</span>, <span class="ruby-identifier">g</span>)
1225
+
1226
+ <span class="ruby-identifier">triplify</span>(<span class="ruby-identifier">uniqueid</span>, <span class="ruby-constant">RDF</span>.<span class="ruby-identifier">type</span>, <span class="ruby-identifier">ftr</span>.<span class="ruby-constant">TestResult</span>, <span class="ruby-identifier">g</span>)
1227
+ <span class="ruby-identifier">triplify</span>(<span class="ruby-identifier">uniqueid</span>, <span class="ruby-identifier">dct</span>.<span class="ruby-identifier">identifier</span>, <span class="ruby-identifier">uniqueid</span>.<span class="ruby-identifier">to_s</span>, <span class="ruby-identifier">g</span>, <span class="ruby-value">datatype:</span> <span class="ruby-identifier">xsd</span>.<span class="ruby-identifier">string</span>)
1228
+ <span class="ruby-identifier">triplify</span>(<span class="ruby-identifier">uniqueid</span>, <span class="ruby-identifier">dct</span>.<span class="ruby-identifier">title</span>, <span class="ruby-node">&quot;#{name} OUTPUT&quot;</span>, <span class="ruby-identifier">g</span>)
1229
+ <span class="ruby-identifier">triplify</span>(<span class="ruby-identifier">uniqueid</span>, <span class="ruby-identifier">dct</span>.<span class="ruby-identifier">description</span>, <span class="ruby-node">&quot;OUTPUT OF #{description}&quot;</span>, <span class="ruby-identifier">g</span>)
1230
+ <span class="ruby-identifier">triplify</span>(<span class="ruby-identifier">uniqueid</span>, <span class="ruby-identifier">dct</span>.<span class="ruby-identifier">license</span>, <span class="ruby-identifier">license</span>, <span class="ruby-identifier">g</span>)
1231
+ <span class="ruby-identifier">triplify</span>(<span class="ruby-identifier">uniqueid</span>, <span class="ruby-identifier">prov</span>.<span class="ruby-identifier">value</span>, <span class="ruby-identifier">score</span>, <span class="ruby-identifier">g</span>)
1232
+ <span class="ruby-identifier">triplify</span>(<span class="ruby-identifier">uniqueid</span>, <span class="ruby-identifier">ftr</span>.<span class="ruby-identifier">summary</span>, <span class="ruby-identifier">summary</span>, <span class="ruby-identifier">g</span>)
1233
+ <span class="ruby-identifier">triplify</span>(<span class="ruby-identifier">uniqueid</span>, <span class="ruby-constant">RDF</span><span class="ruby-operator">::</span><span class="ruby-constant">Vocab</span><span class="ruby-operator">::</span><span class="ruby-constant">PROV</span>.<span class="ruby-identifier">generatedAtTime</span>, <span class="ruby-identifier">dt</span>, <span class="ruby-identifier">g</span>)
1234
+ <span class="ruby-identifier">triplify</span>(<span class="ruby-identifier">uniqueid</span>, <span class="ruby-identifier">ftr</span>.<span class="ruby-identifier">log</span>, <span class="ruby-identifier">comments</span>.<span class="ruby-identifier">join</span>, <span class="ruby-identifier">g</span>)
1235
+ <span class="ruby-identifier">triplify</span>(<span class="ruby-identifier">uniqueid</span>, <span class="ruby-identifier">ftr</span>.<span class="ruby-identifier">completion</span>, <span class="ruby-identifier">completeness</span>, <span class="ruby-identifier">g</span>)
1236
+
1237
+ <span class="ruby-identifier">triplify</span>(<span class="ruby-identifier">uniqueid</span>, <span class="ruby-identifier">ftr</span>.<span class="ruby-identifier">outputFromTest</span>, <span class="ruby-identifier">softwareid</span>, <span class="ruby-identifier">g</span>)
1238
+ <span class="ruby-identifier">triplify</span>(<span class="ruby-identifier">softwareid</span>, <span class="ruby-constant">RDF</span>.<span class="ruby-identifier">type</span>, <span class="ruby-identifier">ftr</span>.<span class="ruby-constant">Test</span>, <span class="ruby-identifier">g</span>)
1239
+ <span class="ruby-identifier">triplify</span>(<span class="ruby-identifier">softwareid</span>, <span class="ruby-constant">RDF</span>.<span class="ruby-identifier">type</span>, <span class="ruby-identifier">schema</span>.<span class="ruby-constant">SoftwareApplication</span>, <span class="ruby-identifier">g</span>)
1240
+ <span class="ruby-identifier">triplify</span>(<span class="ruby-identifier">softwareid</span>, <span class="ruby-constant">RDF</span>.<span class="ruby-identifier">type</span>, <span class="ruby-identifier">dcat</span>.<span class="ruby-constant">DataService</span>, <span class="ruby-identifier">g</span>)
1241
+ <span class="ruby-identifier">triplify</span>(<span class="ruby-identifier">softwareid</span>, <span class="ruby-identifier">dct</span>.<span class="ruby-identifier">identifier</span>, <span class="ruby-identifier">softwareid</span>.<span class="ruby-identifier">to_s</span>, <span class="ruby-identifier">g</span>, <span class="ruby-value">datatype:</span> <span class="ruby-identifier">xsd</span>.<span class="ruby-identifier">string</span>)
1242
+ <span class="ruby-identifier">triplify</span>(<span class="ruby-identifier">softwareid</span>, <span class="ruby-identifier">dct</span>.<span class="ruby-identifier">title</span>, <span class="ruby-node">&quot;#{name}&quot;</span>, <span class="ruby-identifier">g</span>)
1243
+ <span class="ruby-identifier">triplify</span>(<span class="ruby-identifier">softwareid</span>, <span class="ruby-identifier">dct</span>.<span class="ruby-identifier">description</span>, <span class="ruby-identifier">description</span>, <span class="ruby-identifier">g</span>)
1244
+ <span class="ruby-identifier">triplify</span>(<span class="ruby-identifier">softwareid</span>, <span class="ruby-identifier">dcat</span>.<span class="ruby-identifier">endpointDescription</span>, <span class="ruby-identifier">api</span>, <span class="ruby-identifier">g</span>) <span class="ruby-comment"># returns yaml</span>
1245
+ <span class="ruby-identifier">triplify</span>(<span class="ruby-identifier">softwareid</span>, <span class="ruby-identifier">dcat</span>.<span class="ruby-identifier">endpointURL</span>, <span class="ruby-identifier">softwareid</span>, <span class="ruby-identifier">g</span>) <span class="ruby-comment"># POST to execute</span>
1246
+ <span class="ruby-identifier">triplify</span>(<span class="ruby-identifier">softwareid</span>, <span class="ruby-string">&quot;http://www.w3.org/ns/dcat#version&quot;</span>, <span class="ruby-node">&quot;#{version} OutputVersion:#{OPUTPUT_VERSION}&quot;</span>, <span class="ruby-identifier">g</span>) <span class="ruby-comment"># dcat namespace in library has no version - dcat 2 not 3</span>
1247
+ <span class="ruby-identifier">triplify</span>(<span class="ruby-identifier">softwareid</span>, <span class="ruby-identifier">dct</span>.<span class="ruby-identifier">license</span>, <span class="ruby-string">&quot;https://github.com/wilkinsonlab/FAIR-Core-Tests/blob/main/LICENSE&quot;</span>, <span class="ruby-identifier">g</span>)
1248
+ <span class="ruby-identifier">triplify</span>(<span class="ruby-identifier">softwareid</span>, <span class="ruby-identifier">sio</span>[<span class="ruby-string">&quot;SIO_000233&quot;</span>], <span class="ruby-identifier">metric</span>, <span class="ruby-identifier">g</span>) <span class="ruby-comment"># implementation of</span>
1249
+
1250
+ <span class="ruby-comment"># deprecated after release 1.0</span>
1251
+ <span class="ruby-comment"># triplify(uniqueid, prov.wasDerivedFrom, tid, g)</span>
1252
+ <span class="ruby-comment"># triplify(executionid, prov.used, tid, g)</span>
1253
+ <span class="ruby-comment"># triplify(tid, RDF.type, prov.Entity, g)</span>
1254
+ <span class="ruby-comment"># triplify(tid, schema.identifier, testedGUID, g, xsd.string)</span>
1255
+ <span class="ruby-comment"># triplify(tid, schema.url, testedGUID, g) if testedGUID =~ %r{^https?://}</span>
1256
+ <span class="ruby-identifier">testedguidnode</span> = <span class="ruby-string">&quot;urn:ostrails:testedidentifiernode:&quot;</span> <span class="ruby-operator">+</span> <span class="ruby-constant">SecureRandom</span>.<span class="ruby-identifier">uuid</span>
1257
+
1258
+ <span class="ruby-keyword">begin</span>
1259
+ <span class="ruby-identifier">triplify</span>(<span class="ruby-identifier">uniqueid</span>, <span class="ruby-identifier">ftr</span>.<span class="ruby-identifier">assessmentTarget</span>, <span class="ruby-identifier">testedguidnode</span>, <span class="ruby-identifier">g</span>)
1260
+ <span class="ruby-identifier">triplify</span>(<span class="ruby-identifier">executionid</span>, <span class="ruby-identifier">prov</span>.<span class="ruby-identifier">used</span>, <span class="ruby-identifier">testedguidnode</span>, <span class="ruby-identifier">g</span>)
1261
+ <span class="ruby-identifier">triplify</span>(<span class="ruby-identifier">testedguidnode</span>, <span class="ruby-constant">RDF</span>.<span class="ruby-identifier">type</span>, <span class="ruby-identifier">prov</span>.<span class="ruby-constant">Entity</span>, <span class="ruby-identifier">g</span>)
1262
+ <span class="ruby-identifier">triplify</span>(<span class="ruby-identifier">testedguidnode</span>, <span class="ruby-identifier">dct</span>.<span class="ruby-identifier">identifier</span>, <span class="ruby-identifier">testedGUID</span>, <span class="ruby-identifier">g</span>, <span class="ruby-value">datatype:</span> <span class="ruby-identifier">xsd</span>.<span class="ruby-identifier">string</span>)
1263
+ <span class="ruby-keyword">rescue</span> <span class="ruby-constant">StandardError</span>
1264
+ <span class="ruby-identifier">triplify</span>(<span class="ruby-identifier">uniqueid</span>, <span class="ruby-identifier">ftr</span>.<span class="ruby-identifier">assessmentTarget</span>, <span class="ruby-string">&quot;not a URI&quot;</span>, <span class="ruby-identifier">g</span>)
1265
+ <span class="ruby-identifier">triplify</span>(<span class="ruby-identifier">executionid</span>, <span class="ruby-identifier">prov</span>.<span class="ruby-identifier">used</span>, <span class="ruby-string">&quot;not a URI&quot;</span>, <span class="ruby-identifier">g</span>)
1266
+ <span class="ruby-identifier">score</span> = <span class="ruby-string">&quot;fail&quot;</span>
1267
+ <span class="ruby-keyword">end</span>
1268
+
1269
+ <span class="ruby-keyword">unless</span> <span class="ruby-identifier">score</span> <span class="ruby-operator">==</span> <span class="ruby-string">&quot;pass&quot;</span>
1270
+ <span class="ruby-identifier">guidance</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">advice</span>, <span class="ruby-identifier">label</span><span class="ruby-operator">|</span>
1271
+ <span class="ruby-identifier">adviceid</span> = <span class="ruby-string">&quot;urn:ostrails:testexecutionactivity:advice:&quot;</span> <span class="ruby-operator">+</span> <span class="ruby-constant">SecureRandom</span>.<span class="ruby-identifier">uuid</span>
1272
+ <span class="ruby-identifier">triplify</span>(<span class="ruby-identifier">uniqueid</span>, <span class="ruby-identifier">ftr</span>.<span class="ruby-identifier">suggestion</span>, <span class="ruby-identifier">adviceid</span>, <span class="ruby-identifier">g</span>)
1273
+ <span class="ruby-identifier">triplify</span>(<span class="ruby-identifier">adviceid</span>, <span class="ruby-constant">RDF</span>.<span class="ruby-identifier">type</span>, <span class="ruby-identifier">ftr</span>.<span class="ruby-constant">GuidanceContext</span>, <span class="ruby-identifier">g</span>)
1274
+ <span class="ruby-identifier">triplify</span>(<span class="ruby-identifier">adviceid</span>, <span class="ruby-constant">RDFS</span>.<span class="ruby-identifier">label</span>, <span class="ruby-identifier">label</span>, <span class="ruby-identifier">g</span>)
1275
+ <span class="ruby-identifier">triplify</span>(<span class="ruby-identifier">adviceid</span>, <span class="ruby-identifier">dct</span>.<span class="ruby-identifier">description</span>, <span class="ruby-identifier">label</span>, <span class="ruby-identifier">g</span>)
1276
+ <span class="ruby-identifier">triplify</span>(<span class="ruby-identifier">adviceid</span>, <span class="ruby-identifier">sio</span>[<span class="ruby-string">&quot;SIO_000339&quot;</span>], <span class="ruby-constant">RDF</span><span class="ruby-operator">::</span><span class="ruby-constant">URI</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">advice</span>), <span class="ruby-identifier">g</span>)
1277
+ <span class="ruby-keyword">end</span>
1278
+ <span class="ruby-keyword">end</span>
1279
+
1280
+ <span class="ruby-comment"># g.dump(:jsonld)</span>
1281
+ <span class="ruby-identifier">w</span> = <span class="ruby-constant">RDF</span><span class="ruby-operator">::</span><span class="ruby-constant">Writer</span>.<span class="ruby-identifier">for</span>(<span class="ruby-value">:jsonld</span>)
1282
+ <span class="ruby-identifier">w</span>.<span class="ruby-identifier">dump</span>(<span class="ruby-identifier">g</span>, <span class="ruby-keyword">nil</span>, <span class="ruby-value">prefixes:</span> {
1283
+ <span class="ruby-value">xsd:</span> <span class="ruby-constant">RDF</span><span class="ruby-operator">::</span><span class="ruby-constant">Vocab</span><span class="ruby-operator">::</span><span class="ruby-constant">XSD</span>,
1284
+ <span class="ruby-value">prov:</span> <span class="ruby-constant">RDF</span><span class="ruby-operator">::</span><span class="ruby-constant">Vocab</span><span class="ruby-operator">::</span><span class="ruby-constant">PROV</span>,
1285
+ <span class="ruby-value">dct:</span> <span class="ruby-constant">RDF</span><span class="ruby-operator">::</span><span class="ruby-constant">Vocab</span><span class="ruby-operator">::</span><span class="ruby-constant">DC</span>,
1286
+ <span class="ruby-value">dcat:</span> <span class="ruby-constant">RDF</span><span class="ruby-operator">::</span><span class="ruby-constant">Vocab</span><span class="ruby-operator">::</span><span class="ruby-constant">DCAT</span>,
1287
+ <span class="ruby-value">ftr:</span> <span class="ruby-identifier">ftr</span>,
1288
+ <span class="ruby-value">sio:</span> <span class="ruby-identifier">sio</span>,
1289
+ <span class="ruby-value">schema:</span> <span class="ruby-identifier">schema</span>
1290
+ })
1291
+ <span class="ruby-keyword">end</span></pre>
1292
+ </div>
1293
+
1294
+
1295
+
1296
+ <div class="method-description">
1297
+
1298
+
1299
+ <p>Generates the full evaluation response as JSON-LD.</p>
1300
+
1301
+ <p>Builds an RDF graph containing:</p>
1302
+ <ul><li>
1303
+ <p>A <code>ftr:TestExecutionActivity</code></p>
1304
+ </li><li>
1305
+ <p>A <code>ftr:TestResult</code> with score, summary, log, and guidance</p>
1306
+ </li><li>
1307
+ <p>Links to the tested entity and the test software</p>
1308
+ </li><li>
1309
+ <p>Provenance information</p>
1310
+ </li></ul>
1311
+
1312
+ <p>@return [String] JSON-LD representation of the test result graph</p>
1313
+
1314
+
1315
+ </div>
1316
+
1317
+
1318
+
1319
+
1320
+
1321
+ </div>
1322
+
1323
+
1324
+ </section>
1325
+
1326
+
1327
+
1328
+
1329
+ </section>
1330
+
1331
+ </main>
1332
+
1333
+ <aside class="table-of-contents" role="complementary" aria-label="Table of Contents">
1334
+ <div class="toc-sticky">
1335
+ <h3 class="toc-heading">On This Page</h3>
1336
+ <nav class="toc-nav" id="toc-nav" aria-label="Page sections">
1337
+ <!-- Generated by JavaScript based on page headings -->
1338
+ </nav>
1339
+ </div>
1340
+ </aside>
1341
+
1342
+
1343
+ <footer class="site-footer">
1344
+
1345
+
1346
+ <div class="footer-bottom">
1347
+ <p>
1348
+ Generated by <a href="https://ruby.github.io/rdoc/">RDoc 7.2.0</a>
1349
+ using the Aliki theme by <a href="http://st0012.dev">Stan Lo</a>
1350
+ </p>
1351
+ </div>
1352
+ </footer>
1353
+
1354
+ </body>
1355
+