Presentation is loading. Please wait.

Presentation is loading. Please wait.

Kumar Madurai October 21, 2013 Knowledge Engineering Using Linked Data in an Enterprise 1.

Similar presentations


Presentation on theme: "Kumar Madurai October 21, 2013 Knowledge Engineering Using Linked Data in an Enterprise 1."— Presentation transcript:

1 Kumar Madurai October 21, 2013 Knowledge Engineering Using Linked Data in an Enterprise 1

2 Knowledge Engineering – Problem Context 15 different product definitions 17 different application systems creating design, regulatory, and production data 100’s of change requests monthly Tribal knowledge about product design and process design not captured anywhere 2

3 Opportunities for Improvement How do we reduce the complexity? How do we promote consistency? How do we foster collaborative sharing of data and knowledge? How do we get an integrated view of process and product data across the product life cycle? 3

4 Knowledge Engineering Semantic Data Framework Original Data Sources Database1 Database2 Staged Data in Oracle Ontology Semantic Layer in Oracle Mapping Rules using D2RQ Linked Concepts and Properties in Domain Views Applications Consuming Domain Views Validated Systems Database3Database4 Non- Validated Systems Database1Database2 Database3Database4 Model1 RDF Triples Model2 RDF Triples Model3 RDF Triples Model4 RDF Triples 4

5 Relational Data Source - Simple Example Equipment_IdInspector_IdInspection_Date E0236310354601/10/2013 Employee_IdEmployee NameNetwork_Id 103456Joe Mathisjmathis Document_IdAuthor_IdCreation_Date D8946jmathis06/15/2012 Equipment Database Document Database Employee Database Query: Give me the document(s) authored by inspector of equipment E02363 5

6 Ontology Model for Relational Example m:Equipment m:equipmentID rdfs:domain xsd:string rdfs:range m:inspectedBy rdfs:domain m:Person rdfs:range m:Document m:documentID rdfs:domain xsd:string rdfs:range m:authoredBy rdfs:domain m:Person rdfs:range m:Employee m:employeeID rdfs:domain xsd:string rdfs:range m:networkID rdfs:domain xsd:string rdfs:range m:Person rdfs:subClassOf m:Employee 6

7 Semantic Data for Relational Example m:Equipment :Equipment_E02363 rdf:type :equipmentID E02363 :inspectedBy :Person_103546 :inspectionDate 01/10/2013 m:Document :Document_D8946 rdf:type D8946 :authoredBy :Person_jmathis :creationDate 06/15/2012 :documentID m:Employee :Person_103546 rdf:type 103546 :employeeName Joe Mathis :networkID jmathis :employeeID 7

