Processing

Please wait...

Settings

Settings

Goto Application

1. WO2020200404 - METHOD AND QUERY MODULE FOR QUERYING INDUSTRIAL DATA

Note: Text based on automatic Optical Character Recognition processes. Please use the PDF version for legal matters

[ EN ]

Description

Method and query module for querying industrial data

TECHNICAL FIELD

The present embodiments relate to a method for querying indus trial data amongst a plurality of industrial entities. More spe cifically, the present embodiments relate to a method for query ing industrial data stored in a triple store, using a trans formed query expression, wherein the triple store includes an aggregated ontology of industrial data.

BACKGROUND

Industrial automation system components of the past have tradi tionally been interconnected by specialized networks using standard industrial protocols for access and data exchange. The development of present and future automation systems has put considerable focus on exchanging semantically enriched infor mation aiming for a realization of flexible manufacturing sce narios .

In order to overcome a still present low-level communication of signals in industrial automation systems, a protocol entitled OPC UA has been proposed for enhancing field-level communication to a semantic level. OPC UA (Open Platform Communications Uni fied Architecture) is an industrial standard protocol of the OPC Foundation for manufacturer-independent communication with the purpose of interchanging industrial data, in particular in pro cess automation.

An information model of OPC UA features a semantically enriched and graph-based data structure which is dedicated to automation purposes. However, OPC UA rather defines concepts for expressing semantic descriptions within the specification documents which means that a formal semantic representation is lacking. The lack of formal semantic representation has a major drawback in that querying within an OPC UA information model is intricate. Alt hough OPC UA defines a query language for accessing the infor mation model, no framework for implementing query requests ex ists to date, not least due to the high complexity imposed for querying the semantic descriptions scattered within the infor mation model of OPC UA.

Accordingly, there is a need in the art to facilitate a query being expressed by a query language for accessing an information model for automation purposes, obliviating the high complexity imposed for querying the semantic descriptions scattered within the information model.

Further on, there is a need in the art to facilitate a query amongst a plurality of information models stored within a plu rality of industrial entities.

SUMMARY

One preliminary consideration according to the present embodi ments in addressing existing problems with the considered infor mation model is that querying within scattered semantics of presently applied industrial information models is be replaced in favor of a query in a formal semantic representation.

Embodiments herein generally involve a query within an ontology which is understood as a formal semantic representation. Ontolo- gies readily provide the desired capabilities for querying and analyzing the information model using sophisticated standard tools adapted to the formal representation of the ontology.

In one embodiment, a computer-implemented method for querying industrial data is suggested wherein a first query expression is received by a query module. The first query expression is ex pressed by a query language for accessing a semantically en riched and graph-based information model for automation purpos es, particularly expressed by an OPC UA query language.

Subsequently, the first query expression is transformed into a second query expression which is expressed by a query language used for accessing a triple store information model according to a Resource Description Framework (RDF) format, particularly ex pressed by the query language SPARQL. SPARQL is a recursive ac ronym for SPARQL Protocol and RDF Query Language. Transforming the first query expression into the second query expression in cludes a step of retrieving at least one operand of the first query expression, applying at least one transformation rule for said at least one operand and replacing the at least one operand by at least one statement of the second query expression, i.e. being in conformance with the query language used for accessing the triple store information model according to the RDF format.

Subsequently, the second query expression is used for performing a query on a triple store, the triple store including an aggre gated ontology of said industrial data. Eventually, the query result is returned to the client.

According to an embodiment a query module comprising a processor and a data storage device having stored thereon a computer exe cutable program code is provided. The data storage device may be implemented within or external to the processor.

According to a further embodiment a non-transitory computer-readable storage medium having stored thereon computer executa ble program code is provided.

DESCRIPTION OF THE DRAWING

The objects as well as further advantages of the present inven tion will become more apparent and readily appreciated from the following description of the preferred embodiments, taken in conjunction with the accompanying drawing accompanying drawing of which:

