FIATECH ADI Introduction ISO 15926 (3 - templates)

Download Report

Transcript FIATECH ADI Introduction ISO 15926 (3 - templates)

Program
The five presentations are dealing with:
 what are reference data (taxonomy) and what object information models (ontology)?
 data and documents
what are templates, why and how do we use them? more on OIMs (Object
Information Models)
 exchanging information vs handing over data
 what is the role of the Façades? what is a CPF (Confederation of Participating
Façades), and how do we deal with security?
Presentations already given can be downloaded from here
ISO 15926
Templates and
Object Information Models
ISO 15926 without templates [1]
The data model of ISO 15926-2 has two groups of
entity types: nodes and relationships
The nodes do not have attributes,
the (binary) relationships have two attributes
These two attributes point at two nodes
that are related in a way
that is determined by the kind of relationship
(e.g. connection, composition, marriage)
ISO 15926 without templates [2]
A simple example with 2 nodes and 1 relationship:
side1
Possible
Individual
side2
Direct
Connection
Possible
Individual
and instantiated:
Classes
Possible
Individual
side1
type
instances
2376432
pump P-101
Direct
Connection
side2
type
side1
3498302
is directly connected
Possible
Individual
type
side2
1299388
pipe Bx-23987Ah
ISO 15926 without templates [3]
When further detailed it starts looking like this:
ClassOf
Individual
classOfSide1
classOfSide2
ClassOfDirect
Connection
subClassOf
type
ClassOf
Inanimate
PhysicalObject
Part 2
Part 4
Possible
Individual
type
side1
side2
Direct
Connection
type
type
Part 2
Part 4
type
Inanimate
PhysicalObject
type
supplier’s
catalog
instances
type
DirectHydraulic
Connection
subClassOf
type
Part 4
supplier’s
catalog
subClassOf
subClassOf
FluidHolding
Inanimate
PhysicalObject
subClassOf
Part 4
ASME
subClassOf
PQR-Ltd
ModelAK150
type
PRS01_204209
pump P-101
subClassOf
300#RF
Connection
ClassBx-Ah
Pipe
ASME
instances type
side1
Part 4
pipe spec
PIP05-349830
type
side2
300#RF direct hydraulic connection
pipe spec
instances
PIP01_439834
line Bx-23987Ah
ISO 15926 without templates [4]
On a small scale that seems fine, but what about
a situation where a large data base is filled with
a terabyte (1000 Gb) of this stuff?
How can we then retrieve our information from
this gigantic web?
By rigorously bringing order in it!
This is done by defining and using standard
Templates
Longhand Templates [1]
Let's take a Template that is often used:
ClassOfClass
OfInformation
Representation
ClassOf
ClassOf
Representation
ClassOf
Functional
Mapping
Possible
Individual
possessor
ClassOf
Indirect
Property
ClassOf
Property
type
type
Indirect
Property
property
Property
ClassOfScale
Thing
type
type
Scale
ClassOfClass
represented
type
type
ClassOf
Representation
OfThing
ClassOf
Information
Representation
type
type
type
type
input
pattern
Property
Quantification
type
result
Arithmetic
Number
subClassOf
subClassOf
type
XmlSchema
Float
RealNumber
type
type
type
type
Part 2 data model
Part 4
Part 7 generic template classes
subClassOf
possessor
subClassOf
LT-3401.
Indirect
Property
subClassOf
subClassOf
property
LT-3401.
Property
elements1
input
LT-3401.
Property
Quantification
result
elements2
elements3
elements4
LT-3401
LT-3401.
RealNumber
subClassOf
represented
elements5
equivalentClass
ST-3401
LT-3401.
ClassOf
Representation
OfThing
pattern
Longhand Templates [2]
This is called a LonghandTemplate, it represents
a small chunk of information using the data model
of ISO 15926-2 to the full extent.
This one tells that:
"A given 'PossibleIndividual' is possessor of a given 'IndirectProperty' that is
based on a given 'Property' that is quantified with a given value on a given Scale"
Instantiation of Longhand Templates, as shown
on the previous slide, turns out to be CPU-hungry
and takes a lot of storage space and bandwidth
Therefore the concept of Shorthand Template has
been designed
Shorthand Templates [1]
Through some esoteric mapping we can represent
the same semantics with ShorthandTemplates,
that are less verbose
The ShorthandTemplate representation for the
same example would look like:
Vessel V-101
Possible
Individual
DesignPressure
ClassOf
Indirect
Property
Pressure
psig
300
ClassOf
Property
ClassOf
Scale
XmlSchema
Float
unitOfMeasure
propertyType
basePropertyType
possessor
numericalValue
LT3401
equivalentClass
ST3401
Note The five rdf:Properties correspond with the ones marked in red for the Longhand Template
Linking Shorthand to Longhand Template
In order to be able to find the exact semantics of
a ShorthandTemplate class we link it to its
companion LonghandTemplate class by means of
owl:equivalentClass
LonghandTemplate
element4
LT-3401.
Property
Quantification
LT3401
equivalentClass
external references
element2
element3
element5
element1
property
LT-3401.
input
Property
LT-3401.
Indirect
Property
possessor
type
part2:Possible
Individual
part2:Class
OfIndirect
Property
possessor
propertyType
type
result
part2:ClassOf
Property
basePropertyType
numericalValue
LT-3401.
RealNumber
type
represented
LT-3401.
RepresentationOfThing
pattern
part4:Xml
SchemaFloat
part2:Class
OfScale
unitOfMeasure
ST3401
Shorthand
Template
Shorthand vs Longhand Templates
The difference between the Longhand and the
Shorthand Template class of the connection
example is small, but when we compare
LT-3401 with ST-3401 we find that:
• a LonghandTemplate instance LT-3401 takes 19 triples
• a ShorthandTemplate instance ST-3401 takes 6 triples
Another advantage of STs is that we can use
normal engineering-like terms for the
rdf:Properties
Templates provide "handles"
In a triple store we have Nodes, Templates and
Literals, connected by rdf:Properties
http://www.pqr-ltd.com/p4502#PRS01-347621
http://www.w3.org/1999/02/22-rdf-syntax-ns#type
http://www.15926.org/2006/02/part4#Vessel
http://www.pqr-ltd.com/p4502#ME03-347621-20060324T1026Z http://www.w3.org/1999/02/22-rdf-syntax-ns#type
http://www.15926.org/2006/02/part4#Vessel
http://www.pqr-ltd.com/p4502#ME03_ST-394341
http://www.w3.org/1999/02/22-rdf-syntax-ns#type
http://www.15926.org/2006/02/oim#ST-INDIVIDUAL-1002-001
http://www.pqr-ltd.com/p4502#ME03_ST-394341
http://www.15926.org/2006/02/part7#temporalWhole
http://www.pqr-ltd.com/p4502#PRS01-347621
http://www.pqr-ltd.com/p4502#ME03_ST-394341
http://www.15926.org/2006/02/part7#temporalPart
http://www.pqr-ltd.com/p4502#ME03-347621-20060324T1026Z
http://www.pqr-ltd.com/p4502#ME03_ST-394341
http://www.15926.org/2006/02/part7#beginning
http://www.pqr-ltd.com/p4502#ME03_XSDT_20060324T1026Z
Part4
Part4
OIM
Part4
http://www.pqr-ltd.com/p4502#ME03_XSDT_20060324T1026Z http://www.15926.org/2006/02/part2#content
http://www.15926.org/2006/02/part4#XmlSchemaDateTime
"2006-03-24T10:26:00Z"^^
http://www.w3.org/2001/XMLSchema#dateTime
http://www.pqr-ltd.com/p4502#ME03_ST-734651
http://www.w3.org/1999/02/22-rdf-syntax-ns#type
http://www.15926.org/2006/02/oim#ST-VESSEL-3401-003
OIM
http://www.pqr-ltd.com/p4502#ME03_ST-734651
http://www.15926.org/2006/02/part7#possessor
http://www.pqr-ltd.com/p4502#ME03-347621-20060324T1026Z
http://www.pqr-ltd.com/p4502#ME03_ST-734651
http://www.15926.org/2006/02/part7#propertyType
http://www.15926.org/2006/02/part4#DesignPressure
http://www.pqr-ltd.com/p4502#ME03_ST-734651
http://www.15926.org/2006/02/part7#basePropertyType http://www.15926.org/2006/02/part4#Pressure
http://www.pqr-ltd.com/p4502#ME03_ST-734651
http://www.15926.org/2006/02/part7#numericalValue
http://www.pqr-ltd.com/p4502#ME03_XSFL_100
http://www.pqr-ltd.com/p4502#ME03_ST-734651
http://www.15926.org/2006/02/part7#unitOfMeasure
http://www.15926.org/2006/02/part4#Barg
http://www.pqr-ltd.com/p4502#ME03_XSFL_100
http://www.w3.org/1999/02/22-rdf-syntax-ns#type
http://www.15926.org/2006/02/part4#XmlSchemaFloat
http://www.pqr-ltd.com/p4502#ME03_XSFL_100
http://www.15926.org/2006/02/part2#content
"100"^^http://www.w3.org/2001/XMLSchema#float
http://www.pqr-ltd.com/p4502#ME03_XSDT_20060324T1026Z http://www.w3.org/1999/02/22-rdf-syntax-ns#type
The above tells that we have a temporal part of vessel PRS01-347621,
and that that temporal part has a design pressure of 100 barg
beginning March 24th, 2006 at 10:26 am GMT
Part4
Part4
Part4
Part4
Presentation
Next to the usual screen layout a screen could
also present this information using macros like:
Tag No.
V-101
V-102
V-103
V-201
V-204
V-202
V-203
Information valid at selected date-time
2006-07-14T13:37:00Z
- has a design pressure of 100 barg @2005-03-27T14:46:00Z
- has a volumetric capacity of 130 m3 @2005-03-21T09:21:00Z
- is made of 316SS @2005-02-15T11:41:00Z
- has a T-to-T dimension of 10 m @2005-03-21T09:21:00Z
- has a internal diameter of 2 m @2005-03-21T09:21:00Z
- has nozzle N1 connected to line Bx-23987Ah @2005-05-13T12:42:00Z
OIMs - Object Information Models [1]
We can record a lot of lifetime information about
members of any Class:
OIM
type
subClassOf
equipmentNumber
Centrifugal
Pump
serviceDescription
hasCapacity
hasQhCurve
isMadeOf
etc, etc
The set of ShorthandTemplate classes that
represents the lifetime information of the
members of a Class is called the OIM of that Class
OIMs - Object Information Models [2]
A ShorthandTemplate can be specialized in order
to tell something specifically about a Class
For example we can state that all members of the
Class 'Vessel' have a 'DesignPressure', or can
have one
We can do this specialization by "fixing" the
value of one or more rdf:Properties of the
applicable generic Template (here ST-3401)
OIMs - Object Information Models [3]
Possible
Individual
Indirect
Property
Property
subClassOf
subClassOf
subClassOf
Vessel
Design
Pressure
Pressure
determined later
XmlSchema
Float
Scale
propertyType
numericalValue
basePropertyType
possessor
unitOfMeasure
isPossessorIn
inverse Property for
OIM collection purposes
ST-VESSEL3401-003
In triple format:
http://www.15926.org/2006/02/part4#Vessel http://www.15926.org/2006/02/oim#isPossessorIn http://www.15926.org/2006/02/oim#ST-VESSEL-3401-003
OIMs - Object Information Models [4]
By sorting the Classes in the first column of a
triple store we can easily create a pick list of all
specialized templates for each Class
Together these form the OIM of that Class
A small example for the Class 'ElectricMotor':
http://www.15926.org/2006/02/part4#ElectricMotor http://www.15926.org/2006/02/oim#isPossessorIn http://www.15926.org/2006/02/oim#ST-ELECTRIC-MOTOR-3401-025
http://www.15926.org/2006/02/part4#ElectricMotor http://www.15926.org/2006/02/oim#isPossessorIn http://www.15926.org/2006/02/oim#ST-ELECTRIC-MOTOR-3401-026
http://www.15926.org/2006/02/part4#ElectricMotor http://www.15926.org/2006/02/oim#isPossessorIn http://www.15926.org/2006/02/oim#ST-ELECTRIC-MOTOR-3401-027
where:
ST-ELECTRIC-MOTOR-3401-025 tells that an electric motor has an 'allowable starting voltage percentage'
ST-ELECTRIC-MOTOR-3401-026 tells that an electric motor has a 'breakdown torque'
ST-ELECTRIC-MOTOR-3401-027 tells that an electric motor has a 'cold locked rotor time'
OIMs - Object Information Models [5]
On a screen this looks like:
Use of OIMs
OIMs are used for the definition of Document
Types, as discussed last time:
0:?
e.g. data fields,
space for photo,
diagram, logo, etc
XmlSchema
String
e.g. ‘specific enthalpy^^kJ/kg’
XmlSchema
String
e.g. SPARQL script for fetching
the data-to-be-presented
Shorthand
Template
template class a member of which, that
was valid at the date-time given, has
to be fetched and queried with SPARQL
hasPrompt
Document
Cell
hasQueryScript
1:?
hasAsInfo
1
DEFINED IN OIM
Questions?
When you need some further clarification
tell us now or contact us
ADI Project-related Web Resources
•
ADI Project website
http://www.fiatech.org/projects/idim/iso15926.html
•
ISO 15926 KnowledgeBase
http://www.15926.org
Implementers' reference source
• Documentation
• Sample code
• FAQ
•
ISO 15926 Part 7 Explanation
http://www.infowebml.ws
•
ISO 15926 Part 4 Reference Data
http://193.212.132.108/apps/rdsclient.html