Data contextualization

By linking common databases and customized databases in the device and generating triples representing object relationships, the integration problem between different data sources and data models is solved, data consistency and contextualization are achieved, and the relevance of business applications is improved.

CN119557318APending Publication Date: 2025-03-04SCHNEIDER ELECTRIC IND SAS
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411180887.7
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2023-09-01
Filing Date
2024-08-27
Publication Date
2025-03-04

AI Technical Summary

Technical Problem

The prior art is difficult to effectively process data from different data sources, especially in the case of different data models and lack of federated links, which makes it difficult to ensure data consistency and accuracy, affecting the relevance of data contextualization and business applications.

Method used

By providing a device and method that links a common database and a custom database, the collection module accesses a common node and a custom node, the binding module generates triplets to represent the relationship between a common object and a custom object, and store it in a virtual database, the access module provides access to the common and custom data by the client application through the triplet.

Benefits of technology

It realizes effective access and integration of different data sources and data models, ensures data consistency and accuracy, provides a broader data perspective, and enhances the relevance of data context and business applications.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119557318A_ABST
    Figure CN119557318A_ABST
Patent Text Reader

Abstract

A device linked to a generic database storing generic data related to a generic object and to a custom database storing custom data related to a custom object, the generic data being accessible from a client application, the custom data being inaccessible from the client application, the device comprising: a collection module configured to collect the custom data from the client application; the access module is configured to access a universal node and access a customized node, the universal node comprises a universal attribute and a related universal value, the customized node comprises a customized attribute and a related customized value, and the binding module is configured to bind the universal node to the customized node when a relation between a universal object and a customized object is determined. The triad generating module is configured to generate a triad comprising a general reference of a general object, a custom reference of a custom object and a relationship between the general object and the custom object, the binding module is configured to store the triad in a persistent memory of a virtual database, and the access module is configured to read the triad in the virtual database and store the triad in the virtual database. And granting access to at least a portion of the generic data and at least a portion of the custom data to the client application through the triad.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure generally relates to the processing of data sent from different data sources toward different databases having different formats, excluding relationships among the databases, and to contextualization of such data for further analysis. Background Art

[0002] Control systems are used to control the operation of various systems, including processes, machines, etc., and are usually adapted to different control applications through the configuration and interconnection of multiple control system components or devices, such as control modules, input / output (I / O) modules, I / O devices, etc. Existing control systems usually include a processor that runs or executes a control program to interact with an I / O system (e.g., usually one or more I / O modules or devices) to receive system information in the form of analog and / or digital inputs from field sensors and provide outputs (analog and / or digital) to one or more actuators. Control systems are increasingly interconnected with management information systems and / or other systems, and can be operably connected to any number of communication networks to facilitate various business management functions, such as inventory control, accounting, manufacturing control, building management, etc.

[0003] Some edge devices are located between the control layer (including sensors, actuators, and controllers) and the cloud. Data is collected by edge devices from the control layer and pushed to the cloud server for analysis. The cloud server and / or edge device take actions to react to the process and / or notify the good or bad behavior of the process.

[0004] Data contextualization is critical to ensuring that data is accurate, relevant, and useful for decision making and other applications. Without it, there can be significant challenges in using data effectively.

[0005] Data contextualization involves linking data to related information, such as metadata, reference data, or other datasets, to provide a broader perspective on the data and its relationship to other data. This helps improve data quality, accuracy, and usefulness by enabling users to better understand the context in which the data was created or used.

[0006] Today, many SaaS provide support for standard data models such as ISA95 or IEC61850, which is not enough. Certain use cases require extension of this standard model. For example, if one needs to understand the materials supplied upstream and identify defects caused by the materials used in manufacturing certain products, standard models such as ISA95 are not possible. Standard data models need to be extended with additional data models specific to customer use cases, which are difficult to be supported out of the box by any SaaS (Software as a Service) provider.

