-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathdata_model.ttl
140 lines (129 loc) · 4.83 KB
/
data_model.ttl
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
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>.
@prefix dcterms: <http://www.purl.org/dc/terms/>.
@prefix foaf: <http://xmlns.com/foaf/0.1/>.
@prefix obs: <http://def.seegrid.csiro.au/isotc211/iso19156/2011/observation#>.
@prefix prov: <http://www.w3.org/ns/prov#>.
@prefix obs-prop: <http://environment.data.gov.au/def/op#>.
@prefix ol-cruise: <http://schema.oceanlink.org/cruise#>.
@prefix dcat: <http://www.w3.org/ns/dcat#>.
@prefix arpfo: <http://vocab.ox.ac.uk/projectfunding#>.
@prefix geo: <http://www.opengis.net/ont/geosparql#>.
@prefix sf: <http://www.opengis.net/ont/sf#>.
@prefix ef: <http://eidc.ceh.ac.uk/onto/ef#>.
#
# Note - R2R (for example) may replace ODO with OceanLink (or GeoLink)
#
@prefix odo: <http://ocean-data.org/schema/>.
@prefix time: <http://www.w3.org/2006/time#>.
@prefix xsd: <http://www.w3.org/2001/XMLSchema#>.
<http://a_cruise> a odo:Cruise;
a prov:Activity;
a ol-cruise:Cruise;
a ef:EnvironmentalMonitoringActivity;
odo:ofPlatform <http://a_vessel>;
#
# Note: We tried to use PROV here - but we can't use xsd:date there, only xsd:dateTime
#
odo:hasDeploymentDates <http://a_cruise#deploymentDates>;
prov:wasAssociatedWith <http://a_person>;
prov:qualifiedAssociation <http://a_cruise#000-111-222>;
#
# If a cruise is associated with a project
#
prov:qualifiedAssociation <http://a_cruise#111-222-333>;
#
# Start port
#
prov:qualifiedStart <http://a_cruise#departureInfo>;
#
# Cruise trajectory
#
ol-cruise:hasTrajectory <http://a_cruise#trajectory>.
#
# Datasets will point upwards to cruise (not the other way around!)
#
<http://a_vessel> a ef:EnvironmentalMonitoringFacility.
<http://a_cruise#deploymentDates> a time:TemporalEntity.
#
# Need to add the full expansion of the TemporalEntity here
#
#
# Qualified association(s) from a cruise to a person with a role
#
<http://a_cruise#000-111-222> a prov:Association;
prov:agent <http://a_person>;
prov:hadRole <http://a_role#chiefSceintist>.
<http://a_cruise#111-222-333> a prov:Association;
prov:agent <http://a_project>;
prov:hadRole <http://a_role#wasFundedBy>.
#
# Departure information
#
<http://a_cruise#departureInfo> a prov:Start;
prov:atLocation <http://a_gazetteer_uri>.
#
# Trajectory - feature and then geometry
#
<http://a_cruise#trajectory> a ol-cruise:CruiseTrajectory;
a geo:Feature;
geo:hasGeometry <http://cruise_geometry>.
<http://cruise_geometry> a sf:LineString;
geo:asWKT "<http://www.opengis.net/def/crs/OGC/1.3/CRS84> LINESTRING(-68.7030 37.934, -68.7160 37.92, -67.4650 36.019, -67.3680 35.865, -67.2700 35.715, -67.1720 35.558, -67.0770 35.408, -66.9780 35.257, -66.8880 35.108, -66.7850 34.952, -66.6950 34.802)"^^geo:wktliteral.
#
# Dataset
#
<http://a_dataset> a odo:DeploymentDataset;
a prov:Entity;
a dcat:Dataset;
prov:wasGeneratedBy <http://a_cruise>;
#
# If the cruise is unkown - create a PROV activity which is one day of observations from a given platform
#
odo:fromDeployment <http://a_cruise>;
#
# wasAttributed and fromInstrument are optional, 0-to-many and infers no rank information
# ODO needs to inherit the instrument *down* into the deployment dataset
#
prov:wasAttributedTo <http://vocab.nerc.ac.uk/collection/L{XX}/current/{AAAA}>;
odo:fromInstrument <http://vocab.nerc.ac.uk/collection/L{XX}/current/{AAAA}>;
#
# odo:hasParameter is both optional and repeatable
#
odo:hasParameter <http://vocab.nerc.ac.uk/collection/P02/current/{AAAA}>;
dcat:distribution <http://dataset_landing_page>;
prov:atLocation <http://dataset_feature>;
prov:qualifiedAssociation <http://a_dataset#000-111-222>.
<http://a_dataset#000-111-222> a prov:Association;
prov:agent <http://a_project>;
prov:hadRole <http://a_role#wasFundedBy>.
#
# Known instrument
#
<http://vocab.nerc.ac.uk/collection/L{XX}/current/{AAAA}> a prov:agent;
a odo:Instrument.
#
# Observation
#
<http://an_observation> a obs:Observation;
obs:observedProperty <http://vocab.nerc.ac.uk/collection/P01/current/{AAAAAAAA}>;
obs:result <http://a_result>;
obs:featureOfInterest <http://dataset_feature>;
obs-prop:procedure <http://vocab.nerc.ac.uk/collection/L{XX}/current/{AAAA}>.
<http://vocab.nerc.ac.uk/collection/P01/current/{AAAAAAAA}> a obs-prop:ScaledQuantityKind.
<http://a_result> dcterms:isPartOf <http://a_dataset>.
#
# Feature of Interest
#
<http://dataset_feature> a geo:Feature;
geo:hasGeometry <http://dataset_geometry>.
<http://dataset_geometry> a sf:Point;
geo:asWKT "<http://www.opengis.net/def/crs/OGC/1.3/CRS84> POINT(-67.0770 35.408)"^^geo:wktliteral.
#
# Project
#
<http://a_project> a foaf:Project;
a prov:Agent;
a prov:Activity;
a arpfo:Project;
odo:hasProjectDates <http://a_project#projectDates>.
<http://a_project#projectDates> a time:TemporalEntity.