Title: Linking ISO 10303 with the Semantic Web
1SemanticSTEP
- Linking ISO 10303 with the Semantic Web
- Lothar Klein, LKSoft
- ISO TC184/SC4 meeting in Louisville, KY, USA
2008-03-03
2About S-TEN
- A research project partially funded by the
European Commission, 2006-04 to 2008-09 - Title Intelligent Self-describing Technical and
Environmental Networks - Partners
- Forschungsgemeinschaft für Elektrische Anlagen
und Stromwirtschaft e.V. together with University
Aachen, Germany - CAESAR Systems Ltd., UK
- Cygnus Engineering AG, Switzerland
- Haute Ecole Valaisanne, Switzerland
- Fundación LABEIN, Spain
- UAB LKSoft Baltic, Lithuania
- LKSoftWare GmbH, Germany
- Aucotec AG, Germany
3Work Package 3 Linking S-TEN with Design and
Maintenance Knowledge
- Objectives
- Enabling seamless data exchange in both
directions between STEP and OWL. This includes
offering STEP design data available in STEP as
RDF/OWL services and also being able to record
actual RDF/OWL datasets in STEP. - Tasks
- 3.1 Methodology (events, actions, execution) and
Ontologies - 3.2 Technology Validation presented at the
SC4 meeting in Madeira, 2007 - 3.3 Ontologies derived from STEP data models
- product structure / PDM (AP203ed2)
- Electrical connectivity (AP210)
- Maintenance data (AP239)
- 3.4 Data Exchange from STEP to OWL
Converter and presenting the resulting RDF/OWL
data in a Semantic DB with full query
capabilities (SPARQL) - 3.5 Data Exchange from OWL to STEP
Converter and GUI to capture maintenance
information
4About the Semantic Web
- An activity of W3C
- Main components
- RDF Resource Description Language- based on
XML- statements (triples) about resources
(URIs) in the form subject-predicate-object - OWL Web Ontology language, based on RDFadd
logic statements - SPARQL Query Language for RDF
- GRDDL - Gleaning Resource Descriptions from
Dialects of Languages
layercake diagram
5RDF XML and N3
a statement Janet loves John.
urnmy_peopleJanet
urnmy_peopleJohn
urnmy_ontologyloves
- RDF is a graphical language
- Each object and each relationship has a URI.
6RDF XML and N3
a statement Janet loves John.
urnmy_peopleJanet
urnmy_peopleJohn
urnmy_ontologyloves
serialised in XML
ltowlThing rdfabouturnmy_peopleJanetgt
lturnmy_ontologyloves rdfresourceurnmy_people
John/gt lt/owlThinggt
7RDF XML and N3
a statement Janet loves John.
urnmy_peopleJanet
urnmy_peopleJohn
urnmy_ontologyloves
serialised in N3
urnmy_peopleJanet urnmy_ontologyloves
urnmy_peopleJohn .
8RDF XML and N3 with blank nodes
a statement Caroline loves somebody who lives
in London.
urnmy_peopleCaroline
urnmy_ontologyloves
urnmy_ontologylives_in
urnmy_city_registryJim
serialised in N3
urnmy_peopleCaroline urnmy_ontologyloves
urnmy_ontologylives_in
urnmy_citiesLondon .
9RDF and Named Graphs
urnmy_peopleJane
a statement Jane believes that Caroline loves
somebody who lives in London.
urnmy_ontologybelieves
urnmy_peopleCaroline
urnmy_ontologyloves
urnmy_ontologylives_in
urnmy_city_registryJim
urnmy_peopleJane urnmy_ontologybelieves
urnmy_data1234. urnmy_data1234
urnmy_peopleCaroline urnmy_ontologyloves
urnmy_ontologylives_in
urnmy_citiesLondon .
10Why SemanticSTEP ? David Leal wrote 2008-02-28
- The late 20th century problem was "how do we
precisely define the semantics and syntax for a
file of data which can be sent as an e-mail
attachment or downloaded by FTP?. ISO 10303 is
of that kind. - The early 21st century problem is "how do we
publish information on the web so that other
people can make use of it as they wish?" This is
in the focus of e.g. the Semantic Web. - It is the difference between push and pull. ISO
10303 say "here is the data that we think you
should have" - i.e. data push. In the future, we
need to publish data with links to original
sources, to terminology standards, to validation,
and to user experience. The end user will follow
these links to find the data that he or she wants
- i.e. data pull.
11A fundamental difference between STEP and the
Semantic Web
- STEP is about objects and statements about these
objects, e.g. relations to other objects. - All statements about these objects are given
within a STEP file - STEP is object oriented. It defines many
constraints on these objects. - Semantic Web is about statements on objects.
- An RDF dataset gives some statements about
objects and their may be other datasets with
other statements on these objects - Except for blank nodes the Semantic Web is
statement oriented. Objects are given as URIs.
12A pure syntactic approach
- A very straightforward and full automatic
approach - Convert Express Models into RDS Schema
- Every Express Schema becomes an RDF Schema
- Every Express entity becomes an RDF class
- Every Express attribute becomes an RDF property
type - Convert STEP applicaton data into RDF data
- Create a URI for every entity instance (e.g. use
-number) - Create an RDF statement for every attribute value
13A pure syntactic approach / Example
10PRODUCT('abc') 20PRODUCT_DEFINITION_FORMATI
ON('1', 19) urnmy_file_10 is
urnmy_ontologyproduct. urnmy_file_10
urnmy_ontologyproduct__id "abc". urnmy_file_2
0 is urnmy_ontologyproduct_definition_formation.
urnmy_file_20 urnmy_ontologyproduct_definitio
n_formation__id "1. urnmy_file_20
urnmy_ontologyproduct_definition_formation__of_p
roduct urnmy_file_10.
14A pure syntactic approach / Pros-Cons
- Pros
- Can be used on any Express schema and data (ARM,
MIM, ) - No loss/gain of information/semantics
- Cons
- URIs of application data are not stable. Will be
different when the STEP data s created anew later
on - Formal logic capabilities of OWL are not used
- The result is formally correct, but is not what
someone would expect
15A very logic based approach
- Talking advantage of all the capabilites of OWL
- Restriction classes (allValuesFrom,
someValuesFrom, ) - Almost completely replacing the STEP schemas by a
pure logic based ontology - We tried this out for the technological validaten
(task 3.2), but gave up with this approach - Too much of the STEP semantic get lost
- Because of significant performance problems we
cant take advantage of reasoning about logical
statement - There is little what can be deduced from design
data and applied to a real physical individual
16Simple deduction
XYZ
steel
subClassOf
type
type
98/1234
XYZ rdfssubClassOf steel . 98/1234
a XYZ
a steel .
17Deduction of property
has_mass
onProperty
XYZ
subClassOf
things with mass 10 tonnes
hasValue
10 tonnes
type
has_mass
98/1234
XYZ rdfssubClassOf
owlonProperty has_mass
owlhasValue
tonnes 10 . 98/1234 a
XYZ
has_mass tonnes 10 .
18A temporal part
A pencil of type XYZ has a length of 10 cm as
supplied.
My_pencil is of type XYZ. It had a length of 10
cm when supplied.
has_temporal_part
has_length
onProperty
things with a length 10 cm at some time
XYZ
subClassOf
onProperty
hasValue
things with length 10 cm
hasValue
type
10 cm
has_length
my_pencil as supplied
has_temporal_part
my-pencil
my_pencil on 2007-03-26
7.3 cm
has_temporal_part
has_length
19Semantic STEP, a combined syntactic and semantic
approach
- Dont rely too much on the reasoning capabilities
of OWL. ISO 15926 (Oil and Gas) may follow this
path. - Use Express as modelling language, but constrain
it to the needs of RDF triples. - Preserve the semantic work done in ISO 10303,
but dont be limited by the actual data models. - Experiences how to do modelling have grown since
the initial release of ISO 10303. Do things
better if this can be justified.
20Overall strategy for theSemantic STEP devlopment
- Create a root model that links to OWL / RDF
concepts - Create completely new Express data models that
borrow as much as possible from existing STEP
models and extends the root model - Syntactic conversion of the Semantic STEP Express
models to OWL - Take advantage of ISO/TS 15926-3, Reference data
for geometry and topology
21The root modelOwlRdfSchema
22There are several major issues with the
traditional ISO 10303 approach
- Not integrated data models
- ARM lt-gt mapping lt-gt MIM/AIM structure is more
complex than needed - String attributes
- Identifier, magic strings,
- Semantic of assignment and relationship
attributes - Data model have some inherently flaws
- Versioning
- Generic and specialised product
- Constant instance
- Open versus closed world
- Properties, units,
23ARM MIM mapping with Magic Strings
- ISO/TS 10303-10222004 Part and version
identification - 5.1.1 Part
- MIM element product
- Source ISO 10303-41
- Reference path
- product lt-
- product_related_product_category.productsi
- product_related_product_category lt
- product_category
- (product_category.name'part')
- (product_category.name'raw material')
24Syntax versus Semantics
- Annex E.4 of ISO 10303-41 provides this template
- ENTITY object_relationship
- name label
- description text
- relating_object object
- related_object object
- END_ENTITY
- name the label by which the object_relationship
is known. - description the text that characterises the
object_relationship. - This is only a syntactic capability. Without
defining specific name/description attribute for
specific purpose there is no semantic given - There is no place in the Semantic Web for such
kinds of syntactic constructs.
25Example Activity in STEP
AM Activity, ISO/TS 10303-1047 ENTITY
Activity_relationship name STRING
description OPTIONAL STRING
relating_activity Activity
related_activity Activity END_ENTITY AM
Pre defined product data management
specializations, ISO/CD-TS 10303-1760
Pre_defined_activity_relationship_types
SET0? OF STRING 'alternative',
'decomposition, 'derivation, 'exclusiveness',
'precedence, 'sequence, 'simultaneity'
ENTITY Pre_defined_activity_relationship
SUBTYPE OF (Activity_relationship) WHERE
WR1 SELF\Activity_relationship.name IN
Pre_defined_activity_relationship_types
END_ENTITY
26Example Activity in SemanticSTEP
27Scope of statements, example Approval
10 PRODUCT('K01-42051', 'Bicycle Bell RX25B',
'', (30)) 20 PRODUCT_DEFINITION_FORMATION('02
', 'lever modified', 10) 30
PRODUCT_DEFINITION(... 20 ...) 40
PROPERTY_DEFINITION(... 30 ...) 50
PROPERTY_DEFINITION_REPRESENTATION(40, 60) 60
REPRESENTATION(...) 880 APPROVAL(870,
'preliminary design') 870 APPROVAL_STATUS('app
roved') 890 APPLIED_APPROVAL_ASSIGNMENT(880,
(20))
- It is not clearly defined which instances are
approved and which not.
28Scope of statements, example Approval
10 PRODUCT('K01-42051', 'Bicycle Bell RX25B',
'', (30)) 20 PRODUCT_DEFINITION_FORMATION('02
', 'lever modified', 10) 30
PRODUCT_DEFINITION(... 20 ...) 40
PROPERTY_DEFINITION(... 30 ...) 50
PROPERTY_DEFINITION_REPRESENTATION(40, 60) 60
REPRESENTATION(...) 880 APPROVAL(870,
'preliminary design') 870 APPROVAL_STATUS('app
roved') 890 APPLIED_APPROVAL_ASSIGNMENT(880,
(999))
- In OWL/RDF we can use a named graph to wrap up
the statements
29(No Transcript)
30Implementation strategies
- SRDB storing a semantic
- Jena, an API supporting RDF, SPARQL,
- Special URI
- GIT
- SHA-1
31SRDB, Validation, check-sum, URI
- Express schema elemtents
- URN, e.g. urnisostd
- Blank nodes, URIs, URNs
- Use of URNs Uniform Resource Name instead of URLs
because these things are there purely for
identification purpose. They do not define a
resource you can GET with a HTTP request. - URNs to be used for
- Express schema elements
- User objects
- URLs to be used for named graph and other
resources (e.g. some picture or other document). - urnsha1YNCKHTQCWBTRNJIV4WNAE52SJUQCZO5C
32To not forget
- SemanticSTEP is at the current time only part of
a research project. - The future development of SemanticSTEP depends on
the development of ISO 10303, primarily the
modules. - To be sucessful SemanticSTEP has to grow in close
cooperation with ISO 10303