7.3 Architecture and Implementation
7.4.1 Tool Availability
In this section, we described the use case of the availability of tools for a given machine. Possible tools to be mounted into the machine are cutters, drillers or polishers. A tool usually consists of multiple parts. The number of parts depends on the manufacturer of the tool, which is not necessarily the same as the manufacturer of the machine. Mounting tools into a machine is a time-consuming task for the machine operator. Uncertain variables of the tools, such as location, availability and utilization rate, play a major role in the efficiency of a work order and of a machine in particular. The production of certain goods may wear a tool out quickly, thus decreasing its overall lifetime and forcing the machine operator to stop the machine and replace it with a new tool. Reducing the idle time for remounting the machine by clearly describing its configuration, location, and weariness, is therefore, one concrete goal to be addressed by the knowledge graph-based approach. In this use case, we asked the following question: where is located the machine and which tools are available in a work order? Figure 7.7(a) depicts a map view of a machine. The sites of the company in which the machine is placed are highlighted based on their geo-location given in the information model. By zooming in, the different locations can be investigated with respect to their functionality, address, on-site buildings up to the level of
Chapter 7 Applications of Semantic Data Integration to Industry 4.0 Scenarios
(a) Find available Tools
im:workOrderBOM1 im:workOrderIdValue im:WorkOrder rdf:type “552255”^^ xsd:integer im:workOrderMES1 rdf:type im:WorkOrderId im:workOrderId1 im:idWorkOrder im:idWorkOrder rdf:type im:machine1 im:executedInMachine im:MachineI40 rdf:type im:Plant im:plant1 rdf:type im:isLocatedIn im:point1 im:hasGeometry “50.7400”^^ rdfs:Literal “7.2056”^^ rdfs:Literal geo:long geo:lat geo:Point rdf:type im:Operator im:hasOperator rdf:type im:tool1 im:hasTool im:Tool rdf:type im:ProductionLine im:productionLine1 rdf:type im:containsMachine im:operator1 im:tool2 im:hasTool rdf:type
(b) Integrated graph data
Figure 7.7: Tool availability of a given machine and the graph representation of the integrated
data. (a) The factory data that can be checked on a map view. The available tools for a given machine
can be localized on a map view. (b) The graph representation of the semantically integrated data. To obtain the tool availability of a given machine, data from two data sources, i.e., MES and BOM, are integrated and semantic interoperability conflicts are resolved.
machines. By clicking on the objects on the map, static and live production data is displayed. With the goal of retrieving this information, data from two of the data sources need to be integrated, i.e., from MES and BOM.
PREFIX im: <https://w3id.org/i40/im#>
PREFIX owl: <http://www.w3.org/2002/07/owl#>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX neogeo: <http://geovocab.org/doc/neogeo.html>
SELECT ?machineName ?productionLineR ?machineId ?workOrderIdValue ?operator ?plant ?tool ?lat ?long
WHERE {
?machine im:machineId ?machineId ; rdfs:label ?machineName ; im:hasOperator ?operator . ?productionLine im:containsMachine ?machine;
im:productionLineId ?productionLineId; rdfs:label ?productionLineName .
BIND( CONCAT ( ?productionLineName, ": ", ?productionLineId) AS ?productionLineR) . ?workOrderBOM im:executedInMachine ?machine ;
im:usesTool ?tool .
?workOrderIdBOM im:idWorkOrder ?workOrderBOM ;
im:workOrderIdValue ?workOrderIdValue . im:idWorkOrder ?workOrderMES .
?workOrderMES im:isLocatedIn ?plant . ?plant im:hasGeometry ?point . ?point neogeo:lat ?lat ;
neogeo:long ?long . }
Listing 7.2: Query to retrieve information about work orders from different data sources
7.4 Use Cases
(a) Work order MES reasoning (b) Work order BOM reasoning
Figure 7.8: Reasoning of the MES and BOM work orders. The reasoning is applied on top of the knowledge graph. (a) The im:workOrderMES1instance and five new triples, depicted in yellow, are retrieved. (b) Theim:workOrderBOM1instance and one new triple is obtained. The reasoning based on
theowl:FunctionalPropertyallowed to obtain that the two instances are the equivalent. Moreover, the
same set of properties and instances can be integrated into one instance.
By inspecting the data sources we found a matching between the values of the identification of the work orders. In spite the values match, the name of the field that defines the identification of a work order in the two data sources differs. Thus, a semantic interoperability conflict of schema, i.e., SIC2, exist. With the aim to solve this conflict, we linked the identification of the work orders by using the functional propertyim:idWorkOrder. A functional property is a property that can have only one value for each instance. Thus, if such property is linked with two instances, i.e.,
im:workOrderMES1 andim:workOrderBOM1, it means that, when applying the reasoning the two
instances are equivalent, i.e., im:workOrderMES1 owl:sameAs im:workOrderBOM1. Further, new triples are derived in each one of the entities (cf. Figure7.8). Since the instances are equivalent the data attached to them can be integrated into one instance. This is required to resolve the existing semantic interoperability conflict (cf. Figure7.7(b)). The semantic union policy is used here to integrate the data. After the data is integrated into the knowledge graph, the query in Listing 7.2 retrieves the information to show the tool availability, i.e., machine, work orders, locations, and available tools on top of a map (cf. Figure 7.7(a)).