Implementation of standards using Web technologies David Leal
Semantic Web technologies RDF (Resource Description Framework) –making statements on the Web – N3 (Notation 3) –a simple way of writing down an RDF statement – An opportunity to: record information more simply enable others to use our concepts use the concepts of others
Cool URIs for the Semantic Web How it can work –an overview of how to use HTML and RDF together – A key document: latest version 31 st March 2008
Jane believes Getting started Janet John loves RDF diagram N3 :Janet :loves :John. :Jane :believes { }
Getting started people:Janet relationship:loves relationships:. namespaces identify the people identify the human relationships
Getting started people:Janet relationship:loves relationships:. namespaces identify the people identify the human relationships people:Jane truth:believes { }
Using emerging technologies Identifying things by HTTP URIs –getting data about them by “dereferencing” Data as RDF statements –readable RDF as N3 –a little bit of formality from OWL The importance of standard RDF vocabularies –This is what will make it work –This is our task
About URIs a URI is just a string of characters –They are unique identifiers for things, which are used on the web –A thing can have more than one URI, but a URI identifies only one thing HTTP URI –formerly called a URL –The use of an HTTP URI implies that an HTTP (HyperText Transfer Protocol) access, e.g. from a browser, is valid –But you may be disappointed and get “error 404” – no answer was the stern reply a URN –A URI which does not imply any form of access –used by some organisations – e.g. ISO, ISBN –urn:iso:std:iso:15926:-2 The Web is based upon HTTP URIs – don’t worry about URNs
What a URI identifies a web page – –You can open it with your browser – data is downloaded –You can follow links to other web pages an object – –This is the organisation Institute of Materials, Minerals and Mining –It has a Royal Charter – it cannot be downloaded to a browser a formula – –This is a computer interpretable file of RDF statements about the IoM3 –It can be process by Semantic Web browser or by an application Uniform Resource Identifier
Dereferencing a URI If the URI identifies a web page – you get it If the URI identifies an RDF formula – you get it It the URI identifies an object.... –The object could be the Eiffel Tower, or the Institute of Materials – neither can be downloaded to your browser –either you get nothing (error 404), or you are redirected to a “representation” “dereferencing” means attempting to get some data. You can only dereference an HTTP URI. access to is redirected to
A webpage click to view the formula The IoM3 has not implemented this – yet
A formula “Institute of Materials Minerals and Mining” title “ ” telephone webpage organiser “Materials Congress 2008” title webpage engineering institution type
Clever browsers Mozilla Firefox Is organiser of
Suppose you want a formula Usually redirection takes you to an HTML web page –This is good, because a person may need to know what a URI identifies – the web page can tell him or her If an application want the formula, then there are two options: –content negotiation – the HTTP protocol allows the GET request to specify the required format – RDF can be specified –link from the HTML file – this is hidden in the header and is used by applications when required
Suppose you want a formula link to the formula IOM3 - Institute of Materials, Minerals and Mining <link rel="alternate" type="application/rdf+xml" title="RDF Representation" href=" />......
Suppose you want a formula a eng-sci:EngineeringInstitution ; dc:title "Institute of Materials, Minerals and Mining" ; con:phone ; foaf:webpage. a eng-sci:Conference ; dc:title "Materials Congress Materials for the Future" ; eng-sci:organiser.
An individual product item/ Ruian Zhuxin Machinery Co. Ltd. manufactured by type model/ML1800 – person readable nameplate – bar code – RFID specified as:
An individual product iso:. dereference to get a formula about the model rzm:item/ iso:manufacturedBy ; a rzm:model/ML1800.
A class of product packing. rzm:model/ML1800 iso:hasMass [ scale:kilogram 14000] ; packing:maximum_rule_length [ scale:metre 50 ] ; packing:speed [ scale:perMinute 16 ] ; packing:motorPower [ scale:kilowatt 11 ] ; who defines the vocabularies? – an ISO or IEC committee – a trade association The Ruian Zhuxin Machinery Co has not implemented this – yet – as far as I know
Semantic Web - a big opportunity Intelligent product selection –A super Google™ - You can search on semantically precise attributes rather than text strings Automatic download into data sheets –Enter the URI of the product, and the relevant fields are filled in by download from the vendor’s site Automatic validation that a product is really suitable for a role –System can flag an error if the properties of the selected asset are incompatible with the properties of the intended facility
Making it happen Basic Semantic Web technologies in place –But still very new – some key documents this year Standardisation bodies assign URIs –URIs will be added to ISO early in 2009 –Need to drag the rest of ISO (and ASTM, DIN etc.) into the 21 st century Who is working on it – Process Industry IDS project DNV FIATECH Intergraph iXIT Noumenon Consulting Aker Kvaerner ALCIM AVEVA Bechtel Corporation Bentley Systems OLF POSC Caesar Association Statoil University of Stavanger
Making it happen Basic Semantic Web technologies in place –But still very new – some key documents this year Standardisation bodies assign URIs –URIs will be added to ISO early in 2009 –Need to drag the rest of ISO (and ASTM, DIN etc.) into the 21 st century Who is working on it – and a bigger picture.... –EPC (Electronic Product Codes) GS1 (Procter and Gamble, Unilever, Wal-Mart,...) –NATO Codification Bureau –SAP
Making it happen ISO philosophy basic engineering ISO process oil and gas supplier parts thing individual flange 2" flange raised face flange API 2″ 300# RF composition classification commodities ISO + trade associations suppliers and manufacturers Fred Bloggs part type A ,000 2,000,000 ??,000,000 OWL
End
What is ISO for? To record facts, by the use of reference data To record changes Each fact can have a separate audit trail Support for data warehousing –Large scope requires simple and generic approach
Simple connection example thanks to Hans Teijgeler pipe A-256-h pump P-101 2″ 300# RF 2″ 150# RF 2″ 300/150# RF connection
Simple connection example pipe A-256-h pump P-101 2″ 300# RF 2″ 150# RF connection assembly C-101 thanks to Hans Teijgeler
Simple connection example pipe A-256-h pump P-101 connection assembly C-101 pipe A-256 end 2 flange connection assembly C-101 pump P-101 suction nozzle flange thanks to Hans Teijgeler part of type 2″ 300# RF type 2″ 150# RF type 2″ 300/150# RF connection
Simple connection example thanks to Hans Teijgeler pipe A-256 end 2 flange connection assembly C-101 part classifier 2″ 300/150# RF connection composition whole classification classified pipe A-256-h pump P-101 connection assembly C-101 in ISO but not needed for RDF implementation
Simple connection example pipe A-256-h pump P-101 connection assembly C-101 pipe A-256 end 2 flange connection assembly C-101 pump P-101 suction nozzle flange thanks to Hans Teijgeler part of type 2″ 300# RF type 2″ 150# RF type 2″ 300/150# RF connection
Simple connection example pipe A-256-h pump P-101 connection assembly C-101 unit45:A-256-h_end2_fl a api:fl_2in_300pd_rf ; iso:partOf unit45:C_101 ; iso:partOf unit45:A-256-h.
Simple connection example pipe A-256-h pump P-101 connection assembly C-101 unit45:A-256-h_end2_fl a api:fl_2in_300pd_rf ; iso:partOf unit45:C_101 ; iso:partOf unit45:A-256-h.
Simple connection example pipe A-256-h pump P-101 connection assembly C-101 unit45:A-256-h_end2_fl a api:fl_2in_300pd_rf ; iso:partOf unit45:C_101 ; iso:partOf unit45:A-256-h.
Simple connection example pipe A-256-h pump P-101 connection assembly C-101 unit45:A-256-h_end2_fl a api:fl_2in_300pd_rf ; iso:partOf unit45:C_101 ; iso:partOf unit45:A-256-h.
Simple connection example pipe A-256-h pump P-101 connection assembly unit45:. unit45:A-256-h_end2_fl a api:fl_2in_300pd_rf ; iso:partOf unit45:C_101 ; iso:partOf unit45:A-256-h. URIs assigned by the user
Simple connection example pipe A-256-h pump P-101 connection assembly unit45:. unit45:A-256-h_end2_fl a api:fl_2in_300pd_rf ; iso:partOf unit45:C_101 ; iso:partOf unit45:A-256-h. URI assigned by a standard body – standard pipe fitting api:.
Simple connection example pipe A-256-h pump P-101 connection assembly unit45:. URI assigned by a standard body – standard pipe fitting iso:. unit45:A-256-h_end2_fl a api:fl_2in_300pd_rf ; iso:partOf unit45:C_101 ; iso:partOf unit45:A-256-h.
Making this happen Users assign URIs to things –cool URIs don’t change Standard bodies provide vocabularies –ISO does generic stuff –Trade associations do more detailed stuff
Traditional data exchange Blobs –Encapsulate the data that defines the shape –Encapsulate the data that is the specification of the part. –Encapulate the data that is the specification of the analysis. The data inside the blob and the data outside the blob are separate – what is inside can be specified in a contract. It is “data push” – I tell you what you need to know. The blob can be an attachment – it can be downloaded by FTP. This is what the EXPRESS data model + part 21 / 28 file methodology achieves.
What this is good for Command driven processes –I tell you what to do, and what you need to know to do it. Processes where the data within the blob can be easily defined –Shape information is a success story – it has a well defined scope –Engineering analysis has not taken off – the scope is fuzzy and much larger Processes where the blob has a particular destination system –CAD, CAE, CAM, PDM, LCA You need to know the type of destination system is before selecting the type of the blob. This is why standards define different types of blob – ISO , ISO , etc. for product data – ELCD XML for life cycle data
What we cannot do yet A user publishes data on the Web – the user makes his or her own decision about what data are published –Somebody else can use the data, if they want to. A user chooses standard vocabularies to publish data as statements –Vocabularies can be used together as required “Somebody” seeking information can follow links between one set of published data and another –Just like the ordinary Web, but the statements are semantically precise –and the “somebody” can be a computer application It is “data pull” - you go and get what you want This is what the provides. What we want to make possible
Tracking back materials information item: part:toDesign model:ABC456_v3 ; part:madeFromBatch alcom:. URI of an individual part URI of a design URI of a batch of material URI of a vocabulary about part:.
Tracking back materials alcoa:. item: part:toDesign model:ABC456_v3 ; part:madeFromBatch alcom:PQR dereference to get the next formula
Tracking back materials information a classification with respect to a materials standard the actual manufacturing process a standard vocabulary for manufacturing processes item: part:toDesign model:ABC456_v3 ; part:madeFromBatch alcom:PQR alcom:PQR mat:materialProductType mil5:XYZ2048-asSheet ; mat:manufacturingProcess alcom:LineA
Tracking back materials information item: part:toDesign model:ABC456_v3 ; part:madeFromBatch alcom:PQR alcom:PQR mat:materialProductType mil5:XYZ2048-asSheet ; mat:manufacturingProcess alcom:LineA dereference again to get the next formula
Tracking back materials information more manufacturing vocabulary facility that performed the process generic work flow vocabulary alcom:PQR mat:materialProductType mil5:XYZ2048-asSheet ; mat:manufacturingProcess alcom:LineA alcom:LineA mat:performedBy alcom:LineA ; act:startTime [ iso8601:utc “ T09:00” ] ; act:endTime [ iso8601:utc “ T17:00” ]. vocabulary for time dereference again to get the next formula
Tracking back materials information alcom:PQR mat:materialProductType mil5:XYZ2048-asSheet ; mat:manufacturingProcess alcom:LineA ; alcom:specimen part:madeFromBatch alcom:PQR ; part:toDesign test:SpecimenTypeXYZ. another use of the ISO product vocabulary a standard specimen type tabont:isMentionedIn alcom:specimen-67890/formula.n3. dereference again to get the next formula
Tracking back materials information alcom:PQR mat:materialProductType mil5:XYZ2048-asSheet ; mat:manufacturingProcess alcom:LineA ; tabont:isMentionedIn alcom:specimen-67890/formula.n3. alcom:specimen part:madeFromBatch alcom:PQR ; part:toDesign test:SpecimenTypeXYZ ; tabont:isMentionedIn alcom:Test-67890/formula.n3. dereference again to get the next formula
Tracking back materials information alcom:specimen part:madeFromBatch alcom:PQR ; part:toDesign test:SpecimenTypeXYZ ; alcom:Test obs:onSpecimen alcom:specimen ; act:toProcedure test:MaterialTestTypePQR ; obs:givesResult alcom:Result more generic workflow vocabulary a standard test method a generic measurement and observations vocabulary tabont:isMentionedIn alcom:Test-67890/formula.n3. dereference again to get the next formula
Tracking back materials information alcom:Test obs:onSpecimen alcom:specimen ; act:toProcedure test:MaterialTestTypePQR ; obs:givesResult alcom:Result alcom:Result { alcom:specimen mat:compressiveYieldStress [ iso:MPA “201.3” ] } a statement with provenance and finally dereference again to get the result of a real test
Many vocabularies are used to record the data product design units manufacture material handbook material test workflow observations inventory personnel maintain electrical networks GIS earth sciences life cycle assessment they are developed independently but used together
Data models Data models are good –they specify exactly what data should be supplied for a particular activity –they have constraints to ensure that the data is complete and correct But –different activities need different data –different activities have different ideas about what “complete” means So –There are lots of similar but overlapping data models A data model does not enable you to publish data on the Web
Vocabularies/ontologies Vocabularies/ontologies are good –precise statements can be made about things –different vocabularies can be used together to say what you want But –there is no constraint on what is said –you may not say all that needs to be said So –vocabularies are not enough to specify the data flow between activities –replacing data models with vocabularies + rules is a research activity Vocabularies work with the emerging Semantic Web technology
What next Use the past 20 years work on data models to create vocabularies –cannot be generated automatically from UML, EXPRESS or XML schemas –people have to read the words – real work All standards developments have this problems –data models in UML, EXPRESS or XML Schema product data - EXPRESS electrical networks - UML GIS - UML building and construction - UML materials information – XML and EXPRESS earth sciences – XML life cycle assessment – XML (ELCD XML schema from ISO 14048)