[0007] Once extensions are supported, another challenge arises in data contextualization. Because there are two different data models, the standard data model and customer-specific extensions, and there is no federation to link the data between them to provide a broader view of the data and its relationships. The following are the main challenges of data contextualization.

[0008] Ensuring data consistency and accuracy across different data sources is difficult and requires linking data from different sources and ensuring that the same entity or object is represented consistently across all sources. This can lead to inconsistent and inaccurate data, undermining the reliability and usefulness of federated data.

[0009] Data contextualization is critical to many business processes, yet they often frustrate users with incorrect data, inconsistent data, and / or staleness from disparate data sources. First, the top issues reported by today’s enterprise data users are often data quality and reliability. Contextualizing data from multiple sources introduces a variety of data quality issues, such as missing or incomplete data, inconsistent data formats, and conflicting data values. Second, an increasing number of business applications require contextualized data. Data without contextualization may not be relevant or useful for a specific use case or application, resulting in wasted resources and effort. Data without contextualization may be difficult to integrate with other data sources, making it difficult to create a complete picture of the situation or problem.

[0010] Applications / solutions usually have out-of-the-box support for standard or proprietary data models, but if a customer wants to extend the standard data model by introducing a customer use case specific model, it becomes quite challenging as updating the standard model to suit customer specific requirements is not a good architectural design, especially in SAAS (multi-tenant environment) applications if the customer has a unique use case.

[0011] Therefore, a system is needed that allows client applications to access data from different data sources and ultimately stored in different databases using different data models. Summary of the invention

[0012] This summary is intended to introduce concepts related to the claimed subject matter. This summary is not intended to identify essential features of the claimed subject matter, nor is it intended to be used to determine or limit the scope of the claimed subject matter.

[0013] In one embodiment, a device is provided, the device being linked to a general database storing general data related to general objects and a customized database storing customized data related to customized objects, wherein the general data is accessible from a client application and the customized data is not accessible from the client application, the device comprising:

[0014] a collection module configured to access a general node and a custom node, wherein the general node includes general attributes and associated general values ​​contained in general data related to a general object stored in a general database, and the custom node includes custom attributes and associated custom values ​​contained in custom data related to a custom object stored in a custom database,

[0015] a binding module configured to generate a triple including a universal reference of the universal object, a customized reference of the customized object, and the relationship between the universal object and the customized object when determining the relationship between the universal object and the customized object;

[0016] The binding module is configured to store the triples in a persistent memory of the virtual database,

[0017] The access module is configured to read triples in the virtual database and provide the client application with access to at least a portion of the common data and at least a portion of the customized data through the triples.

[0018] Advantageously, after deploying a customized database storing customized data, the code of the client application remains unchanged and the client application can now access the customized data stored in the customized database. It provides efficient data contextualization, for example allowing generic data sent by existing sensors and stored in the generic database to be linked by the client application with customized data sent by newly deployed sensors and stored in the customized database that is not accessible to the client application.

[0019] The access module enriches the client application's request, enabling it to browse the contents of the common and custom databases without having to know where the common or custom attributes are stored.

[0020] In an embodiment, the generic data includes different generic attributes and related generic values, and the customized data includes different customized attributes and related customized values.

[0021] In an embodiment, the common attribute is an identifier of the one object and the custom attribute is an identifier of the other object.

[0022] In an embodiment, the general reference allows for unique retrieval of general data related to a general object in a general database, and the customized reference allows for unique retrieval of customized data related to a customized object in a customized database.

[0023] In an embodiment, when an internal event or an external event occurs, the binding module generates a triplet.

[0024] In an embodiment, the internal event is a time limit or a periodic time interval.

[0025] In an embodiment, the external event is a new arrival or update of generic data or custom data.

[0026] In an embodiment, when the generic node-based and custom node-based conditions are satisfied, a relationship between the generic object and the custom object is determined.

[0027] In an embodiment, the condition is based on a time limit between a storage time of the general data and a storage time of the customized data.

[0028] In an embodiment, the conditions are based on the generic data and other attributes contained in the custom data.