FIG. 1 shows a simplified block diagram of a query module ac cording to an embodiment, the query module being con nected with a multiplicity of clients and industrial entities ;

FIG. 2 shows a graphical representation of a logic tree struc ture for an exemplary first OPC UA query according to the state of the art; and;

FIG. 3 shows a graphical representation of a logic tree struc ture for an exemplary second OPC UA query according to the state of the art.

DETAILED DESCRIPTION

The evolvement of networking between computers and computing de vices has eventually led to a so-called »Internet of Things«. Internet of Things in an industrial context means a concept which functionally connects Things - or industrial entities - in order to achieve a composite interaction, e.g. for tracking, monitoring and management of a more complex industrial entity. Obviously, industrial entities may vary in terms of complexity, ranging from single sensors, devices, equipment, systems, sub systems, or eventually complete processes in an industrial envi ronment .

Industrial entities are typically equipped with ample resources of storage, communication and computation. Leveraging these en tities to descend the concept of cloud close to the users has been given the name of fog networking. Fog networking is a tech nology operating to use resources already present at the cloud edge to provide a network that can support low latency and back bone bandwidth savings.

In the area of factory automation OPC Unified Architecture or OPC UA is one of the most important standards for device commu nication and promised to lift low-level signal exchange schemes onto a semantic level, contributing to the realization of flexi ble manufacturing scenarios.

In the OPC UA information model, every entity in the address space is a Node. To uniquely identify a node, each node has a Nodeld including three elements, namely a Namespacelndex, an IdentifierType and an Identifier.

In the following, compound names with one or more medial capi tals - e.g. a compound name »TypeDefinitionNodes« - are used to refer to authoritative names used in the specification »OPC Uni fied Architecture« of the OPC Foundation. These authoritative names are assumed to be known and for a person skilled in the art. Hereinafter, these authoritative names are, therefore, in troduced without explanation.

So-called companion specifications are used to define domain-specific semantic models or schemas extending the OPC UA infor mation model. These companion specifications are typically de veloped by domain experts, standardization bodies or industrial machine suppliers.

In previous years, most of the companion specifications were de veloped to map other existing industrial communication standards to OPC UA, including AutomationML, PLCOpen, ISA-95, etc. These exiting standards are more or less generic and try to solve the problem of semantic interoperability on an abstract layer.

However, these existing industrial communication standards can only be considered as a first step to semantic interoperability. For example, standardizing the notion of a »Thing« and a concept how skills of these Things are to be exposed, does not yet serve needs of current industrial applications like automatic skill matching .

It is to be expected that semantics of particular skills - like drilling or clamping - will be standardized in the near future.

A promising approach to standardize domain-specific semantics for a huge part of the automation domain - e.g., plastics and rubber machinery, machine vision, robotics, powertrain, weigh ing, CNC, etc. - is envisaged by a mechanical engineering indus try association entitled VDMA, or German »Verband Deutscher Mas-chinen- und Anlagenbau«. The developed domain-specific semantics are going to be standardized within OPC UA Companion Specifica tion, leading to a new level of semantic interoperability in the automation domain.

Accordingly, it is to be assumed that the automation domain will be faced with huge standardized OPC UA information models com prising detailed descriptions of the underlying industrial enti- ties. This enables significant opportunities for a lot of use cases - including, for example, a development of applications for analytics or human machine interfaces - using standardized information models. Such applications can be deployed on each industrial entity without additional engineering effort.

However, efficient query operations within such information mod els are still lacking in the art. Without efficient query opera tions, an application on an aggregating layer - e.g. an edge or cloud application - is unable to determine data points in order to bind these data points within the aggregating layer applica tion. Such application on an aggregating layer may exemplarily include predictive maintenance applications, which require data points of field values - like temperature, power consumption etc. - of a machine or other an industrial entity to be moni tored for predictive maintenance.

