Toggle navigation
Toggle navigation
This project
Loading...
Sign in
data.posccaesar.org
/
npd
Go to a project
Toggle navigation
Toggle navigation pinning
Projects
Groups
Snippets
Help
Project
Activity
Repository
Graphs
Issues
1
Merge Requests
0
Wiki
Network
Create a new issue
Commits
Issue Boards
Authored by
Ralph Hodgson
2011-08-03 12:07:47 -0700
Browse Files
Options
Browse Files
Download
Plain Diff
Commit
d8909558e0334881bb4c87b2ec4bac5db600186e
d8909558
2 parents
71ffc25a
46edf535
Merge branch 'master' of github.com:TopQuadrant/EPIM-Ontologies
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
759 additions
and
124 deletions
www.reportinghub.no/ep/schema/1.1/SCHEMA_EP-ACTIVITY-(v1.1).ttl
www.reportinghub.no/ep/spin/SPIN_EPIM-lib-(v1.1).ttl
www.reportinghub.no/ep/spin/SPIN_EPIM-lib-(v1.1).ttl.tbc
www.reportinghub.no/ep/transform/TRANSFORM_ddr-drillReport-(v1.1.1).ttl
www.reportinghub.no/ep/transform/TRANSFORM_normalization-(v1.1.1).ttl.tbc → www.reportinghub.no/ep/transform/TRANSFORM_ddr-drillReport-(v1.1.1).ttl.tbc
www.reportinghub.no/ep/transform/TRANSFORM_ddr-normalization-(v1.1.1).ttl
www.reportinghub.no/ep/transform/TRANSFORM_ddr-normalization-(v1.1.1).ttl.tbc
www.reportinghub.no/ep/schema/1.1/SCHEMA_EP-ACTIVITY-(v1.1).ttl
View file @
d890955
# Saved by TopBraid on
Wed Jul 27 19:44:43 PD
T 2011
# Saved by TopBraid on
Tue Aug 02 12:39:11 BS
T 2011
# baseURI: http://www.reportinghub.no/ep/schema/1.1/activity
# imports: http://www.linkedmodel.org/1.2/schema/vaem
# imports: http://www.reportinghub.no/ep/schema/1.1/well
...
...
@@ -76,6 +76,11 @@ ep-activity:DailyDrillingActivity
[
rdf:
type
owl:
Restriction
;
owl:
allValuesFrom
ep-activity:
DrillingActivity
;
owl:
onProperty
ep-activity:
hasSubActivity
]
;
rdfs:
subClassOf
[
rdf:
type
owl:
Restriction
;
owl:
allValuesFrom
<http://www.reportinghub.no/ep/schema/well#WellBore>
;
owl:
onProperty
ep-activity:
onWellBore
]
.
ep-activity:
DailyDrillingReport
...
...
@@ -103,6 +108,10 @@ ep-activity:DrillingActivity
rdfs:
label
"Drilling activity"
^^
xsd:
string
;
rdfs:
subClassOf
ep-activity:
OffshoreWellActivity
.
ep-activity:
FinalDailyDrillingReport
rdf:
type
owl:
Class
;
rdfs:
subClassOf
ep-activity:
DailyDrillingReport
.
ep-activity:
MonthlyDrillingActivity
rdf:
type
owl:
Class
;
rdfs:
label
"Weekly drilling activity"
^^
xsd:
string
;
...
...
@@ -123,6 +132,10 @@ ep-activity:MonthlyProductionActivity
owl:
onProperty
ep-activity:
hasSubActivity
]
.
ep-activity:
NormalDailyDrillingReport
rdf:
type
owl:
Class
;
rdfs:
subClassOf
ep-activity:
DailyDrillingReport
.
ep-activity:
OffshoreActivity
rdf:
type
owl:
Class
;
rdfs:
label
"Offshore activity"
^^
xsd:
string
;
...
...
@@ -153,6 +166,10 @@ ep-activity:OffshoreWellActivity
owl:
onProperty
ep-activity:
onWell
]
.
ep-activity:
PreliminaryDailyDrillingReport
rdf:
type
owl:
Class
;
rdfs:
subClassOf
ep-activity:
DailyDrillingReport
.
ep-activity:
ProductionActivity
rdf:
type
owl:
Class
;
rdfs:
label
"Production activity"
^^
xsd:
string
;
...
...
@@ -188,6 +205,11 @@ ep-activity:WeeklyProductionActivity
owl:
onProperty
ep-activity:
hasSubActivity
]
.
ep-activity:
createdAt
rdf:
type
owl:
DatatypeProperty
,
owl:
FunctionalProperty
;
rdfs:
label
"created at"
^^
xsd:
string
;
rdfs:
range
<http://www.linkedmodel.org/schema/vaem#dateUnion>
.
ep-activity:
finishedAt
rdf:
type
owl:
DatatypeProperty
;
rdfs:
label
"finished at"
^^
xsd:
string
;
...
...
@@ -205,6 +227,10 @@ ep-activity:onWell
rdf:
type
owl:
ObjectProperty
;
rdfs:
label
"on well"
^^
xsd:
string
.
ep-activity:
onWellBore
rdf:
type
owl:
ObjectProperty
,
owl:
FunctionalProperty
;
rdfs:
label
"on WellBore"
^^
xsd:
string
.
ep-activity:
reportOn
rdf:
type
owl:
ObjectProperty
;
rdfs:
label
"report on"
^^
xsd:
string
.
...
...
www.reportinghub.no/ep/spin/SPIN_EPIM-lib-(v1.1).ttl
View file @
d890955
# Saved by TopBraid on
Mon Aug 01 14:26:29 PD
T 2011
# Saved by TopBraid on
Wed Aug 03 06:33:37 BS
T 2011
# baseURI: http://www.reportinghub.no/ep/spin/1.1/lib
# imports: http://spinrdf.org/spin
...
...
@@ -24,13 +24,55 @@ ep-spin-lib:Function
rdfs:
label
"Function"
^^
xsd:
string
;
rdfs:
subClassOf
spin:
Functions
.
ep-spin-lib:
buildDailyDrillingActivityURI
rdf:
type
spin:
Function
;
rdfs:
label
"build DailyDrillingActivity URI"
^^
xsd:
string
;
rdfs:
subClassOf
ep-spin-lib:
Function
;
spin:
body
[
rdf:
type
sp:
Select
;
sp:
resultVariables
(
_:
b1
)
;
sp:
where
([
rdf:
type
sp:
Bind
;
sp:
expression
[
rdf:
type
ep-spin-lib:
buildURI
;
sp:
arg1
"https://www.reportinghub.no/ep/data/DailyDrillingActivity#"
;
sp:
arg2
[
rdf:
type
fn:
concat
;
sp:
arg1
spin:
_arg1
;
sp:
arg2
"$"
;
sp:
arg3
spin:
_arg2
]
]
;
sp:
variable
_:
b1
])
]
.
ep-spin-lib:
buildDailyDrillingReportURI
rdf:
type
spin:
Function
;
rdfs:
label
"build DailyDrillingReport URI"
^^
xsd:
string
;
rdfs:
subClassOf
ep-spin-lib:
Function
;
spin:
body
[
rdf:
type
sp:
Select
;
sp:
resultVariables
(
_:
b2
)
;
sp:
where
([
rdf:
type
sp:
Bind
;
sp:
expression
[
rdf:
type
ep-spin-lib:
buildURI
;
sp:
arg1
"https://www.reportinghub.no/ep/data/DailyDrillingReport#"
;
sp:
arg2
[
rdf:
type
fn:
concat
;
sp:
arg1
spin:
_arg1
;
sp:
arg2
"$"
;
sp:
arg3
spin:
_arg2
]
]
;
sp:
variable
_:
b2
])
]
.
ep-spin-lib:
buildURI
rdf:
type
spin:
Function
;
rdfs:
label
"build URI"
^^
xsd:
string
;
rdfs:
subClassOf
ep-spin-lib:
Function
;
spin:
body
[
rdf:
type
sp:
Select
;
sp:
resultVariables
(
_:
b
1
)
;
sp:
resultVariables
(
_:
b
3
)
;
sp:
where
([
rdf:
type
sp:
Bind
;
sp:
expression
[
rdf:
type
smf:
resource
;
...
...
@@ -39,7 +81,7 @@ ep-spin-lib:buildURI
sp:
arg2
spin:
_arg2
]
]
;
sp:
variable
_:
b
1
sp:
variable
_:
b
3
])
]
;
spin:
constraint
...
...
@@ -59,14 +101,14 @@ ep-spin-lib:buildWellBoreURI
rdfs:
subClassOf
ep-spin-lib:
Function
;
spin:
body
[
rdf:
type
sp:
Select
;
sp:
resultVariables
(
_:
b
2
)
;
sp:
resultVariables
(
_:
b
4
)
;
sp:
where
([
rdf:
type
sp:
Bind
;
sp:
expression
[
rdf:
type
ep-spin-lib:
buildURI
;
sp:
arg1
"https://www.reportinghub.no/ep/data/
L_9999/W_9999
#"
;
sp:
arg1
"https://www.reportinghub.no/ep/data/
WellBore
#"
;
sp:
arg2
spin:
_arg1
]
;
sp:
variable
_:
b
2
sp:
variable
_:
b
4
])
]
.
...
...
@@ -76,14 +118,14 @@ ep-spin-lib:buildWellURI
rdfs:
subClassOf
ep-spin-lib:
Function
;
spin:
body
[
rdf:
type
sp:
Select
;
sp:
resultVariables
(
_:
b
3
)
;
sp:
resultVariables
(
_:
b
5
)
;
sp:
where
([
rdf:
type
sp:
Bind
;
sp:
expression
[
rdf:
type
ep-spin-lib:
buildURI
;
sp:
arg1
"https://www.reportinghub.no/ep/data/
L_9999
#"
;
sp:
arg1
"https://www.reportinghub.no/ep/data/
Well
#"
;
sp:
arg2
spin:
_arg1
]
;
sp:
variable
_:
b
3
sp:
variable
_:
b
5
])
]
.
...
...
@@ -93,7 +135,7 @@ ep-spin-lib:normalizeString
rdfs:
subClassOf
ep-spin-lib:
Function
;
spin:
body
[
rdf:
type
sp:
Select
;
sp:
resultVariables
(
_:
b
4
)
;
sp:
resultVariables
(
_:
b
6
)
;
sp:
where
([
rdf:
type
sp:
Bind
;
sp:
expression
[
rdf:
type
smf:
regex
;
...
...
@@ -101,67 +143,67 @@ ep-spin-lib:normalizeString
sp:
arg2
"\\((.*)\\)"
;
sp:
arg3
""
]
;
sp:
variable
_:
b
5
sp:
variable
_:
b
7
]
[
rdf:
type
sp:
Bind
;
sp:
expression
[
rdf:
type
smf:
trim
;
sp:
arg1
_:
b
5
sp:
arg1
_:
b
7
]
;
sp:
variable
_:
b
6
sp:
variable
_:
b
8
]
[
rdf:
type
sp:
Bind
;
sp:
expression
[
rdf:
type
smf:
encodeURL
;
sp:
arg1
_:
b
6
sp:
arg1
_:
b
8
]
;
sp:
variable
_:
b
7
sp:
variable
_:
b
9
]
[
rdf:
type
sp:
Bind
;
sp:
expression
[
rdf:
type
smf:
regex
;
sp:
arg1
_:
b
7
;
sp:
arg1
_:
b
9
;
sp:
arg2
"%2F"
;
sp:
arg3
"_"
]
;
sp:
variable
_:
b
8
sp:
variable
_:
b
10
]
[
rdf:
type
sp:
Bind
;
sp:
expression
[
rdf:
type
smf:
regex
;
sp:
arg1
_:
b
8
;
sp:
arg1
_:
b
10
;
sp:
arg2
"%[0-9A-F][0-9A-F]"
;
sp:
arg3
""
]
;
sp:
variable
_:
b
9
sp:
variable
_:
b
11
]
[
rdf:
type
sp:
Bind
;
sp:
expression
[
rdf:
type
smf:
regex
;
sp:
arg1
_:
b
9
;
sp:
arg1
_:
b
11
;
sp:
arg2
"\\+"
;
sp:
arg3
"_"
]
;
sp:
variable
_:
b1
0
sp:
variable
_:
b1
2
]
[
rdf:
type
sp:
Bind
;
sp:
expression
[
rdf:
type
smf:
regex
;
sp:
arg1
_:
b1
0
;
sp:
arg1
_:
b1
2
;
sp:
arg2
"_+"
;
sp:
arg3
"_"
]
;
sp:
variable
_:
b1
1
sp:
variable
_:
b1
3
]
[
rdf:
type
sp:
Bind
;
sp:
expression
[
rdf:
type
smf:
regex
;
sp:
arg1
_:
b1
1
;
sp:
arg1
_:
b1
3
;
sp:
arg2
"\\*"
;
sp:
arg3
""
]
;
sp:
variable
_:
b1
2
sp:
variable
_:
b1
4
]
[
rdf:
type
sp:
Bind
;
sp:
expression
[
rdf:
type
xsd:
string
;
sp:
arg1
[
rdf:
type
smf:
upperCase
;
sp:
arg1
_:
b1
2
sp:
arg1
_:
b1
4
]
]
;
sp:
variable
_:
b
4
sp:
variable
_:
b
6
])
]
;
spin:
constraint
...
...
@@ -170,29 +212,35 @@ ep-spin-lib:normalizeString
spl:
valueType
xsd:
string
]
.
_:
b
2
sp:
varName
"uri"
^^
xsd:
string
.
_:
b
4
sp:
varName
"uri"
^^
xsd:
string
.
_:
b
3
sp:
varName
"uri"
^^
xsd:
string
.
_:
b
5
sp:
varName
"uri"
^^
xsd:
string
.
_:
b1
sp:
varName
"uri"
^^
xsd:
string
.
_:
b14
sp:
varName
"t4"
^^
xsd:
string
.
_:
b5
sp:
varName
"s1"
^^
xsd:
string
.
_:
b13
sp:
varName
"t3"
^^
xsd:
string
.
_:
b6
sp:
varName
"s2"
^^
xsd:
string
.
_:
b12
sp:
varName
"t2"
^^
xsd:
string
.
_:
b7
sp:
varName
"t0a"
^^
xsd:
string
.
_:
b11
sp:
varName
"t1"
^^
xsd:
string
.
_:
b8
sp:
varName
"t0b"
^^
xsd:
string
.
_:
b10
sp:
varName
"t0b"
^^
xsd:
string
.
_:
b9
sp:
varName
"t
1
"
^^
xsd:
string
.
_:
b9
sp:
varName
"t
0a
"
^^
xsd:
string
.
_:
b10
sp:
varName
"t2"
^^
xsd:
string
.
_:
b8
sp:
varName
"s2"
^^
xsd:
string
.
_:
b11
sp:
varName
"t3"
^^
xsd:
string
.
_:
b7
sp:
varName
"s1"
^^
xsd:
string
.
_:
b12
sp:
varName
"t4"
^^
xsd:
string
.
_:
b6
sp:
varName
"normalizedStr"
^^
xsd:
string
.
_:
b4
sp:
varName
"normalizedStr"
^^
xsd:
string
.
_:
b3
sp:
varName
"uri"
^^
xsd:
string
.
_:
b2
sp:
varName
"uri"
^^
xsd:
string
.
_:
b1
sp:
varName
"uri"
^^
xsd:
string
.
...
...
www.reportinghub.no/ep/spin/SPIN_EPIM-lib-(v1.1).ttl.tbc
View file @
d890955
# Saved by TopBraid on
Mon Aug 01 14:26:29 PD
T 2011
# Saved by TopBraid on
Wed Aug 03 06:33:37 BS
T 2011
# baseURI: null
@prefix
composite:
<http://www.topbraid.org/2007/05/composite.owl#>
.
...
...
www.reportinghub.no/ep/transform/TRANSFORM_ddr-drillReport-(v1.1.1).ttl
0 → 100644
View file @
d890955
# Saved by TopBraid on Wed Aug 03 12:31:51 BST 2011
# baseURI: http://www.reportinghub.no/ep/transform/1.1/ddr/drillReport
# imports: http://www.reportinghub.no/ep/spin/1.1/lib
# imports: http://www.reportinghub.no/ep/transform/1.1/ddr
# imports: http://spinrdf.org/spin
@prefix
NPD_1104121247071:
<file:///www.reportinghub.no/examples/xml/NPD_110412124707.xml#>
.
@prefix
ddr-normalization:
<http://www.reportinghub.no/ep/transform/ddr/normalization#>
.
@prefix
ddr-normalization-1
.1
:
<http://www.reportinghub.no/ep/transform/1.1/ddr/normalization#>
.
@prefix
ep-spin-lib:
<http://www.reportinghub.no/ep/spin/lib#>
.
@prefix
normalization:
<http://www.reportinghub.no/ep/transform/normalization#>
.
@prefix
owl:
<http://www.w3.org/2002/07/owl#>
.
@prefix
rdf:
<http://www.w3.org/1999/02/22-rdf-syntax-ns#>
.
@prefix
rdfs:
<http://www.w3.org/2000/01/rdf-schema#>
.
@prefix
sp:
<http://spinrdf.org/sp#>
.
@prefix
spin:
<http://spinrdf.org/spin#>
.
@prefix
spl:
<http://spinrdf.org/spl#>
.
@prefix
xsd:
<http://www.w3.org/2001/XMLSchema#>
.
<http://www.reportinghub.no/ep/schema/ddr#Obj_drillReport>
spin:
rule
[
rdf:
type
sp:
Construct
;
rdfs:
comment
"STEP 102 Transfer dTimEnd"
^^
xsd:
string
;
sp:
templates
([
sp:
object
_:
b1
;
sp:
predicate
<http://www.reportinghub.no/ep/schema/activity#finishedAt>
;
sp:
subject
_:
b2
])
;
sp:
where
([
sp:
object
_:
b3
;
sp:
predicate
<http://www.reportinghub.no/ep/schema/ddr#nameWellbore>
;
sp:
subject
spin:
_this
]
[
sp:
object
_:
b4
;
sp:
predicate
<http://www.reportinghub.no/ep/schema/ddr#dTimStart>
;
sp:
subject
spin:
_this
]
[
sp:
object
_:
b1
;
sp:
predicate
<http://www.reportinghub.no/ep/schema/ddr#dTimEnd>
;
sp:
subject
spin:
_this
]
[
rdf:
type
sp:
Bind
;
sp:
expression
[
rdf:
type
ep-spin-lib:
normalizeString
;
sp:
arg1
_:
b3
]
;
sp:
variable
_:
b5
]
[
rdf:
type
sp:
Bind
;
sp:
expression
[
rdf:
type
ep-spin-lib:
buildDailyDrillingActivityURI
;
sp:
arg1
_:
b5
;
sp:
arg2
_:
b4
]
;
sp:
variable
_:
b2
])
]
;
spin:
rule
[
rdf:
type
sp:
Construct
;
rdfs:
comment
"STEP 107 Transfer sum24Hr"
^^
xsd:
string
;
sp:
templates
([
sp:
object
_:
b6
;
sp:
predicate
<http://www.reportinghub.no/ep/schema/ddr#sum24Hr>
;
sp:
subject
_:
b7
])
;
sp:
where
([
sp:
object
_:
b8
;
sp:
predicate
<http://www.reportinghub.no/ep/schema/ddr#nameWellbore>
;
sp:
subject
spin:
_this
]
[
sp:
object
_:
b9
;
sp:
predicate
<http://www.reportinghub.no/ep/schema/ddr#dTimStart>
;
sp:
subject
spin:
_this
]
[
sp:
object
_:
b10
;
sp:
predicate
<http://www.reportinghub.no/ep/schema/ddr#hasStatusInfo>
;
sp:
subject
spin:
_this
]
[
sp:
object
_:
b6
;
sp:
predicate
<http://www.reportinghub.no/ep/schema/ddr#sum24Hr>
;
sp:
subject
_:
b10
]
[
rdf:
type
sp:
Bind
;
sp:
expression
[
rdf:
type
ep-spin-lib:
normalizeString
;
sp:
arg1
_:
b8
]
;
sp:
variable
_:
b11
]
[
rdf:
type
sp:
Bind
;
sp:
expression
[
rdf:
type
ep-spin-lib:
buildDailyDrillingActivityURI
;
sp:
arg1
_:
b11
;
sp:
arg2
_:
b9
]
;
sp:
variable
_:
b7
])
]
;
spin:
rule
[
rdf:
type
sp:
Construct
;
rdfs:
comment
"STEP 106 Transfer distDrill"
^^
xsd:
string
;
sp:
templates
([
sp:
object
_:
b12
;
sp:
predicate
<http://www.reportinghub.no/ep/schema/ddr#hasDistDrill>
;
sp:
subject
_:
b13
])
;
sp:
where
([
sp:
object
_:
b14
;
sp:
predicate
<http://www.reportinghub.no/ep/schema/ddr#nameWellbore>
;
sp:
subject
spin:
_this
]
[
sp:
object
_:
b15
;
sp:
predicate
<http://www.reportinghub.no/ep/schema/ddr#dTimStart>
;
sp:
subject
spin:
_this
]
[
sp:
object
_:
b16
;
sp:
predicate
<http://www.reportinghub.no/ep/schema/ddr#hasStatusInfo>
;
sp:
subject
spin:
_this
]
[
sp:
object
_:
b12
;
sp:
predicate
<http://www.reportinghub.no/ep/schema/ddr#hasDistDrill>
;
sp:
subject
_:
b16
]
[
rdf:
type
sp:
Bind
;
sp:
expression
[
rdf:
type
ep-spin-lib:
normalizeString
;
sp:
arg1
_:
b14
]
;
sp:
variable
_:
b17
]
[
rdf:
type
sp:
Bind
;
sp:
expression
[
rdf:
type
ep-spin-lib:
buildDailyDrillingActivityURI
;
sp:
arg1
_:
b17
;
sp:
arg2
_:
b15
]
;
sp:
variable
_:
b13
])
]
;
spin:
rule
[
rdf:
type
sp:
Construct
;
rdfs:
comment
"STEP 104 Create Well"
^^
xsd:
string
;
sp:
templates
([
sp:
object
<http://www.reportinghub.no/ep/schema/well#Well>
;
sp:
predicate
rdf:
type
;
sp:
subject
_:
b18
]
[
sp:
object
_:
b19
;
sp:
predicate
rdfs:
label
;
sp:
subject
_:
b18
]
[
sp:
object
_:
b18
;
sp:
predicate
<http://www.reportinghub.no/ep/schema/activity#onWell>
;
sp:
subject
_:
b20
]
[
sp:
object
_:
b21
;
sp:
predicate
<http://www.reportinghub.no/ep/schema/core#hasPart>
;
sp:
subject
_:
b18
])
;
sp:
where
([
sp:
object
_:
b22
;
sp:
predicate
<http://www.reportinghub.no/ep/schema/ddr#nameWellbore>
;
sp:
subject
spin:
_this
]
[
sp:
object
_:
b19
;
sp:
predicate
<http://www.reportinghub.no/ep/schema/ddr#nameWell>
;
sp:
subject
spin:
_this
]
[
sp:
object
_:
b23
;
sp:
predicate
<http://www.reportinghub.no/ep/schema/ddr#dTimStart>
;
sp:
subject
spin:
_this
]
[
sp:
object
_:
b21
;
sp:
predicate
<http://www.reportinghub.no/ep/schema/activity#onWellBore>
;
sp:
subject
_:
b20
]
[
rdf:
type
sp:
Bind
;
sp:
expression
[
rdf:
type
ep-spin-lib:
normalizeString
;
sp:
arg1
_:
b22
]
;
sp:
variable
_:
b24
]
[
rdf:
type
sp:
Bind
;
sp:
expression
[
rdf:
type
ep-spin-lib:
buildDailyDrillingActivityURI
;
sp:
arg1
_:
b24
;
sp:
arg2
_:
b23
]
;
sp:
variable
_:
b20
]
[
rdf:
type
sp:
Bind
;
sp:
expression
[
rdf:
type
ep-spin-lib:
normalizeString
;
sp:
arg1
_:
b19
]
;
sp:
variable
_:
b25
]
[
rdf:
type
sp:
Bind
;
sp:
expression
[
rdf:
type
ep-spin-lib:
buildWellURI
;
sp:
arg1
_:
b25
]
;
sp:
variable
_:
b18
])
]
;
spin:
rule
[
rdf:
type
sp:
Construct
;
rdfs:
comment
"""STEP 103b
Classify a DailyDrillingReport as preliminary"""
^^
xsd:
string
;
sp:
templates
([
sp:
object
<http://www.reportinghub.no/ep/schema/activity#PreliminaryDailyDrillingReport>
;
sp:
predicate
rdf:
type
;
sp:
subject
_:
b26
])
;
sp:
where
([
sp:
object
_:
b27
;
sp:
predicate
<http://www.reportinghub.no/ep/schema/ddr#nameWellbore>
;
sp:
subject
spin:
_this
]
[
sp:
object
_:
b28
;
sp:
predicate
<http://www.reportinghub.no/ep/schema/ddr#createDate>
;
sp:
subject
spin:
_this
]
[
sp:
object
<http://www.reportinghub.no/ep/schema/ddr#ORV_preliminary>
;
sp:
predicate
<http://www.reportinghub.no/ep/schema/ddr#hasVersionKind>
;
sp:
subject
spin:
_this
]
[
rdf:
type
sp:
Bind
;
sp:
expression
[
rdf:
type
ep-spin-lib:
normalizeString
;
sp:
arg1
_:
b27
]
;
sp:
variable
_:
b29
]
[
rdf:
type
sp:
Bind
;
sp:
expression
[
rdf:
type
ep-spin-lib:
buildDailyDrillingReportURI
;
sp:
arg1
_:
b29
;
sp:
arg2
_:
b28
]
;
sp:
variable
_:
b26
])
]
;
spin:
rule
[
rdf:
type
sp:
Construct
;
rdfs:
comment
"""STEP 101 Create DailyDrillingReport, DailyDrillingActivity and WellBore
Minimum data - createDate, dTimStart, nameWellBore
Add a link from Obj_DrillReport to DailyDrillingReport to support other CONSTRUCT clauses (is this useful?)"""
^^
xsd:
string
;
sp:
templates
([
sp:
object
<http://www.reportinghub.no/ep/schema/activity#DailyDrillingReport>
;
sp:
predicate
rdf:
type
;
sp:
subject
_:
b30
]
[
sp:
object
<http://www.reportinghub.no/ep/schema/activity#DailyDrillingActivity>
;
sp:
predicate
rdf:
type
;
sp:
subject
_:
b31
]
[
sp:
object
_:
b31
;
sp:
predicate
<http://www.reportinghub.no/ep/schema/activity#reportOn>
;
sp:
subject
_:
b30
]
[
sp:
object
_:
b32
;
sp:
predicate
<http://www.reportinghub.no/ep/schema/activity#createdAt>
;
sp:
subject
_:
b30
]
[
sp:
object
_:
b33
;
sp:
predicate
<http://www.reportinghub.no/ep/schema/activity#startedAt>
;
sp:
subject
_:
b31
]
[
sp:
object
<http://www.reportinghub.no/ep/schema/well#WellBore>
;
sp:
predicate
rdf:
type
;
sp:
subject
_:
b34
]
[
sp:
object
_:
b34
;
sp:
predicate
<http://www.reportinghub.no/ep/schema/activity#onWellBore>
;
sp:
subject
_:
b31
]
[
sp:
object
_:
b35
;
sp:
predicate
rdfs:
label
;
sp:
subject
_:
b34
]
[
sp:
object
spin:
_this
;
sp:
predicate
<http://www.linkedmodel.org/schema/dtype#derivedFrom>
;
sp:
subject
_:
b30
])
;
sp:
where
([
sp:
object
_:
b35
;
sp:
predicate
<http://www.reportinghub.no/ep/schema/ddr#nameWellbore>
;
sp:
subject
spin:
_this
]
[
sp:
object
_:
b33
;
sp:
predicate
<http://www.reportinghub.no/ep/schema/ddr#dTimStart>
;
sp:
subject
spin:
_this
]
[
sp:
object
_:
b32
;
sp:
predicate
<http://www.reportinghub.no/ep/schema/ddr#createDate>
;
sp:
subject
spin:
_this
]
[
rdf:
type
sp:
Bind
;
sp:
expression
[
rdf:
type
ep-spin-lib:
normalizeString
;
sp:
arg1
_:
b35
]
;
sp:
variable
_:
b36
]
[
rdf:
type
sp:
Bind
;
sp:
expression
[
rdf:
type
ep-spin-lib:
buildDailyDrillingReportURI
;
sp:
arg1
_:
b36
;
sp:
arg2
_:
b32
]
;
sp:
variable
_:
b30
]
[
rdf:
type
sp:
Bind
;
sp:
expression
[
rdf:
type
ep-spin-lib:
buildDailyDrillingActivityURI
;
sp:
arg1
_:
b36
;
sp:
arg2
_:
b33
]
;
sp:
variable
_:
b31
]
[
rdf:
type
sp:
Bind
;
sp:
expression
[
rdf:
type
ep-spin-lib:
buildWellBoreURI
;
sp:
arg1
_:
b36
]
;
sp:
variable
_:
b34
])
]
;
spin:
rule
[
rdf:
type
sp:
Construct
;
rdfs:
comment
"STEP 108 Transfer forecast24Hr"
^^
xsd:
string
;
sp:
templates
([
sp:
object
_:
b37
;
sp:
predicate
<http://www.reportinghub.no/ep/schema/ddr#forecast24Hr>
;
sp:
subject
_:
b38
])
;
sp:
where
([
sp:
object
_:
b39
;
sp:
predicate
<http://www.reportinghub.no/ep/schema/ddr#nameWellbore>
;
sp:
subject
spin:
_this
]
[
sp:
object
_:
b40
;
sp:
predicate
<http://www.reportinghub.no/ep/schema/ddr#dTimStart>
;
sp:
subject
spin:
_this
]
[
sp:
object
_:
b41
;
sp:
predicate
<http://www.reportinghub.no/ep/schema/ddr#hasStatusInfo>
;
sp:
subject
spin:
_this
]
[
sp:
object
_:
b37
;
sp:
predicate
<http://www.reportinghub.no/ep/schema/ddr#forecast24Hr>
;
sp:
subject
_:
b41
]
[
rdf:
type
sp:
Bind
;
sp:
expression
[
rdf:
type
ep-spin-lib:
normalizeString
;
sp:
arg1
_:
b39
]
;
sp:
variable
_:
b42
]
[
rdf:
type
sp:
Bind
;
sp:
expression
[
rdf:
type
ep-spin-lib:
buildDailyDrillingActivityURI
;
sp:
arg1
_:
b42
;
sp:
arg2
_:
b40
]
;
sp:
variable
_:
b38
])
]
;
spin:
rule
[
rdf:
type
sp:
Construct
;
rdfs:
comment
"STEP 109 Transfer md"
^^
xsd:
string
;
sp:
templates
([
sp:
object
_:
b43
;
sp:
predicate
<http://www.reportinghub.no/ep/schema/ddr#hasMd>
;
sp:
subject
_:
b44
])
;
sp:
where
([
sp:
object
_:
b45
;
sp:
predicate
<http://www.reportinghub.no/ep/schema/ddr#nameWellbore>
;
sp:
subject
spin:
_this
]
[
sp:
object
_:
b46
;
sp:
predicate
<http://www.reportinghub.no/ep/schema/ddr#dTimStart>
;
sp:
subject
spin:
_this
]
[
sp:
object
_:
b47
;
sp:
predicate
<http://www.reportinghub.no/ep/schema/ddr#hasStatusInfo>
;
sp:
subject
spin:
_this
]
[
sp:
object
_:
b44
;
sp:
predicate
<http://www.reportinghub.no/ep/schema/activity#onWellBore>
;
sp:
subject
_:
b48
]
[
sp:
object
_:
b43
;
sp:
predicate
<http://www.reportinghub.no/ep/schema/ddr#hasMd>
;
sp:
subject
_:
b47
]
[
rdf:
type
sp:
Bind
;
sp:
expression
[
rdf:
type
ep-spin-lib:
normalizeString
;
sp:
arg1
_:
b45
]
;
sp:
variable
_:
b49
]
[
rdf:
type
sp:
Bind
;
sp:
expression
[
rdf:
type
ep-spin-lib:
buildDailyDrillingActivityURI
;
sp:
arg1
_:
b49
;
sp:
arg2
_:
b46
]
;
sp:
variable
_:
b48
])
]
;
spin:
rule
[
rdf:
type
sp:
Construct
;
rdfs:
comment
"""STEP 103c
Classify a DailyDrillingReport as final"""
^^
xsd:
string
;
sp:
templates
([
sp:
object
<http://www.reportinghub.no/ep/schema/activity#FinalDailyDrillingReport>
;
sp:
predicate
rdf:
type
;
sp:
subject
_:
b50
])
;
sp:
where
([
sp:
object
_:
b51
;
sp:
predicate
<http://www.reportinghub.no/ep/schema/ddr#nameWellbore>
;
sp:
subject
spin:
_this
]
[
sp:
object
_:
b52
;
sp:
predicate
<http://www.reportinghub.no/ep/schema/ddr#createDate>
;
sp:
subject
spin:
_this
]
[
sp:
object
<http://www.reportinghub.no/ep/schema/ddr#ORV_final>
;
sp:
predicate
<http://www.reportinghub.no/ep/schema/ddr#hasVersionKind>
;
sp:
subject
spin:
_this
]
[
rdf:
type
sp:
Bind
;
sp:
expression
[
rdf:
type
ep-spin-lib:
normalizeString
;
sp:
arg1
_:
b51
]
;
sp:
variable
_:
b53
]
[
rdf:
type
sp:
Bind
;
sp:
expression
[
rdf:
type
ep-spin-lib:
buildDailyDrillingReportURI
;
sp:
arg1
_:
b53
;
sp:
arg2
_:
b52
]
;
sp:
variable
_:
b50
])
]
;
spin:
rule
[
rdf:
type
sp:
Construct
;
rdfs:
comment
"""STEP 103a
Classify a DailyDrillingReport as normal"""
^^
xsd:
string
;
sp:
templates
([
sp:
object
<http://www.reportinghub.no/ep/schema/activity#NormalDailyDrillingReport>
;
sp:
predicate
rdf:
type
;
sp:
subject
_:
b54
])
;
sp:
where
([
sp:
object
_:
b55
;
sp:
predicate
<http://www.reportinghub.no/ep/schema/ddr#nameWellbore>
;
sp:
subject
spin:
_this
]
[
sp:
object
_:
b56
;
sp:
predicate
<http://www.reportinghub.no/ep/schema/ddr#createDate>
;
sp:
subject
spin:
_this
]
[
sp:
object
<http://www.reportinghub.no/ep/schema/ddr#ORV_normal>
;
sp:
predicate
<http://www.reportinghub.no/ep/schema/ddr#hasVersionKind>
;
sp:
subject
spin:
_this
]
[
rdf:
type
sp:
Bind
;
sp:
expression
[
rdf:
type
ep-spin-lib:
normalizeString
;
sp:
arg1
_:
b55
]
;
sp:
variable
_:
b57
]
[
rdf:
type
sp:
Bind
;
sp:
expression
[
rdf:
type
ep-spin-lib:
buildDailyDrillingReportURI
;
sp:
arg1
_:
b57
;
sp:
arg2
_:
b56
]
;
sp:
variable
_:
b54
])
]
;
spin:
rule
[
rdf:
type
sp:
Construct
;
rdfs:
comment
"STEP 105 Transfer ropCurrent"
^^
xsd:
string
;
sp:
templates
([
sp:
object
_:
b58
;
sp:
predicate
<http://www.reportinghub.no/ep/schema/ddr#hasRopCurrent>
;
sp:
subject
_:
b59
])
;
sp:
where
([
sp:
object
_:
b60
;
sp:
predicate
<http://www.reportinghub.no/ep/schema/ddr#nameWellbore>
;
sp:
subject
spin:
_this
]
[
sp:
object
_:
b61
;
sp:
predicate
<http://www.reportinghub.no/ep/schema/ddr#dTimStart>
;
sp:
subject
spin:
_this
]
[
sp:
object
_:
b62
;
sp:
predicate
<http://www.reportinghub.no/ep/schema/ddr#hasStatusInfo>
;
sp:
subject
spin:
_this
]
[
sp:
object
_:
b58
;
sp:
predicate
<http://www.reportinghub.no/ep/schema/ddr#hasRopCurrent>
;
sp:
subject
_:
b62
]
[
rdf:
type
sp:
Bind
;
sp:
expression
[
rdf:
type
ep-spin-lib:
normalizeString
;
sp:
arg1
_:
b60
]
;
sp:
variable
_:
b63
]
[
rdf:
type
sp:
Bind
;
sp:
expression
[
rdf:
type
ep-spin-lib:
buildDailyDrillingActivityURI
;
sp:
arg1
_:
b63
;
sp:
arg2
_:
b61
]
;
sp:
variable
_:
b59
])
]
.
<http://www.reportinghub.no/ep/transform/1.1/ddr/drillReport>
rdf:
type
owl:
Ontology
;
owl:
imports
<http://spinrdf.org/spin>
,
<http://www.reportinghub.no/ep/transform/1.1/ddr>
,
<http://www.reportinghub.no/ep/spin/1.1/lib>
;
owl:
versionInfo
"Created with TopBraid Composer"
^^
xsd:
string
.
_:
b50
sp:
varName
"dailyDrillingReport"
^^
xsd:
string
.
_:
b53
sp:
varName
"normalizedWellBoreName"
^^
xsd:
string
.
_:
b52
sp:
varName
"createDate"
^^
xsd:
string
.
_:
b51
sp:
varName
"nameWellBore"
^^
xsd:
string
.
_:
b26
sp:
varName
"dailyDrillingReport"
^^
xsd:
string
.
_:
b29
sp:
varName
"normalizedWellBoreName"
^^
xsd:
string
.
_:
b28
sp:
varName
"createDate"
^^
xsd:
string
.
_:
b27
sp:
varName
"nameWellBore"
^^
xsd:
string
.
_:
b54
sp:
varName
"dailyDrillingReport"
^^
xsd:
string
.
_:
b57
sp:
varName
"normalizedWellBoreName"
^^
xsd:
string
.
_:
b56
sp:
varName
"createDate"
^^
xsd:
string
.
_:
b55
sp:
varName
"nameWellBore"
^^
xsd:
string
.
_:
b5
sp:
varName
"normalizedWellBoreName"
^^
xsd:
string
.
_:
b4
sp:
varName
"dTimStart"
^^
xsd:
string
.
_:
b3
sp:
varName
"nameWellBore"
^^
xsd:
string
.
_:
b2
sp:
varName
"dailyDrillingActivity"
^^
xsd:
string
.
_:
b1
sp:
varName
"dTimEnd"
^^
xsd:
string
.
_:
b42
sp:
varName
"normalizedWellBoreName"
^^
xsd:
string
.
_:
b41
sp:
varName
"statusInfo"
^^
xsd:
string
.
_:
b40
sp:
varName
"dTimStart"
^^
xsd:
string
.
_:
b39
sp:
varName
"nameWellBore"
^^
xsd:
string
.
_:
b38
sp:
varName
"dailyDrillingActivity"
^^
xsd:
string
.
_:
b37
sp:
varName
"forecast24Hr"
^^
xsd:
string
.
_:
b63
sp:
varName
"normalizedWellBoreName"
^^
xsd:
string
.
_:
b62
sp:
varName
"statusInfo"
^^
xsd:
string
.
_:
b61
sp:
varName
"dTimStart"
^^
xsd:
string
.
_:
b60
sp:
varName
"nameWellBore"
^^
xsd:
string
.
_:
b59
sp:
varName
"dailyDrillingActivity"
^^
xsd:
string
.
_:
b58
sp:
varName
"ropCurrentValue"
^^
xsd:
string
.
_:
b11
sp:
varName
"normalizedWellBoreName"
^^
xsd:
string
.
_:
b10
sp:
varName
"statusInfo"
^^
xsd:
string
.
_:
b9
sp:
varName
"dTimStart"
^^
xsd:
string
.
_:
b8
sp:
varName
"nameWellBore"
^^
xsd:
string
.
_:
b7
sp:
varName
"dailyDrillingActivity"
^^
xsd:
string
.
_:
b6
sp:
varName
"sum24Hr"
^^
xsd:
string
.
_:
b25
sp:
varName
"normalizedWellName"
^^
xsd:
string
.
_:
b24
sp:
varName
"normalizedWellBoreName"
^^
xsd:
string
.
_:
b23
sp:
varName
"dTimStart"
^^
xsd:
string
.
_:
b22
sp:
varName
"nameWellBore"
^^
xsd:
string
.
_:
b21
sp:
varName
"wellBore"
^^
xsd:
string
.
_:
b20
sp:
varName
"dailyDrillingActivity"
^^
xsd:
string
.
_:
b19
sp:
varName
"nameWell"
^^
xsd:
string
.
_:
b18
sp:
varName
"well"
^^
xsd:
string
.
_:
b49
sp:
varName
"normalizedWellBoreName"
^^
xsd:
string
.
_:
b48
sp:
varName
"dailyDrillingActivity"
^^
xsd:
string
.
_:
b47
sp:
varName
"statusInfo"
^^
xsd:
string
.
_:
b46
sp:
varName
"dTimStart"
^^
xsd:
string
.
_:
b45
sp:
varName
"nameWellBore"
^^
xsd:
string
.
_:
b44
sp:
varName
"wellBore"
^^
xsd:
string
.
_:
b43
sp:
varName
"md"
^^
xsd:
string
.
_:
b17
sp:
varName
"normalizedWellBoreName"
^^
xsd:
string
.
_:
b16
sp:
varName
"statusInfo"
^^
xsd:
string
.
_:
b15
sp:
varName
"dTimStart"
^^
xsd:
string
.
_:
b14
sp:
varName
"nameWellBore"
^^
xsd:
string
.
_:
b13
sp:
varName
"dailyDrillingActivity"
^^
xsd:
string
.
_:
b12
sp:
varName
"distDrill"
^^
xsd:
string
.
_:
b36
sp:
varName
"normalizedWellBoreName"
^^
xsd:
string
.
_:
b35
sp:
varName
"nameWellBore"
^^
xsd:
string
.
_:
b34
sp:
varName
"wellBore"
^^
xsd:
string
.
_:
b33
sp:
varName
"dTimStart"
^^
xsd:
string
.
_:
b32
sp:
varName
"createDate"
^^
xsd:
string
.
_:
b31
sp:
varName
"dailyDrillingActivity"
^^
xsd:
string
.
_:
b30
sp:
varName
"dailyDrillingReport"
^^
xsd:
string
.
www.reportinghub.no/ep/transform/TRANSFORM_
normalization
-(v1.1.1).ttl.tbc
→
www.reportinghub.no/ep/transform/TRANSFORM_
ddr-drillReport
-(v1.1.1).ttl.tbc
View file @
d890955
# Saved by TopBraid on
Mon Aug 01 13:35:23 PD
T 2011
# baseURI:
http://www.reportinghub.no/ep/transform/normalization
# Saved by TopBraid on
Wed Aug 03 12:31:51 BS
T 2011
# baseURI:
null
@prefix
composite:
<http://www.topbraid.org/2007/05/composite.owl#>
.
@prefix
forms:
<http://www.topbraid.org/2007/01/forms.owl#>
.
...
...
@@ -13,5 +13,7 @@
[]
rdf:
type
inference:
Configuration
;
composite:
child
[
rdf:
type
<http://spinrdf.org/spin#TopSPIN>
;
<http://spinrdf.org/spin#topSPINOptions>
"singlePass"
;
composite:
index
"0"
^^
xsd:
int
]
.
...
...
www.reportinghub.no/ep/transform/TRANSFORM_ddr-normalization-(v1.1.1).ttl
View file @
d890955
# Saved by TopBraid on Mon Aug 01 14:29:25 PDT 2011
# baseURI: http://www.reportinghub.no/ep/transform/1.1/ddr/normalization
# imports: http://www.reportinghub.no/ep/spin/1.1/lib
# imports: http://www.reportinghub.no/ep/transform/1.1/ddr
# Saved by TopBraid on Wed Aug 03 07:44:47 BST 2011
# baseURI: http://www.reportinghub.no/ep/transform/1.1/normalization
# imports: http://www.reportinghub.no/ep/transform/1.1/ddr/drillReport
# imports: http://spinrdf.org/spin
@prefix
ddr-normalization:
<http://www.reportinghub.no/ep/transform/ddr/normalization#>
.
@prefix
ddr-normalization-1
.1
:
<http://www.reportinghub.no/ep/transform/1.1/ddr/normalization#>
.
@prefix
ep-spin-lib:
<http://www.reportinghub.no/ep/spin/lib#>
.
@prefix
normalization:
<http://www.reportinghub.no/ep/transform/normalization#>
.
@prefix
:
<http://www.reportinghub.no/ep/transform/1.1/normalization#>
.
@prefix
owl:
<http://www.w3.org/2002/07/owl#>
.
@prefix
rdf:
<http://www.w3.org/1999/02/22-rdf-syntax-ns#>
.
@prefix
rdfs:
<http://www.w3.org/2000/01/rdf-schema#>
.
...
...
@@ -16,72 +12,7 @@
@prefix
spl:
<http://spinrdf.org/spl#>
.
@prefix
xsd:
<http://www.w3.org/2001/XMLSchema#>
.
<http://www.reportinghub.no/ep/schema/ddr#Obj_drillReport>
spin:
rule
[
rdf:
type
sp:
Construct
;
rdfs:
comment
"STEP 101 Make Well and Well Bore Instances"
^^
xsd:
string
;
sp:
templates
([
sp:
object
<http://www.reportinghub.no/ep/schema/well#WellBore>
;
sp:
predicate
rdf:
type
;
sp:
subject
_:
b1
]
[
sp:
object
_:
b2
;
sp:
predicate
rdfs:
label
;
sp:
subject
_:
b1
]
[
sp:
object
<http://www.reportinghub.no/ep/schema/well#Well>
;
sp:
predicate
rdf:
type
;
sp:
subject
_:
b3
]
[
sp:
object
_:
b4
;
sp:
predicate
rdfs:
label
;
sp:
subject
_:
b3
]
[
sp:
object
_:
b1
;
sp:
predicate
<http://www.reportinghub.no/ep/schema/core#hasPart>
;
sp:
subject
_:
b3
])
;
sp:
where
([
sp:
object
_:
b2
;
sp:
predicate
<http://www.reportinghub.no/ep/schema/ddr#nameWellbore>
;
sp:
subject
spin:
_this
]
[
sp:
object
_:
b4
;
sp:
predicate
<http://www.reportinghub.no/ep/schema/ddr#nameWell>
;
sp:
subject
spin:
_this
]
[
rdf:
type
sp:
Bind
;
sp:
expression
[
rdf:
type
ep-spin-lib:
normalizeString
;
sp:
arg1
_:
b4
]
;
sp:
variable
_:
b5
]
[
rdf:
type
sp:
Bind
;
sp:
expression
[
rdf:
type
ep-spin-lib:
buildWellURI
;
sp:
arg1
_:
b5
]
;
sp:
variable
_:
b3
]
[
rdf:
type
sp:
Bind
;
sp:
expression
[
rdf:
type
ep-spin-lib:
normalizeString
;
sp:
arg1
_:
b2
]
;
sp:
variable
_:
b6
]
[
rdf:
type
sp:
Bind
;
sp:
expression
[
rdf:
type
ep-spin-lib:
buildWellBoreURI
;
sp:
arg1
_:
b6
]
;
sp:
variable
_:
b1
])
]
.
<http://www.reportinghub.no/ep/transform/1.1/ddr/normalization>
<http://www.reportinghub.no/ep/transform/1.1/normalization>
rdf:
type
owl:
Ontology
;
owl:
imports
<http://
www.reportinghub.no/ep/spin/1.1/lib>
,
<http://www.reportinghub.no/ep/transform/1.1/ddr>
,
<http://spinrdf.org/spin
>
;
owl:
imports
<http://
spinrdf.org/spin>
,
<http://www.reportinghub.no/ep/transform/1.1/ddr/drillReport
>
;
owl:
versionInfo
"Created with TopBraid Composer"
^^
xsd:
string
.
_:
b2
sp:
varName
"nameWellBore"
^^
xsd:
string
.
_:
b4
sp:
varName
"nameWell"
^^
xsd:
string
.
_:
b5
sp:
varName
"normalizedWellName"
^^
xsd:
string
.
_:
b3
sp:
varName
"normalizedWellNameU"
^^
xsd:
string
.
_:
b6
sp:
varName
"normalizedWellBoreName"
^^
xsd:
string
.
_:
b1
sp:
varName
"normalizedWellBoreNameU"
^^
xsd:
string
.
...
...
www.reportinghub.no/ep/transform/TRANSFORM_ddr-normalization-(v1.1.1).ttl.tbc
View file @
d890955
# Saved by TopBraid on
Mon Aug 01 14:29:25 PD
T 2011
# Saved by TopBraid on
Wed Aug 03 07:44:47 BS
T 2011
# baseURI: null
@prefix
composite:
<http://www.topbraid.org/2007/05/composite.owl#>
.
...
...
@@ -13,7 +13,5 @@
[]
rdf:
type
inference:
Configuration
;
composite:
child
[
rdf:
type
<http://spinrdf.org/spin#TopSPIN>
;
<http://spinrdf.org/spin#topSPINOptions>
"singlePass"
;
composite:
index
"0"
^^
xsd:
int
]
.
...
...
Please
register
or
login
to post a comment