-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathofd-core.ttl
211 lines (173 loc) · 7.57 KB
/
ofd-core.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
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
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix adms: <http://www.w3.org/ns/adms#> .
@prefix dcterms: <http://purl.org/dc/terms/> .
@prefix dc: <http://purl.org/dc/elements/1.1/> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
@prefix vann: <http://purl.org/vocab/vann/> .
@prefix foaf: <http://xmlns.com/foaf/0.1/> .
@prefix ofd: <https://w3id.org/openfooddata/core#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix vf: <https://w3id.org/valueflows/> .
@prefix schema: <https://schema.org/> .
@prefix skos: <http://www.w3.org/2004/02/skos/core#> .
@prefix qudt: <http://qudt.org/2.0/schema/qudt#> .
<https://w3id.org/openfooddata/core> a owl:Ontology, adms:SemanticAsset, skos:ConceptScheme ;
dcterms:title "Open Food Data Ontology" ;
dcterms:description "This ontology models the Open Food Data domain. It allows to describe food products, food producers/farmers, food shops/hubs and other actors and collaboration agreements between those" ;
dc:license "https://creativecommons.org/publicdomain/" ;
dcterms:modified "2017-02-17"^^xsd:date;
vann:preferredNamespaceUri "https://w3id.org/openfooddata/core" ;
vann:preferredNamespacePrefix "ofd" ;
foaf:homepage <https://w3id.org/openfooddata/core> ;
dcterms:created "2017-02-17"^^xsd:date ;
dcterms:publisher ofd:OFD ;
dcterms:partOf <https://w3id.org/openfooddata/> ;
dcterms:type <http://purl.org/adms/assettype/Ontology> ;
dcterms:status <http://purl.org/adms/status/UnderDevelopment> ;
dc:creator ofd:Kalin ;
.
ofd:OFD a dcterms:Agent ;
foaf:member ofd:Kalin ;
foaf:name "Open Food Data" ;
foaf:homepage <http://www.openfooddata.org/> .
ofd:Kalin a foaf:Person ;
foaf:name "Kalin Maldzhanski" ;
owl:SameAs <http://djodjo.org> ;
foaf:homepage <http://djodjo.org> .
############## base classes
# to be used to build up non-strict, reusable Food Type hierarchies. simple mostly linked to common sources, ex: potato
ofd:FoodType a owl:Class ;
rdfs:label "Food Type" ;
rdfs:comment "base class for hierarchical classification of a Food Types" ;
rdfs:subClassOf skos:Concept .
# TODO link with vf:Actor
ofd:FoodActorType a owl:Class ;
rdfs:label "Food Actor" ;
rdfs:comment "base class for hierarchical classification of a Food Actors" ;
rdfs:subClassOf skos:Concept .
# to be used to build up non-strict, reusable Food product hierarchies
# TODO link with vf:ResourceMaterialItemTemplate when ready
ofd:FoodProductType a owl:Class ;
rdfs:label "Food Product" ;
rdfs:comment "base class for offered Food Products" ;
rdfs:subClassOf skos:Concept .
# TODO link with vf:ServiceTemplate
ofd:FoodServiceType a owl:Class ;
rdfs:label "Food Service" ;
rdfs:comment "base class for offered Food Services" ;
rdfs:subClassOf skos:Concept .
# these might be anything that is used in the processes, ex: glass/plastic container, paper/plastic bag, cold box, printing paper, etc.
# TODO link with vf:ResourceMaterialItemTemplate when ready
ofd:NonFoodItemType a owl:Class ;
rdfs:label "Non-Food Item" ;
rdfs:subClassOf skos:Concept .
####################### base properties
ofd:relatedService a owl:ObjectProperty ;
rdfs:label "relatedService" ;
rdfs:subPropertyOf skos:semanticRelation ;
rdfs:comment "relates concept to a FoodService" ;
rdfs:domain skos:Concept ;
rdfs:range ofd:FoodServiceType .
ofd:canHandleFoodType a owl:ObjectProperty ;
rdfs:label "canHandleFoodType" ;
rdfs:subPropertyOf skos:semanticRelation ;
rdfs:comment "indicates that specific food taype is can be handled by this service" ;
rdfs:domain ofd:FoodServiceType ;
rdfs:range ofd:FoodType .
ofd:canNotHandleFoodType a owl:ObjectProperty ;
rdfs:label "canNotHandleFoodType" ;
rdfs:subPropertyOf skos:semanticRelation ;
rdfs:comment "indicates that specific food taype is cannot be handled by this service" ;
rdfs:domain ofd:FoodServiceType ;
rdfs:range ofd:FoodType .
ofd:quantitativeRestriction a owl:ObjectProperty ;
rdfs:label "quantitativeRestriction" ;
rdfs:subPropertyOf skos:semanticRelation ;
rdfs:comment "custom restrictions that the Service can handle min and max or more values may be used" ;
rdfs:domain ofd:FoodServiceType ;
rdfs:range qudt:Value .
ofd:storageTemp a owl:ObjectProperty ;
rdfs:label "storageTemp" ;
rdfs:comment "Temp range depending on the cold/heat tolerance of the food min and max or more values may be used" ;
rdfs:domain ofd:FoodProductType ;
rdfs:range qudt:Value .
ofd:storageDuration a owl:ObjectProperty ;
rdfs:label "storageDuration" ;
rdfs:comment "the allowed storage before consumption min and max or more values may be used" ;
rdfs:domain ofd:FoodProductType ;
rdfs:range qudt:Value .
ofd:harvestTime a owl:ObjectProperty ;
rdfs:label "harvestPeriod" ;
rdfs:comment "the min number of day/hours for the product to be available after purchase" ;
rdfs:domain ofd:FoodProductType;
rdfs:range qudt:QuantityValue .
ofd:preparationTime a owl:ObjectProperty ;
rdfs:label "harvestPeriod" ;
rdfs:comment "the min number of day/hours for the Actor to be available after commitment" ;
rdfs:domain ofd:FoodActor ;
rdfs:range qudt:QuantityValue .
# links Types to Products
ofd:broaderFoodType a owl:ObjectProperty ;
rdfs:label "broaderFoodType" ;
rdfs:subPropertyOf skos:related ;
rdfs:domain ofd:FoodProductType ;
rdfs:range ofd:FoodType .
ofd:narrowerFoodProduct a owl:ObjectProperty ;
rdfs:label "narrowerFoodProduct" ;
rdfs:subPropertyOf skos:related ;
owl:inverseOf ofd:broaderFoodType ;
rdfs:domain ofd:FoodType ;
rdfs:range ofd:FoodProductType.
ofd:actorType a owl:ObjectProperty ;
rdfs:label "actor Type" ;
rdfs:domain foaf:Agent ;
rdfs:range ofd:FoodActorType .
ofd:producesFoodType a owl:ObjectProperty ;
rdfs:label "offers FoodType" ;
rdfs:domain foaf:Agent ;
rdfs:range ofd:FoodType.
ofd:offersProduct a owl:ObjectProperty ;
rdfs:label "offers Product" ;
rdfs:domain foaf:Agent ;
rdfs:range ofd:FoodProductType.
ofd:providesService a owl:ObjectProperty ;
rdfs:label "provides Service" ;
rdfs:domain foaf:Agent ;
rdfs:range ofd:FoodServiceType .
ofd:offersNonFoodItem a owl:ObjectProperty ;
rdfs:label "offersNonFoodItem" ;
rdfs:domain foaf:Agent ;
rdfs:range ofd:NonFoodItemType .
ofd:producedBy a owl:ObjectProperty ;
rdfs:label "producedBy" ;
rdfs:domain ofd:FoodProductType;
rdfs:range foaf:Agent .
# the list of products the domain is made form
ofd:madeOf a owl:ObjectProperty ;
rdfs:subPropertyOf skos:related ;
owl:inverseOf ofd:usedInMaking ;
rdfs:label "madeOf" ;
rdfs:domain ofd:FoodProductType;
rdfs:range ofd:FoodProductType.
# reverse of madeOf
ofd:usedInMaking a owl:ObjectProperty ;
rdfs:subPropertyOf skos:related ;
owl:inverseOf ofd:madeOf ;
rdfs:label "usedInMaking" ;
rdfs:domain ofd:FoodProductType;
rdfs:range ofd:FoodProductType.
# when it ts claimed
ofd:claimedBy a owl:ObjectProperty ;
rdfs:label "claimedBy" ;
rdfs:comment "Identifies the Agent who claimed ownership on this Food Actor and its data" ;
rdfs:domain foaf:Agent ;
rdfs:range foaf:Agent .
ofd:isLookingForPartners a owl:DataProperty ;
rdfs:label "isLookingForPartners" ;
rdfs:domain foaf:Agent ;
rdfs:range xsd:boolean .
ofd:operationalCoverage a owl:ObjectProperty ;
rdfs:label "operationalCoverage" ;
rdfs:comment "activity coverage of a specific actor, which may depend on its agreements with other actors" ;
rdfs:domain foaf:Agent ;
rdfs:range schema:GeoShape .