Although OPC UA itself offers a query service for accessing the graph-based information model information model of OPC UA, this service has proved to be impracticable, not least due to the high complexity imposed for querying the semantic descriptions scattered within the data model of OPC UA. Specifically, search ing the graph node by node for each application is tedious.

Moreover, thousands of OPC UA nodes would have to be searched by hundreds of applications on an aggregating layer, searching the graph in parallel, thereby exhausting the capabilities of any system hosting the graph.

Another problem in the art is that the specific query language for the OPC UA query service is of such a disproportionately complex nature so that publishers have been even compelled to introduce an internal domain-specific language for constructing OPC UA queries, as proposed by a publication of Goldschmidt, T. and Mahnke, W. : »An Internal Domain-Specific Language for Con- structing OPC UA Queries and Event Filters«. The embodiments de scribed hereinafter generally abstain from querying within the scattered nature of semantics within the OPC UA information mod el in favor of a query in a formal semantic representation.

Turning now to FIG. 1 which shows a simplified block diagram of a query module QRM according to an embodiment. The query module QRM may advantageously be located within - or hierarchically as signed to - an aggregating layer of an industrial network, e.g. implemented by an edge or cloud application or integrated within an edge or cloud controller.

The query module QRM includes a query engine QE . Further on, a triple store TRS, an aggregated address space AGA, and a multi plicity of endpoints EP1 , EP2 , ..., EP5 are included or assigned to the query module QRM. Although in FIG. 1 the triple store TRS, the aggregated address space AGA, and the multiplicity of end points EP1 , EP2 , ..., EP5 are drawn to be included within the query module QRM, they may alternatively be located on any desired lo cation outside the realm of the query module thereby remotely exchanging data to support query operations according to the em bodiments. Likewise, the aggregated address space AGA and the triple store may alternatively be organized individually or com bined in a database system inside or outside the query module QRM.

The endpoints EP1 , EP2 , ..., EP5 are acting as logical interfaces which may be at least temporarily assigned to one or more cli ents demanding a query operation or receiving a query result. Additionally, or exclusively - in the case of a second endpoint EP2 EP4 and a fourth endpoint EP4 - these endpoints are connect ed internally within the query module QRM.

The endpoints EP1 , EP2 , ..., EP5 exchange query messages - i.e. re ceive queries and return query results - in different query lan guages. In the exemplary embodiment as depicted in FIG. 1, a first endpoint EP1 exchanges query message in the query language SPARQL. The second endpoint EP2 is internally connected in order to transform query messages formulated in a third-party query language to the query language SPARQL. A third endpoint EP3 ex changes query message in said third-party query language, for warding these messages to the second endpoint EP2 for transform ing the query message exchange from and into SPARQL. A fifth endpoint EP5 exchanges query message in an OPC UA query lan guage, forwarding these messages to the fourth endpoint EP4 for transforming the query message exchange from and into SPARQL.

In other words, the endpoints EP1 , EP2 , ..., EP5 provide an

- internal or external -logical interface adapted for an ex change of query message in a desired query language. Optionally, the endpoints EP1 , EP2 , ..., EP5 are operated to transform query mes sages from one query language into another query language. Even tually, query messages of any kind are transformed from and to SPARQL which is preferably used in the core of the query module QRM, the query engine QE, for internal processing according to the embodiments.

The SPARQL query engine QE executes query requests delivered by the endpoints EP1 , EP2 , ..., EP5 against the triple store TRS . The query engine QE according to an embodiment is implemented with Apache Jena, an open source semantic web framework for Java along with Fuseki, a SPARQL query engine with an additional web interface, supporting SPARQL for querying.

On the left side of the FIG. 1, a plurality of clients

CL1 , CL2 , CL5 is shown. Each client CL1 , CL2 , CL5 is assumed to exchange query messages in a query language supported of the

endpoint EP1 , EP2 , ..., EP5 to which the respective client CL1 , CL2 , CL5 is connected to.