[0029] In an embodiment, the collection module is configured to store the generic nodes and the customized nodes in the cache module.

[0030] In an embodiment, the other attributes included in the common data and the customized data are stored in a cache module and deleted after the triple is determined.

[0031] In an embodiment, an access module receives a request from a client application that includes a generic reference and provides a customized reference to the client application.

[0032] In another embodiment, a method implemented in a device is provided, the device being linked to a general database storing general data related to general objects and a customized database storing customized data related to customized objects, wherein the general data is accessible from a client application and the customized data is not accessible from the client application, the method comprising:

[0033] The collection module accesses the general nodes and the custom nodes, wherein the general nodes include general attributes and associated general values ​​contained in the general data related to the general object stored in the general database, and the custom nodes include custom attributes and associated custom values ​​contained in the custom data related to the custom object stored in the custom database,

[0034] When the relationship between the general node and the customized node is determined, a triple is generated by the binding module, the triple includes a general reference of the general object and a customized reference of the customized object and the relationship between the general object and the customized object.

[0035] The binding module stores the triples in the permanent storage of the virtual database.

[0036] The access module reads the triples in the virtual database and gives the client application access to at least a portion of the common data and at least a portion of the customized data through the triples.

[0037] In another embodiment, a computer readable medium is provided, on which a computer program is embodied for allowing a client application to access data from different data sources and stored in different databases using different data models. The computer program includes instructions for executing the steps of the method according to the present invention. BRIEF DESCRIPTION OF THE DRAWINGS

[0038] The detailed description refers to the accompanying drawings. In the drawings, the leftmost digit of a reference number identifies the drawing in which the reference number first appears. The same numerals are used to refer to similar features and components throughout the drawings. Some embodiments of systems and / or methods according to embodiments of the present subject matter are now described, by way of example only, and with reference to the accompanying drawings, in which:

[0039] Figure 1 A schematic block diagram of a communication system according to an embodiment is shown, the communication system being used to allow a client application to access data from different data sources and stored in different databases using different data models;

[0040] Figure 2 The present invention is a flowchart of a method for allowing a client application to access data from different data sources and stored in different databases using different data models according to one embodiment.

[0041] The same reference number represents the same element or the same type of element on all drawings.

[0042] Those skilled in the art will appreciate that any block diagram herein represents a conceptual diagram of an illustrative system that embodies the principles of the subject matter. Similarly, it will be appreciated that any flow chart, flowchart, state transition diagram, pseudo code, etc., represent various processes that can be substantially represented in a computer-readable medium and executed by a computer or processor, whether or not such a computer or processor is explicitly shown. DETAILED DESCRIPTION

[0043] The accompanying drawings and the following description illustrate specific exemplary embodiments of the present invention. Therefore, it should be understood that those skilled in the art will be able to design various arrangements that, although not explicitly described or shown herein, embody the principles of the present invention and are included within the scope of the present invention. In addition, any examples described herein are intended to aid in understanding the principles of the present invention and should be interpreted as not being limited to these specifically enumerated examples and conditions. Therefore, the present invention is not limited to the specific embodiments or examples described below, but is defined by the claims and their equivalents.

[0044] refer to Figure 1 The communication system includes an application server AS, a general data source GDS, a customized data source CDS, a general database GDB, a customized database CDB and a client device CD.

[0045] Infrastructure, such as factories, consists of assets, such as physical assets in the real world or cyber-physical assets used in the cloud. Assets can represent people or objects that perform a job. Physical assets can be natural people or devices, such as sensors or any type of device, such as robots, motor controllers, IO modules, switches or routers, etc.

[0046] Furthermore, an object is a virtual representation of a physical asset, presenting a set of properties, including standard and specific asset types (e.g., location, deployment date). Some mandatory properties may be a unique name and at least one class of equipment (e.g., pump, motor, controller, ...). For example, the properties of an object may include the following: asset identifier, asset name, engineering domain to which the asset belongs, a standard defined URL (Uniform Resource Locator) pointing to the object, a serial number.

