-
Notifications
You must be signed in to change notification settings - Fork 5
/
Copy pathusdl-agreement.ttl
282 lines (243 loc) · 13.3 KB
/
usdl-agreement.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
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
@prefix : <http://www.linked-usdl.org/ns/usdl-agreement#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix vann: <http://purl.org/vocab/vann/> .
@prefix foaf: <http://xmlns.com/foaf/0.1/> .
@prefix dcterms: <http://purl.org/dc/terms/> .
@prefix gr: <http://purl.org/goodrelations/v1#> .
@prefix skos: <http://www.w3.org/2004/02/skos/core#> .
@prefix time: <http://www.w3.org/2006/time#> .
@prefix usdl-core: <http://www.linked-usdl.org/ns/usdl-core#> .
@prefix usdl-br: <http://www.linked-usdl.org/ns/usdl-business-roles#> .
<http://www.linked-usdl.org/ns/usdl-agreement>
rdf:type owl:Ontology ;
rdfs:label "Linked USDL Agreement"@en ;
dcterms:title "Linked USDL Agreement"@en ;
dcterms:description """<p>This vocabulary is a Linked USDL module that provides support for modelling service agreements.
This module is informed by WS-Agreement and largely seeks to be backwards compatible with previous tooling on WS-Agreement.</p>"""@en ;
dcterms:created "2014-03-06"^^xsd:date ;
dcterms:modified "2014-04-01"^^xsd:date, "2014-10-22"^^xsd:date, "2014-11-13"^^xsd:date;
dcterms:issued "2015-07-01"^^xsd:date ;
vann:preferredNamespaceUri "http://www.linked-usdl.org/ns/usdl-agreement#";
vann:preferredNamespacePrefix "usdl-agreement";
dcterms:creator usdl-core:cpedrinaci, usdl-core:jcardoso, :jmgarcia, :mresinas, :pfernandez, :aruiz;
owl:versionInfo "1.0" .
# Authors information
:jmgarcia a foaf:Person;
foaf:name "Jose Maria Garcia";
foaf:homepage <http://www.lsi.us.es/~josemgarcia/> .
:mresinas a foaf:Person;
foaf:name "Manuel Resinas";
foaf:homepage <http://www.isa.us.es/members/manuel.resinas> .
:pfernandez a foaf:Person;
foaf:name "Pablo Fernandez";
foaf:homepage <http://www.isa.us.es/members/pablo.fernandez> .
:aruiz a foaf:Person;
foaf:name "Antonio Ruiz Cortes";
foaf:homepage <http://www.isa.us.es/members/antonio.ruiz> .
usdl-core:ISA a foaf:Organization;
foaf:member :jmgarcia, :mresinas, :pfernandez, :aruiz;
foaf:name "Applied Software Engineering group, University of Seville";
foaf:homepage <http://www.isa.us.es> .
# Main classes
:AgreementTerm
rdf:type rdfs:Class , owl:Class ;
rdfs:isDefinedBy <http://www.linked-usdl.org/ns/usdl-agreement>;
rdfs:comment "An Agreement term represents a single term of a service level agreement."@en ;
rdfs:label "Agreement term"@en .
:Guarantee
rdf:type rdfs:Class , owl:Class ;
rdfs:isDefinedBy <http://www.linked-usdl.org/ns/usdl-agreement>;
rdfs:comment "A Guarantee represents an agreement term of a service level agreement that defines guarantees over service properties, and possibly compensations."@en ;
rdfs:label "Guarantee"@en ;
rdfs:subClassOf :AgreementTerm .
:Compensation
rdf:type rdfs:Class , owl:Class ;
rdfs:isDefinedBy <http://www.linked-usdl.org/ns/usdl-agreement>;
rdfs:comment "A Compensation is a specialization of an agreement term that represents an alternative term that will be guaranteed in case that the original guarantee term (associated with the compensation via hasCompensation property) is not fulfilled."@en ;
rdfs:label "Compensation"@en ;
rdfs:subClassOf :AgreementTerm .
:EntityLiability
rdf:type rdfs:Class , owl:Class ;
rdfs:isDefinedBy <http://www.linked-usdl.org/ns/usdl-agreement>;
rdfs:comment "EntityLiability helps captures a specific entity involvement defined by the ternary relationship between an agreement term, the business entities involved in the agreement, and the liability role they play, e.g., guarantor, beneficiary, etc. This enables specifying which parties are obliged to fulfil a guarantee term and which benefit from compensations, for instance."@en ;
rdfs:label "Entity liability"@en ;
rdfs:subClassOf usdl-core:EntityInvolvement .
:LiabilityRole a rdfs:Class, owl:Class;
rdfs:subClassOf usdl-core:Role;
rdfs:isDefinedBy <http://www.linked-usdl.org/ns/usdl-agreement>;
rdfs:label "Liability role"@en ;
rdfs:comment "The liability role that an entity may play in an agreement term (e.g., Guarantor). One may define as many roles as necessary by defining subclasses of LiabilityRole or by creating SKOS concept schemes. For completeness, Linked USDL Agreement provides a basic concept scheme for these roles that can be used out of the box or as reference for specific extensions. See Linked USDL Liability Roles Module."@en .
:ServiceProperty
rdf:type rdfs:Class, owl:Class ;
rdfs:isDefinedBy <http://www.linked-usdl.org/ns/usdl-agreement>;
rdfs:comment "A Service property is a convenience class that represents the class of qualitative or quantitative properties that a service may specify. This class is defined over an specialization of GoodRelations qualitative and quantitative service properties."@en ;
rdfs:label "Service property"@en ;
owl:unionOf (
[ rdf:type owl:Restriction ;
owl:hasValue gr:qualitativeProductOrServiceProperty ;
owl:onProperty rdfs:subPropertyOf
]
[ rdf:type owl:Restriction ;
owl:hasValue gr:quantitativeProductOrServiceProperty ;
owl:onProperty rdfs:subPropertyOf
]
) .
# Agreement Conditions class hierarchy
:AgreementCondition
rdf:type rdfs:Class , owl:Class ;
rdfs:isDefinedBy <http://www.linked-usdl.org/ns/usdl-agreement>;
rdfs:comment "An Agreement condition represent a constraint about a service property that can be checked within the terms of a service level agreement."@en ;
rdfs:label "Agreement condition"@en .
:GuaranteedValue
rdf:type rdfs:Class ;
rdfs:isDefinedBy <http://www.linked-usdl.org/ns/usdl-agreement>;
rdfs:comment "A Guaranteed value is an Agreement condition that specifies the concrete, unique value that the service property has to provide."@en ;
rdfs:label "Guaranteed value"@en ;
rdfs:subClassOf :AgreementCondition .
:BetweenGuaranteedValue
rdf:type rdfs:Class ;
rdfs:isDefinedBy <http://www.linked-usdl.org/ns/usdl-agreement>;
rdfs:comment "A Between guaranteed value is an Agreement condition that specifies the value interval that the service property has to provide."@en ;
rdfs:label "Between guaranteed value"@en ;
rdfs:subClassOf :AgreementCondition .
:MaxGuaranteedValue
rdf:type rdfs:Class ;
rdfs:isDefinedBy <http://www.linked-usdl.org/ns/usdl-agreement>;
rdfs:comment "A Max guaranteed value is an Agreement condition that specifies the maximum value that the service property has to provide."@en ;
rdfs:label "Max guaranteed value"@en ;
rdfs:subClassOf :AgreementCondition .
:MinGuaranteedValue
rdf:type rdfs:Class ;
rdfs:isDefinedBy <http://www.linked-usdl.org/ns/usdl-agreement>;
rdfs:comment "A Min guaranteed value is an Agreement condition that specifies the minimum value that the service property has to provide."@en ;
rdfs:label "Min guaranteed value"@en ;
rdfs:subClassOf :AgreementCondition .
# Properties
:hasAgreementTerm
rdf:type owl:ObjectProperty ;
rdfs:isDefinedBy <http://www.linked-usdl.org/ns/usdl-agreement>;
rdfs:comment "Refers to the Agreement Term that defines the corresponding agreement for a particular service offering."@en ;
rdfs:domain usdl-core:ServiceOffering ;
rdfs:label "has agreement term"@en ;
rdfs:range :AgreementTerm .
:guaranteedOver
rdf:type owl:ObjectProperty ;
rdfs:isDefinedBy <http://www.linked-usdl.org/ns/usdl-agreement>;
rdfs:comment "Captures the concrete service over a certain term is guaranteed."@en ;
rdfs:domain :AgreementTerm ;
rdfs:label "guaranteed over"@en ;
rdfs:range usdl-core:Service .
:guarantees
rdf:type owl:ObjectProperty ;
rdfs:isDefinedBy <http://www.linked-usdl.org/ns/usdl-agreement>;
rdfs:comment "Defines the condition that is guaranteed to be fulfilled by an agreement term of a service level agreement."@en ;
rdfs:domain :AgreementTerm ;
rdfs:label "guarantees"@en ;
rdfs:range :AgreementCondition .
:hasPrecondition
rdf:type owl:ObjectProperty ;
rdfs:isDefinedBy <http://www.linked-usdl.org/ns/usdl-agreement>;
rdfs:comment "States the precondition that has to be met to guarantee the agreement term. Preconditions are defined on service properties, therefore an Agreement Condition instance is used to represent them."@en ;
rdfs:label "has precondition"@en ;
rdfs:domain :AgreementTerm ;
rdfs:range :AgreementCondition .
:hasCompensation
rdf:type owl:ObjectProperty ;
rdfs:isDefinedBy <http://www.linked-usdl.org/ns/usdl-agreement>;
rdfs:comment "Supports the definition of compensations in case the guarantee term is not fulfilled. A compensation is defined in terms of an alternative agreement term that will be fulfilled instead of the original guaranteed condition."@en ;
rdfs:domain :Guarantee ;
rdfs:label "has compensation"@en ;
rdfs:range :Compensation .
:hasEntityLiability
rdf:type owl:ObjectProperty ;
rdfs:subPropertyOf usdl-core:hasEntityInvolvement ;
rdfs:isDefinedBy <http://www.linked-usdl.org/ns/usdl-agreement>;
rdfs:comment "Captures the liability which an involved entity (possibly unidentified business entity with a business role) has in a particular term of the agreement."@en ;
rdfs:domain :AgreementTerm ;
rdfs:label "has entity liability"@en ;
rdfs:range :EntityLiability .
:withLiabilityRole
rdf:type owl:ObjectProperty;
rdfs:subPropertyOf usdl-core:withRole ;
rdfs:isDefinedBy <http://www.linked-usdl.org/ns/usdl-agreement>;
rdfs:label "with liability role"@en ;
rdfs:comment "Captures the liability role played by a business entity in a particular liability involvement."@en ;
rdfs:domain :EntityLiability ;
rdfs:range :LiabilityRole.
:hasValidityInterval
rdf:type owl:ObjectProperty ;
rdfs:isDefinedBy <http://www.linked-usdl.org/ns/usdl-agreement>;
rdfs:label "has validity interval"@en ;
rdfs:comment "Captures the validity interval of an agreement term."@en ;
rdfs:domain :AgreementTerm ;
rdfs:range time:Interval .
:hasEvaluationInterval
rdf:type owl:ObjectProperty ;
rdfs:isDefinedBy <http://www.linked-usdl.org/ns/usdl-agreement>;
rdfs:label "has evaluation interval"@en ;
rdfs:comment "Captures the evaluation interval of an agreement condition."@en ;
rdfs:domain :AgreementCondition ;
rdfs:range time:Interval .
:hasMeasuringInterval
rdf:type owl:ObjectProperty ;
rdfs:isDefinedBy <http://www.linked-usdl.org/ns/usdl-agreement>;
rdfs:label "has measuring interval"@en ;
rdfs:comment "Captures the measuring frequency of a metric."@en ;
rdfs:domain :Metric ;
rdfs:range time:Interval .
:hasValue
rdf:type owl:ObjectProperty ;
rdfs:isDefinedBy <http://www.linked-usdl.org/ns/usdl-agreement>;
rdfs:comment "Captures the value of the referred service property that will be checked in order to evaluate an agreement condition. This value can be an explicit qualitative or quantitative value (depending on the nature of the referred property) or a metric definition to compute the actual value in runtime."@en ;
rdfs:domain :AgreementCondition ;
rdfs:label "has value"@en ;
rdfs:range
[ rdf:type owl:Class ;
owl:unionOf (gr:QuantitativeValue gr:QualitativeValue :Metric)
] .
:refersTo
rdf:type owl:ObjectProperty ;
rdfs:isDefinedBy <http://www.linked-usdl.org/ns/usdl-agreement>;
rdfs:comment "Captures the service property which the agreement condition is referring to. This property can be either a qualitative property or a quantitative one, as they are defined in GoodRelations."@en ;
rdfs:domain :AgreementCondition ;
rdfs:label "refers to"@en ;
rdfs:range :ServiceProperty.
# Additional business roles to the core basic business roles scheme
:conditionEvaluator
rdf:type usdl-core:BusinessRole ;
rdfs:label "Condition evaluator"@en ;
skos:prefLabel "Condition evaluator"@en ;
skos:definition "<p>A Condition evaluator is an entity (possibly a third party) that is responsible for evaluating the conditions of the agreement, checking whether the conditions are being fulfilled or not.</p>"@en ;
skos:topConceptOf <http://www.linked-usdl.org/ns/usdl-business-roles>;
skos:inScheme <http://www.linked-usdl.org/ns/usdl-business-roles>.
:metricProvider
rdf:type usdl-core:BusinessRole ;
rdfs:label "Metric provider"@en ;
skos:prefLabel "Metric provider"@en ;
skos:definition "<p>A Metric provider is an entity (possibly a third party) that is responsible for producing measurements of the metrics defined in the agreement.</p>"@en ;
skos:topConceptOf <http://www.linked-usdl.org/ns/usdl-business-roles>;
skos:inScheme <http://www.linked-usdl.org/ns/usdl-business-roles>.
# Metric definition facilities
:Metric
rdf:type owl:Class ;
rdfs:isDefinedBy <http://www.linked-usdl.org/ns/usdl-agreement>;
rdfs:comment "Represent a metric used to measure a service property."@en ;
rdfs:label "Metric"@en ;
rdfs:subClassOf owl:Thing .
:hasExpression
rdf:type owl:ObjectProperty ;
rdfs:isDefinedBy <http://www.linked-usdl.org/ns/usdl-agreement>;
rdfs:comment "Captures the expression that defines a metric computation. There is no restriction on how to define expressions, so they can simply be defined using strings or external vocabularies."@en ;
rdfs:domain :Metric ;
rdfs:label "has expression"@en ;
rdfs:range rdfs:Resource .
:hasMetric
rdf:type owl:ObjectProperty ;
rdfs:isDefinedBy <http://www.linked-usdl.org/ns/usdl-agreement>;
rdfs:comment "Enables the association of a Service property with a corresponding Metric that describes how to measure that property."@en ;
rdfs:label "has metric"@en ;
rdfs:domain :ServiceProperty ;
rdfs:range :Metric .