On the right side of the FIG. 1, a plurality of devices or in dustrial entities DV1 , DV2 , DV4 is shown. A respective - not shown - server operating in each at least one of the industrial entities DV1 , DV2 , DV4 is assumed to be communicatively connect ed to the aggregated address space AGA. The aggregated address space AGA is synchronized with the industrial entities

DV1 , DV2 , DV4 or with a further - not shown - aggregating server and offers access to the OPC UA graph of each industrial entity DV1 , DV2 , DV4 or to the - not shown - aggregating server, in cluding »live data«, i.e. real-time process data accrued in and delivered by the industrial entities DV1 , DV2 , DV4.

The triple store TRS includes an OPC UA information model in the form of an aggregated ontology. This aggregated ontology of in dustrial data is a result of mapping the OPC UA information mod el provided by the aggregated address space AGA and delivered to an ontology representation, expressed by a web ontology language such as OWL. Details of this mapping have been described in an International Patent Application entitled »A method for trans forming a data model for automation purposes into a target on-tology«, serial number PCT/EP2018/081938, which was filed by the same applicant on November 20, 2018, the application being in corporated herein by reference in its entirety. In brief the mapping according to this International Application is provided as follows:

- All Type-Nodes including InstanceDeclarations except Refer- enceTypes are mapped to OWL classes;

- ReferenceType-Nodes are mapped to OWL object properties;

- Attributes are mapped to OWL data properties and annotation properties ;

- The BrowseName-Attribute of most InstanceDeclarations is mapped to OWL object properties;

Instances are mapped to OWL individuals;

- The HasTypeDefinition-ReferenceType is mapped to OWL type as sertions; and;

- The HasSubtype-ReferenceType is mapped to subClassOf and sub- PropertyOf axioms, depending on the source concept.

Turning back to the description of the query module QRM depicted in FIG. 1, wherein the information model expressed by an aggre gated ontology and included in the triple store TRS is further described. The ontology included in the triple store TRS com prises a static portion and a dynamic portion. The static por tion of the OPC UA information model - e.g. Type-Hierarchy - is a result of mapping of the OPC UA information model provided by the aggregated address space AGA and transformed into an RDF representation - i.e. transformed into triples - as a result of an OWL mapping:

- In a first step, the aggregated address space AGA is gathering the aggregated OPC UA information model amongst the OPC UA servers of the industrial entities DV1 , DV2 , DV4 which are de livering their respective OPC UA information model to the ag gregated address space AGA. The aggregated OPC UA information model is a result of an aggregation of individual OPC UA in formation models gathered amongst the industrial entities

DV1 , DV2 , ..., DV4.

- In a second step, the aggregated OPC UA information model is transformed by the aggregated address space AGA into an RDF representation and delivered as a static portion of the aggre gated ontology to the triple store TRS, wherein the static portion is consecutively stored.

Static, however, is to be understood rather infinitesimally than holistically and does not mean that the static portion remains unaltered for any period in time. Of course, the static portion of the aggregated ontology in the triple store TRS is amended if the underlying OPC UA graph structure is updated. In such an event, which may be triggered by industrial entities newly added to the network, a ModelChangeEvent concept of OPC UA Part 3 may be used instead of periodically browsing the whole graph for distinctions .

The dynamic portion of the OPC UA information model is used to provide actual values - in OPC UA the Value-Attribute of a Vari-ableNode - like temperature, which will be directly accessed on demand by the aggregated address space AGA. The dynamic portion, in other words, includes dynamic assignments of data values gathered from at least one industrial entity DV1 , DV2 , DV4 at runtime in response to a query and integrated into the aggregat ed ontology within the triple store on occurrence of such a que ry. The separation into a dynamic and a static portion advanta geously reduces a load of updated requirements imposed to the triple store TRS.