[0047] In addition to attributes, each object may have at least one object relationship with at least one other object. It is assumed that there are different kinds of object relationships, and that all object relationships can be classified into at least two types of object relationships: composition relationships and connection relationships. A composition relationship points to a sub-object, from which a physical asset is mechanically composed. A connection relationship points to a connected asset. Assets can be connected by various connections: electrical / mechanical / network / …. In other words, it can also be assumed that a composition relationship defines a link between two assets from a physical perspective, while a connection relationship defines an interaction between two assets from a connection perspective.

[0048] Furthermore, an object relationship between two objects may be static or temporary (may change over time), or may be the result of a particular algorithm or user action.

[0049] The relationship between objects can be represented by a definition ontology based on a triple consisting of a subject, a relationship and an object. The relationship can be defined by a URI (Uniform Resource Identifier), the subject can be an asset identifier, and the object can be another asset identifier.

[0050] For example, depending on the language of the defined ontology, object relationships can be at least one of the following relationships without limitation: Equals, BelongsTo, SupervisedBy.

[0051] The application server AS is connected to a cloud provider network CPN, which connects the application server AS to a general database GDB and a customized database CDB. Each of the general database GDB and the customized database CDB can be connected to or implemented in a cloud server, which provides access to data stored in the database for customer-accessible applications that utilize the data.

[0052] A cloud provider network CPN can be a wired or wireless network, or a combination of wired and wireless networks, and can be associated with a packet network, for example, an IP (“Internet Protocol”) high-speed network such as the Internet or an intranet, or even a private network specific to a company.

[0053] The cloud provider network is for example a digital cellular wireless communication network of the GPRS (General Packet Radio Service), UMTS (Universal Mobile Telecommunications System), CDMA (Code Division Multiple Access) type, LTE (Long Term Evolution) or even 5G (Fifth Generation) type.

[0054] The general data source GDS or the customized data source CDS can be implemented in the edge device and located between the control layer (including sensors, actuators and controllers) of the industrial system and the cloud. The edge device functionality and the industrial system functionality can also be merged in a single physical device. The data is collected by the edge device from the control layer and sent to the general database GDB or the customized database CDB via the server acting as the cloud entry point through the corresponding telecommunication network.

[0055] The general data source GDS provides general data related to at least one general object, and the general data can be stored in the general database GDB according to the general model. The customized data source CDS provides customized data related to at least one customized object, and the customized data can be stored in the customized database CDB according to the customized model.

[0056] The client device CD implements a client application CA which can only access the generic data stored in the generic database GDB, because the client device CD is deployed with a client application which is initially set up to be compatible with the generic database GDB, the program code taking into account the generic model used by the generic database. For example, the client application CA is able to generate the correct queries to access the different contents of the generic data stored in the generic database GDB. Furthermore, the client application cannot directly query the custom database to retrieve the contents of the custom data.

[0057] The application server AS comprises a collection module COL, a cache module CM, a binding module BIN, a virtual database VDB and an access module ACC.

[0058] The collection module COL is configured to collect partial data stored in the general database CDB and the customized database CDB. The collection module COL can be triggered when an external or internal event occurs, which allows to collect partial data periodically or when a configured event occurs. The collection module is able to retrieve attributes and associated values ​​of general data stored in the general database GDB or customized data stored in the customized database CDB, and store the attributes and associated values ​​in the cache module CM.

[0059] More specifically, the collection module COL is configured to access or extract general nodes containing general attributes and associated general values, wherein the general attributes and the associated general values ​​are contained in general data related to general objects stored in the general database GDB, and also to access or extract custom nodes containing custom attributes and associated custom values, wherein the custom attributes and the associated custom values ​​are contained in custom data related to custom objects stored in the custom database CDB.

[0060] For example, an internal event may correspond to a time limit or a periodic time interval, at the end of which the collection module probes the general database GDB or the customized database CDB.