8 Inference Rule Example CONSTRUCT { ?emp2 rdf:type m:Employee. ?emp2 owl:sameAs ?emp1 } WHERE { ?emp1 rdf:type m:Employee. ?emp1 m:networkID ?netID. BIND (URI (CONCAT (“http://KE/Data/SEM#”, “Person_”, ?netID)) AS ?emp2) }“http://KE/Data/SEM# m:Employee :Person_103546 rdf:type :networkID jmathis :Person_jmathis owl:sameAs rdf:type :employeeName Joe Mathis With OWL Inferencing: SELECT ?name WHERE { :Document_D8946 :authoredBy ?author { ?author :employeeName ?name } Results in: name Joe Mathis 8

9 A Manufacturing Example Prod_IdProd_NameMfg_Line P1SplashLine #1 P2TridentLine #4 Manufacturing Database Purchasing Database Query: Give me the suppliers of raw materials for products made on Line #4 Product Table Prod_IdMatl_UsedQty_Used P1Pink Colorant20 P1Silver Wrapper1 P1Melon Flavor15 P2Red Colorant13 P2Silver Wrapper1 P2Cherry Flavor10 BOM Table Matl_NameSupplier_Id Colorant-PinkS1 Colorant-RedS1 Flavor-MelonS2 Flavor-CherryS3 Wrapper-SilverS4 Raw Material Table Supplier_IdSupplier_Name S1Acme S2Foods-R-Us S3Yummy S4Lotus Inc. Supplier Table 9

10 Ontology Model for Manufacturing Database m:Product m:productID rdfs:domainrdfs:range xsd:string m:productName rdfs:domainrdfs:range m:hasManufacturingLine rdfs:domain rdfs:range m:ManufacturingLine m:BillofMaterial rdfs:domain rdfs:range m:Product rdfs:domain rdfs:range rdfs:domain rdfs:range m:hasProduct m:hasRawMaterial m:RawMaterial m:qtyUsed xsd:float rdfs:domain m:unitOfMeasure rdfs:range xsd:string 10

11 Ontology Model for Purchasing Database p:RawMaterial p:materialName rdfs:domainrdfs:range xsd:string p:hasMaterialType rdfs:domainrdfs:range p:hasSupplier rdfs:domain rdfs:range p:Supplier rdfs:domain p:supplierID rdfs:domain p:supplierName xsd:stringp:MaterialType 11

12 m:Product_P1 rdf:type m:Product m:Product_P1 m:ProductID “P1” m:Product_P1 m:ProductName “Splash” m:Product_P1 m:hasManufacturingLine m:Line_1 m:Product_P2 rdf:type m:Product m:Product_P2 m:ProductID “P2” m:Product_P2 m:ProductName “Trident” m:Product_P2 m:hasManufacturingLine m:Line_4 m:Line_1 rdf:type m:ManufacturingLine m:Line_1 rdfs:label “Line #1” m:Line_4 rdf:type m:ManufacturingLine m:Line_4 rdfs:label “Line #4” m:Bom_P1_Pink_Colorant rdf:type m:BillOfMaterial m:Bom_P1_Pink_Colorant m:hasProduct m:Product_P1 m:Bom_P1_Pink_Colorant m:hasRawMaterial m:Material_Pink_Colorant m:Bom_P1_Pink_Colorant qtyUsed 20 m:Bom_P1_Silver_Wrapper rdf:type m:BillOfMaterial m:Bom_P1_Silver_Wrapper m:hasProduct m:Product_P1 m:Bom_P1_Silver_Wrapper m:hasRawMaterial m:Material_Silver_Wrapper m:Bom_P1_Silver_Wrapper qtyUsed 1 ……………………….. Question: How do we update the unitOfMeasure property? RDF Triples from D2RQ Mapping - Manufacturing Database 12

13 RDF Triples from D2RQ Mapping - Purchasing Database p:Material_Colorant_Pink rdf:type p:RawMaterial p:Material_Colorant_Pink p:materialName “Colorant-Pink” p:Material_Colorant_Pink p:hasMaterialType p:MaterialType_Colorant p:Material_Colorant_Pink p:hasSupplier p:Supplier_S1 p:Material_Wrapper_Silver rdf:type p:RawMaterial p:Material_Wrapper_Silver p:materialName “Wrapper-Silver” p:Material_Wrapper_Silver p:hasMaterialType p:MaterialType_Wrapper p:Material_Wrapper_Silver p:hasSupplier p:Supplier_S4 ……………………………. p:Supplier_S1 rdf:type p:Supplier p:Supplier_S1 p:supplierID “S1” p:Supplier_S1 p:supplierName “Acme” p:Supplier_S4 rdf:type p:Supplier p:Supplier_S4 p:supplierID “S4” p:Supplier_S4 p:supplierName “Lotus Inc.” …………………………… p:MaterialType_Colorant rdf:type p:MaterialType p:MaterialType_Colorant rdfs:label “Colorant” p:MaterialType_Wrapper rdf:type p:MaterialType p:MaterialType_Wrapper rdfs:label “Wrapper” ……………………………. Question: How do we link the materials from Purchasing to Manufacturing? 13

14 Data Traceability is Critical Ability to link any item used in an application to the exact data source all the way downstream – use of ‘hasDataSource’ property for every instance created Linking of data occurs in two levels, across the product genealogy (horizontal and business driven), and across the system layers (vertical and technology driven) Semantic relationships between concepts should be defined properly and maintained to reflect changes in underlying source systems Important to keep non-validated data in their own models (semantic graphs) especially in a regulated environment Specific verification / validation steps to be performed when new applications are brought on board using the semantic layer 14

15 Conclusion / Takeaways Ontological modeling of enterprise data stored in conventional databases is the first and crucial step Augmenting the model with rules adds more power to the inferencing capabilities of the model Annotation properties (rdfs:label, rdfs:comment, rdfs:seeAlso, etc.) can also be used to add semantic meaning to the data D2RQ provides a flexible mapping language and a set of tools to enable the conversion of relational data to RDF triples Judicious use of owl:sameAs helps in linking instances that are the same but from different sources Critical to ensure data traceability (also called data provenance) which has to be planned for in the model and when data is loaded into the database 15


Download ppt "Kumar Madurai October 21, 2013 Knowledge Engineering Using Linked Data in an Enterprise 1."

Similar presentations


Ads by Google