Hereinafter, a transformation of a first query expression formu lated in OPC UA into a second query expression is described. The first query expression is assumed to be imposed by the fifth OPC UA client CL5 to the fifth endpoint EP5 and transformed by the fourth endpoint EP4 into the second query expression. After the transformation, the second query expression is generally ex pressed by a query language for accessing a triple store infor mation model according to a Resource Description Framework RDF format of specially by a SPARQL expression. The transformation includes a step of retrieving one or more OPC UA operands of the first query expression, applying at least one transformation rule for the OPC UA operands and replacing the operands by at least one SPARQL statement of the second query expression.

The transformation to a SPARQL query expression and the consecu tively using a triple-store ontology instead of a graph-based OPC UA information model in favor of querying an OPC UA infor mation mode offers the following advantages:

- SPARQL queries are way more efficient than browsing an OPC UA graph node by node .

- SPARQL queries offer more capabilities than OPC UA queries in common use-cases. SPARQL offers a rich set of query features like subqueries, grouping or federated query. Additionally, SPARQL offers to combine a »RelativePath« segment with a »Fil- ter« segment. Different RelativePath segments can be bound to the same intermediary node. All these features are not possi ble using an OPC UA query.

- A SPARQL Query is less complicated to formulate. Up to now, an OPC UA query does not offer any toolset to reduce efforts nec essary to formulate OPC UA Queries. By contrast, SPARQL que ries exemplarily presented hereinafter can be formulated with very low effort compared to an OPC UA query.

- Existing SPARQL query engines can be used, whereas the OPC UA Query Service offers no implementation to date.

A first example introduced hereinafter relates to an OPC UA Not-Operator, i.e. a Boolean inversion imposed to one argument. According to the transformation rules, the OPC UA operator:

Not_7

is retrieved and replaced by a SPARQL statement as follows:

FILTER ( ! OPO)

Or, alternatively, by a SPARQL expression including a result variable »?result« as follows:

BIND ( ! OPO as ?result)

The latter expression is used in cases where the result variable »?result« is to be used for a subsequent or concurrent query ex pression using the result of this query.

A second example introduced hereinafter relates to a Be- tween-Operator, i.e. a comparison of two arguments or operands OPO and OP1 delivering a Boolean result of TRUE when OPO is greater than OP1. According to the transformation rules, the OPC UA operator:

Between_8

is retrieved and replaced by a SPARQL statement as follows:

FILTER (COALESCE ( (OPO >= OP1) && (OPO <=OP2 ), false) )

Or, alternatively, by a SPARQL expression including a result variable »?result« as follows:

BIND (COALESCE ( (OPO >= OP1) && (OPO <= OP2), false) as ?result) Again, the latter expression is used in cases where the result variable »?result« is to be used for a further subsequent or concurrent query expression. The COALESCE () operator included in this SPARQL expression enforces a »false« return value if the implicit conversion fails.

The following table shows a substantially complete filterOpera- tor list of OPC UA Part 4 and the corresponding SPARQL mapping.



Hereinafter, a transformation of a first query expression formu lated in OPC UA into a second query expression is described. The first query expression is assumed to be imposed by the fifth OPC UA client CL5 to the fifth endpoint EP5 and transformed by the fourth endpoint EP4 into the second query expression.

For transforming the first query expression formulated in OPC UA into the second SPARQL query expression, the fourth endpoint EP4 retrieves at least one of the OPC UA filterOperators stated above within the first query expression and replaces the at least one operand - or OPC UA filterOperator - by at least one statement according to the statements stated in the SPARQL Map ping column of the above shown table. Further transformation rules may be applied.

According to the table shown above, most of the SPARQL operators shall return »false« if an implicit conversion fails. This is, for example, modelled through a COALESCE statement as shown above .

However, a query executed in OPC UA also implicitly converts, for example, a String value into a Byte value. This is not the case for SPARQL queries. Additional algorithms - not further de scribed herein - may be optionally applied in order to cover all further OPC UA Query conversion rules.

