-
-
Notifications
You must be signed in to change notification settings - Fork 15
/
semantic-annotation-primer.html
874 lines (833 loc) · 106 KB
/
semantic-annotation-primer.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" lang="" xml:lang="">
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<title>11 Semantic Annotation Primer | Ecological Metadata Language (EML)</title>
<meta name="description" content="11 Semantic Annotation Primer | Ecological Metadata Language (EML)" />
<meta name="generator" content="bookdown 0.12 and GitBook 2.6.7" />
<meta property="og:title" content="11 Semantic Annotation Primer | Ecological Metadata Language (EML)" />
<meta property="og:type" content="book" />
<meta name="twitter:card" content="summary" />
<meta name="twitter:title" content="11 Semantic Annotation Primer | Ecological Metadata Language (EML)" />
<meta name="date" content="2019-08-17" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<meta name="apple-mobile-web-app-capable" content="yes" />
<meta name="apple-mobile-web-app-status-bar-style" content="black" />
<link rel="prev" href="validation-and-content-references.html">
<link rel="next" href="internationalization-metadata-in-multiple-languages.html">
<script src="libs/jquery-2.2.3/jquery.min.js"></script>
<link href="libs/gitbook-2.6.7/css/style.css" rel="stylesheet" />
<link href="libs/gitbook-2.6.7/css/plugin-table.css" rel="stylesheet" />
<link href="libs/gitbook-2.6.7/css/plugin-bookdown.css" rel="stylesheet" />
<link href="libs/gitbook-2.6.7/css/plugin-highlight.css" rel="stylesheet" />
<link href="libs/gitbook-2.6.7/css/plugin-search.css" rel="stylesheet" />
<link href="libs/gitbook-2.6.7/css/plugin-fontsettings.css" rel="stylesheet" />
<style type="text/css">
a.sourceLine { display: inline-block; line-height: 1.25; }
a.sourceLine { pointer-events: none; color: inherit; text-decoration: inherit; }
a.sourceLine:empty { height: 1.2em; }
.sourceCode { overflow: visible; }
code.sourceCode { white-space: pre; position: relative; }
pre.sourceCode { margin: 0; }
@media screen {
div.sourceCode { overflow: auto; }
}
@media print {
code.sourceCode { white-space: pre-wrap; }
a.sourceLine { text-indent: -1em; padding-left: 1em; }
}
pre.numberSource a.sourceLine
{ position: relative; left: -4em; }
pre.numberSource a.sourceLine::before
{ content: attr(data-line-number);
position: relative; left: -1em; text-align: right; vertical-align: baseline;
border: none; pointer-events: all; display: inline-block;
-webkit-touch-callout: none; -webkit-user-select: none;
-khtml-user-select: none; -moz-user-select: none;
-ms-user-select: none; user-select: none;
padding: 0 4px; width: 4em;
color: #aaaaaa;
}
pre.numberSource { margin-left: 3em; border-left: 1px solid #aaaaaa; padding-left: 4px; }
div.sourceCode
{ }
@media screen {
a.sourceLine::before { text-decoration: underline; }
}
code span.al { color: #ff0000; font-weight: bold; } /* Alert */
code span.an { color: #60a0b0; font-weight: bold; font-style: italic; } /* Annotation */
code span.at { color: #7d9029; } /* Attribute */
code span.bn { color: #40a070; } /* BaseN */
code span.bu { } /* BuiltIn */
code span.cf { color: #007020; font-weight: bold; } /* ControlFlow */
code span.ch { color: #4070a0; } /* Char */
code span.cn { color: #880000; } /* Constant */
code span.co { color: #60a0b0; font-style: italic; } /* Comment */
code span.cv { color: #60a0b0; font-weight: bold; font-style: italic; } /* CommentVar */
code span.do { color: #ba2121; font-style: italic; } /* Documentation */
code span.dt { color: #902000; } /* DataType */
code span.dv { color: #40a070; } /* DecVal */
code span.er { color: #ff0000; font-weight: bold; } /* Error */
code span.ex { } /* Extension */
code span.fl { color: #40a070; } /* Float */
code span.fu { color: #06287e; } /* Function */
code span.im { } /* Import */
code span.in { color: #60a0b0; font-weight: bold; font-style: italic; } /* Information */
code span.kw { color: #007020; font-weight: bold; } /* Keyword */
code span.op { color: #666666; } /* Operator */
code span.ot { color: #007020; } /* Other */
code span.pp { color: #bc7a00; } /* Preprocessor */
code span.sc { color: #4070a0; } /* SpecialChar */
code span.ss { color: #bb6688; } /* SpecialString */
code span.st { color: #4070a0; } /* String */
code span.va { color: #19177c; } /* Variable */
code span.vs { color: #4070a0; } /* VerbatimString */
code span.wa { color: #60a0b0; font-weight: bold; font-style: italic; } /* Warning */
</style>
<link rel="stylesheet" href="style.css" type="text/css" />
</head>
<body>
<div class="book without-animation with-summary font-size-2 font-family-1" data-basepath=".">
<div class="book-summary">
<nav role="navigation">
<ul class="summary">
<li><a href="./">EML Specification</a></li>
<li class="divider"></li>
<li class="chapter" data-level="1" data-path="eml-ecological-metadata-language.html"><a href="eml-ecological-metadata-language.html"><i class="fa fa-check"></i><b>1</b> EML: Ecological Metadata Language</a><ul>
<li class="chapter" data-level="1.1" data-path="eml-ecological-metadata-language.html"><a href="eml-ecological-metadata-language.html#getting-started"><i class="fa fa-check"></i><b>1.1</b> Getting Started</a></li>
<li class="chapter" data-level="1.2" data-path="eml-ecological-metadata-language.html"><a href="eml-ecological-metadata-language.html#about-the-eml-project"><i class="fa fa-check"></i><b>1.2</b> About the EML Project</a></li>
<li class="chapter" data-level="1.3" data-path="eml-ecological-metadata-language.html"><a href="eml-ecological-metadata-language.html#contributing"><i class="fa fa-check"></i><b>1.3</b> Contributing</a></li>
<li class="chapter" data-level="1.4" data-path="eml-ecological-metadata-language.html"><a href="eml-ecological-metadata-language.html#history"><i class="fa fa-check"></i><b>1.4</b> History</a></li>
<li class="chapter" data-level="1.5" data-path="eml-ecological-metadata-language.html"><a href="eml-ecological-metadata-language.html#older-versions-deprecated"><i class="fa fa-check"></i><b>1.5</b> Older versions (deprecated)</a></li>
<li class="chapter" data-level="1.6" data-path="eml-ecological-metadata-language.html"><a href="eml-ecological-metadata-language.html#copyright-and-license"><i class="fa fa-check"></i><b>1.6</b> Copyright and License</a></li>
<li class="chapter" data-level="1.7" data-path="eml-ecological-metadata-language.html"><a href="eml-ecological-metadata-language.html#funding-and-acknowledgements"><i class="fa fa-check"></i><b>1.7</b> Funding and Acknowledgements</a></li>
</ul></li>
<li class="chapter" data-level="2" data-path="features.html"><a href="features.html"><i class="fa fa-check"></i><b>2</b> Features</a></li>
<li class="chapter" data-level="3" data-path="contributors.html"><a href="contributors.html"><i class="fa fa-check"></i><b>3</b> Contributors</a><ul>
<li class="chapter" data-level="3.1" data-path="contributors.html"><a href="contributors.html#current-contributors"><i class="fa fa-check"></i><b>3.1</b> Current contributors</a></li>
<li class="chapter" data-level="3.2" data-path="contributors.html"><a href="contributors.html#past-contributors"><i class="fa fa-check"></i><b>3.2</b> Past contributors</a></li>
</ul></li>
<li class="chapter" data-level="4" data-path="whats-new-in-eml-2-2-0.html"><a href="whats-new-in-eml-2-2-0.html"><i class="fa fa-check"></i><b>4</b> What’s New in EML 2.2.0</a></li>
<li class="chapter" data-level="5" data-path="the-eml-module-and-resources.html"><a href="the-eml-module-and-resources.html"><i class="fa fa-check"></i><b>5</b> The EML Module and Resources</a><ul>
<li class="chapter" data-level="5.1" data-path="the-eml-module-and-resources.html"><a href="the-eml-module-and-resources.html#the-eml-module---a-metadata-container"><i class="fa fa-check"></i><b>5.1</b> The eml module - A metadata container</a></li>
<li class="chapter" data-level="5.2" data-path="the-eml-module-and-resources.html"><a href="the-eml-module-and-resources.html#the-eml-resource-module---base-information-for-all-resources"><i class="fa fa-check"></i><b>5.2</b> The eml-resource module - Base information for all resources</a></li>
<li class="chapter" data-level="5.3" data-path="the-eml-module-and-resources.html"><a href="the-eml-module-and-resources.html#the-eml-dataset-module---dataset-specific-information"><i class="fa fa-check"></i><b>5.3</b> The eml-dataset module - Dataset specific information</a></li>
<li class="chapter" data-level="5.4" data-path="the-eml-module-and-resources.html"><a href="the-eml-module-and-resources.html#the-eml-literature-module---citation-specific-information"><i class="fa fa-check"></i><b>5.4</b> The eml-literature module - Citation-specific information</a><ul>
<li class="chapter" data-level="5.4.1" data-path="the-eml-module-and-resources.html"><a href="the-eml-module-and-resources.html#eml-literature-module---literature-cited"><i class="fa fa-check"></i><b>5.4.1</b> eml-literature module - literature cited</a></li>
<li class="chapter" data-level="5.4.2" data-path="the-eml-module-and-resources.html"><a href="the-eml-module-and-resources.html#eml-literature-module---usage-citation"><i class="fa fa-check"></i><b>5.4.2</b> eml-literature module - usage citation</a></li>
<li class="chapter" data-level="5.4.3" data-path="the-eml-module-and-resources.html"><a href="the-eml-module-and-resources.html#eml-literature-module---reference-publication"><i class="fa fa-check"></i><b>5.4.3</b> eml-literature module - reference publication</a></li>
</ul></li>
<li class="chapter" data-level="5.5" data-path="the-eml-module-and-resources.html"><a href="the-eml-module-and-resources.html#the-eml-software-module---software-specific-information"><i class="fa fa-check"></i><b>5.5</b> The eml-software module - Software specific information</a></li>
<li class="chapter" data-level="5.6" data-path="the-eml-module-and-resources.html"><a href="the-eml-module-and-resources.html#the-eml-protocol-module---research-protocol-specific-information"><i class="fa fa-check"></i><b>5.6</b> The eml-protocol module - Research protocol specific information</a></li>
</ul></li>
<li class="chapter" data-level="6" data-path="data-structure-modules.html"><a href="data-structure-modules.html"><i class="fa fa-check"></i><b>6</b> Data Structure Modules</a><ul>
<li class="chapter" data-level="6.1" data-path="data-structure-modules.html"><a href="data-structure-modules.html#the-eml-entity-module---entity-level-information-within-datasets"><i class="fa fa-check"></i><b>6.1</b> The eml-entity module - Entity level information within datasets</a></li>
<li class="chapter" data-level="6.2" data-path="data-structure-modules.html"><a href="data-structure-modules.html#the-eml-attribute-module---attribute-level-information-within-dataset-entities"><i class="fa fa-check"></i><b>6.2</b> The eml-attribute module - Attribute level information within dataset entities</a><ul>
<li class="chapter" data-level="6.2.1" data-path="data-structure-modules.html"><a href="data-structure-modules.html#philosophy-of-attribute-units"><i class="fa fa-check"></i><b>6.2.1</b> Philosophy of Attribute Units</a></li>
</ul></li>
<li class="chapter" data-level="6.3" data-path="data-structure-modules.html"><a href="data-structure-modules.html#the-eml-constraint-module---relationships-among-and-within-dataset-entities"><i class="fa fa-check"></i><b>6.3</b> The eml-constraint module - Relationships among and within dataset entities</a></li>
<li class="chapter" data-level="6.4" data-path="data-structure-modules.html"><a href="data-structure-modules.html#the-eml-datatable-module---logical-information-about-data-table-entities"><i class="fa fa-check"></i><b>6.4</b> The eml-dataTable module - Logical information about data table entities</a></li>
<li class="chapter" data-level="6.5" data-path="data-structure-modules.html"><a href="data-structure-modules.html#the-eml-spatialraster-module---logical-information-about-regularly-gridded-geospatial-image-data"><i class="fa fa-check"></i><b>6.5</b> The eml-spatialRaster module - Logical information about regularly gridded geospatial image data</a></li>
<li class="chapter" data-level="6.6" data-path="data-structure-modules.html"><a href="data-structure-modules.html#the-eml-spatialvector-module---logical-information-about-non-gridded-geospatial-image-data"><i class="fa fa-check"></i><b>6.6</b> The eml-spatialVector module - Logical information about non-gridded geospatial image data</a></li>
<li class="chapter" data-level="6.7" data-path="data-structure-modules.html"><a href="data-structure-modules.html#schema-for-validating-spatial-referencing-descriptions"><i class="fa fa-check"></i><b>6.7</b> Schema for validating spatial referencing descriptions</a></li>
<li class="chapter" data-level="6.8" data-path="data-structure-modules.html"><a href="data-structure-modules.html#the-eml-storedprocedure-module---data-tables-resulting-from-procedures-stored-in-a-database"><i class="fa fa-check"></i><b>6.8</b> The eml-storedProcedure module - Data tables resulting from procedures stored in a database</a></li>
<li class="chapter" data-level="6.9" data-path="data-structure-modules.html"><a href="data-structure-modules.html#the-eml-view-module---data-tables-resulting-from-a-database-query"><i class="fa fa-check"></i><b>6.9</b> The eml-view module - Data tables resulting from a database query</a></li>
</ul></li>
<li class="chapter" data-level="7" data-path="discovery-and-interpretation-modules.html"><a href="discovery-and-interpretation-modules.html"><i class="fa fa-check"></i><b>7</b> Discovery and Interpretation Modules</a><ul>
<li class="chapter" data-level="7.1" data-path="discovery-and-interpretation-modules.html"><a href="discovery-and-interpretation-modules.html#the-eml-access-module---access-control-rules-for-resources"><i class="fa fa-check"></i><b>7.1</b> The eml-access module - Access control rules for resources</a></li>
<li class="chapter" data-level="7.2" data-path="discovery-and-interpretation-modules.html"><a href="discovery-and-interpretation-modules.html#the-eml-physical-module---physical-file-format"><i class="fa fa-check"></i><b>7.2</b> The eml-physical module - Physical file format</a></li>
<li class="chapter" data-level="7.3" data-path="discovery-and-interpretation-modules.html"><a href="discovery-and-interpretation-modules.html#the-eml-party-module---people-and-organization-information"><i class="fa fa-check"></i><b>7.3</b> The eml-party module - People and organization information</a></li>
<li class="chapter" data-level="7.4" data-path="discovery-and-interpretation-modules.html"><a href="discovery-and-interpretation-modules.html#the-eml-coverage-module---geographic-temporal-and-taxonomic-extents-of-resources"><i class="fa fa-check"></i><b>7.4</b> The eml-coverage module - Geographic, temporal, and taxonomic extents of resources</a></li>
<li class="chapter" data-level="7.5" data-path="discovery-and-interpretation-modules.html"><a href="discovery-and-interpretation-modules.html#the-eml-project-module---research-context-information-for-resources"><i class="fa fa-check"></i><b>7.5</b> The eml-project module - Research context information for resources</a></li>
<li class="chapter" data-level="7.6" data-path="discovery-and-interpretation-modules.html"><a href="discovery-and-interpretation-modules.html#the-eml-methods-module---methodological-information-for-resources"><i class="fa fa-check"></i><b>7.6</b> The eml-methods module - Methodological information for resources</a></li>
</ul></li>
<li class="chapter" data-level="8" data-path="utility-modules.html"><a href="utility-modules.html"><i class="fa fa-check"></i><b>8</b> Utility Modules</a><ul>
<li class="chapter" data-level="8.1" data-path="utility-modules.html"><a href="utility-modules.html#the-eml-text-module---text-field-formatting"><i class="fa fa-check"></i><b>8.1</b> The eml-text module - Text field formatting</a></li>
<li class="chapter" data-level="8.2" data-path="utility-modules.html"><a href="utility-modules.html#the-eml-semantics-module---semantic-annotations-for-formalized-statements-about-eml-components"><i class="fa fa-check"></i><b>8.2</b> The eml-semantics module - Semantic annotations for formalized statements about EML components</a></li>
</ul></li>
<li class="chapter" data-level="9" data-path="eml-schema.html"><a href="eml-schema.html"><i class="fa fa-check"></i><b>9</b> EML Schema</a></li>
<li class="chapter" data-level="10" data-path="validation-and-content-references.html"><a href="validation-and-content-references.html"><i class="fa fa-check"></i><b>10</b> Validation and Content references</a><ul>
<li class="chapter" data-level="10.1" data-path="validation-and-content-references.html"><a href="validation-and-content-references.html#validation-rules"><i class="fa fa-check"></i><b>10.1</b> Validation rules</a></li>
<li class="chapter" data-level="10.2" data-path="validation-and-content-references.html"><a href="validation-and-content-references.html#validation-algorithm"><i class="fa fa-check"></i><b>10.2</b> Validation algorithm</a></li>
<li class="chapter" data-level="10.3" data-path="validation-and-content-references.html"><a href="validation-and-content-references.html#content-references"><i class="fa fa-check"></i><b>10.3</b> Content references</a></li>
<li class="chapter" data-level="10.4" data-path="validation-and-content-references.html"><a href="validation-and-content-references.html#eml-validity-parser"><i class="fa fa-check"></i><b>10.4</b> EML Validity Parser</a></li>
<li class="chapter" data-level="10.5" data-path="validation-and-content-references.html"><a href="validation-and-content-references.html#id-and-scope-examples"><i class="fa fa-check"></i><b>10.5</b> id and Scope Examples</a></li>
</ul></li>
<li class="chapter" data-level="11" data-path="semantic-annotation-primer.html"><a href="semantic-annotation-primer.html"><i class="fa fa-check"></i><b>11</b> Semantic Annotation Primer</a><ul>
<li class="chapter" data-level="11.1" data-path="semantic-annotation-primer.html"><a href="semantic-annotation-primer.html#introduction"><i class="fa fa-check"></i><b>11.1</b> Introduction</a><ul>
<li class="chapter" data-level="11.1.1" data-path="semantic-annotation-primer.html"><a href="semantic-annotation-primer.html#take-home-messages"><i class="fa fa-check"></i><b>11.1.1</b> Take-home messages</a></li>
<li class="chapter" data-level="11.1.2" data-path="semantic-annotation-primer.html"><a href="semantic-annotation-primer.html#organization-of-this-document"><i class="fa fa-check"></i><b>11.1.2</b> Organization of this document</a></li>
<li class="chapter" data-level="11.1.3" data-path="semantic-annotation-primer.html"><a href="semantic-annotation-primer.html#other-conventions-and-terminology"><i class="fa fa-check"></i><b>11.1.3</b> Other Conventions and Terminology</a></li>
</ul></li>
<li class="chapter" data-level="11.2" data-path="semantic-annotation-primer.html"><a href="semantic-annotation-primer.html#semantic-annotations-in-eml-2.2.0"><i class="fa fa-check"></i><b>11.2</b> Semantic Annotations in EML 2.2.0</a><ul>
<li class="chapter" data-level="11.2.1" data-path="semantic-annotation-primer.html"><a href="semantic-annotation-primer.html#annotation-element-structure"><i class="fa fa-check"></i><b>11.2.1</b> Annotation element structure</a></li>
<li class="chapter" data-level="11.2.2" data-path="semantic-annotation-primer.html"><a href="semantic-annotation-primer.html#top-level-resource-entity-level-and-attribute-annotations"><i class="fa fa-check"></i><b>11.2.2</b> Top-level resource, entity-level, and attribute annotations</a></li>
<li class="chapter" data-level="11.2.3" data-path="semantic-annotation-primer.html"><a href="semantic-annotation-primer.html#annotations-grouped-under-the-eml-annotations-element"><i class="fa fa-check"></i><b>11.2.3</b> Annotations grouped under the EML <code><annotations></code> element</a></li>
<li class="chapter" data-level="11.2.4" data-path="semantic-annotation-primer.html"><a href="semantic-annotation-primer.html#annotations-grouped-under-additionalmetadata"><i class="fa fa-check"></i><b>11.2.4</b> Annotations grouped under <code><additionalMetadata></code></a></li>
</ul></li>
<li class="chapter" data-level="11.3" data-path="semantic-annotation-primer.html"><a href="semantic-annotation-primer.html#appendix"><i class="fa fa-check"></i><b>11.3</b> Appendix</a><ul>
<li class="chapter" data-level="11.3.1" data-path="semantic-annotation-primer.html"><a href="semantic-annotation-primer.html#semantic-triples"><i class="fa fa-check"></i><b>11.3.1</b> Semantic triples</a></li>
<li class="chapter" data-level="11.3.2" data-path="semantic-annotation-primer.html"><a href="semantic-annotation-primer.html#uris"><i class="fa fa-check"></i><b>11.3.2</b> URIs</a></li>
<li class="chapter" data-level="11.3.3" data-path="semantic-annotation-primer.html"><a href="semantic-annotation-primer.html#rdf-graphs"><i class="fa fa-check"></i><b>11.3.3</b> RDF Graphs</a></li>
<li class="chapter" data-level="11.3.4" data-path="semantic-annotation-primer.html"><a href="semantic-annotation-primer.html#check-for-logical-consistency"><i class="fa fa-check"></i><b>11.3.4</b> Check for Logical Consistency</a></li>
<li class="chapter" data-level="11.3.5" data-path="semantic-annotation-primer.html"><a href="semantic-annotation-primer.html#glossary"><i class="fa fa-check"></i><b>11.3.5</b> Glossary</a></li>
<li class="chapter" data-level="11.3.6" data-path="semantic-annotation-primer.html"><a href="semantic-annotation-primer.html#vocabularies-and-repositories-used-in-examples"><i class="fa fa-check"></i><b>11.3.6</b> Vocabularies and repositories used in examples</a></li>
<li class="chapter" data-level="11.3.7" data-path="semantic-annotation-primer.html"><a href="semantic-annotation-primer.html#additional-background-information"><i class="fa fa-check"></i><b>11.3.7</b> Additional background information</a></li>
</ul></li>
<li class="chapter" data-level="11.4" data-path="semantic-annotation-primer.html"><a href="semantic-annotation-primer.html#frequently-asked-questions"><i class="fa fa-check"></i><b>11.4</b> Frequently asked questions</a></li>
</ul></li>
<li class="chapter" data-level="12" data-path="internationalization-metadata-in-multiple-languages.html"><a href="internationalization-metadata-in-multiple-languages.html"><i class="fa fa-check"></i><b>12</b> Internationalization - Metadata in multiple languages</a></li>
<li class="chapter" data-level="13" data-path="release-notes.html"><a href="release-notes.html"><i class="fa fa-check"></i><b>13</b> Release Notes</a><ul>
<li class="chapter" data-level="13.0.1" data-path="release-notes.html"><a href="release-notes.html#section"><i class="fa fa-check"></i><b>13.0.1</b> 2.2.0</a></li>
<li class="chapter" data-level="13.0.2" data-path="release-notes.html"><a href="release-notes.html#section-1"><i class="fa fa-check"></i><b>13.0.2</b> 2.1.1</a></li>
<li class="chapter" data-level="13.0.3" data-path="release-notes.html"><a href="release-notes.html#numbers-refer-to-the-corresponding-bugzilla-bug-id-not-the-github"><i class="fa fa-check"></i><b>13.0.3</b> 2.1.0 (numbers refer to the corresponding Bugzilla bug id, not the GitHub #)</a></li>
<li class="chapter" data-level="13.0.4" data-path="release-notes.html"><a href="release-notes.html#numbers-refer-to-the-corresponding-bugzilla-bug-id-not-the-github-1"><i class="fa fa-check"></i><b>13.0.4</b> 2.0.1 (numbers refer to the corresponding Bugzilla bug id, not the GitHub #)</a></li>
<li class="chapter" data-level="13.0.5" data-path="release-notes.html"><a href="release-notes.html#numbers-refer-to-the-corresponding-bugzilla-bug-id-not-the-github-2"><i class="fa fa-check"></i><b>13.0.5</b> 2.0.0 - (numbers refer to the corresponding Bugzilla bug id, not the GitHub #)</a></li>
<li class="chapter" data-level="13.0.6" data-path="release-notes.html"><a href="release-notes.html#rc3-numbers-refer-to-the-corresponding-bugzilla-bug-id-not-the-github"><i class="fa fa-check"></i><b>13.0.6</b> 2.0.0rc3 (numbers refer to the corresponding Bugzilla bug id, not the GitHub #)</a></li>
<li class="chapter" data-level="13.0.7" data-path="release-notes.html"><a href="release-notes.html#rc2-numbers-refer-to-the-corresponding-bugzilla-bug-id-not-the-github"><i class="fa fa-check"></i><b>13.0.7</b> RC2 (numbers refer to the corresponding Bugzilla bug id, not the GitHub #)</a></li>
<li class="chapter" data-level="13.0.8" data-path="release-notes.html"><a href="release-notes.html#rc1-numbers-refer-to-the-corresponding-bugzilla-bug-id-not-the-github"><i class="fa fa-check"></i><b>13.0.8</b> RC1 (numbers refer to the corresponding Bugzilla bug id, not the GitHub #)</a></li>
<li class="chapter" data-level="13.0.9" data-path="release-notes.html"><a href="release-notes.html#beta9-fixes-"><i class="fa fa-check"></i><b>13.0.9</b> Beta9 Fixes-</a></li>
<li class="chapter" data-level="13.0.10" data-path="release-notes.html"><a href="release-notes.html#beta-8-fixes-"><i class="fa fa-check"></i><b>13.0.10</b> Beta 8 Fixes-</a></li>
<li class="chapter" data-level="13.0.11" data-path="release-notes.html"><a href="release-notes.html#beta-7-fixes-"><i class="fa fa-check"></i><b>13.0.11</b> Beta 7 Fixes-</a></li>
</ul></li>
<li class="chapter" data-level="14" data-path="about-this-site.html"><a href="about-this-site.html"><i class="fa fa-check"></i><b>14</b> About this site</a><ul>
<li class="chapter" data-level="14.1" data-path="about-this-site.html"><a href="about-this-site.html#building-the-site"><i class="fa fa-check"></i><b>14.1</b> Building the site</a></li>
<li class="chapter" data-level="14.2" data-path="about-this-site.html"><a href="about-this-site.html#deploying-the-site"><i class="fa fa-check"></i><b>14.2</b> Deploying the site</a></li>
</ul></li>
<li class="chapter" data-level="15" data-path="references.html"><a href="references.html"><i class="fa fa-check"></i><b>15</b> References</a></li>
<li class="divider"></li>
<li><a href="../">← Back to main website</a></li>
</ul>
</nav>
</div>
<div class="book-body">
<div class="body-inner">
<div class="book-header" role="navigation">
<h1>
<i class="fa fa-circle-o-notch fa-spin"></i><a href="./">Ecological Metadata Language (EML)</a>
</h1>
</div>
<div class="page-wrapper" tabindex="-1" role="main">
<div class="page-inner">
<section class="normal" id="section-">
<div id="semantic-annotation-primer" class="section level1">
<h1><span class="header-section-number">11</span> Semantic Annotation Primer</h1>
<p><a name="introduction"></a></p>
<div id="introduction" class="section level2">
<h2><span class="header-section-number">11.1</span> Introduction</h2>
<p>A semantic annotation creates a relationship between some semantic metadata and a resource - in this case, a dataset, or some other element of a dataset (e.g., an attribute). What makes the annotation “semantic” is that the resource is linked to a well-defined term in a web-accessible ontology. In this way, semantic annotation provides access to precise definitions of concepts, and clarifies the relationships among concepts in a machine-readable way. Creating semantic annotations does require additional effort but pays off by enhancing discovery and reuse of your data.</p>
<p>The main differences between semantic annotation and simply adding keywords are:
- semantic annotations can be read and interpreted by computers
- semantic annotations describe the relationship between a specific part of the metadata and terms in external vocabularies
- semantic annotations use W3C-recommended languages to express these relationships via the Web</p>
<p>For the purposes of this document all mentions of “annotation” imply “semantic annotation” as described above. Whereas more generic methods for annotating data and metadata exist (e.g., using keywords), these are not nearly as powerful as “semantic annotation”.</p>
<p><strong>Benefits of annotation:</strong> Annotations enhance data discovery and interpretation thereby making it easier for others to find and reuse data (and thus give proper credit). For example, consider the following cases:</p>
<ol style="list-style-type: decimal">
<li><strong>Finding synonymous concepts:</strong> Assume one dataset uses the phrase “carbon dioxide flux” and another dataset “CO2 flux”. An information system can recognize, through semantic annotation, that these datasets are about the same concepts if the datasets were annotated using the same term identifier for that measurement.</li>
<li><strong>Disambiguating terms:</strong> If datasets have been annotated, the system can assist in providing only results relevant for your intended meaning. For example, if you are searching for datasets about “litter” (as in “plant litter”), other irrelevant terms also labelled as “litter” (e.g., “garbage” or a “group of animals born together”) can be eliminated from your search results. This is because each distinct type of “litter” would be associated with a different identifier.</li>
<li><strong>Hierarchical searches:</strong> If you search for datasets containing “carbon flux” measurements, then datasets annotated as having measurements of “carbon dioxide flux” or “CO2 flux” will also be returned because these are both types of “carbon flux”. This is possible if the concepts come from a structured vocabulary where “carbon dioxide flux” is lower in the hierarchy (i.e., is a subclass) of “carbon flux”.</li>
</ol>
<p>There are five locations within the EML 2.2.0 schema to embed references to terms in <a href="#external-vocabularies">external vocabularies</a> (also known as <a href="#glossary-ontology">ontologies</a>) using HTTP <a href="#glossary-uri">uniform resource identifiers or URIs</a>. The association of an element in an EML metadata document with that external reference is a <em>semantic annotation</em>. By referencing terms from an external vocabulary, one can provide a rigorous, expressive, and consistent interpretation of the metadata. This is only true, however, if the external vocabulary itself is well-constructed, and expressed in a W3C semantic web language. Since the external reference (or annotation) is to a <em>controlled vocabulary</em> or <em><a href="#glossary-ontology">ontology</a></em>, the annotation provides a computer-usable <a href="#glossary-pointer">pointer</a> (the HTTP <a href="#glossary-uri">URI</a>) that <a href="#glossary-resolve">resolves</a> (and <a href="#glossary-dereference">dereferences</a>) to a useful description, definition, or specification of other relationships for that annotated resource.</p>
<p>Related FAQ: <a href="#faq-how-do-computers-use-eml-annotations">How do computers use EML annotations?</a></p>
<div id="take-home-messages" class="section level3">
<h3><span class="header-section-number">11.1.1</span> Take-home messages</h3>
<ul>
<li>Semantic statements must be logically consistent, as they are not simply a set of loosely structured keywords.</li>
<li>EML 2.2.0 has five places or methods that accept annotations (described in greater detail below).</li>
<li>The best place for advice and feedback on EML annotations is your data management community</li>
</ul>
</div>
<div id="organization-of-this-document" class="section level3">
<h3><span class="header-section-number">11.1.2</span> Organization of this document</h3>
<p>The purpose of this primer is to provide an introduction to how semantic annotations are structured in EML documents. It is expected that the readers is already familiar with the EML schema. This primer is divided into three major sections, including this <a href="semantic-annotation-primer.html#introduction">Introduction</a>), the central text (<a href="#sa-eml22">Semantic Annotations in EML 2.2.0</a>), and an <a href="semantic-annotation-primer.html#appendix">Appendix</a>. While the central text of the primer (<a href="#sa-eml22">Semantic Annotations in EML 2.2.0</a>) should provide all the information needed to create annotations in EML, additional details and more in-depth explanations are provided in the <a href="semantic-annotation-primer.html#appendix">Appendix</a>.</p>
<ul>
<li><strong><a href="semantic-annotation-primer.html#introduction">Introduction</a></strong></li>
<li><strong><a href="#sa-eml22">Semantic Annotations in EML 2.2.0</a></strong>, with examples. Where used, EML elements are shown as inline code blocks (e.g., <code>elementName</code>).</li>
<li><strong><a href="semantic-annotation-primer.html#appendix">Appendix:</a></strong> Additional information on specific related topics, linked from other sections.
<ul>
<li><strong><a href="semantic-annotation-primer.html#glossary">Glossary:</a></strong> Glossary of terms, linked from text</li>
<li><strong><a href="semantic-annotation-primer.html#semantic-triples">Semantic triples:</a></strong> Details on their structure (and machine use). Explanation of how that structure is leveraged by annotations with examples of their power</li>
<li><strong><a href="semantic-annotation-primer.html#uris">URIs:</a></strong> Defined, and as components of semantic triples</li>
<li><strong><a href="#rdf">RDF model and graphs:</a></strong> Brief description of the W3C’s RDF model with example graphs based on EML annotations</li>
<li><strong><a href="#logical-consistency">Logical consistency:</a></strong> Common mistakes and how to check for them</li>
<li><strong><a href="#external-vocabularies">Vocabularies and repositories used in examples:</a></strong> Descriptions and links out to explore further</li>
<li><strong><a href="#additional-background">Additional background information:</a></strong> The EML annotation approach here is compatible with recommendations by the World Wide Web Consortium (W3C) for construction of the Semantic Web. A wealth of material is available; a few selected ones are suggested here.</li>
<li><strong><a href="#FAQ">Frequently asked questions:</a></strong> Some questions asked by readers, and their answers</li>
</ul></li>
</ul>
</div>
<div id="other-conventions-and-terminology" class="section level3">
<h3><span class="header-section-number">11.1.3</span> Other Conventions and Terminology</h3>
<ul>
<li>Use of the terms “<em>required</em>” or “<em>must</em>”: this feature is a <em>requirement</em> of EML 2.2</li>
<li>Use of the term “<em>should</em>”: this feature is not required by EML 2.2 schema but is a recommended or emerging best practice. It is not checked by the EML schema or parser, but could be checked or confirmed by an external system.</li>
</ul>
<p><a name="sa-eml22"></a></p>
</div>
</div>
<div id="semantic-annotations-in-eml-2.2.0" class="section level2">
<h2><span class="header-section-number">11.2</span> Semantic Annotations in EML 2.2.0</h2>
<p>There are five locations within the EML 2.2.0 schema where annotations can be included:</p>
<ul>
<li><strong>top-level resource</strong>: an <code>annotation</code> element is a child of the <code>dataset</code>, <code>literature</code>, <code>software</code>, or <code>protocol</code> elements</li>
<li><strong>entity-level</strong>: an <code>annotation</code> element is a child of a dataset’s entity (e.g., dataTable)</li>
<li><strong>attribute</strong>: an annotation element is a child of a dataset entity’s <code>attribute</code> element</li>
<li><strong>eml/annotations</strong>: a container for a group of <code>annotation</code> elements using references</li>
<li><strong>eml/additionalMetadata</strong>: annotation elements that reference a main-body element by its <code>id</code> attribute</li>
</ul>
<div id="annotation-element-structure" class="section level3">
<h3><span class="header-section-number">11.2.1</span> Annotation element structure</h3>
<p>All annotation nodes are defined as an XML type so they have the same structure anywhere they appear in the EML record. The basic structure is listed below (additional examples are provided in the following sections).</p>
<div class="sourceCode" id="cb22"><pre class="sourceCode xml"><code class="sourceCode xml"><a class="sourceLine" id="cb22-1" data-line-number="1"> <span class="kw"><annotation></span></a>
<a class="sourceLine" id="cb22-2" data-line-number="2"> <span class="kw"><propertyURI</span><span class="ot"> label=</span><span class="st">"property label here"</span><span class="kw">></span>property URI here<span class="kw"></propertyURI></span></a>
<a class="sourceLine" id="cb22-3" data-line-number="3"> <span class="kw"><valueURI</span><span class="ot"> label=</span><span class="st">"value label here"</span><span class="kw">></span>value URI here<span class="kw"></valueURI></span></a>
<a class="sourceLine" id="cb22-4" data-line-number="4"> <span class="kw"></annotation></span></a></code></pre></div>
<p>An annotation element always has a parent-EML element, which is the ‘thing’ being annotated, or the <em>subject</em> (e.g., the <code>dataset</code>, <code>attribute</code>). The <code>annotation</code> element has two required child elements: <code>propertyURI</code> and <code>valueURI</code>. Together, these two child elements, along with the <em>subject</em>, form a “semantic statement” that can become a “semantic triple”. The concept of a triple is covered in more detail (see <a href="semantic-annotation-primer.html#semantic-triples">Semantic Triples</a>, below). Here, we concentrate on the structure of an annotation within the EML document itself:</p>
<ul>
<li><code>propertyURI</code> and <code>valueURI</code> elements
<ul>
<li>each element’s text is the <a href="#faq-uri">URI</a> for the concept in an external vocabulary. The <a href="#faq-uri">URI</a> points to a term in a vocabulary where a definition, description, and that term’s relationships to other concepts are formally modelled. Content is required by the EML schema, and it should be a <a href="#faq-uri">URI</a>.</li>
<li>the XML attribute <code>label</code> is required (for both <code>propertyURI</code> and <code>valueURI</code>)
<ul>
<li>it should be suitable for application interfaces to display to humans</li>
<li>it should be populated with values from the referenced vocabulary’s label field (e,g., <code>rdfs:label</code> or <code>skos:prefLabel</code>). Note that this assumes the referenced vocabulary is stored as an RDF document, which is current best practice for sharing scientific vocabularies over the Web.</li>
</ul></li>
</ul></li>
</ul>
<p><a name="faq-why-do-annotations-need-ids"></a></p>
<p><strong>A note about annotations and element IDs</strong> All annotations must have an unambiguous subject. At the dataset-, entity-, or attribute- level, the parent element <em>is the subject</em> (e.g., <code><dataset></code>, <code><dataTable></code>, <code><attribute></code>), and precision of nodes in EML is guaranteed by the element’s id. That is, if an element has an annotation child, it must also have an id so it can become the annotation <em>subject</em>. Annotations at <code>eml/annotations</code> or <code>eml/additionalMetadata</code> will have subjects defined with a <code>references</code> attribute or <code>describes</code> element. As with other internal EML references, an <code>id</code> is required. With EML 2.2.0, the parser will check that an <code>id</code> attribute is present on elements with annotation children. As a reminder, the <code>id</code> must be unique within an EML document. Ideally, that <code>id</code> either is, or can readily be translated into, an HTTP URI that can be dereferenced (see examples below).</p>
</div>
<div id="top-level-resource-entity-level-and-attribute-annotations" class="section level3">
<h3><span class="header-section-number">11.2.2</span> Top-level resource, entity-level, and attribute annotations</h3>
<p>Annotations for top-level resources, entities, and attributes follow the same general pattern: the <em>subject</em> of the semantic statement is the parent element of the annotation; it must have an <code>id</code> attribute.</p>
<p><a name="eml-example-1"></a></p>
<div id="example-1-top-level-resource-annotation-dataset" class="section level4">
<h4><span class="header-section-number">11.2.2.1</span> Example 1: Top-level resource annotation (dataset)</h4>
<p>In the following dataset annotation, the semantic statement can be read as “the dataset with the id ‘dataset-01’ is about grassland biome(s)”.</p>
<ul>
<li>the <em>subject</em> of the semantic statement is the <code>dataset</code> element containing the <code>id</code> attribute value <code>"dataset-01"</code></li>
<li>the <code>annotation</code> itself has 2 parts:
<ul>
<li><code>propertyURI</code> is ‘<a href="http://purl.obolibrary.org/obo/IAO_0000136" class="uri">http://purl.obolibrary.org/obo/IAO_0000136</a>’, and describes the nature of the relationship between the subject (above) and object (valueURI below), using a term from the <a href="#iao">Information Artifact Ontology</a> (IAO).</li>
<li><code>valueURI</code> is ‘<a href="http://purl.obolibrary.org/obo/ENVO_01000177" class="uri">http://purl.obolibrary.org/obo/ENVO_01000177</a>’, which resolves to the “grassland biome” term in the <a href="#envo">Environment Ontology</a> (EnvO).</li>
</ul></li>
</ul>
<div class="sourceCode" id="cb23"><pre class="sourceCode xml"><code class="sourceCode xml"><a class="sourceLine" id="cb23-1" data-line-number="1"><span class="kw"><dataset</span><span class="ot"> id=</span><span class="st">"dataset-01"</span><span class="kw">></span></a>
<a class="sourceLine" id="cb23-2" data-line-number="2"> <span class="kw"><title></span>Soil organic matter responses to nutrient enrichment in the Nutrient Network:Nutrient Network. A cross-site investigation of bottom-up control over herbaceous plant community dynamics and ecosystem function.<span class="kw"></title></span></a>
<a class="sourceLine" id="cb23-3" data-line-number="3"> <span class="kw"><creator</span><span class="ot"> id=</span><span class="st">"eric.seabloom"</span><span class="kw">></span></a>
<a class="sourceLine" id="cb23-4" data-line-number="4"> <span class="kw"><individualName></span></a>
<a class="sourceLine" id="cb23-5" data-line-number="5"> <span class="kw"><givenName></span>Eric<span class="kw"></givenName></span></a>
<a class="sourceLine" id="cb23-6" data-line-number="6"> <span class="kw"><surName></span>Seabloom<span class="kw"></surName></span></a>
<a class="sourceLine" id="cb23-7" data-line-number="7"> <span class="kw"></individualName></span></a>
<a class="sourceLine" id="cb23-8" data-line-number="8"> <span class="kw"></creator></span></a>
<a class="sourceLine" id="cb23-9" data-line-number="9"> ... </a>
<a class="sourceLine" id="cb23-10" data-line-number="10"> <span class="kw"><coverage></span> </a>
<a class="sourceLine" id="cb23-11" data-line-number="11"> ...</a>
<a class="sourceLine" id="cb23-12" data-line-number="12"> <span class="kw"></coverage></span> </a>
<a class="sourceLine" id="cb23-13" data-line-number="13"> <span class="kw"><annotation></span></a>
<a class="sourceLine" id="cb23-14" data-line-number="14"> <span class="kw"><propertyURI</span><span class="ot"> label=</span><span class="st">"is about"</span><span class="kw">></span>http://purl.obolibrary.org/obo/IAO_0000136<span class="kw"></propertyURI></span></a>
<a class="sourceLine" id="cb23-15" data-line-number="15"> <span class="kw"><valueURI</span><span class="ot"> label=</span><span class="st">"grassland biome"</span><span class="kw">></span>http://purl.obolibrary.org/obo/ENVO_01000177<span class="kw"></valueURI></span></a>
<a class="sourceLine" id="cb23-16" data-line-number="16"> <span class="kw"></annotation></span></a>
<a class="sourceLine" id="cb23-17" data-line-number="17"> ... </a>
<a class="sourceLine" id="cb23-18" data-line-number="18"><span class="kw"></dataset></span> </a></code></pre></div>
<!-- TODO: probably an FAQ HERE "what is a proper subject?" -->
<p><a name="eml-example-2"></a></p>
</div>
<div id="example-2-entity-level-annotation" class="section level4">
<h4><span class="header-section-number">11.2.2.2</span> Example 2: Entity-level annotation</h4>
<p>In the following entity-level annotation, the semantic statement can be read as “the entity with the id ‘<a href="urn:uuid:9f0eb128-aca8-4053-9dda-8e7b2c43a81b" class="uri">urn:uuid:9f0eb128-aca8-4053-9dda-8e7b2c43a81b</a>’ is about Mammalia”.</p>
<ul>
<li>The <em>subject</em> of the semantic statement is the <code>otherEntity</code> with <code>id</code> attribute value, <code>"urn:uuid:9f0eb128-aca8-4053-9dda-8e7b2c43a81b"</code>.</li>
<li>The annotation itself has 2 parts
<ul>
<li><code>propertyURI</code> is “<a href="http://purl.obolibrary.org/obo/IAO_0000136" class="uri">http://purl.obolibrary.org/obo/IAO_0000136</a>”, which resolves to “is about”, from <a href="#iao">IAO</a></li>
<li><code>valueURI</code> is “<a href="http://purl.obolibrary.org/obo/NCBITaxon_40674" class="uri">http://purl.obolibrary.org/obo/NCBITaxon_40674</a>”, which resolves to “Mammalia” in the <a href="#ncbi_taxon">NCBI Taxon ontology</a>.</li>
</ul></li>
</ul>
<div class="sourceCode" id="cb24"><pre class="sourceCode xml"><code class="sourceCode xml"><a class="sourceLine" id="cb24-1" data-line-number="1"><span class="kw"><otherEntity</span><span class="ot"> id=</span><span class="st">"urn:uuid:9f0eb128-aca8-4053-9dda-8e7b2c43a81b"</span><span class="ot"> scope=</span><span class="st">"document"</span><span class="kw">></span></a>
<a class="sourceLine" id="cb24-2" data-line-number="2"> <span class="kw"><entityName></span>DBO_MMWatch_SWL2016_MooreGrebmeierVagle.xlsx<span class="kw"></entityName></span></a>
<a class="sourceLine" id="cb24-3" data-line-number="3"> <span class="kw"><entityDescription></span>Data contained in the file DBO_MMWatch_SWL2016_MooreGrebmeierVagle.xlsx are marine mammal observations and observation conditions from CCGS Sir Wilfrid Laurier July 10-20, 2016. Data observations and locations are part of the Distributed Biological Observatory (DBO).<span class="kw"></entityDescription></span></a>
<a class="sourceLine" id="cb24-4" data-line-number="4"> <span class="kw"><physical</span><span class="ot"> scope=</span><span class="st">"document"</span><span class="kw">></span></a>
<a class="sourceLine" id="cb24-5" data-line-number="5"> <span class="kw"><objectName></span>DBO_MMWatch_SWL2016_MooreGrebmeierVagle.xlsx<span class="kw"></objectName></span></a>
<a class="sourceLine" id="cb24-6" data-line-number="6"> <span class="kw"><size</span><span class="ot"> unit=</span><span class="st">"bytes"</span><span class="kw">></span>24635<span class="kw"></size></span></a>
<a class="sourceLine" id="cb24-7" data-line-number="7"> <span class="kw"></physical></span></a>
<a class="sourceLine" id="cb24-8" data-line-number="8"> <span class="kw"><entityType></span>Other<span class="kw"></entityType></span></a>
<a class="sourceLine" id="cb24-9" data-line-number="9"> <span class="kw"><annotation></span></a>
<a class="sourceLine" id="cb24-10" data-line-number="10"> <span class="kw"><propertyURI</span><span class="ot"> label=</span><span class="st">"is about"</span><span class="kw">></span>http://purl.obolibrary.org/obo/IAO_0000136<span class="kw"></propertyURI></span></a>
<a class="sourceLine" id="cb24-11" data-line-number="11"> <span class="kw"><valueURI</span><span class="ot"> label=</span><span class="st">"Mammalia"</span><span class="kw">></span>http://purl.obolibrary.org/obo/NCBITaxon_40674<span class="kw"></valueURI></span> </a>
<a class="sourceLine" id="cb24-12" data-line-number="12"> <span class="kw"><annotation></span></a>
<a class="sourceLine" id="cb24-13" data-line-number="13"><span class="kw"></otherEntity></span></a></code></pre></div>
<!-- TODO: probably an FAQ HERE "what is a proper subject?" -->
<p><a name="eml-example-3"></a></p>
</div>
<div id="example-3-attribute-annotation" class="section level4">
<h4><span class="header-section-number">11.2.2.3</span> Example 3: Attribute annotation</h4>
<p>In the following attribute annotation, the semantic statement can be read as “the attribute with the id ‘att.4’ contains measurements of type plant cover percentage”</p>
<ul>
<li>The subject of the semantic statement is the <code>attribute</code> element with the <code>id</code> value “att.4”.</li>
<li>The annotation itself has 2 parts
<ul>
<li><code>propertyURI</code> is “<a href="http://ecoinformatics.org/oboe/oboe.1.2/oboe-core.owl#containsMeasurementsOfType" class="uri">http://ecoinformatics.org/oboe/oboe.1.2/oboe-core.owl#containsMeasurementsOfType</a>”, from the <a href="#oboe">Extensible Ontology for Observations</a> (OBOE)</li>
<li><code>valueURI</code> is “<a href="http://purl.dataone.org/odo/ECSO_00001197" class="uri">http://purl.dataone.org/odo/ECSO_00001197</a>”, which resolves to “Plant Cover Percentage” in the <a href="#ecso">Ecosystem Ontology</a> (ECSO)</li>
</ul></li>
</ul>
<p>Related FAQ: <a href="#FAQ-are-all-eml-attributes-measurements">Are all EML dataTable attributes measurements?</a></p>
<div class="sourceCode" id="cb25"><pre class="sourceCode xml"><code class="sourceCode xml"><a class="sourceLine" id="cb25-1" data-line-number="1"><span class="kw"><attribute</span><span class="ot"> id=</span><span class="st">"att.4"</span><span class="kw">></span></a>
<a class="sourceLine" id="cb25-2" data-line-number="2"> <span class="kw"><attributeName></span>pctcov<span class="kw"></attributeName></span></a>
<a class="sourceLine" id="cb25-3" data-line-number="3"> <span class="kw"><attributeLabel></span>percent cover<span class="kw"></attributeLabel></span></a>
<a class="sourceLine" id="cb25-4" data-line-number="4"> <span class="kw"><attributeDefinition></span>The percent ground cover on the field<span class="kw"></attributeDefinition></span></a>
<a class="sourceLine" id="cb25-5" data-line-number="5"> <span class="kw"><annotation></span></a>
<a class="sourceLine" id="cb25-6" data-line-number="6"> <span class="kw"><propertyURI</span><span class="ot"> label=</span><span class="st">"contains measurements of type"</span><span class="kw">></span>http://ecoinformatics.org/oboe/oboe.1.2/oboe-core.owl#containsMeasurementsOfType<span class="kw"></propertyURI></span></a>
<a class="sourceLine" id="cb25-7" data-line-number="7"> <span class="kw"><valueURI</span><span class="ot"> label=</span><span class="st">"Plant Cover Percentage"</span><span class="kw">></span>http://purl.dataone.org/odo/ECSO_00001197<span class="kw"></valueURI></span></a>
<a class="sourceLine" id="cb25-8" data-line-number="8"> <span class="kw"></annotation></span></a>
<a class="sourceLine" id="cb25-9" data-line-number="9"><span class="kw"></attribute></span></a></code></pre></div>
<!-- TODO: probably an FAQ HERE "what is a proper subject?" -->
<p><a href="#rdf-eml-example-3">example 3 presented as an RDF graph</a></p>
</div>
</div>
<div id="annotations-grouped-under-the-eml-annotations-element" class="section level3">
<h3><span class="header-section-number">11.2.3</span> Annotations grouped under the EML <code><annotations></code> element</h3>
<p>Examples 1-3 above show annotations directly beneath the parent element, which is the <em>semantic subject</em>. However, all the annotations for an entire dataset can be grouped together instead of nested below a parent element. This can be accomplished in two ways/places: (1) in an <code><annotations></code> element (<a href="#eml-example-4">example 4</a>), and (2) under <code><additionalMetadata></code> (<a href="#eml-example-5">example 5</a>).</p>
<p>When the annotations are grouped together, each <code>annotation</code> must have its subject designated by a <code>references</code> attribute that points to the <code>id</code> attribute of the element being annotated (the <em>subject</em>). That is, what is listed in the <code>references</code> attribute is the id of the <em>subject</em> of the semantic annotation. An implication of this is that that <em>any</em> EML element with an id can become the subject of an annotation.</p>
<p><a name="eml-example-4"></a></p>
<div id="example-4-annotating-with-the-annotations-element" class="section level4">
<h4><span class="header-section-number">11.2.3.1</span> Example 4: Annotating with the <code><annotations></code> element</h4>
<p>All the annotations for a resource can be grouped together under an <code>annotations</code> element. With this construct, each annotation must have its subject specifically identified with a <code>references</code> attribute that points to the subject’s id. The group of annotations must be placed…</p>
<!-- TODO: WHERE IN DOC? [[MPS: I don't know the answer to this. Is there an XML/EML expert in the house?!!!]] -->
<p>This example 4 contains 3 different annotations:</p>
<p>In the first, the subject is the <code>dataTable</code> element with the <code>id</code> of “CDF-soil-table”. Its annotation components are analogous to Example 2 above, again referencing terms in <a href="#iao">IAO</a> and <a href="#envo">ENVO</a>. The semantic statement can be read as</p>
<ul>
<li>“the dataTable with the <code>id</code> ‘CDR-soil-table’ is about grassland biome(s)”.</li>
</ul>
<p>The second and third annotations both have individual persons as their subjects – the <code>creator</code> element that has the <code>id</code> “eric.seabloom”.</p>
<p>Respectively, their semantic statements can be read as</p>
<ul>
<li>“‘eric.seabloom’, the creator (of the dataset), is a person”.</li>
<li>“‘eric.seabloom’, the creator (of the dataset), is a member of University of Minnesota”.</li>
</ul>
<p>The ontologies used for eric.seabloom are</p>
<ul>
<li>in the second annotation
<ul>
<li><code>propertyURI</code> : uses an RDF built-in type, <em>rdf:type</em> that has label “is a” (as in, <code>the subject *is an* instance of a class</code>)</li>
<li><code>valueURI</code> : <a href="#schema.org">schema.org’s</a> concept of a “person”</li>
</ul></li>
<li>third annotation
<ul>
<li><code>propertyURI</code> : another <a href="#schema.org">schema.org</a> concept for a relationship, “is a member of”</li>
<li><code>valueURI</code> : the DOI, which is managed by <a href="#ROR">Research Organization Registry</a>, for the organization University of Minnesota.</li>
</ul></li>
</ul>
<div class="sourceCode" id="cb26"><pre class="sourceCode xml"><code class="sourceCode xml"><a class="sourceLine" id="cb26-1" data-line-number="1"><span class="kw"><eml></span></a>
<a class="sourceLine" id="cb26-2" data-line-number="2"> ...</a>
<a class="sourceLine" id="cb26-3" data-line-number="3"> <span class="kw"><dataset</span><span class="ot"> id=</span><span class="st">"dataset-01"</span><span class="kw">></span></a>
<a class="sourceLine" id="cb26-4" data-line-number="4"> <span class="kw"><title></span>Soil organic matter responses to nutrient enrichment in the Nutrient Network:Nutrient Network. A cross-site investigation of bottom-up control over herbaceous plant community dynamics and ecosystem function.<span class="kw"></title></span></a>
<a class="sourceLine" id="cb26-5" data-line-number="5"> <span class="kw"><creator</span><span class="ot"> id=</span><span class="st">"eric.seabloom"</span><span class="kw">></span> </a>
<a class="sourceLine" id="cb26-6" data-line-number="6"> <span class="kw"><individualName></span></a>
<a class="sourceLine" id="cb26-7" data-line-number="7"> <span class="kw"><givenName></span>Eric<span class="kw"></givenName></span></a>
<a class="sourceLine" id="cb26-8" data-line-number="8"> <span class="kw"><surName></span>Seabloom<span class="kw"></surName></span></a>
<a class="sourceLine" id="cb26-9" data-line-number="9"> <span class="kw"></individualName></span></a>
<a class="sourceLine" id="cb26-10" data-line-number="10"> <span class="kw"></creator></span></a>
<a class="sourceLine" id="cb26-11" data-line-number="11"> <span class="kw"><dataTable</span><span class="ot"> id=</span><span class="st">"CDR-soil-table"</span><span class="kw">></span></a>
<a class="sourceLine" id="cb26-12" data-line-number="12"> <span class="kw"><entityName></span>e247_Soil organic matter responses to nutrient enrichment in the Nutrient Network<span class="kw"></entityName></span> </a>
<a class="sourceLine" id="cb26-13" data-line-number="13"> ...</a>
<a class="sourceLine" id="cb26-14" data-line-number="14"> <span class="kw"></dataTable></span> </a>
<a class="sourceLine" id="cb26-15" data-line-number="15"> <span class="kw"></dataset></span></a>
<a class="sourceLine" id="cb26-16" data-line-number="16"> ...</a>
<a class="sourceLine" id="cb26-17" data-line-number="17"> <span class="kw"><annotations></span></a>
<a class="sourceLine" id="cb26-18" data-line-number="18"> <span class="kw"><annotation</span><span class="ot"> references=</span><span class="st">"CDR-soil-table"</span><span class="kw">></span></a>
<a class="sourceLine" id="cb26-19" data-line-number="19"> <span class="kw"><propertyURI</span><span class="ot"> label=</span><span class="st">"is about"</span><span class="kw">></span>http://purl.obolibrary.org/obo/IAO_0000136<span class="kw"></propertyURI></span></a>
<a class="sourceLine" id="cb26-20" data-line-number="20"> <span class="kw"><valueURI</span><span class="ot"> label=</span><span class="st">"grassland biome"</span><span class="kw">></span>http://purl.obolibrary.org/obo/ENVO_01000177<span class="kw"></valueURI></span></a>
<a class="sourceLine" id="cb26-21" data-line-number="21"> <span class="kw"></annotation></span></a>
<a class="sourceLine" id="cb26-22" data-line-number="22"> <span class="kw"><annotation</span><span class="ot"> references=</span><span class="st">"eric.seabloom"</span><span class="kw">></span></a>
<a class="sourceLine" id="cb26-23" data-line-number="23"> <span class="kw"><propertyURI</span><span class="ot"> label=</span><span class="st">"is a"</span><span class="kw">></span>http://www.w3.org/1999/02/22-rdf-syntax-ns#type<span class="kw"></propertyURI></span></a>
<a class="sourceLine" id="cb26-24" data-line-number="24"> <span class="kw"><valueURI</span><span class="ot"> label=</span><span class="st">"Person"</span><span class="kw">></span>https://schema.org/Person<span class="kw"></valueURI></span></a>
<a class="sourceLine" id="cb26-25" data-line-number="25"> <span class="kw"></annotation></span></a>
<a class="sourceLine" id="cb26-26" data-line-number="26"> <span class="kw"><annotation</span><span class="ot"> references=</span><span class="st">"eric.seabloom"</span><span class="kw">></span></a>
<a class="sourceLine" id="cb26-27" data-line-number="27"> <span class="kw"><propertyURI</span><span class="ot"> label=</span><span class="st">"member of"</span><span class="kw">></span>https://schema.org/memberOf<span class="kw"></propertyURI></span></a>
<a class="sourceLine" id="cb26-28" data-line-number="28"> <span class="kw"><valueURI</span><span class="ot"> label=</span><span class="st">"University of Minnesota"</span><span class="kw">></span>https://ror.org/017zqws13<span class="kw"></valueURI></span></a>
<a class="sourceLine" id="cb26-29" data-line-number="29"> <span class="kw"></annotation></span></a>
<a class="sourceLine" id="cb26-30" data-line-number="30"> <span class="kw"></annotations></span></a>
<a class="sourceLine" id="cb26-31" data-line-number="31"> ...</a>
<a class="sourceLine" id="cb26-32" data-line-number="32"><span class="kw"></eml></span></a></code></pre></div>
<p><a href="#rdf-eml-example-4">example 4 as an RDF graph</a></p>
</div>
</div>
<div id="annotations-grouped-under-additionalmetadata" class="section level3">
<h3><span class="header-section-number">11.2.4</span> Annotations grouped under <code><additionalMetadata></code></h3>
<p>Like the annotations grouped under <code><annotations></code>, annotations can also be grouped under <code><additionalMetadata></code>. If an <code>additionalMetadata</code> section holds a semantic annotation, it must have a <code>describes</code> element (to hold the subject) with a <code>metadata</code> element containing at least one <code>annotation</code> element.</p>
<ul>
<li>The <em>subject</em> of the semantic statement has its id contained in the <code>describes</code> element.</li>
<li>The annotation itself is within the <code>additionalMetadata</code> <code>metadata</code> section.</li>
<li>Multiple <code>annotation</code> elements may be embedded in the same <code>metadata</code> element to assert multiple semantic statements about the same subject.</li>
<li>To annotate different subjects, it is best to use multiple <code>additionalMetadata</code> sections, each with a single subject.</li>
</ul>
<p><a name="eml-example-5"></a></p>
<div id="example-5-additionalmetadata-element-annotation" class="section level4">
<h4><span class="header-section-number">11.2.4.1</span> Example 5: <code>additionalMetadata</code> element annotation</h4>
<p>Example 5 shows one of the same annotations as presented in Example 4, but here is contained in an <code>additionalMetadata</code> section.</p>
<p>The semantic statements can be read as “‘eric.seabloom’, the creator (of the dataset), is a person”.</p>
<ul>
<li>The <em>subject</em> of the semantic statement is the EML <code>creator</code> element with the <code>id</code> attribute “eric.seabloom”.</li>
<li>The annotation itself has 2 parts
<ul>
<li><code>propertyURI</code> is “<a href="https://schema.org/memberOf" class="uri">https://schema.org/memberOf</a>”, which resolves to “is a member of”, from <a href="#schema.org">schema.org</a></li>
<li><code>valueURI</code> is “<a href="https://ror.org/017zqws13" class="uri">https://ror.org/017zqws13</a>”, a DOI which resolves to “University of Minnesota”.</li>
</ul></li>
</ul>
<div class="sourceCode" id="cb27"><pre class="sourceCode xml"><code class="sourceCode xml"><a class="sourceLine" id="cb27-1" data-line-number="1"><span class="kw"><eml></span></a>
<a class="sourceLine" id="cb27-2" data-line-number="2"> ...</a>
<a class="sourceLine" id="cb27-3" data-line-number="3"> <span class="kw"><dataset</span><span class="ot"> id=</span><span class="st">"dataset-01"</span><span class="kw">></span></a>
<a class="sourceLine" id="cb27-4" data-line-number="4"> <span class="kw"><title></span>Soil organic matter responses to nutrient enrichment in the Nutrient Network:Nutrient Network. A cross-site investigation of bottom-up control over herbaceous plant community dynamics and ecosystem function.<span class="kw"></title></span></a>
<a class="sourceLine" id="cb27-5" data-line-number="5"> <span class="kw"><creator</span><span class="ot"> id=</span><span class="st">"eric.seabloom"</span><span class="kw">></span></a>
<a class="sourceLine" id="cb27-6" data-line-number="6"> <span class="kw"><individualName></span></a>
<a class="sourceLine" id="cb27-7" data-line-number="7"> <span class="kw"><givenName></span>Eric<span class="kw"></givenName></span></a>
<a class="sourceLine" id="cb27-8" data-line-number="8"> <span class="kw"><surName></span>Seabloom<span class="kw"></surName></span></a>
<a class="sourceLine" id="cb27-9" data-line-number="9"> <span class="kw"></individualName></span></a>
<a class="sourceLine" id="cb27-10" data-line-number="10"> <span class="kw"></creator></span></a>
<a class="sourceLine" id="cb27-11" data-line-number="11"> <span class="kw"><dataTable</span><span class="ot"> id=</span><span class="st">"CDR-soil-table"</span><span class="kw">></span></a>
<a class="sourceLine" id="cb27-12" data-line-number="12"> <span class="kw"><entityName></span>e247_Soil organic matter responses to nutrient enrichment in the Nutrient Network<span class="kw"></entityName></span> </a>
<a class="sourceLine" id="cb27-13" data-line-number="13"> ...</a>
<a class="sourceLine" id="cb27-14" data-line-number="14"> <span class="kw"></dataTable></span> </a>
<a class="sourceLine" id="cb27-15" data-line-number="15"> <span class="kw"></dataset></span></a>
<a class="sourceLine" id="cb27-16" data-line-number="16"> ...</a>
<a class="sourceLine" id="cb27-17" data-line-number="17"> <span class="kw"><additionalMetadata></span></a>
<a class="sourceLine" id="cb27-18" data-line-number="18"> <span class="kw"><describes></span>eric.seabloom<span class="kw"></describes></span></a>
<a class="sourceLine" id="cb27-19" data-line-number="19"> <span class="kw"><metadata></span></a>
<a class="sourceLine" id="cb27-20" data-line-number="20"> <span class="kw"><annotation></span></a>
<a class="sourceLine" id="cb27-21" data-line-number="21"> <span class="kw"><propertyURI</span><span class="ot"> label=</span><span class="st">"member of"</span><span class="kw">></span>https://schema.org/memberOf<span class="kw"></propertyURI></span></a>
<a class="sourceLine" id="cb27-22" data-line-number="22"> <span class="kw"><valueURI</span><span class="ot"> label=</span><span class="st">"University of Minnesota"</span><span class="kw">></span>https://ror.org/017zqws13<span class="kw"></valueURI></span></a>
<a class="sourceLine" id="cb27-23" data-line-number="23"> <span class="kw"></annotation></span></a>
<a class="sourceLine" id="cb27-24" data-line-number="24"> <span class="kw"></metadata></span></a>
<a class="sourceLine" id="cb27-25" data-line-number="25"> <span class="kw"></additionalMetadata></span></a>
<a class="sourceLine" id="cb27-26" data-line-number="26"><span class="kw"></eml></span></a></code></pre></div>
<p><a name="appendix"></a></p>
</div>
</div>
</div>
<div id="appendix" class="section level2">
<h2><span class="header-section-number">11.3</span> Appendix</h2>
<p><a name="semantic-triples"></a></p>
<div id="semantic-triples" class="section level3">
<h3><span class="header-section-number">11.3.1</span> Semantic triples</h3>
<p>Semantic annotations enable the creation of what are called <em>triples</em>, that are 3-part statements conforming to the W3C recommended <em>RDF data model</em> (learn more: <a href="https://www.w3.org/TR/rdf11-primer/" class="uri">https://www.w3.org/TR/rdf11-primer/</a>). The newly introduced <em>Semantic Annotation</em> capabilities introduced in EML 2.2.0 are constructed in a way that affords relatively straightforward re-expression of those annotations as true RDF triples.</p>
<p>A <em>triple</em> is composed of three parts: a <strong>subject</strong>, a <strong>predicate</strong> (that can be an <strong>object property</strong> or <strong>datatype property</strong>), and an <strong>object</strong>.</p>
<pre><code>[subject] [predicate] [object]</code></pre>
<p>These components are analogous to parts of a sentence: the <strong>subject</strong> and <strong>object</strong> can be thought of as nouns in the sentence and the <strong>predicate</strong> (object property or datatype property) is akin to a verb or relationship that connects the <strong>subject</strong> and <strong>object</strong>. The semantic triple expresses a statement about the associated resource, that is the <strong>subject</strong>.</p>
<p>There are (perhaps unfortunately) several other ways that the components of an RDF statement are sometimes described. One popular “synonymy” for <strong>subject-predicate-object</strong> is <strong>resource-property-value</strong>, i.e. the subject is referred to as the <strong>resource</strong>, the predicate a <strong>property</strong>, and the object a <strong>value</strong>. This can be confusing, since the usual definition of a <em>resource</em> in the context of the World Wide Web is any identifiable ‘thing’ or object, especially one assigned a URI; and by this definition, <em>resources</em> can and often do occur in all three components of a triple. But thinking of a triple as a <em>resource-property-value</em> does provide an indication of the directionality of the semantics of an RDF statement. This latter terminology is also similar to how analogous components are named in JSON-LD. Note that JSON-LD is closely compatible with RDF, and one format can often be readily translated to the other (although there are some exceptions).</p>
<p>Semantic annotations added to an EML document can be extracted and processed into a semantic web format, such as RDF/XML. These “semantic” statements, i.e. RDF triples, are interpretable by any machines that can process the W3C standard of RDF. Those RDF statements collectively constitute the Semantic Web.</p>
<p><a name="uris"></a></p>
</div>
<div id="uris" class="section level3">
<h3><span class="header-section-number">11.3.2</span> URIs</h3>
<p>Ideally, the components of the semantic triple should be globally unique and persistent (unchanging), and consist of resolvable/dereferenceable HTTP uniform resource identifiers (URIs; or more formally, IRIs). The <em>subjects</em> of most EML semantic annotations will likely be HTTP URIs that identify the dataset resource itself, or specific attributes or other features within a dataset. The <em>objects</em> of EML semantic annotations, as well as the <em>predicates</em> that relate the subject to the object, will most typically be HTTP URI references to terms in controlled vocabularies (also called “ontologies”) accessible through the Web, so that users (or computers) can dereference the URIs and look up precise definitions and relationships of these resources to other terms.</p>
<p>An example of a URI pointing to a term in a controlled vocabulary is: <a href="http://purl.obolibrary.org/obo/ENVO_00000097" class="uri">http://purl.obolibrary.org/obo/ENVO_00000097</a>.</p>
<p>When entered into the address bar of a web browser, the abpve URI resolves to the term with a label of “desert area” in the Environment Ontology (EnvO). Users can learn what this URI indicates and explore how the term is related to other terms in the ontology simply by dereferencing its URI in a web browser. All those other aspects you see on the Web page describing “<a href="http://purl.obolibrary.org/obo/ENVO_00000097" class="uri">http://purl.obolibrary.org/obo/ENVO_00000097</a>” are from other RDF statements (triples) related to “ENVO_00000097”, and that have been rendered into HTML. From here, you might decide that “<a href="http://purl.obolibrary.org/obo/ENV0_00000172" class="uri">http://purl.obolibrary.org/obo/ENV0_00000172</a>” (“sandy desert”) is a better annotation for your object.</p>
<p>An RDF triple can be constructed as follows, with subject URI, predicate URI, and object URI:</p>
<pre><code><<https://doi.org/10.6073/pasta/06db7b16fe62bcce4c43fd9ddbe43575>> <<http://purl.obolibrary.org/obo/RO_0001025>> <<http://purl.obolibrary.org/obo/ENVO_00000097>></code></pre>
<p>.</p>
<p>… indicating that the referenced <em>dataset</em> (subject/resource) was <em>“located in”</em> (predicate/property) a <em>“desert area”</em> (object/value). Note that when expressing a semantic triple, a blank-space must separate the subject, from the predicate, from the object, and that a “period” completes the triple. This is a valid RDF triple, expressed in N-Triple syntax. RDF is most often serialized into XML, however, as Web browsers and many applications are good at parsing XML.</p>
<p>While our focus here is on the semantic annotation of EML documents, it is easy to see how the RDF statements can be used to describe and inter-relate any resources that have unique, persistent HTTP URIs!</p>
<p>Note that the above <em>RDF triple</em> consists of three HTTP URIs. While the exact distinction among what is a URI, a URN, and a URL can be debated, for our purposes, these HTTP URIs can be considered both the <em>name</em> and <em>web location</em> of a resource. Content negotiation between a Web server and a client (which might be a browser, or a Python or R script) can enable an HTTP URI to dereference in ways optimized for the requesting client – e.g. in one case, presenting a human-readable view of metadata for a dataset, and in another, activating a download of that dataset for import into a script.</p>
<p>Semantic annotations in EML are useful because they enable associating data objects described in EML, with terms from external vocabularies. These external vocabularies can be used by other systems to similarly describe data objects, dataset variables, etc. The ability to extract semantic annotations out of EML, and convert these into valid RDF triples, provides further utility that is a pathway to the future. Sets of RDF triples, called “graphs”, or in this case more accurately, “knowledge graphs” (since these triples describe our understanding of data set contents and their relationships) is under development at DataONE, NCEAS, EDI, through the rOpenSci project, and elsewhere. The RDF triple described above hopefully gives an idea of how such triples, constructed of dereferenceable HTTP URIs, can be very useful.</p>
<p>Related FAQ: <a href="#FAQ-URIvsURL">What is the difference between an URI and a URL?</a></p>
<p><a name="rdf"></a></p>
</div>
<div id="rdf-graphs" class="section level3">
<h3><span class="header-section-number">11.3.3</span> RDF Graphs</h3>
<p>In a data-modeling sense, a <em>graph</em> consists of resources linked to other resources. Thus, the simplest graph structure is a <em>triple</em>, that consists of two nodes that are somehow linked. This is the basic model underlying RDF: a <em>predicate</em> linking a <em>subject</em> to an <em>object</em>. A graph consists of many triples that can be linked with one another.</p>
<p>Below are examples of how annotations can be converted to RDF triples in RDF/XML, so that the RDF information is now computer-readable. Be aware that there are several formats for serializing RDF, including RDF/XML, Turtle, N-Triples, and N3, that vary in the level of how human-readable they are– although these are all machine-readable with complete consistency.</p>
<p>The process of converting (i.e., extracting) a semantic annotation in EML into RDF, is done by <em>parsing applications</em> under development at EDI, NCEAS, rOpenSci, and other data repositories. Careful examination of the examples below also show references to “owl:Class”, “owl:ObjectProperty”, and other statements that may not be familiar. These are fundamental <em>entities</em> or building blocks in W3C-recommended Semantic Web languages, and are determined by the relationships that the triple component identifiers (HTTP URIs) have within their native knowledge graph/ontology.</p>
<p>Related FAQ: <a href="#FAQ-what-is-rdfs">What is RDFS?</a></p>
<p>Related FAQ: <a href="#FAQ-what-does-RDF-look-like">An image of an RDF Graph is great, but a computer doesn’t parse that. What does the RDF look like?</a></p>
<p><a name="rdf-eml-example-3"></a></p>
<div id="graph-from-example-3-attribute-annotation-back-to-example-3-xml" class="section level4">
<h4><span class="header-section-number">11.3.3.1</span> Graph from Example 3 (attribute annotation): (<a href="#eml-example-3">back to Example 3 XML</a>)</h4>
<div class="figure">
<img src="images/RDF_example_a.png" title="Graph from Example 3 (attribute annotation):" alt="RDF example A" />
<p class="caption">RDF example A</p>
</div>
<div class="sourceCode" id="cb30"><pre class="sourceCode xml"><code class="sourceCode xml"><a class="sourceLine" id="cb30-1" data-line-number="1"><span class="kw"><rdf:RDF</span></a>
<a class="sourceLine" id="cb30-2" data-line-number="2"><span class="ot"> xmlns:rdf=</span><span class="st">"http://www.w3.org/1999/02/22-rdf-syntax-ns#"</span></a>
<a class="sourceLine" id="cb30-3" data-line-number="3"><span class="ot"> xmlns:owl=</span><span class="st">"http://www.w3.org/2002/07/owl#"</span><span class="kw">></span></a>
<a class="sourceLine" id="cb30-4" data-line-number="4"> </a>
<a class="sourceLine" id="cb30-5" data-line-number="5"> <span class="kw"><rdf:Description</span><span class="ot"> rdf:about=</span><span class="st">"att.4"</span><span class="kw">></span> ### See note below</a>
<a class="sourceLine" id="cb30-6" data-line-number="6"> <span class="kw"><owl:ObjectProperty</span><span class="ot"> rdf:about=</span><span class="st">"http://ecoinformatics.org/oboe/oboe.1.2/oboe-core.owl#containsMeasurementsOfType"</span><span class="kw">></span></a>
<a class="sourceLine" id="cb30-7" data-line-number="7"> <span class="kw"><owl:Class</span><span class="ot"> rdf:about=</span><span class="st">"http://purl.dataone.org/odo/ECSO_00001197"</span> <span class="kw">/></span></a>
<a class="sourceLine" id="cb30-8" data-line-number="8"> <span class="kw"></owl:ObjectProperty></span> </a>
<a class="sourceLine" id="cb30-9" data-line-number="9"> <span class="kw"></rdf></span></a>
<a class="sourceLine" id="cb30-10" data-line-number="10"><span class="kw"></rdf:RDF></span></a></code></pre></div>
<p><em>Note: The subject described in the <code>rdf:Description</code> <code>about</code> element attribute ideally would be a globally unique HTTP URI for the (EML) attribute, rather than ‘att.4’– which is a localized identifier. Methods for constructing this HTTP URI are being developed by EDI, NCEAS, and others. While care must be taken that the <code>id</code> provided in the original EML was unique or defined with proper scoping and referencing elements, in RDF this is not a problem: <code>id</code>s specified in “rdf:about” attributes can be repeated without issue.</em></p>
<p><a name="rdf-eml-example-4"></a></p>
</div>
<div id="graph-from-example-4-using-annotations-element-back-to-example-4-xml" class="section level4">
<h4><span class="header-section-number">11.3.3.2</span> Graph from Example 4 (using <code>annotations</code> element): (<a href="#eml-example-4">back to Example 4 XML</a>)</h4>
<div class="figure">
<img src="images/RDF_example_b.png" title="Graph from Example 4 (using <annotations> element):" alt="RDF example B" />
<p class="caption">RDF example B</p>
</div>
<div class="sourceCode" id="cb31"><pre class="sourceCode xml"><code class="sourceCode xml"><a class="sourceLine" id="cb31-1" data-line-number="1"><span class="kw"><rdf:RDF</span></a>
<a class="sourceLine" id="cb31-2" data-line-number="2"><span class="ot"> xmlns:rdf=</span><span class="st">"http://www.w3.org/1999/02/22-rdf-syntax-ns#"</span></a>
<a class="sourceLine" id="cb31-3" data-line-number="3"><span class="ot"> xmlns:owl=</span><span class="st">"http://www.w3.org/2002/07/owl#"</span><span class="kw">></span></a>
<a class="sourceLine" id="cb31-4" data-line-number="4"> </a>
<a class="sourceLine" id="cb31-5" data-line-number="5"> <span class="kw"><rdf:Description</span><span class="ot"> rdf:about=</span><span class="st">"eric.seabloom"</span><span class="kw">></span> ### See note below </a>
<a class="sourceLine" id="cb31-6" data-line-number="6"> <span class="kw"><owl:ObjectProperty</span><span class="ot"> rdf:about=</span><span class="st">"http://www.w3.org/1999/02/22-rdf-syntax-ns#type"</span><span class="kw">></span></a>
<a class="sourceLine" id="cb31-7" data-line-number="7"> <span class="kw"><owl:Class</span><span class="ot"> rdf:about=</span><span class="st">"https://schema.org/Person"</span> <span class="kw">/></span></a>
<a class="sourceLine" id="cb31-8" data-line-number="8"> <span class="kw"></owl:ObjectProperty></span> </a>
<a class="sourceLine" id="cb31-9" data-line-number="9"> <span class="kw"><owl:ObjectProperty</span><span class="ot"> rdf:about=</span><span class="st">"https://schema.org/memberOf"</span><span class="kw">></span></a>
<a class="sourceLine" id="cb31-10" data-line-number="10"> <span class="kw"><owl:Class</span><span class="ot"> rdf:about=</span><span class="st">"https://ror.org/017zqws13"</span> <span class="kw">/></span></a>
<a class="sourceLine" id="cb31-11" data-line-number="11"> <span class="kw"></owl:ObjectProperty></span> </a>
<a class="sourceLine" id="cb31-12" data-line-number="12"> <span class="kw"></rdf></span></a>
<a class="sourceLine" id="cb31-13" data-line-number="13"> </a>
<a class="sourceLine" id="cb31-14" data-line-number="14"><span class="kw"></rdf:RDF></span></a></code></pre></div>
<p><em>Note: The subject described in the <code>rdf:Description</code> <code>about=</code> element attribute should ideally be a globally unique URI issued for ‘eric.seabloom’. The URL for Eric’s ORCID ID would be a good candidate for filling this role. Methods for constructing this HTTP URI are being developed by EDI, NCEAS, and others, for referencing datasets and their components (e.g. specific attributes), in their various sponsored data repositories. Unlike EML, there are not restrictions on re-using “identifiers” in this way</em></p>
<p><a name="logical-consistency"></a></p>
</div>
</div>
<div id="check-for-logical-consistency" class="section level3">
<h3><span class="header-section-number">11.3.4</span> Check for Logical Consistency</h3>
<p>With semantic annotation, you are adding precise definitions of concepts and relationships that can be traversed
with computer logic. Annotations are not simply a set of loosely structured keywords! This is a really powerful
addition to EML, and so it comes with some risk. The main thing you should ensure is that your annotations are
<strong>logically consistent</strong>.</p>
<p><strong>The simplest way to check your logic is to write out the RDF triple components and see if it makes sense as a sentence</strong>.</p>
<pre><code>[subject (element-id)] [predicate (propertyURI)] [object (valueURI)]
[att.4] [contains measurements of type] [plant cover percentage]
</code></pre>
<p>The graph examples (<a href="#rdf-eml-example-3">Example 3 RDF graph</a>, <a href="#rdf-eml-example-4">Example 4 RDF graph</a>) make ‘true’ statements that are logically consistent:</p>
<ul>
<li>att.4 contains measurements of the type plant cover percentage</li>
<li>eric.seabloom is a person</li>
<li>eric.seabloom, member of University of Minnesota</li>
</ul>
<p>However, below is the kind of statement you would NOT want to make:</p>
<pre><code>[eric.seabloom] [is a type of] [measurement]</code></pre>
<p>If you suspect your RDF triple might look like this, you should go back and examine the way you structured the annotation.</p>
<p>Things to check:</p>
<ol style="list-style-type: decimal">
<li>Be sure you have used the right classes, properties, or vocabularies for your annotation components</li>
<li>Become familiar with the vocabularies in your annotation, especially any labels, definitions, and relationships associated with your term(s) of interest.</li>
<li>Check with your community for specific recommendations on the best vocabularies to use for annotations at different levels. Our examples use <a href="#external-vocabularies">well-constructed vocabularies</a>.</li>
<li>In <code>additionalMetadata</code>, don’t combine <code>annotations</code> with more than one <code>describes</code> element. EML allows 1:many <code>describes</code> elements in a single <code>additionalMetadata</code> section. So if you have 2 <code>describes</code> and 2 <code>annotations</code>, you will have 4 RDF statements. Make sure they are all true, and if not, break them up into multiple <code>additionalMetadata</code> sections.</li>
</ol>
<p><a name="glossary"></a></p>
</div>
<div id="glossary" class="section level3">
<h3><span class="header-section-number">11.3.5</span> Glossary</h3>
<p><a name="glossary-dereference"></a></p>
<p><strong>dereference</strong>: To interpret a URI, and retrieve information about the resource identified by that URI<br />
See <a href="#glossary-reslolve">resolve</a>.</p>
<p><a name="glossary-iri"></a></p>
<p><strong>IRI</strong>: Internationalized Resource Identifier (IRI), and an extension
of ASCII characters subset of the Uniform Resource Identifier (URI) protocol.</p>
<p><a name="glossary-jsonld"></a></p>
<p><strong>JSON-LD</strong> (JavaScript Object Notation for Linked Data), is a method of
mapping from JSON to an RDF model. It is administered by
the RDF Working Group and is a World Wide Web Consortium Recommendation.</p>
<p><a name="glossary-knowledge-graph"></a></p>
<p><strong>knowledge graph</strong>: Any knowledge base that is represented as a mathematical graph.
In the mathematical sense, a graph is simply a collection of points connected by lines. The points are called <em>nodes</em> or <em>vertices</em>, while the lines are called <em>edges</em> or <em>links</em>. In an informatics sense, this structure is used to store information about a set of objects, including the identity of the objects (as nodes), and the relationships among the objects (as links). Note that the use of the word “object” here is very general, and is not the same sense as when we describe triples.</p>
<p>In an RDF (semantic) triple, the <em>subject</em> and <em>object</em> (the word <em>object</em> here in the specific RDF sense!) are represented as nodes, and the relationship between the nodes is represented as an edge or link. Note however that a <em>subject</em> of one triple can serve as an <em>object</em> of another triple, and vice-versa. The term <em>Knowledge Graph</em> is generally used nowadays to refer not so much to an underlying controlled vocabulary or ontology, but rather to the assertions about various objects and how these relate to ontology terms, and other objects. Thus, as a set of semantic annotations grows, for example, assertions (triples) about datasets, these would be stored in a growing knowledge graph. The most famous Knowledge Graph as of today is the one that informs search results for Google.</p>
<p><a name="glossary-ontology"></a>
<strong>ontology</strong>: In an informatics sense, an ontology is a representation of a corpus of knowledge. The W3C-recommendation is that these representations be constructed using an RDF data model, that has a <em>graph</em> structure. The ontology provides a representation of a set of terms, including their names, and descriptions of the categories, properties, and relationships among those terms.</p>
<p><a name="glossary-pointer"></a></p>
<p><strong>pointer</strong>: A kind of reference to a datum stored in computer memory.</p>
<p><a name="glossary-resolve"></a></p>
<p><strong>resolve</strong>: To interpret a URI and determine a course of action for dereferencing the URI.
See <a href="#glossary-dereference">dereference</a></p>
<p><a name="glossary-rdf"></a></p>
<p><strong>Resource Description Framework (RDF)</strong>: A World Wide Web Consortium (W3C) recommendation that enables the encoding, exchange, and reuse of structured metadata using a graph model. The RDF data model employs semantic triples composed of a subject, predicate, and object to share and integrate data across different applications and communities through the Web.</p>
<p><a name="glossary-uri"></a></p>
<p><strong>uniform resource identifier (URI)</strong>: In its most general sense, a URI is simply a string of characters that unambiguously identifies a particular resource. Much more commonly, it refers to an identifier for a resource on the Web, but, e.g. ISBN numbers are also URIs. For semantic annotations, the components of semantic triples are ideally HTTP URIs that dereference using Web technology, to an appropriate representation of a resource, e.g. metadata about the dataset in the case of the <em>subject</em>, and definitions and descriptions of the meaning of the <em>predicate</em> and <em>object</em> terms that provide information about the <em>subject</em>.</p>
<p><a name="external-vocabularies"></a></p>
</div>
<div id="vocabularies-and-repositories-used-in-examples" class="section level3">
<h3><span class="header-section-number">11.3.6</span> Vocabularies and repositories used in examples</h3>
<p>Communities using EML annotations will develop recommendations for suitable vocabularies, based
on their own requirements (e.g., domain coverage, structure, adaptability, reliabliity and maintenance model). The following
ontologies are already widely used, were employed in the examples above, and are
in use by (and in some cases managed by) the authors.:</p>
<p><a name="ecso"></a></p>
<ul>
<li><strong>ECSO (Ecosystem Ontology)</strong> (<a href="https://github.com/DataONEorg/sem-prov-ontologies/tree/master/observation" class="uri">https://github.com/DataONEorg/sem-prov-ontologies/tree/master/observation</a>).
An ontology for ecosystem measurements under development by the Arctic Data Center and DataONE.</li>
</ul>
<p><a name="envo"></a></p>
<ul>
<li><strong>EnvO (Environment Ontology)</strong> (<a href="http://www.obofoundry.org/ontology/envo.html" class="uri">http://www.obofoundry.org/ontology/envo.html</a>)
An OBO Foundry ontology for the concise, controlled description of environments.</li>
</ul>
<p><a name="iao"></a></p>
<ul>
<li><strong>IAO (Information Artifact Ontology)</strong> (<a href="http://www.obofoundry.org/ontology/iao.html" class="uri">http://www.obofoundry.org/ontology/iao.html</a>)
An OBO Foundry ontology of information entities.</li>
</ul>
<p><a name="ncbi_taxon"></a></p>
<ul>
<li><strong>NCBITaxon Ontology</strong> <a href="http://www.obofoundry.org/ontology/ncbitaxon.html" class="uri">http://www.obofoundry.org/ontology/ncbitaxon.html</a>
An OBO Foundry ontology representation of the National Center for Biotechnology Information organismal taxonomy.</li>
</ul>
<p><a name="oboe"></a></p>
<ul>
<li><strong>OBOE (Extensible Ontology for Observations)</strong> (<a href="https://github.com/NCEAS/oboe" class="uri">https://github.com/NCEAS/oboe</a>)
An ontology for scientific observations and measurements developed by DataONE and NCEAS.</li>
</ul>
<p><a name="ROR"></a></p>
<ul>
<li><strong>ROR (Research Organization Registry)</strong> (<a href="https://ror.org/" class="uri">https://ror.org/</a>)
A global registry of research organizations.</li>
</ul>
<p><a name="schema.org"></a></p>
<ul>
<li><strong>schema.org</strong> (<a href="https://schema.org/" class="uri">https://schema.org/</a>)
An initiative to create and support common sets of structured data markup on web pages. Extensions work with the core vocabulary to provide more specialized and/or deeper vocabularies.</li>
</ul>
<p><a name="additional-background"></a></p>
</div>
<div id="additional-background-information" class="section level3">
<h3><span class="header-section-number">11.3.7</span> Additional background information</h3>
<p>Following are tutorials and supplemental background reading</p>
<ul>
<li>LinkedDataTools tutorial: <a href="http://www.linkeddatatools.com/introducing-rdf" class="uri">http://www.linkeddatatools.com/introducing-rdf</a></li>
<li>RDF data model: <a href="https://www.w3.org/TR/WD-rdf-syntax-971002/" class="uri">https://www.w3.org/TR/WD-rdf-syntax-971002/</a></li>
<li>W3C RDF primer: <a href="https://www.w3.org/TR/rdf11-primer/" class="uri">https://www.w3.org/TR/rdf11-primer/</a></li>
<li><p>A tidyverse lover’s intro to RDF <a href="https://ropensci.github.io/rdflib/articles/rdf_intro.html" class="uri">https://ropensci.github.io/rdflib/articles/rdf_intro.html</a></p></li>
<li><p>Tim Berners-Lee’s article on the semantic web: <code>Berners-Lee, T., Hendler, J., & Lassila, O. (2001). The semantic web. Scientific american, 284(5), 34-43.</code></p></li>
</ul>
<p><a name="FAQ"></a></p>
</div>
</div>
<div id="frequently-asked-questions" class="section level2">
<h2><span class="header-section-number">11.4</span> Frequently asked questions</h2>
<p>Below are answers to questions some readers had, which may be helpful to you. If you have additional questions, please bring them up in your community for feedback.</p>
<p><strong>Q: Why do EML elements with annotations need <code>id</code> attributes?</strong></p>
<p>A: EML elements that have <code>annotation</code> children need <code>id</code> so that they can be used to construct the <em>subject</em> of
an RDF triple. <a href="#faq-why-do-annotations-need-ids">See above</a>.</p>
<p><a name="FAQ-what-is-deference"></a></p>
<p><strong>Q: What is the difference between ‘dereference’ and ‘resolve’?</strong></p>
<p>A: Within the context of semantic annotation, “dereferencing” refers to the process of interpreting a URI, and providing “useful information” back about the Resource of interest. The phrase “resolving a URI” is often used synonymously with “dereferencing”, but technically “resolution” refers to the process of determining HOW and WHAT to do with the URI, whereas “dereferencing” is explicitly about the action taken, which is typically retrieving a representation of the Resource of interest. The formal specification for these terms and what they mean is found in the IETF’s (Internet Engineering Task Force) RFC (Request for Comment) 3986 (<a href="https://tools.ietf.org/html/rfc3986" class="uri">https://tools.ietf.org/html/rfc3986</a>).</p>
<p><a name="FAQ-URIvsURL"></a></p>
<p><strong>Q: What is the difference between an URI and a URL? Example URIs look a lot like URLs… What about IRIs?</strong></p>
<p>A: The distinctions among URIs (Uniform Resource Identifiers), URLs (Uniform Resource Locators), and URNs (Uniform Resource Names), relate to differentiating the functionalities of identifying a Resource, as opposed to locating a Resource, or doing both. URLs are all URIs (with some edge case exceptions subject to argument), and URNs are also URIs. In many cases, URIs serve both to name and locate a Resource.</p>
<p>Within the vision of the Semantic Web, URIs are ideally unique, persistent URNs identifying some Web Resource, that can also serve to locate and retrieve (dereference) a representation of that Resource (URLs). The formal specification for these terms and what they mean is found in the IETF’s RFC 3986, section 1.1.3 (<a href="https://tools.ietf.org/html/rfc3986#section-1.1.3" class="uri">https://tools.ietf.org/html/rfc3986#section-1.1.3</a>). Another acronym one may encounter with increasing frequency is IRI (Internationalized Resource Identifier) that extends the concept of an HTTP URI to allow for use of the full Unicode character set, rather than just ASCII, in its construction (<a href="https://tools.ietf.org/html/rfc3987" class="uri">https://tools.ietf.org/html/rfc3987</a>).</p>
<p><a name="FAQ-what-is-skos"></a></p>
<p><strong>Q: What is SKOS?</strong></p>
<p>A: SKOS (Simple Knowledge Management System) is a W3C recommendation for organizing a vocabulary in thesauri, taxonomies, and other classification schemes. SKOS provides a set of concepts and properties, that, when expressed in a formal RDF-compatible syntax, can assist with interpreting the relationship of terms with one another, such as defining some category as broader than another. For example, one could state in SKOS syntax, that “animals” is a broader concept than “mammals”. Definitive specification of SKOS can be found at <a href="https://www.w3.org/TR/2009/REC-skos-reference-20090818/" class="uri">https://www.w3.org/TR/2009/REC-skos-reference-20090818/</a>. SKOS does not provide strong semantics (see RDFS example below), but SKOS concepts and properties can be used within more expressive knowledge organization frameworks, such as RDFS/OWL ontologies.</p>
<p><a name="FAQ-what-is-rdfs"></a></p>
<p><strong>Q: What is RDFS?</strong></p>
<p>A: RDFS stands for Resource Description Framework Schema. It extends the formal vocabulary for describing Resources expressed
in an RDF data model (i.e., a graph).</p>
<p>“Base RDF” is the set of concepts for creating a graph model
of data (triples relating a subject, predicate, and object). RDFS adds to the base RDF model by
specifying other well-defined concepts and properties, such as rdfs:Label, rdfs:Class and rdfs:subClassOf.
These and other RDFS classes and properties, enable data and knowledge modellers to express many relationships
between the Subject and Object of a Triple.</p>
<p>In the context of the Semantic Web, the RDF model relies extensively on dereferenceable URIs in the subject
and predicate positions, and URIs or literals in the object position (there are small formal exceptions to this
not immediately relevant here). RDF triples can be expressed in several syntaxes, including XML, JSON-LD, and Turtle,
among others. RDFS then can be used to enrich the precision and expressivity of the components of a triple,
as well as clarify the relationships among these.</p>
<ul>
<li>Base RDF: <a href="https://www.w3.org/TR/2014/REC-rdf11-concepts-20140225/" class="uri">https://www.w3.org/TR/2014/REC-rdf11-concepts-20140225/</a></li>
<li>RDFS: <a href="https://www.w3.org/TR/rdf-schema/" class="uri">https://www.w3.org/TR/rdf-schema/</a></li>
</ul>
<p><a name="FAQ-are-all-eml-attributes-measurements"></a></p>
<p><strong>Q: Are all EML dataTable attributes “measurements”?</strong></p>
<p>A: Yes, in the context of a data table and for annotation purposes, any attribute (observation or column of data) can be
considered ‘a measurement’. A philosopher might disagree, saying that some content
you might see in data columns (e.g., unique identifiers) are not really
measurements; but many other nominals, i.e. text strings identifying some class types (e.g. predator, lizard,
tundra), imply quantification and can be construed as measurements.</p>
<p><a name="FAQ-example-labels"></a></p>
<p><strong>Q: Can you provide an example of a controlled vocabulary with an rdfs:label or skos:label?</strong></p>
<p>A: Most Semantic Web vocabularies make extensive use of rdfs:label or SKOS label properties. For example, this URI: <a href="http://purl.dataone.org/odo/ECSO_00000536" class="uri">http://purl.dataone.org/odo/ECSO_00000536</a> is from the ECSO ontology, under development at NCEAS by NSF’s DataONE and Arctic Data Center. Within that ontology, the URI is associated with an rdfs:label of “Carbon Dioxide Flux”, and a skos:altLabel of “CO2 flux”. If you dereference the URI, you will see how the BioPortal ontology repository displays this information– providing a human-readable representation of the underlying RDF/OWL language in which the ontology is stored.</p>
<p><a name="faq-how-do-computers-use-eml-annotations"></a></p>
<p><strong>Q: How do computer use EML annotations?</strong></p>
<p>A: Annotations can be extracted from the EML document, and re-expressed (formally, “serialized”)
into a Semantic Web language such as
<a href="#faq-what-is-rdfs">RDF</a> or <a href="#glossary-jsonld">JSON-LD</a>. Annotations (also called “assertions” or “triples” in RDF)
collectively contribute
to a <em><a href="#glossary-knowledge-graph">knowledge graph</a></em>, that captures understanding of the relationship of the
contents of datasets (as “instances”) with the concepts represented by terms in ontologies (as “classes”).</p>
<p><a name="FAQ-what-does-RDF-look-like"></a></p>
<p><strong>Q: An image of an RDF graph is great, but a computer doesn’t parse that. What does the RDF look like?</strong></p>
<p>A: Actual RDF (XML) is shown in the code blocks of <a href="#rdf-eml-example-3">Example 3</a> and <a href="#rdf-eml-example-4">Example 4</a>.</p>
<p>RDF is a data model based on triples, each of which has three components: a subject,
predicate, and object, that are constructed of dereferenceable URIs.
RDF triples can be “serialized” in several syntaxes, including XML, JSON-LD, Turtle, N-Triples, and others. These syntaxes are isomorphic, such that translations of RDF graphs from one serialization to another are available– enabling consistent interpretation by machines.</p>
<p>For human interpretation the most straightforward serialization of RDF graphs
is N-Triples, where an RDF triple could look like this:</p>
<p><a href="http://purl.obolibrary.org/obo/CHEBI_16526" class="uri">http://purl.obolibrary.org/obo/CHEBI_16526</a> <a href="http://purl.obolibrary.org/obo/RO_0000087" class="uri">http://purl.obolibrary.org/obo/RO_0000087</a> <a href="http://purl.obolibrary.org/obo/CHEBI_76413" class="uri">http://purl.obolibrary.org/obo/CHEBI_76413</a> .</p>
<p>These are three URIs here– representing the Subject, Predicate, and Object of a Triple. The “.” indicates the end of the Triple. Of course, you would need to know that these three URI’s are intended to be interpreted as an RDF Triple. Dereferencing these URIs (e.g. a Web browser or specialized application) one can see that this Triple represents the statement:</p>
<p>“Carbon dioxide”(Subject) “has role”(Predicate) “Greenhouse Gas”(Object)</p>
<p>While the phrasing is a bit awkward sounding, the meaning is clear by simply depicting the rdfs:labels of those terms from the ChEBI (Chemical Entities of Biological Interest) and RO (Relation) ontologies, that are both robust OBO Foundry ontologies.</p>
<p>As another example: <a href="http://purl.obolibrary.org/obo/NCIT_C20461" class="uri">http://purl.obolibrary.org/obo/NCIT_C20461</a> <a href="http://purl.org/dc/elements/1.1/creator" class="uri">http://purl.org/dc/elements/1.1/creator</a> <a href="https://orcid.org/0000-0003-1279-3709" class="uri">https://orcid.org/0000-0003-1279-3709</a> .</p>
<p>that asserts:</p>
<p>“World Wide Web”(Subject) “creator”(Predicate) “Timothy Berners Lee”(Object) .</p>
<p>…although some semantic purists might question whether the Dublin Core property “Creator” can be used in this way as an RDF predicate, since it is not semantically defined– would its rdfs:label be “creatorOf” or “hasCreator”? (Dublin Core does not say explicitly, but implicitly is indicative of “hasCreator”!). Regardless of the formal semantic well-formedness of this Triple, however, one can see the expressive power of the RDF data model, and the value of dereferenceable URIs.</p>
<p>A better solution would be to use the semantically defined term from SIO (the Semantic Science Integrated Ontology) <a href="http://semanticscience.org/resource/SIO_000364" class="uri">http://semanticscience.org/resource/SIO_000364</a> as the predicate, with an rdfs:label “has creator”</p>
<p><a href="http://purl.obolibrary.org/obo/NCIT_C20461" class="uri">http://purl.obolibrary.org/obo/NCIT_C20461</a> <a href="http://semanticscience.org/resource/SIO_000364" class="uri">http://semanticscience.org/resource/SIO_000364</a> <a href="https://orcid.org/0000-0003-1279-3709" class="uri">https://orcid.org/0000-0003-1279-3709</a> .</p>
<p>…that would translate as (based on content of the rdfs:label):</p>
<p>World Wide Web(Subject) has creator(Predicate) Tim Berners-Lee(Object)</p>
<p>or inversely, one could use <a href="http://semanticscience.org/resource/SIO_000365" class="uri">http://semanticscience.org/resource/SIO_000365</a> as the predicate, that has rdfs:label “is creator of”</p>
<p>Tim Berners-Lee(Subject) is creator of(Predicate) World Wide Web(Object)</p>
<p><a href="https://orcid.org/0000-0003-1279-3709" class="uri">https://orcid.org/0000-0003-1279-3709</a> <a href="http://semanticscience.org/resource/SIO_000365" class="uri">http://semanticscience.org/resource/SIO_000365</a> <a href="http://purl.obolibrary.org/obo/NCIT_C20461" class="uri">http://purl.obolibrary.org/obo/NCIT_C20461</a>.</p>
<p>Within the SIO ontology, SIO_000364 and SIO_000365 are defined as inverses of one another. This enables one (a person or a computer!) to ask either question– “who created the Web?” (A: Tim Berners-Lee), or “what did Tim Berners-Lee create” (A: the Web)– even though you only asserted one of the Triples.</p>
<p>Finally, it is worth noting that one’s choice of which Ontologies to use is important. Within the Ecological and Environmental sciences, there are several highly-recommended vocabularies, including those from the OBO Foundry (e.g. ChEBI, EnvO, RO, and PATO), as well as SIO. Specifically for annotating scientific measurements, the Arctic Data Center and DataONE are developing an Ontology for Ecosystem Measurements, ECSO. These use, where possible, terms from the OBO Foundry ontologies mentioned here. We have used all these in the examples.</p>
<p><a name="FAQ-what-tools"></a></p>
<p><strong>Q: Are there tools available to help data managers select subjects, predicates, and objects to annotate with?</strong></p>
<p>A: Yes, tools are being built to assist with the semantic annotation of EML documents, within the DataONE and Arctic Data Center data repository projects, and others. In addition, tools are being built to enable semantic search, that use the annotations to expand searches to capture synonyms, differentiate homonyms, and enable the discovery of sub-classes of the terms that you might originally be searching for.</p>
</div>
</div>
</section>
</div>
</div>
</div>
<a href="validation-and-content-references.html" class="navigation navigation-prev " aria-label="Previous page"><i class="fa fa-angle-left"></i></a>
<a href="internationalization-metadata-in-multiple-languages.html" class="navigation navigation-next " aria-label="Next page"><i class="fa fa-angle-right"></i></a>
</div>
</div>
<script src="libs/gitbook-2.6.7/js/app.min.js"></script>
<script src="libs/gitbook-2.6.7/js/lunr.js"></script>
<script src="libs/gitbook-2.6.7/js/plugin-search.js"></script>
<script src="libs/gitbook-2.6.7/js/plugin-sharing.js"></script>
<script src="libs/gitbook-2.6.7/js/plugin-fontsettings.js"></script>
<script src="libs/gitbook-2.6.7/js/plugin-bookdown.js"></script>
<script src="libs/gitbook-2.6.7/js/jquery.highlight.js"></script>
<script>
gitbook.require(["gitbook"], function(gitbook) {
gitbook.start({
"sharing": {
"github": false,
"facebook": true,
"twitter": true,
"google": false,
"linkedin": false,
"weibo": false,
"instapaper": false,
"vk": false,
"all": ["facebook", "google", "twitter", "linkedin", "weibo", "instapaper"]
},
"fontsettings": {
"theme": "white",
"family": "sans",
"size": 2
},
"edit": {
"link": null,
"text": null
},
"history": {
"link": null,
"text": null
},
"download": null,
"toc": {
"collapse": "section"
}
});
});
</script>
</body>
</html>