[0061] For example, an external event may correspond to a new arrival or update of general data stored in the general database GDB or customized data stored in the customized database CDB.

[0062] The collection module COL has enough customization requests to retrieve the customization data stored in the customization database. In other words, the mode or model used by the customization database (e.g., how to read / write data in the database) is known to the collection module COL that can retrieve the data stored in the customization database.

[0063] The collection module COL is equipped with rules, which include a list of attributes related to different objects, which need to be searched and retrieved from the common data and the custom data. For example, the collection module searches only for certain types of attributes related to the identifier of the object. These attributes to be searched are selected with respect to at least one object and at least one other object having a relationship between them.

[0064] Initially, with the deployment of the custom database CDB, the rules describe a list of objects that may have relationships, thus defining the relationships between these objects. These relationships can be represented by a definition ontology based on triples consisting of subject, relationship and object. A subject can be an object attribute (of one object) and an object can be another object attribute (of another object).

[0065] Rules allow automatic generation of triples from attributes retrieved from the general database GDB and the custom database CDB. The type of the relation defines the logic executed by the binding module BIN.

[0066] After the custom database CDB is deployed, the collection module and the binding module have object lists and rules.

[0067] Depending on the structure of the database, the attributes of an object can be represented in different forms. For example, in a non-relational database, an attribute can correspond to a given keyword, and the attribute value can correspond to the value of a keyword-value pair associated with the given keyword. In addition, an object can be associated with a reference, which can be an attribute, an external feature, or a keyword for a unique identification of the object. In a non-limiting example, the reference is a keyword entry in the database structure or a row number in a table.

[0068] The cache module CM forms a buffer memory between the collection module COL and the binding module BIN. Some data stored in the cache module CM can be saved for defined time intervals, for example according to rules.

[0069] The collection module COL is configured to notify the binding module BIN that the attributes and associated values ​​extracted from the general database GDB or the customized database CDB have been stored in the cache module CM. In one embodiment, as described above, the binding module BIN is triggered upon an internal event or an external event to command the action of the collection module COL.

[0070] The binding module BIN is configured to generate a triple, the triple includes a generic reference associated with a generic object, a customized reference associated with a customized object, and a relationship between the generic object and the customized object, and store the triple in a virtual database VDB. The virtual database VDB may include any kind of permanent storage for storing the generated triples. The virtual database VDB may store any desired information (e.g., tables, hierarchical structures, relationships, objects, etc.) arranged in any manner, and may store additional information such as metadata.

[0071] More specifically, such triples are generated when the relationship between generic objects and custom objects is determined and verified.

[0072] The rules may give conditions that a generic object and a custom object should satisfy in order to verify the relationship between the generic object and the custom object. These conditions may be based on generic nodes extracted from generic data associated with the generic object and custom nodes extracted from custom data associated with the custom object, for example using a comparison of generic attribute values ​​with custom attribute values.

[0073] In one embodiment, these conditions may also be based on other attributes contained in the generic and custom data. The rules indicate said other attributes and associated values ​​to be searched in the database and stored in the cache module CM, allowing the binding module to compare said associated values.

[0074] These conditions may further be based on time attributes, such as a time limit between the storage time of the general data associated with the general object and the storage time of the customized data associated with the customized object. For example, a first sensor corresponds to a first object, a second sensor corresponds to a second object, both sensors are linked to the same machine, and the data sent by the first and second sensors need to be analyzed together. The first sensor sends the general data to the general database, and the second sensor sends the customized data to the customized database. To be consistent, the general data and the customized data should be stored in the general database and the customized database, respectively, during a defined time interval, otherwise the association between the general data and the customized data becomes useless.

[0075] The access module ACC is configured to read triples in the virtual database VDB and provide the client application CA with access to at least part of the generic data associated with the generic nodes and at least part of the customized data associated with the customized nodes. The virtual database VDB can be considered as a single federated database (not even physically present) which has access to generic and customized data in a contextualized way thanks to the triples describing these relations.