For a similar reason an OPC UA operator »cast« cannot be fully supported, because the data type model of OPC UA is extensible, while in contrast the OPC UA to OWL mapping is limited to cer tain XSD-Schema types, which are supported by OWL tools. The BitwiseAnd and BitwiseOr filter operators also have no direct counterpart in SPARQL. The RelatedTo filter operator contains up to six operands, which sometimes lead to large SPARQL represen tations .

In conclusion, besides few restrictions on some of the OPC UA operators explained above, most of the features of OPC UA Query are covered by a SPARQL query. Moreover, SPARQL advantageously supports additional constructs like »if«-statements , aggrega tion, sub-queries and also federated queries, which are not available in OPC UA Query.

In summary, the transformation rules defined above enable a transformation of first query expression formulated in OPC UA into a second query expression formulated in SPARQL. The second query expression is expressed by the query language SPARQL, which is capable of accessing a triple store TRS information model according to an RDF - Resource Description Framework -format, said transforming including a step of retrieving at least one operand of the first query expression, applying at least one transformation rule for said at least one operand and replacing the at least one operand by at least one statement of the second query expression;

In the following, two exemplary queries in OPC UA are juxtaposed with their respective SPARQL queries after the applying at least one transformation rule according to the embodiments.

The specification »OPC Unified Architectures Part 4, Annex B defines an example information model for the OPC UA Query Ser vice introducing several different types:

- a PersonType, including Properties like Lastname, FirstName, and ZipCode;

- an AnimalType, including Properties like Name and Subtypes like CatType, DogType, and PigType;

- an ScheduleType, including Properties like Period and the Sub- type FeedingScheduleType .

In addition, several OPC UA ReferenceTypes are introduced:

- a HasChild-ReferenceType to connect a parent to its child;

- a HasSchedule-ReferenceType to connect an animal to its sched ule;

- a HasAnimal-ReferenceType to connect a person to its animal including the two subtype-ReferenceTypes Has-FarmAnimal and HasPet to further refine the connection type.

FIG. 2 shows a graphical representation of a logic tree struc ture for an exemplary OPC UA query illustrated in the specifica tion »OPC Unified Architectures Example B.2.4. In FIG. 2 an Op erator Element is symbolized by a respective rounded hexagon and an Attribute Element is symbolized by a rounded rectangle.

The Content-Filter of this exemplary graphical representation of the OPC UA query as depicted in FIG. 2 can be formulated in the following way:

Find all Instances of PersonType, where the Instances are connected to an Instance of AnimalType with a HasPet Refer- enceType. In addition, the AnimalType Instance must be con nected to a ScheduleType Instance with a HasSchedule Refer- enceType .

The QueryDataSet (dataToReturn) of this example can be formulat ed in the following way:

Return the LastName Property of the PersonType Instance and the Name Property of the corresponding AnimalType Instance and the Period Property of the ScheduleType Instance.

The following section shows how this query is formulated in SPARQL natively:

prefix query : <http : / /opcfoundation . org/UA/Examples/QueryPart4 />

prefix opcua : <http://opcfoundation.org/UA/>

prefix ia: http://opcfoundation.org/UA/Meta/IA/

SELECT DISTINCT Cnodeld ClastnameValue CnameValue CperiodValue

WHERE {

?person a: query: PersonType. ?animal a query : AnimalType .

?schedule a query : ScheduleType . ?animal query : hasSchedule ?schedule.

?person query : hasSPet ?animal.

?person ia:nodeId Cnodeld. Cperson query : lastname/ia : value ClastnameValue.

Canimal query : name/ ia : value CnameValue.

Cschedule query : period/ ia : value CperiodValue

}

LIMIT 25

Lines 1-3 define the used Namespaces. The filter statement is described in lines 7-12. The QueryDataSet (dataToReturn) is de scribed in line 5 and lines 11-13.

FIG. 3 shows a graphical representation of a logic tree struc ture for an exemplary OPC UA query illustrated in the specifica tion »OPC Unified Architectures Part 4, Annex B. In FIG. 3 an Operator Element is symbolized by a respective rounded hexagon, an Attribute Element is symbolized by a rounded rectangle and a Literal Element is symbolized by an ellipse.

