Transformation of data items from data sources using a transformation script
Abstract
<?abstract ?>Computer-implemented systems and methods are disclosed that provide proactive validations of transformation scripts. In one embodiment, a method is provided that includes, that is associated with at least one processor, the script transformation with ontology parameters. The method also includes that a debugging operation of the transformation script that has at least one condition is initiated and is imported from a data source, at least one data element of a transformation. The method further includes that is determined as part of the debugging operation, whether the at least one condition that uses the at least one data item is valid, based on the ontology-parameters, and that a user on a display device the determination is reported associated result.

Term
Projected expiry 14 March 2034.
- Priority
- Filed
- Published
- Today
- Projected expiry
11 claims: 3 independent, 8 dependent
- 1Method for providing a proactive validating a transformation script, the method comprising by multiple processors is performed one or and:Associating the transformation scripts with ontology-parameters;Initiating a debug operation of the transformation script, comprising at least one condition;Import, from a data source, at least one data element for the transformation;Determining, as part of the debugging operation, whether the at least one condition that uses the at least one data item is valid, based on the ontology parameters;and Providing an indication of the determination of the associated outcome, the result is at least one of an explicit finding or implied results.
- 10Device for supplying a validation of a proactive script transformation, said apparatus comprising:a storage device which stores a set of instructions;one or more processors executing the set of instructions to configure the one or more processors so that they perform operations, which include the operations of any one of claims 1 to 9.
Independent claims3
79 paragraphs, as filed
This application claims the benefit of US provisional patent application Ser. No. 61 / 801.222, filed March 15, 2013 and US patent application Ser. No. 14 / 044,880, filed October 2, 2013 in accordance with the disclosure is hereby incorporated in by reference the This document is received.
Data are stored in computer-based systems usually in fixed, rigidly structured data stores. For example, a common type of data storage is a "simple" file, such as a spreadsheet, a plain text document (plain-text document), or an XML document. Another common type of data storage is a relational database that has one or more tables. Other examples of data stores that have structured data, include, without limitation, file systems, object collections, record collections, fields, hierarchical trees, linked lists, stacks (stacks), and combinations of these.
Often, the underlying structure of these types of data storage for data analysis is ill suited. One approach to facilitate a more efficient analysis of data in such a data store is to reorganize the data according to an object model defines the object structures and relationships between the object structures.
To create an object model, data elements in the underlying data store, for example, table rows or cells, are mapped to properties of objects in the model. The semantics or "meanings" of the various components of the object model are defined by an ontology, the objects, relationships, and / or properties following different defined types categorized. For example, categorize as an ontology objects that they are one of the following types: person, entity, or event. The ontology can define different properties for each object type, such as names, dates, places, documents, media, etc. In addition, the ontology can further define relationships (or links) between objects, for example, employees, participants, siblings etc.
The present invention is defined in independent claims wiedergeg planar. The dependent claims concern optional features of some embodiments of the invention.
Subsequently, reference is made to the accompanying drawings which illustrate exemplary embodiments of the present application, wherein:
<figref>1A</figref> in block diagram form an exemplary data fusion system for providing an interactive data analysis shows, according to embodiments of the present disclosure.
<figref>1B</figref> a screen shot of an exemplary graphical interface for the data fusion system <figref>1A</figref> shows, according to embodiments of the present disclosure.
<figref>2</figref> an exemplary project shows that one or more of a data transformation associated transformation script provides, according to embodiments of the present disclosure.
<figref>3</figref> an example configuration file for a project shows, according to embodiments of the present disclosure.
<figref>4</figref> an exemplary method of transformation of a transformation scripts shows, according to embodiments of the present disclosure.
<figref>5</figref> exemplary Link Builder procedure in <figref>4</figref> Transformation method described shows, according to embodiments of the present disclosure.
<figref>6A</figref>. <figref>6B</figref> an exemplary content processing procedure in <figref>4</figref> Transformation method described shows, according to embodiments of the present disclosure.
<figref>7</figref> an exemplary builder for a domain-specific language (DSL) shows that in the <figref>6A</figref> and <figref>6B</figref> Content processing unit described is called, in accordance with embodiments of the present disclosure.
<figref><?page 3?>8th</figref> an exemplary software development environment for debugging a transformation script shows according to embodiments of the present disclosure.
<figref>9</figref> shows a flow chart illustrating an exemplary method for validating a proactive script transformation, according to embodiments of the present disclosure.
<figref>10</figref> in block diagram form an exemplary computer system displays may be implemented with the embodiments described herein, according to embodiments of the present disclosure.
Hereinafter, detailed reference is made to the embodiments, examples of which are illustrated in the accompanying drawings. Whenever possible, the same reference numbers will be used throughout the drawings to refer to the same or like parts.
<figref>1A</figref> shows in block diagram form an exemplary data fusion system <figref>100</figref> to Liefung an interactive data analysis, according to embodiments of the present disclosure. system<figref>100</figref> may include multiple components. The components of system<figref>100</figref> can be transferred electronically to other component data / information in any direction and can be connected via wired or wireless communication links and / or via one or more networks.
Among other things, facilitates system <figref>100</figref> a transformation of one or more data sources, such as data sources <figref>130</figref>, In an object model <figref>160</figref>Whose semantics by an ontology <figref>150</figref> is defined. The transformation can be carried out for a variety of reasons. For example, it is possible that a database administrator data from data sources<figref>130</figref> in a database <figref>170</figref> wants to import, for a persistent store an object model <figref>160</figref>, As another example (not shown) presentation component data from data sources<figref>130</figref> derived input data already during the transfer ( "on the fly") in an object model <figref>160</figref> transform. The object model<figref>160</figref> Then, in connection with an ontology can <figref>150</figref>Be used for an analysis by means of graphs and / or other data visualization techniques.
As in <figref>1A</figref> illustrated, system <figref>100</figref> a definition component <figref>110</figref> and a transform component <figref>120</figref> , both of which are implemented by one or more processors in one or more computing devices that perform a hardware or software-based logic to provide various functionalities described herein. As can be seen clearly from the present disclosure, may System<figref>100</figref> have a smaller or a larger number of components that provide the various functionalities described herein. Such components are for clarity in<figref>1A</figref> omitted. Moreover, the component (s) of the system can<figref>100</figref>That are responsible for providing various functionalities, vary from embodiment to embodiment further.
The definition component <figref>110</figref> produced and / or modified an ontology <figref>150</figref> and a schema map <figref>140</figref>, Exemplary embodiments for defining an ontology (for example, an ontology<figref>150</figref>) Are described in <patcit><text>US 7,962,495</text></patcit> (The '495 Patent), published June 14, 2011, which is hereby incorporated by reference in every respect fully incorporated into the present application. Inter alia describes the '495 Patent embodiments defining a dynamic ontology for use in generation of data in a database. To create a database ontology one or more object types are generated, each object type may include one or more properties. The attributes of object types or property types ontology can always be edited or modified. And for each property type a parser definition is generated at least. The attributes of a parser definition can always be edited or modified.
In some embodiments, each property type is declared to be representative of one or more object types. A property type is representative of an object type, if the property type is intuitively associated with the object type. For example, a property type "social security number" for an object type "person" to be representative, but not representative of an object type "business".
In some embodiments, each property type has one or more components and a basic type. In some embodiments, a property type a string (string), a date, a number, or a composite type exhibit, consisting of two or more Zeichenkette-, date, or number elements. Thus, property types are extensible and can represent complex data structures. Further, a parser definition referencing a part of a complex property type as a unit or token.
<?page 4?>An example of a property that has several components, is a property name ', the one component name' 'and having a part, first name. An example of input raw data is "Smith, Jane". An exemplary parser definition specifies a mapping of input data imported to components of object properties, as follows:{SURNAME}, {FIRST NAME} → Name: Family Name: Before
In some embodiments, the assignment {SURNAME}, {FIRST NAME} is defined in a parser definition that uses exhibit a regular expression symbolism. The assignment {SURNAME}, {FIRST NAME} specifies that a string, name ', of a string, first name' is followed, valid input data for a property of type Name contains. In contrast, the input data "Smith Jane" would not be valid for the specified parser definition, however, a user could produce a second parser definition which matches the input data "Smith Jane". The definition Name: Family Name: Prior indicates that appropriate input data values are mapped to elements with the name "family" and "Against" the Name property.
As a result of parsing the input data using the parser definition means that the value "Smith" the component name: is assigned to the family 'of the property, Name', and the value "Jane" the component name: Before 'the property, name is assigned '.
Referring again to <figref>1A</figref> , a schema map <figref>140</figref> define, how various elements of schemas <figref>135</figref> Data Source <figref>130</figref> on different elements of an ontology <figref>150</figref> be ready. The definition component<figref>110</figref> performs receiving, calculating, extracting, or otherwise identifying schemes <figref>135</figref> Data Source <figref>130</figref> by. schemes<figref>135</figref> define the structure of data sources <figref>130</figref> - For example, the names and other signs of tables, files, columns, fields, properties, etc. The definition of component <figref>110</figref> Also identifies optional test data <figref>136</figref> from data sources <figref>130</figref>, The definition component<figref>110</figref> can further object type, relational, and property definitions from the ontology <figref>150</figref> identify, if one already exists. The definition component<figref>110</figref> may continue pre-existing pictures from the schema map <figref>140</figref> identify if such pictures are available.
Based on the identified information may include the definition component <figref>110</figref> a graphical interface <figref>115</figref> produce. The graphical interface<figref>115</figref> can be presented to users of a computing device via any suitable delivery mechanism (eg. as a display screen, an image projection, etc.), and may further input from users of the computing device via any suitable input mechanism to accept (eg., a keyboard, a mouse, a touch screen interface, etc.). The graphical interface<figref>115</figref> provides a visual workspace, the representations of the elements of the ontology <figref>150</figref> visually representing, for which the schema map <figref>140</figref> Pictures are defined. <figref>1B</figref> provides an exemplary illustration of a graphical user interface <figref>115</figref> for a visual representation of representations of the elements of the ontology <figref>150</figref>, The graphical interface<figref>115</figref> also includes controls for adding new elements to the schema map <figref>140</figref> and / or the ontology <figref>150</figref>Including objects, properties of objects and relationships, through the visual workspace. After a presentation of the elements of the ontology<figref>150</figref> has taken place in the visual workspace, the graphical interface can <figref>115</figref> further providing control means in conjunction with representations that allow the elements of the ontology <figref>150</figref> be modified and is identified as the elements of the ontology <figref>150</figref> Elements of Schemes <figref>135</figref> correspond. Optionally, the graphical interface<figref>115</figref> Next, the test data <figref>136</figref> use to the user a preview of the object model <figref>160</figref> to be delivered if the user is a schema map <figref>140</figref> defined. Responding to the input of the various control devices graphical interface<figref>115</figref> may the definition of component <figref>110</figref> ontology <figref>150</figref> and the schema map <figref>140</figref> create and / or modify.
The Transformation Component <figref>120</figref> may be invoked after a defining or redefining the schema map <figref>140</figref> and the ontology <figref>150</figref> has taken place. The Transformation Component<figref>120</figref> identifies the schema map <figref>140</figref> and the ontology <figref>150</figref>, The Transformation Component<figref>120</figref> further reads data sources <figref>130</figref> and identified schemes <figref>135</figref> Data Source <figref>130</figref>, For each element of the ontology<figref>150</figref>Which in the schema map <figref>140</figref> describes performs the transformation component <figref>120</figref> a iterated processing along some or all of the data elements of the data sources <figref>130</figref> by which members of the object model <figref>160</figref> as amended by the schema map <figref>140</figref> specified manner are produced. In some embodiments, the Transformation Component<figref>120</figref> a representation of each generated element of an object model <figref>160</figref> in a database <figref>170</figref> save. In some embodiments, the Transformation Component is<figref>120</figref> further configured to changes in object model <figref>160</figref> Data Sources <figref>130</figref> Back to synchronize.
<?page 5?>In the data sources <figref>130</figref> there may be one or more sources of data, which include, without limitation, spreadsheets, databases, e-mail folders, document collections, media collections, contact lists, etc.. Data sources<figref>130</figref> may include data structures that are persistently stored in non-volatile memory. Data sources<figref>130</figref> can also, in addition or instead, include temporary data structures, which are generated from underlying data sources using data extraction components, for example, a result set that is returned processed by a database query database server.
The schema map <figref>140</figref>, The ontology <figref>150</figref> and schemes <figref>135</figref> can be stored in any suitable structures, such as XML files, database tables, etc. In some embodiments, the ontology <figref>150</figref> maintained in persistent manner. The schema map<figref>140</figref> can be maintained in a persistent manner, or may not, depending on whether the transformation process is an ongoing or a one-time event. schemes<figref>135</figref> do not need to be kept in persistent storage, but can be stored in order to optimize the cache.
The object model <figref>160</figref> has collections of elements, such as typed objects, properties and relations. The collections can be structured in any suitable manner. In some embodiments stores a database<figref>170</figref> the elements of an object model <figref>160</figref>, Or representations of them. In some embodiments, the elements of an object model are<figref>160</figref> in a database <figref>170</figref> stored in a different underlying format, for example, in a sequence of object, Eigenschafts-, and relationship tables in a relational database.
<figref>2</figref> shows an exemplary project <figref>200</figref>That one or more scripts <figref>210</figref> supplies. The project<figref>200</figref> and its associated scripts <figref>210</figref> can create a transformation device (for example, the transformation component <figref>120</figref>) are processed. The scripts<figref>210</figref> can include one or more transformation scripts that are involved in some or all of the data elements of the data sources <figref>130</figref> in elements of the object model <figref>160</figref> transform. In this particular example, the project contributes<figref>200</figref> the name "kea-examples" and has the following script: CSVBeispiel.groovy, MalvareReport.groovy, TelefonTransformer.groovy, RaubkopieMuster.groovy, RekursivEingabeEinfachAusgabeVerzeichnisUmwandlung.groovy and RSSFeed.groovy. The project<figref>200</figref> includes, among others, log.Eigenschaften also a file ', provides the instructions for output logging, as well as a configuration file, the running of one or more scripts <figref>210</figref> supported.
<figref>3</figref> shows an exemplary configuration file <figref>300</figref> for the project <figref>200</figref>, The previously with reference to <figref>2</figref> has been described. The configuration file<figref>300</figref> can create a transformation device (for example, the transformation component <figref>120</figref>) are processed. Among other things, the configuration file<figref>300</figref> be used for setting parameters, while one or more scripts <figref>210</figref> run the configuration file <figref>200</figref> are associated. The configuration file<figref>300</figref> can an ontology file <figref>310</figref> identify which provides naming and arranging objects, properties, and / or links to determine whether proposed output results from scripts are valid. The ontology file<figref>310</figref> is part of the ontology described above <figref>150</figref>, Although the ontology file<figref>310</figref> in the configuration file <figref>200</figref> identified, however, in some embodiments, showing the configuration file <figref>300</figref> to the place where the ontology file <figref>310</figref> is.
The ontology file <figref>310</figref> can have one or more ontology parameters. These parameters include ontology entities either to an object, a property that an entity which is referred to as an object or a link between objects. For example, defining an ontology parameters that an entity "organization" is an object. Additional ontology parameter can specify that the entities "welfare", "church" and "Academic organization" properties of an object "organization" are. Conversely, would the entity "birth" no property of "organization"; thus there is no ontology parameter of the "Property Organization" assigns the property "birth".
<figref>4</figref> shows an exemplary method of transformation <figref>400</figref> the script Telefontransformer.groovy that in in the previously <figref>2</figref> project illustrated <figref>200</figref> is identified. The transformation procedure<figref>400</figref> includes, among other things, a link-builders <figref>410</figref> and a content processing unit interface <figref>420</figref>, The transformation procedure<figref>400</figref> can by means of a transformation device (for example, the transformation component <figref>120</figref>) are processed.
In the exemplary embodiment of <figref>4</figref> involves the transformation procedure <figref>400</figref> a code that asks a user such data (for example, Call) to be imported, by <?page 6?>Providing two link-building options. These options include either (i) combining multiple calls between telephone number xxx-xxx-xxxx or telephone number yyy-yyy-yyyy to a single link, or (ii) representing each call between the two numbers as a single link events. With regard to the transformation means of the difference between the two options is how the links are constructed. In this example, the setting up of a link is managed by providing a Link Builder Closure (Link Builder<figref>410</figref>) Is passed to the link process which processes a respective data line.
Exemplary Link Builder process <figref>500</figref> are in <figref>5</figref> shown below, by a transformation means (for example, a transformation component <figref>120</figref>) are processed. The Link Builder process<figref>500</figref> include a method ErzeugeGesammelteAnrufeLinks <figref>510</figref>created the links, summarizes which call events between common endpoints to a single link, and a method ErzeugeEinzelneAnrufeLinks <figref>520</figref>, Generates the links for individual call-events for each call between endpoints.
After the Link Builder <figref>410</figref> has determined how calls are collected, the content processing unit interface can <figref>420</figref> call a processing method that performs the transformation of one or more data elements from data sources in elements of an object model. An exemplary processing method<figref>6:00 am</figref> is in <figref>6A</figref> and <figref>6B</figref> shown and can create a transformation device (for example, the transformation component <figref>120</figref>) are processed. The processing method<figref>6:00 am</figref> performs iterated processing along of data elements (for example, a table row) by, produces a builder and gets processed line (processRow) in order to create an object model comprising objects, and links for the row. If a builder is generated, a processing method<figref>6:00 am</figref> a DSL builder <figref>7:00</figref> leverage, as in the exemplary builders of <figref>7</figref> shown. The DSL-builder<figref>7:00</figref> can create a transformation device, for example a transformation component <figref>120</figref>, are processed.
The DSL-builder <figref>7:00</figref> is an exemplary Builder includes several entities: Entität1 <figref>710</figref> and Entität2 <figref>720</figref>, The Entität1<figref>710</figref> and Entität2 <figref>720</figref> are created using data elements to create objects in the ontology "person" and "phone call" that in the ontology file <figref>310</figref> are defined (this was previously in <figref>3</figref> Referring). Also include both Entität1<figref>710</figref> and Entität2 <figref>720</figref> their associated properties <figref>715</figref>. <figref>725</figref>That also in the ontology file <figref>310</figref> should be defined.
For example, the DSL-builder <figref>7:00</figref> the following data elements for a buildup of objects obtained: Entität1 <figref>710</figref> and Entität2 <figref>720</figref>, And their corresponding properties <figref>715</figref>. <figref>725</figref>: <tables num=""><table frame="all"><tgroup cols="4" colsep="1" rowsep="1"><colspec colname="col1" colwidth="1*" /><colspec colname="col2" colwidth="1*" /><colspec colname="col3" colwidth="1*" /><colspec colname="col4" colwidth="1*" /><tbody><row><entry colname="col1">name</entry><entry colname="col2">address</entry><entry colname="col3">phone number</entry><entry colname="col4">SSN #</entry></row><row><entry colname="col1">Tom Smith</entry><entry colname="col2">123 Grant Avenue</entry><entry colname="col3">123-456-7890</entry><entry colname="col4">999-88-7777</entry></row><row><entry colname="col1">David Bruce</entry><entry colname="col2">345 Lincoln Street</entry><entry colname="col3">987-654-3210</entry><entry colname="col4">111-22-3333</entry></row></tbody></tgroup></table></tables>
The DSL-builder <figref>7:00</figref> could create using the first data item, a person object, for example, "Tom Smith". The properties that define the object "Tom Smith" could further include: first name-value "Tom" name value "Smith" address value "123 Grand Avenue, New York NY," Phone-value "123-456 -7890 ", and SSN value" 999-88-7777. In addition, the address could be defined as a number value "123" street value "Grand Avenue" city value "New York", and the state value "NY".
In some embodiments, the DSL-builder <figref>7:00</figref> are generated using a dynamic language such as Groovy. Although Groovy supports internal (or embedded) DSL that for the DSL builder<figref>7:00</figref> is used, but other dynamic languages such as Python and Ruby, also support the embedded DSL. This dynamic languages allow an object method is invoked without the object method is defined, and the object can determine how the method call is handled. In other words, allows the DSL builder<figref>7:00</figref> a short name (z. B. "Name") that the actual name (z. B. "Objekt.Name") can be expanded. However, if the symbol in the DSL builder<figref>7:00</figref> is misspelled (z. B. "Namme"), or if the symbol does not correspond to ontology parameter in the ontology file (z. B. of the DSL builder <figref>7:00</figref> identified property type in the ontology file not defined or not permitted), then a validation error would (appear on the reference will be made later) during the debugging stage.
<figref><?page 7?>8th</figref> shows an exemplary embodiment of a software development environment <figref>800</figref>That is used for a debugging a transform script. Before debugging the transformation scripts, for example, the earlier on related<figref>2</figref> described scripts Telephone Transformer, the project should <figref>200</figref> in the software development environment <figref>800</figref> Loading. The debugging configurations for telephone Transformer script can allow the use of the help-core functions, such as a serialize () function and a function create builder () (z. B. DSL builder<figref>7:00</figref>).
A use of a DSL builder (for example, a Groovy builder) can provide the ability to accomplish a proactive debugging practice. A proactive debugging provides validation messages as they occur during the debugging process, as opposed to a supply of a sequence of errors after already a version of the transformation script (which already has the most, if not converted all data elements of the identified input data into elements of an object model ) is carried out. By providing a proactive debugging a user or developer can then correct the problem that caused the error message, and start again with the debugging of the script.
An advantage over earlier, a data integration large scale-containing models is that the embodiments of the present disclosure can prevent parsing and transforming large volumes of data is required, in which it can take, for example, four to six hours before the user finds out whether there are any errors and, if this is the case, finds out the types of error messages. After a Resolve any errors the user would then have the process of parsing and transforming the imported input data run through again, which may take another four to six hours before the user finds out whether any error messages occur during the second pass. Such a conventional debugging may require several passages before debugging the script is successfully carried out.
The embodiments described herein can overcome the inefficient procedure of the conventional debugging of transformation scripts by providing a proactive debugging of transformation scripts. As previously stated, error messages are displayed when they occur in a proactive debugging. For example, if an error occurs based on line 1 of an imported table, then an explicit result, for example, a displayed message, the user could be displayed after detecting this validation problem occurs in line. 1 This allows the user to correct the error that is related to the first row of the imported table, without having to go through the entire imported table, which, if not more, could involve hundreds of thousands of lines.
In some embodiments, for debugging a script any software development environment is needed. For example, can be done debugging in that is allowed to proceed via a command line script.
<figref>9</figref> is a flow diagram illustrating an exemplary method for validating a transformation proactive scripts. The transformation script provides functionality to transform large amounts of data elements from data sources in elements of an object model. Although the flow chart reveals the steps in a specific order, but it is understood that, where appropriate, at least laid some of the steps, modified or can be deleted.
At step <figref>902</figref> is associated with one or more ontology parameters a transformation script. In some embodiments, associating may be effected by the transformation script is associated with a configuration file that an ontology file (z. B. the ontology file<figref>310</figref>) Is identified, which has one or more ontology parameters. In some other embodiments, associating may take place by the ontology file is placed as the transformation script in the same directory. For example, correspond, as mentioned in the exemplary embodiments of<figref>2</figref> and <figref>3</figref> illustrated, the transformation scripts <figref>210</figref> of project <figref>200</figref> ontology file <figref>310</figref>That in the configuration file <figref>300</figref> of project <figref>200</figref> is identified. In some other embodiments, the associating occurs when the ontology file is called during the debugging of the transformation script (it is later in step<figref>904</figref> Referring). The in the ontology file<figref>310</figref> identified ontology parameters could then possibly on conditions in the transformation script <figref>210</figref> be applied.
<?page 8?>At step <figref>904</figref> is introduced to debug the transformation scripts. The debugging can be initiated by several means. For example, debugging can be initiated by means of a software development environment, for example, a software development environment<figref>800</figref>Previously with reference to <figref>8th</figref> has been described. Debugging can also be initiated by means of a command line.
At step <figref>906</figref> will be transformed input data from a data source imported. This input data can come from one or more data sources. The input data, structured data (for example, tables with rows and columns or CSV files, CSV = comma-separated value) or can unstructured data (for example, documents, e-mails, as well as PDF, PowerPoint and HTML files) , For example, the input data may include tables, which have hundreds of thousands of lines to be transformed.
At step <figref>908</figref> is made whether a condition in the transformation script on the ontology-based parameters is valid determination. The transformation script can include one or more conditions. For example, a builder (for example, a DSL builder<figref>7:00</figref>) An entity defined as an object (eg. B. Entität1 <figref>710</figref>), A property of this object as EntitätEigenschaft (z. <figref>715</figref>), And any links (z. B. Link <figref>730</figref>). Any definitions builder can then use one or more ontology parameters in the ontology file (z. B. the ontology file<figref>310</figref>) Are compared. Referring again to the aforementioned ontology "organization", if the builder an entity "organization" is defined as an object, then the condition (which defines that the entity "organization" an object is) determined in builders to be valid. If also defines the builder that an entity "welfare" a property of the entity "organization" is, the condition (which defines that the entity "organization" an object is) defined in the builder as valid. On the other hand defines the builder that "birth" a property of the object "organization", the condition is invalid. In addition, if the builders defined in incorrect way an object "Association" - instead of the correct object "organization", then goes fails this condition also, since ontology parameter object "Association" were not present.
If it is determined that the condition is not valid, at step <figref>918</figref> a message indicating that the condition is not valid, are displayed in a proactive manner. That is, the message may appear, was briefly determined after that the condition is not valid. For example, the message could be almost instantly appear seconds or minutes after determining. As indicated above, provides a proactive debugging, which provides proactive ads appropriate invalidation messages when they occur, the advantage that the user in debugging the code saves time, as this avoids a parsing and transforming large volumes of data must be carried out. In some embodiments, an explicit result is provided if it is determined that the condition is not valid. The explicit result can be accomplished by proactive display the message in the debugger, an e-mail, or a pop-up window, indicating that the condition is not valid, or may take place in any other manner that indicates that the condition is not valid. In addition, show that the condition is not valid, in that it displays an error message, an acronym, a number, a graphic and / or any other statement indicating that the condition is not valid, the explicit results.
If it is determined that the condition is valid, the method proceeds through a connection point <figref>910</figref>, to determine (<figref>912</figref>), Whether there are additional conditions in the transformation script. In some embodiments, an explicit result can be provided, which indicates that the condition is valid. The explicit result can be a message that is displayed in the debugger, an email or a pop-up window, and indicating that the condition is valid, and / or may be any other way, indicating that the valid condition. As previously indicated, the explicit result may indicate that the condition is valid, and indeed in that a validation message, an acronym, a figure, a graphic and / or any other indication is displayed, representing that the condition is valid , In some embodiments, an implicit result can be delivered. The conclusion may include implicit that the result of a valid condition in a file, a location, an e-mail is stored, and / or that does not indicate that the condition is valid. If the results are recorded, the recorded results a validation message, an acronym, a number, a graphic and / or any other indication may represent, showing that the condition is valid. If there are no additional conditions in the transformation script, debugging the script ends (<figref>914</figref>). In some embodiments, an explicit result can be provided, which indicates that the transformation script is valid.
On the other hand, if there are additional conditions in the transformation script, at step <figref>916</figref> a determination is made whether an additional condition in the transformation script is valid, namely <?page 9?>based on the ontology-parameters. The determining step<figref>916</figref> is similar to the determination step <figref>908</figref>, If it is determined that the condition is not valid, an explicit result can be supplied, for example, in this exemplary embodiment, a message indicating that the condition is displayed in a proactive manner. As previously indicated, the explicit result can be shown that the condition is not valid, namely the fact that an error message, an acronym, a figure, a graphic and / or any other indication is displayed, representing that the condition is not is valid.
On the other hand, passes through, if the condition is determined to be valid, the method includes the connection point <figref>910</figref> the determining step <figref>912</figref>, In some embodiments, an explicit result can be provided, which indicates that the condition is valid. The explicit result can be a message that is displayed in the debugger, an email or a pop-up window, and indicating that the condition is valid, and / or may be any other way, indicating that the valid condition. The explicit result can show that the condition is valid, namely the fact that a validation message, an acronym, a number, a graphic and / or any other indication appears, showing that the condition is valid. In addition, in some embodiments, an implicit result can be delivered. The conclusion may include implicit that the result of a valid condition in a file, a location, an e-mail is stored, and / or that does not indicate that the condition is valid. If the results are recorded, the recorded results a validation message, an acronym, a number, a graphic and / or any other indication may represent, showing that the condition is valid.
According to some embodiments, the operations described herein, methods, and / or components are implemented by one or more specialty computing devices. The specialty computing devices may be hard-wired to perform the operations described herein, methods and / or components, or they may include digital electronic devices such as one or more ASICs (application specific integrated circuits) or FPGAs (field-programmable gate arrays), the are persistent programmed to perform the operations described herein, methods, and / or components, or they may contain one or more Universal hardware processors that are programmed to such features of the present disclosure in accordance with program instructions in firmware, a RAM, a other storage device or a combination of these perform. In such special calculators and custom hard-wired logic circuits, ASICs, or FPGAs can be combined with custom programming to accomplish the method and other features of the present disclosure. The specialty computing devices may be desktop computer systems, portable computer systems, handheld devices, networking devices or any other device that hardwired logic and / or program logic includes, to implement the method and other features of the present disclosure.
The one or more computing devices may generally by operating system software such as iOS, Android, BlackBerry, Chrome OS, Windows XP, Windows Vista, Windows 7, Windows 8, Windows Server, Windows CE, Unix, Linux, SunOS, Solaris, VxWorks, or other compatible operating systems are controlled and coordinated. In further embodiments, the computing device can be controlled by a proprietary operating system. Conventional operating systems, which control, among other things, to execute calculation processes, and their timing, a memory management perform a file system, a network functionality, input / provide output services, and / or a user interface functionality such as a graphical user interface ( "GUI") provide.
is example <figref>10</figref> a block diagram illustrating an exemplary computer system <figref>1000</figref> represents. The computer system<figref>1000</figref> includes a bus <figref>1002</figref> or other communication mechanism for communicating information, and one or more hardware processors <figref>1004</figref>That the bus <figref>1002</figref> are connected to process information. One or more hardware processors<figref>1004</figref> For example, one or more general-purpose microprocessors be.
The computer system <figref>1000</figref> also includes a main memory <figref>1006</figref>, For example, a RAM (Random Access Memory) or other dynamic storage device, coupled to the bus <figref>1002</figref> is connected to store information and instructions by one or more processors <figref>1004</figref> are to be executed. The main memory<figref>1006</figref> can also be used to temporary variables or other intermediate information during execution of by one or more processors <figref>1004</figref> store instructions to be executed. make such statements when they are in non-transitory<?page 10?>Storage media are stored, the one or more processors <figref>1004</figref> are available, the computer system <figref>1000</figref> to a special machine that is customized to perform the specified in the instructions operations.
The computer system <figref>1000</figref> further includes a ROM (read only memory) <figref>1008</figref> or other static storage device coupled to bus <figref>1002</figref> is connected to static information and instructions for one or more processors <figref>1004</figref> save. A memory device<figref>1010</figref>Such as a magnetic disk, an optical disk or a USB stick (flash drive) etc., is provided and the bus <figref>1002</figref> connected to store information and instructions.
The computer system <figref>1000</figref> can via the bus <figref>1002</figref> with a display <figref>1012</figref> be connected, for example, a cathode ray tube (CRT) to display a user of a computer information. An input device<figref>1014</figref>That includes alphanumeric and other keys, is coupled to the bus <figref>1002</figref> connected to information and command selections to one or more processors <figref>1004</figref> to be transmitted. Another type of user input device is cursor control<figref>1016</figref>Such as a mouse, trackball, or cursor direction keys to one or more processors <figref>1004</figref> communicate direction information and command selections and cursor movement on the display device <figref>1012</figref> control. This input device typically has two degrees of freedom in two axes, a first axis (e.g., x) and a second axis (e.g., y), which allows the device to designate positions in a plane. In some embodiments, the same direction information and command selection can be implemented as a cursor control means receiving touches on a touch screen (touch screen) without a cursor.
The computer system <figref>1000</figref> may include a user interface module to implement a GUI that can be stored in a mass storage device as executable software code, which are executed by the one or more computing devices. These and other modules can, for example, components such as software components, object-oriented software components, class components and task components, processes, functions, attributes, procedures, subroutines, segments of program code, drivers, firmware, microcode, circuits, data, databases, data structures, tables, include fields and variables.
Generally refers to the word "module" as used herein to logic that is implemented in hardware or firmware, or a collection of software instructions, possibly having entry and exit points, and written in a programming language such as Java, Lua, C or C ++ are. A software module can be compiled and linked into an executable program, into a dynamic program library be built are written in an interpreted programming language such as BASIC, Perl or Python (Dynamic Link Library), or. It is understood that the software modules from other modules or from themselves can be called up, and / or they may be invoked in response to detected events or interrupts. Software modules that are configured to run on computing devices may be provided on a computer readable medium such as a CD (Compact Disk), a DVD (Digital Video Disk), a flash memory drive, a magnetic disk, or having any other tangible form medium, or as a digital download (and may be initially stored in a compressed or installable format that requires an install, decompress or decrypt before execution). Such software code may, partially or completely, to be stored on a memory device of the exporting computing device, for execution by the computing device. Software instructions may be embedded in firmware, for example an EPROM. It goes on to say that hardware modules may include associated logic units, such as gates (Gates) and flip-flops, and / or may include programmable units, such as programmable gate arrays (Gate Array) or processors. The modules or functionality of the computing device that are described herein are preferably implemented as software modules, but may be embodied in hardware or firmware. In general, the modules described herein relate to logical modules that can be combined with other modules or divided into sub-modules, regardless of their physical organization or its storage location.
In computer system <figref>1000</figref> the methods described herein and other features using custom hardwired logic circuits, one or more ASICs or FPGAs, firmware and / or program logic to be implemented, the cause or program in combination with the computer system, the computer system <figref>1000</figref> a special machine. According to some embodiments the methods described herein, and other features are the<?page 11?>computer system <figref>1000</figref> responsive performed thereon, that one or more processors <figref>1004</figref> one or more sequences of one or more in the main memory <figref>1006</figref> executes instructions. Such instructions may in the main memory<figref>1006</figref> from another memory medium, such as the storage device <figref>1010</figref>are read. An embodiment of the main memory<figref>1006</figref> Instruction sequences contained causing one or more processors <figref>1004</figref> carry out the process steps described herein. In alternative embodiments, hard-wired circuitry may be used instead of software instructions or in combination with these.
The term "non-transitory media" as used herein, refers to any media that store data and / or instructions that cause a machine to operate in a specific manner. Such non-transitory media may include non-volatile media and / or volatile media. Non-volatile media include, for example, optical or magnetic disks, a, for example, the storage device<figref>1010</figref>, Volatile media include dynamic memory, such as the main memory<figref>1006</figref> on. Common forms of non-transitory media include, for example, a floppy disk, a flexible disk, a hard disk, a semiconductor disk drive, a magnetic tape or any other magnetic data storage medium, a CD-ROM, any other optical data storage medium, any physical medium with patterns of holes, a RAM , a PROM, and EPROM, a flash-EPROM, NVRAM, and any other memory chip or cassette, as well as connected via the network versions of these.
Non-transitory media are different from transmission media, but may be used in conjunction with these. Transmission media are participating in a transfer of information between storage media. For example, transmission media includes coaxial cables, copper wire and fiber optics, including the wires that the bus<figref>1002</figref> includes. Transmission media can also take the form of acoustic or light waves, such as those generated during radio and infrared data communications.
Various forms of media may be involved in executing one or more sequences of one or more instructions by processor <figref>1004</figref> are to be executed. For example, the instructions may be stored on a magnetic disk or a semiconductor drive (solid-state drive) a remotely located computer initially. The remote computer can load the instructions into its dynamic memory and send the instructions over a telephone line using a modem. A computer system at the<figref>1000</figref> befindliches modem can receive the data on the telephone line and use an infrared transmitter to convert the data to an infrared signal. An infrared detector can receive the data carried in the infrared signal and appropriate circuitry can use the data on the bus<figref>1002</figref> lay. The bus<figref>1002</figref> conveys the data to main memory <figref>1006</figref>, From the one or more processors <figref>1004</figref> retrieve the instructions and execute. The from main memory<figref>1006</figref> received instructions can optionally in the memory device <figref>1010</figref> be stored either before or after execution by processor <figref>1004</figref>,
The computer system <figref>1000</figref> also includes a communication interface <figref>1018</figref>That the bus <figref>1002</figref> connected is. The communication interface<figref>1018</figref> provides a two-way data communication connection to a network link <figref>1020</figref> provided that a local area network <figref>1022</figref> connected is. For example, a communication interface<figref>1018</figref> be an ISDN card (ISDN = Integrated Services Digital Network), a cable modem, a satellite modem, or a modem to provide a data communication connection to a corresponding type of telephone line. As another example, a communication interface<figref>1018</figref> be a LAN card (LAN = Local Area Network) to provide a data communication connection to a compatible LAN. It is also possible wireless connections are implemented. In any such implementation, transmits and receives a communication interface<figref>1018</figref> electrical, electromagnetic or optical signals that carry digital data streams representing various types of information.
The network link <figref>1020</figref> typically provides a data communication to other data devices via one or more networks. For example, the network link<figref>1020</figref> over a local network <figref>1022</figref> a connection to a host computer <figref>1024</figref> provide or to data equipment operated by an Internet Service Provider (ISP) <figref>1026</figref> operate. The ISP<figref>1026</figref> in turn provides data communication services through the world wide packet data communication network ready, the now commonly referred to as "Internet" <figref>1028</figref> referred to as. Both the local network<figref>1022</figref> and the web <figref>1028</figref> use electrical, electromagnetic or optical signals that can carry digital data streams. The current signals through the various networks and the signals on network the<?page 12?>link <figref>1020</figref> and the communication interface <figref>1018</figref> run, which the digital data to the computer system <figref>1000</figref> back and carry away from, are exemplary forms of transmission media.
The computer system <figref>1000</figref> can send messages and data, including program code received, via the / the network (s), the network link <figref>1020</figref> and the communication interface <figref>1018</figref>, In the example of the Internet could be a server<figref>1030</figref> a requested code for an application program through Internet <figref>1028</figref>, The ISP <figref>1026</figref>, The local area network <figref>1022</figref> and the communication interface <figref>1018</figref> send.
The received code may by one or more processors <figref>1004</figref> be carried out, namely unchanged as received, and / or it may in the storage device <figref>1010</figref> or other non-volatile storage for later execution are stored.
In the foregoing description, embodiments of the invention with reference to numerous specific details have been described that may vary from implementation to implementation. Certain adaptations and modifications of the embodiments described can be made. Other embodiments will be apparent to those skilled from consideration of the specification and practice of the disclosed embodiments shown. The description and examples are as exemplary only, with a true scope and spirit is given to the invention by the following claims. The sequence of steps shown in the drawings should be understood as merely exemplary, and should not be limited to any particular sequence of steps. These steps may therefore be appreciated by those skilled, are performed as required in a different or modified order.
<?page 13?>QUOTES INCLUDED IN THE DESCRIPTION
This list of references cited by the applicant is generated automatically and is included solely to inform the reader. The list is not part of the German patent or utility model application. The DPMA assumes no responsibility for errors or omissions.
Cited patent literature
<ul list-style="bullet"><li>US 7962495 <b>[0022]</b></li></ul>
13 sheets
Sheet 1 Sheet 2 Sheet 3 Sheet 4 Sheet 5 Sheet 6 Sheet 7 Sheet 8 Sheet 9 Sheet 10 Sheet 11 Sheet 12 Sheet 13
Every citation, both ways
| Document | Relation | Office | Cited during |
|---|---|---|---|
| US10853378B1 | Cited by | United States of America | Applicant |
| US10846300B2 | Cited by | United States of America | Applicant |
| US10698938B2 | Cited by | United States of America | Applicant |
| US11416512B2 | Cited by | United States of America | Applicant |
| US10191926B2 | Cited by | United States of America | Applicant |
| US10872067B2 | Cited by | United States of America | Applicant |
| US9965534B2 | Cited by | United States of America | Applicant |
| US11768851B2 | Cited by | United States of America | Applicant |
| US10482099B2 | Cited by | United States of America | Applicant |
| US10691729B2 | Cited by | United States of America | Applicant |
| US9996595B2 | Cited by | United States of America | Applicant |
| US10248722B2 | Cited by | United States of America | Applicant |
| US11741166B2 | Cited by | United States of America | Applicant |
| US11080296B2 | Cited by | United States of America | Applicant |
| US10102229B2 | Cited by | United States of America | Applicant |
| US9727560B2 | Cited by | United States of America | Applicant |
| CN111368512A | Cited by | China | Search report |
| US10853338B2 | Cited by | United States of America | Applicant |
| US10699071B2 | Cited by | United States of America | Applicant |
| US9984152B2 | Cited by | United States of America | Applicant |
| US11106638B2 | Cited by | United States of America | Applicant |
| US10891312B2 | Cited by | United States of America | Applicant |
| US10311081B2 | Cited by | United States of America | Applicant |
| US10776382B2 | Cited by | United States of America | Applicant |
| US11301499B2 | Cited by | United States of America | Applicant |
| US10007674B2 | Cited by | United States of America | Applicant |
| US9946738B2 | Cited by | United States of America | Applicant |
| US9898167B2 | Cited by | United States of America | Applicant |
| US12079456B2 | Cited by | United States of America | Applicant |
| US9946777B1 | Cited by | United States of America | Applicant |
| USRE48589E | Cited by | United States of America | Applicant |
| US9836523B2 | Cited by | United States of America | Applicant |
| US9201920B2 | Cited by | United States of America | Applicant |
| US9483506B2 | Cited by | United States of America | Applicant |
| US10809888B2 | Cited by | United States of America | Applicant |
| US10956406B2 | Cited by | United States of America | Applicant |
| US11461355B1 | Cited by | United States of America | Applicant |
| US10474326B2 | Cited by | United States of America | Applicant |
| US9922108B1 | Cited by | United States of America | Applicant |
| US10120857B2 | Cited by | United States of America | Applicant |
| US10956508B2 | Cited by | United States of America | Applicant |
| US10909159B2 | Cited by | United States of America | Applicant |
| US9740369B2 | Cited by | United States of America | Applicant |
| US10803106B1 | Cited by | United States of America | Applicant |
| US9229952B1 | Cited by | United States of America | Applicant |
| US10754822B1 | Cited by | United States of America | Applicant |
| US7962495B2 | Cites | United States of America | Applicant |
15 members in 6 offices
Priority claims10
| Document | Office | Kind | Date |
|---|---|---|---|
| 201361801222 | United States of America | P | |
| 201361801222 | United States of America | P | |
| 61801222 | United States of America | – | |
| 14044800 | United States of America | – | |
| 201314044800 | United States of America | A | |
| 201314044800 | United States of America | A | |
| 14044800 | – | – | – |
| 61801222 | – | – | – |
| US201314044800 | – | – | – |
| US201361801222P | – | – | – |
Members15
| Document | Office | Kind | |
|---|---|---|---|
| GB201404479D0 | United Kingdom | D0 | |
| CA2845920A1 | Canada | A1 | |
| NL2012434A | Netherlands (Kingdom of the) | A | |
| DE102014204840A1This record | Germany | A1 | |
| US2014282409A1 | United States of America | A1 | |
| AU2014201573A1 | Australia | A1 | |
| GB2513007A | United Kingdom | A | |
| US8930897B2 | United States of America | B2 | |
| US2015100559A1 | United States of America | A1 | |
| NL2012434B1 | Netherlands (Kingdom of the) | B1 | |
| US9984152B2 | United States of America | B2 | |
| US2018300402A1 | United States of America | A1 | |
| US10572529B2 | United States of America | B2 | |
| US2020233889A1 | United States of America | A1 | |
| US11100154B2 | United States of America | B2 |
2 legal events, as the office reported them to INPADOC
Over the term
Point at a mark for the eventEvents
| Event | Code | |
|---|---|---|
| Application deemed withdrawn due to failure to request examinationWithdrawnR005 | R005 | |
| Amendment of ipc main classPREVIOUS MAIN CLASS: G06F0017270000R079 | R079 |
Numbers
- Publication
- 102014204840
- Publication, DOCDB
- 102014204840
- Publication, EPODOC
- DE102014204840
- Application
- 10204840
- Application, DOCDB
- 102014204840
- Application, EPODOC
- DE201410204840
Titles2
- German
- Verbessertes Datenintegrationswerkzeug
- English
- Improved data integration tool
Classification
- CPC, 8
- G06F11/362
- G06F16/901
- G06F40/154
- G06F40/226
- G06F40/143
- G06F16/289
- G06F16/367
- G06F16/254
- IPC, 3
- G06F17 27
- G06F11 36
- G06F40 143