[0076] As previously described, a triple includes a generic reference, a custom reference, and a relationship between a generic object and a custom object. In one embodiment, a generic reference may include a key-value pair (as a generic attribute) or any kind of reference equivalent that allows unique retrieval of generic data related to a generic object in a generic database, and similarly, a custom reference may include a key-value pair (as a custom attribute) or any kind of reference equivalent that allows unique retrieval of custom data related to a custom object in a custom database.

[0077] The access module ACC forms a data composite layer between the client application and multiple databases. The composite layer is responsible for aggregating data from multiple databases and presenting it to the client application in a unified manner. This layer allows the client application to interact with multiple databases through a single request, reducing the number of data queries and simplifying the integration process. The composite layer will also perform additional processing on the data, such as conversion, filtering or sorting, before presenting it to the client application.

[0078] The access module ACC may include a query planner that generates a query execution plan that specifies the sequence of operations that the system will perform to retrieve the requested data. The goal of the query planner is to select the most efficient execution plan by considering factors such as query complexity, available indexes, and data distribution.

[0079] In one illustrative example, a customer has adopted the ISA 95 standard for storing common data related to different objects of an entity in a common database. When the customer wishes to extend the standard data model (ISA 95), a customer-specific model can be added to store custom data in a custom database. To better understand issues related to one or more objects, the common data and custom data using two different data models need to be contextualized, but the customer will have its own merge of data models, which will no longer match the standard ISA 95 model. The application server is able to create triples linking the common data and custom data, thereby replacing the ordinary merge of the data models, obtaining better insights into the common data and custom data, and allowing, for example, better associations between the common data and the custom data related to issues involving one or more objects.

[0080] refer to Figure 2 According to one embodiment of the present invention, a method for allowing a client application to access data from different data sources and stored in different databases using different data models includes steps S1 to S7.

[0081] Initially, the collection module COL is provided with a rule defining at least one common attribute of a common object to be stored in the common database and at least one custom attribute of a custom object to be stored in the custom database, said common object and said custom object having a relationship. In one embodiment, said common attribute is an identifier of said common object and said custom attribute is an identifier of said custom object.

[0082] Furthermore, the communication device CD implements a client application CA capable of communicating with the access module, operable with the data model used by the general database GDB but not with the data model used by the customized database GDB.

[0083] In step S1, the collection module COL analyses the general database GDB based on the list of objects. The collection module COL may scan the general database regularly or retrieve a notification each time new data is stored or updated.

[0084] Once the generic attributes related to the generic object are found in the generic database GDB, or once the collection module COL is informed of the generic attributes, the collection module COL accesses or extracts the generic attributes and the related generic values ​​to form a generic node.

[0085] In an optional step S2, the collection module COL stores the common nodes including the extracted common attributes and the related extracted common values ​​in the cache module CM.

[0086] In step S3, the collection module COL analyses the custom database based on the list of objects. The collection module COL may scan the custom database regularly or retrieve a notification each time new data is stored or updated.

[0087] Once a custom attribute related to another object is found in the customization database CDB, or once the collection module COL is informed of the custom attribute, the collection module COL accesses or extracts the custom attribute and the related custom value to form a custom node.

[0088] In an optional step S4, the collection module COL stores the customization node containing the extracted customization attributes and the related extracted customization values ​​in the cache module CM.

[0089] In step S5, when determining the relationship between the nodes, the binding module BIN generates a triplet, which includes the generic reference of the generic object and the customized reference of the customized object and the relationship between the generic object and the customized object.

[0090] To this end, the binding module BIN understands the storage of general nodes and customized nodes in the cache module CM for high-frequency data access, and the storage in the general database GDB and the customized database CDB for low-frequency data access, and according to the rules applied to the general nodes and customized nodes, the binding module BIN checks whether the conditions are met to verify the object relationship between the general objects and the customized objects.

[0091] In step S6, the binding module BIN stores the generated triplet in the permanent memory of the virtual database VDB.