The Content-Filter of this exemplary graphical representation of the OPC UA query as depicted in FIG. 3 can be formulated in the following way:

Find all Instances of PersonType, where a PersonType is con nected to an AnimalType with a HasPet Reference and addi tionally the AnimalType must be connected to a FeedingSched- ule-Type through a HasSchedule Reference. Furthermore, the PersonType Instance shall have a Zipcode-Property with the value "02138". Finally, the FeedingScheduleType shall have a Period-Property with the value »Daily« or »Hourly« and an

Amount-Property with a value greater than »10«.

The following section shows how this query is formulated in

SPARQL natively:

prefix query : <http : //opcfoundation . org/UA/Examples/QueryPart4 />

prefix opcua : <http://opcfoundation.org/UA/>

prefix ia: <http://opcfoundation.org/UA/Meta/IA/>

SELECT DISTINCT Cnodeld CtypeNodeld ClastnameValue CnameValue CperiodValue

WHERE {

?animal a query :AnimalType . ?schedule a query : FeedingScheduleType .

?animal query : hasSchedule ?schedule. ?person a query : PersonType .

?person query :hasPet ?animal. ?person query : zipCode/ia : value PzipCodeValue .

Filter ( PzipCodeValue = "02138"). ?schedule query : period/ia : value CperiodValue.

Filter (( CperiodValue = "Hourly") | | (CperiodValue = "Daily")) .

Cschedule query : amount/ ia : value CamountValue . Filter ( CamountValue > 10).

Cperson ia:nodeId Cnodeld. Cperson opcua : hasTypeDefinition CtypeNodeld.

Cperson query : lastname/ ia : value ClastnameValue. Canimal query : name/ ia : value CnameValue.

}

LIMIT 25

Lines 1-3 define the used Namespaces similar to the example of FIG. 2. The filter statement is described in lines 7-12. The

QueryDataSet (dataToReturn) is described in line 5 and lines 14-15.

As shown above, the advantageous use of SPARQL enables to reuse filter statements in the result statement e.g., the periodValue. The results of this query are exactly as specified by the OPC UA specification. Nevertheless, this SPARQL query is not totally equal to the corresponding OPC UA Query. For example, if the Lastname-Property for JFamilyl is not defined the whole query would fail, while in contrast OPC UA Query would only return a null-value for the particular QueryDataSet . However, a same be havior can be modelled through adding an OPTIONAL statement in SPARQL, e.g. by:

OPTIONAL { ?person query : lastname/ia : value ?lastnameValue . } .

The present invention enables efficient querying of an aggregat ed and transformed OPC UA information model. Currently there is no product-ready tool implementation for querying an OPC UA in formation model available. The proposed embodiments allow for performing query operations imposed to a plurality of industrial entities including skill-matching, onboarding of devices into machinery, data-mining etc.

A preferred semantic ontology language - amongst other semantic ontology language as RDF, RDFS or RDF schema - is provided by a language family referred to as OWL or Web Ontology Language. The OWL language family is structured in conformance with the XML standard of W3C for objects according to the Resource Descrip tion Framework or RDF. OWL in combination with RDF has a wide dissemination in implementing knowledge representation for au thoring ontologies.

It is to be understood that the elements and features recited in the appended claims may be combined in different ways to produce new claims that likewise fall within the scope of the present invention. Thus, whereas the dependent claims appended below de pend from only a single independent or dependent claim, it is to be understood that these dependent claims can, alternatively, be made to depend in the alternative from any preceding or follow-ing claim, whether independent or dependent, and that such new combinations are to be understood as forming a part of the pre sent specification.

While the present invention has been described above by refer-ence to various embodiments, it should be understood that many changes and modifications can be made to the described embodi ments. It is therefore intended that the foregoing description be regarded as illustrative rather than limiting, and that it be understood that all equivalents and/or combinations of embodi-ments are intended to be included in this description.