[0092] In step S7, according to the request of the client application, the access module ACC provides the client application with access to at least part of the common data and at least part of the customized data through triples. For example, the request of the client application may include a common reference related to a common object, and the access module provides the client application with a customized reference, or provides the client application with a customized node and other attributes related to the customized object.

[0093] In order to provide access to at least part of the common data and at least part of the customized data to the client applications, the access module ACC uses a virtual database that makes use of the following components: a binding relationship memory (triples) storing specific bindings between object instances (references) and a query possibility for querying contextualized data, which composes data from two or more data models based on the relationships defined by the triples. According to the query, it appears that all the synthesized data are stored in a single database.

[0094] In the first example, the general data is related to the first device as the first object, and the customized data is related to the second device as the second object. The general data includes the following attributes: identifier, serial number, firmware version, software version. The customized data includes the following attributes: Id, SN, geographic location, measurement. At least the general attributes "identifier" and "serial number", and the customized attributes "Id" and "SN" are stored in the cache module. More specifically, a general node including the general attribute "identifier" and the associated general value "X" is stored in the cache module, and a customized node including the customized attribute "Id" and the associated general value "1" is stored in the cache module. The rule can be expressed as: IF (two objects have the same serial number) THEN (create a relationship EQUALS). If the general attribute "serial number" has the same value as the customized attribute "SN", the condition is met and the relationship "EQUALS" is determined. Therefore, the binding module can generate a triple, which includes a general node, a customized node, and a relationship "EQUALS" between the general node and the customized node: (Id (1), EQUALS, identifier (X)). This relationship is considered static because it does not change over time.

[0095] In the second example, the general data is related to the company as the first object, and the customized data is related to the user as the second object. The general data includes the following attributes: identifier, name, address, contact person. The customized data includes the following attributes: Id, name, description, address, email. At least the general attributes "identifier" and "address", and the customized attributes "Id" and "address" are stored in the cache module. More specifically, a general node including the general attribute "identifier" and the associated general value "0" is stored in the cache module, and a customized node including the customized attribute "Id" and the associated general value "A" is stored in the cache module. The rule can be expressed as: IF (user address == company address) THEN (create relationship BELONGS TO). If the general attribute "address" has the same value as the customized attribute "address", the condition is met and the relationship "BELONGS TO" is determined. Therefore, the binding module can generate a triple, which includes a general node, a customized node, and the relationship "BELONGS TO" between the general node and the customized node: (Id (A), BELONGS TO, identifier (1)). This relationship is considered semi-static because it may change over time.

[0096] In the third example, the generic data is related to the team "Shift" as the first object, and the custom data is related to the production batch "ProductionLot" as the second object. The generic data contains the following attributes: identifier, start time, stop time, personnel list, event list. The custom data contains the following attributes: Id, Name, Description, Batch, Start Time, Stop Time. At least the generic attributes "identifier", "start time" and "stop time", and the custom attributes "Id", "start time" and "stop time" are stored in the cache module. More specifically, a generic node including the generic attribute "identifier" and the associated generic value "X" is stored in the cache module, and a custom node including the custom attribute "Id" and the associated generic value "P" is stored in the cache module. The rule can be expressed as: IF(Shift.startTime<ProductionLot.StartTimeAND Shift.stopTime> ProductionLot.StoptTime) THEN (create relationship SUPERVISED BY), which means that team Shift is available at the same time when production batch ProductionLot is produced. If different values ​​of attributes "Start Time", "Stop Time" and "Start Time", "Stop Time" meet the conditions of the rule, the relationship "SUPERVISED BY" is determined. Therefore, the binding module can generate a triple, which includes a generic node, a custom node, and a relationship "SUPERVISED BY" between the generic node and the custom node: (Id(P), SUPERVISED BY, Identifier(X)). This relationship is considered to be an activity based on time synchronization.

[0097] Although the present invention has been described above with reference to specific embodiments, the present invention is not limited to the specific forms described herein. On the contrary, the present invention is limited only by the appended claims, and within the scope of these appended claims, other embodiments besides the specific embodiments described above are also possible.

[0098] In addition, although exemplary embodiments have been described above in some exemplary combinations of components and / or functions, it should be understood that alternative embodiments may be provided by different combinations of components and / or functions without departing from the scope of the present disclosure. In addition, it is specifically contemplated that specific features described separately or as part of an embodiment may be combined with other separately described features or parts of other embodiments.

Claims

1. A device linked to a general database (GDB) storing general data related to general objects and a customized database (CDB) storing customized data related to customized objects, wherein the general data can be accessed from a client application (CA) and the customized data cannot be accessed from the client application, the device comprising: a collection module (COL) configured to access a general node and a custom node, wherein the general node includes general attributes and associated general values ​​contained in general data related to a general object stored in a general database, and the custom node includes custom attributes and associated custom values ​​contained in custom data related to a custom object stored in a custom database, a binding module (BIN) configured to generate a triple including a universal reference of the universal object, a customized reference of the customized object and a relationship between the universal object and the customized object when determining a relationship between the universal object and the customized object, The binding module (BIN) is configured to store the triplet in a permanent memory of a virtual database (VDB), An access module (ACC) is configured to read triples in the virtual database and give the client application (CA) access to at least a portion of the common data and at least a portion of the customized data through the triples. 2 . The apparatus according to claim 1 , wherein the generic data comprises different generic attributes and associated generic values, and the customized data comprises different customized attributes and associated customized values.

3. The apparatus according to claim 2, wherein the common attribute is an identifier of one object and the custom attribute is an identifier of another object.

4. The device according to any of the preceding claims, wherein the generic reference allows unique retrieval of generic data related to generic objects in a generic database, and the customized reference allows unique retrieval of customized data related to customized objects in a customized database.

5. The device according to any of the preceding claims, wherein the binding module (BIN) generates a triplet upon the occurrence of an internal event or an external event.

6. The apparatus of claim 5, wherein the internal event is a time limit or a periodic time interval.

7. The apparatus according to claim 5, wherein the external event is a new arrival or update of general data or customized data.

8. Apparatus according to any one of the preceding claims, wherein a relationship between a generic object and a custom object is determined when a condition based on a generic node and a custom node is satisfied.

9. The apparatus of claim 8, wherein the condition is based on a time limit between a storage time of the general data and a storage time of the customized data.

10. The apparatus of claim 8, wherein the condition is based on other attributes contained in the general data and the customized data.

11. Device according to any of the preceding claims, wherein the collection module (COL) is configured to store the generic nodes and the customized nodes in a cache module (CM).

12. Device according to claims 10 and 11, wherein said other attributes contained in the common data and the customized data are stored in a cache module and deleted once a triple is determined.

13. The device according to any of the preceding claims, wherein the access module (ACC) receives a request including the generic reference from the client application and provides the customized reference to the client application.

14. A method implemented in a device linked to a general database (GDB) storing general data associated with general objects and a customized database (CDB) storing customized data associated with customized objects, wherein the general data is accessible from a client application (CA) and the customized data is not accessible from the client application, the method comprising: The collection module (COL) accesses the general nodes and the custom nodes, the general nodes including the general attributes and the associated general values ​​contained in the general data related to the general objects stored in the general database, and the custom nodes including the custom attributes and the associated custom values ​​contained in the custom data related to the custom objects stored in the custom database, When the relationship between the general node and the customized node is determined, a triple is generated by the binding module (BIN), the triple including the general reference of the general object and the customized reference of the customized object and the relationship between the general object and the customized object, The binding module (BIN) stores the triples in the permanent storage of the virtual database (VDB). The triples in the virtual database are read by the access module (ACC), and the client application (CA) is given access to at least a portion of the common data and at least a portion of the customized data through the triples.

15. A computer readable medium having embodied thereon a computer program for executing the method according to claim 14, the method for allowing a client application to access data from different data sources and stored in different databases using different data models.