DE102014213036A1 - Data Quality Monitors - Google Patents

Data Quality Monitors Download PDF

Info

Publication number
DE102014213036A1
DE102014213036A1 DE102014213036.0A DE102014213036A DE102014213036A1 DE 102014213036 A1 DE102014213036 A1 DE 102014213036A1 DE 102014213036 A DE102014213036 A DE 102014213036A DE 102014213036 A1 DE102014213036 A1 DE 102014213036A1
Authority
DE
Germany
Prior art keywords
objects
data quality
properties
data
computer
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
DE102014213036.0A
Other languages
German (de)
Inventor
Malina Kirn
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Palantir Technologies Inc
Original Assignee
Palantir Technologies Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US13/935,861 external-priority patent/US8601326B1/en
Application filed by Palantir Technologies Inc filed Critical Palantir Technologies Inc
Publication of DE102014213036A1 publication Critical patent/DE102014213036A1/en
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/904Browsing; Visualisation therefor

Abstract

Systeme und Verfahren für ein Datenqualitätsmonitoring werden präsentiert. Datenqualitätsmonitore können erzeugt und konfiguriert werden, um Objekte mit spezifizierten Datenqualitätsproblemen und/oder Eigenschaftswerten zu identifizieren. Durch einen Datenqualitätsmonitor identifizierte Objekte können Benutzern zur Bestätigung und Auflösung präsentiert werden. Eigenschaften, die vom Datenqualitätsmonitor verwendet werden, um ein Abgleichen mit Objekten durchzuführen, können Benutzern ebenfalls angezeigt werden.Systems and methods for data quality monitoring are presented. Data quality monitors can be created and configured to identify objects with specified data quality issues and / or property values. Objects identified by a data quality monitor can be presented to users for confirmation and resolution. Properties used by the Data Quality Monitor to match objects can also be displayed to users.

Description

Diese Anmeldung beansprucht die Priorität der U.S.-Patentanmeldung Nr. 13/935,861, eingereicht am 5. Juli 2013 und erteilt als U.S.-Patent Nr. 8,601,326 , sowie der US-Patentanmeldung Nr. 14/094,418, eingereicht am 2. Dezember 2013, wobei die gesamte Offenbarung jedes/jeder dieser früheren Patente bzw. Anmeldungen hiermit durch Bezugnahme vollinhaltlich in das vorliegende Dokument aufgenommen wird.This application claims the benefit of US Patent Application No. 13 / 935,861 filed on Jul. 5, 2013 and assigned to U.S. Patent No. 8,601,326 and U.S. Patent Application No. 14 / 094,418, filed December 2, 2013, the entire disclosure of each of these earlier patents and applications hereby being incorporated by reference in its entirety herein.

Die vorliegende Offenbarung betrifft Systeme und Verfahren zum Datenqualitätsmonitoring. Insbesondere ein Identifizieren und Auflösen von Datenqualitätsproblemen, und ein Präsentieren von Daten mit möglichen Qualitätsproblemen zur Bestätigung und Auflösung durch einen Benutzer.The present disclosure relates to systems and methods for data quality monitoring. In particular, identifying and resolving data quality issues, and presenting data with potential quality issues for confirmation and resolution by a user.

Eine herkömmliche automatisierte Datenintegration kann zu verschiedenen Datenqualitätsproblemen führen. Automatische Skripte für ein Auffinden und Auflösen derartiger Datenqualitätsprobleme können weitere Datenqualitätsprobleme erzeugen.Conventional automated data integration can lead to various data quality issues. Automatic scripts for finding and resolving such data quality problems can create further data quality problems.

Es besteht ein Bedarf, ein Identifizieren und ein Monitoring von Datenqualitätsproblemen in automatischer und intelligenter Weise durchzuführen.There is a need to identify and monitor data quality problems in an automated and intelligent manner.

Die Erfindung ist in den unabhängigen Ansprüchen dargelegt. Die abhängigen Ansprüche betreffen optionale Merkmale einiger Ausführungsformen der Erfindung.The invention is set forth in the independent claims. The dependent claims relate to optional features of some embodiments of the invention.

Gemäß einem Aspekt ist ein Computersystem so konfiguriert, dass es einen oder mehrere Computerprozessoren und eine in greifbarer Form vorliegende Speichervorrichtung beinhaltet, die eines oder mehrere Module speichert, welche für eine Ausführung durch den einen oder die mehreren Computerprozessoren konfiguriert sind, um: Durch das Computersystem eine Auswahl eines Objekttyps, der einem Monitoring auf mögliche Datenqualitätsprobleme zu unterziehen ist, zu empfangen; durch das Computersystem eine Auswahl von einem oder mehreren Datenqualitätskriterien zu empfangen; mögliche Datenqualitätsprobleme durch Durchsuchen von Daten, die mit einer Mehrzahl von Datenbankobjekten des gewählten Objekttyps assoziiert sind, zu bestimmen, um zu bestimmen, ob bei dem gewählten einen oder den gewählten mehreren Datenqualitätskriterien eine Übereinstimmung mit jeweiligen Objekten vorliegt; eine Benutzerschnittstelle zu erzeugen, welche die möglichen Datenqualitätsprobleme jeweiliger Objekte angibt, die mit dem gewählten einen oder den gewählten mehreren Datenqualitätskriterien übereinstimmen, und die eine oder mehrere Eigenschaften der übereinstimmenden Objekte beinhaltet; von einem Benutzer der Rechnerumgebung eine Angabe zu empfangen, wie die möglichen Datenqualitätsprobleme aufzulösen sind; und die angegebene Auflösung zu implementieren.In one aspect, a computer system is configured to include one or more computer processors and a tangible storage device that stores one or more modules configured for execution by the one or more computer processors to: The computer system receive a selection of an object type to be monitored for potential data quality issues; receive by the computer system a selection of one or more data quality criteria; determine possible data quality problems by searching data associated with a plurality of database objects of the selected object type to determine if the selected one or more data quality criteria are matched with respective objects; create a user interface that indicates the possible data quality problems of respective objects that match the selected one or more data quality criteria and that includes one or more properties of the matching objects; receive from a user of the computing environment an indication of how to resolve the potential data quality issues; and implement the specified resolution.

Bei einigen Ausführungsformen ist der Datenqualitätsmonitortyp einer von: Mögliche doppelte Objekte, fehlende Eigenschaften, mehrere Werte aufweisende Eigenschaften, ungeparste Eigenschaften, unzulässige Aufzählungen, Verletzungen des Wertebereichs und Verletzungen des Datenbereichs. Bei einigen Ausführungsformen handelt es sich bei dem Datenqualitätsmonitortyp um „Mögliche doppelte Objekte”, und das Bestimmen von Objekten, die mögliche Datenqualitätsprobleme haben, umfasst weiter, jeweilige Objekte zu identifizieren, die jeweils gemeinsame Eigenschaftswerte für eine vorbestimmte Wertangabe der ausgewählten einen oder der ausgewählten mehreren Eigenschaften aufweisen. Bei einigen Ausführungsformen umfasst die Angabe, wie das mögliche Datenqualitätsproblem aufzulösen ist, das Angeben von zwei oder mehr Objekten mit möglichen Datenqualitätsproblemen, die Duplikate sind; und das Implementieren der angegebenen Auflösung umfasst, dass die zwei oder mehr angegebenen Objekte zu einem einzigen Objekt kombiniert werden. Bei einigen Ausführungsformen geben die eine oder die mehreren Eigenschaften der Objekte mit möglichen Datenqualitätsproblemen eine Anzahl der jeweiligen identifizierten Objekte an, welche die ausgewählte eine oder die ausgewählten mehreren Eigenschaftswerte gemeinsam haben. Bei einigen Ausführungsformen ist der Datenqualitätsmonitortyp „Fehlende Eigenschaften”; und das Bestimmen von Objekten, die mögliche Datenqualitätsprobleme haben, umfasst weiter, dass jeweilige Objekte identifiziert werden, denen eine vorbestimmte von der ausgewählten einen oder den ausgewählten mehreren Eigenschaften fehlt.In some embodiments, the data quality monitor type is one of: possible duplicate objects, missing properties, multi-valued properties, unpaired properties, invalid enumerations, violations of the range of values, and violations of the data area. In some embodiments, the data quality monitor type is "Possible Duplicate Objects," and determining objects that have potential data quality problems further includes identifying respective objects that each have common property values for a predetermined value of the selected one or more Have properties. In some embodiments, the indication of how to resolve the potential data quality problem includes specifying two or more objects with potential data quality issues that are duplicates; and implementing the specified resolution involves combining the two or more specified objects into a single object. In some embodiments, the one or more properties of the objects having potential data quality problems indicate a number of the respective identified objects that share the selected one or more property values. In some embodiments, the data quality monitor type is Missing Properties; and determining objects that have potential data quality problems further comprises identifying respective objects that lack a predetermined one of the selected one or more properties.

Bei einigen Ausführungsformen ist der Datenqualitatsmonitortyp „Mehrere Werte aufweisende Eigenschaften”; und das Bestimmen von Objekten, die mögliche Datenqualitätsprobleme haben, umfasst weiter, dass jeweilige Objekte identifiziert werden, die mehrere Werte für einzelne von der ausgewählten einen oder den ausgewählten mehreren Eigenschaften aufweisen. Bei einigen Ausführungsformen umfasst die Angabe, wie das mögliche Datenqualitätsproblem aufzulösen ist, ein Angeben von einem von den mehreren Werten, der korrekt ist; und das Implementieren der angegebenen Auflösung umfasst weiter, dass alle von den mehreren Werten entfernt werden, abgesehen von dem angegebenen einen oder den angegebenen mehreren Werten, der korrekt ist. Bei einigen Ausführungsformen ist der Datenqualitätsmonitortyp „Ungeparste Eigenschaften”; und das Bestimmen von Objekten, die mögliche Datenqualitätsprobleme haben, umfasst weiter, dass jeweilige Objekte identifiziert werden, die Eigenschaftswerte für eine oder mehrere von der ausgewählten einen oder den ausgewählten mehreren Eigenschaften haben, die ungeparste Daten beinhalten.In some embodiments, the data quality monitor type is multi-value properties; and determining objects that have potential data quality problems further comprises identifying respective objects having multiple values for individual ones of the selected one or more selected properties. In some embodiments, the indication of how to resolve the potential data quality problem comprises indicating one of the multiple values that is correct; and implementing the specified resolution further includes removing all of the multiple values, except for the specified one or more specified values, which is correct. In some embodiments, the data quality monitor type is "Unstable Properties"; and determining objects that have potential data quality problems further comprises identifying respective objects that have property values for one or more of the selected one or more have the selected multiple properties that contain unpaired data.

Bei einigen Ausführungsformen ist der Datenqualitätsmonitortyp „Unzulässige Aufzählungen”; und das Bestimmen von Objekten, die mögliche Datenqualitätsprobleme haben, umfasst weiter, dass jeweilige Objekte identifiziert werden, die Eigenschaftswerte für eine oder mehrere von der ausgewählten einen oder den ausgewählten mehreren Eigenschaften haben, die unzulässige Aufzählungen beinhalten. Bei einigen Ausführungsformen ist der Datenqualitätsmonitortyp „Verletzung des Wertebereichs”; und das Bestimmen von Objekten, die mögliche Datenqualitätsprobleme haben, umfasst weiter, dass jeweilige Objekte identifiziert werden, die Eigenschaftswerte haben, welche einen zulässigen Wertebereich für die jeweilige gewählte Eigenschaft verletzen. Bei einigen Ausführungsformen ist der Datenqualitätsmonitortyp „Verletzung des Datenbereichs”; und das Bestimmen von Objekten, die mögliche Datenqualitätsprobleme haben, umfasst weiter, dass jeweilige Objekte identifiziert werden, die Eigenschaftswerte haben, welche einen zulässigen Datenbereich für die jeweilige gewählte Eigenschaft verletzen. Bei einigen Ausführungsformen weist das Computersystem weiter auf, dass eine Auswahl von einem oder mehreren Objekttypen empfangen wird, mit denen der ausgewählte Objekttyp assoziiert sein muss, um in die durchsuchte Mehrzahl von Objekten inkludiert zu werden. Bei einigen Ausführungsformen weist das Computersystem weiter auf, dass einer oder mehrere Boolesche Operatoren für die ausgewählte eine oder die ausgewählten mehreren Eigenschaften und/oder eine Angabe empfangen wird/werden, wie viele von der ausgewählten einen oder den ausgewählten mehreren Eigenschaften erforderlich sind, um die jeweiligen Objekte als Objekte zu identifizieren, die mögliche Datenqualitätsprobleme haben.In some embodiments, the data quality monitor type is "improper enumeration"; and determining objects that have potential data quality problems further comprises identifying respective objects that have property values for one or more of the selected one or more selected properties that include improper enumerations. In some embodiments, the data quality monitor type is violation of the range of values; and determining objects that have potential data quality problems further comprises identifying respective objects having property values that violate an allowable range of values for the respective selected property. In some embodiments, the data quality monitor type is "data area violation"; and determining objects that have potential data quality problems further comprises identifying respective objects having property values that violate an allowable data range for the respective selected property. In some embodiments, the computer system further comprises receiving a selection of one or more object types with which the selected object type must be associated to be included in the searched plurality of objects. In some embodiments, the computer system further comprises receiving one or more Boolean operators for the selected one or more of the selected properties and / or an indication of how many of the selected one or more selected properties are required to perform Identify respective objects as objects that have potential data quality issues.

Gemäß einem weiteren Aspekt umfasst ein computerimplementiertes Verfahren, gesteuert durch ein Computersystem, das einen oder mehrere physische Prozessoren aufweist und konfiguriert ist, große Mengen an Daten zu verarbeiten: Empfangen, durch das Rechnersystem, einer Auswahl eines Objekttyps, bei dem ein Monitoring auf mögliche Datenqualitätsprobleme durchzuführen ist; Empfangen, durch das Rechnersystem, einer Auswahl eines Datenqualitätsmonitortyps; Empfangen, durch das Rechnersystem, einer Auswahl von einer oder mehreren Eigenschaften von Objekten des ausgewählten Objekttyps; Bestimmen von Objekten, die mögliche Datenqualitätsprobleme aufweisen, und zwar mittels Durchsuchen von Daten, die mit einer Mehrzahl von Objekten des ausgewählten Objekttyps assoziiert sind, um jeweilige Objekte aufzufinden, die mit der ausgewählten einen oder den ausgewählten mehreren Eigenschaften übereinstimmen; Erzeugen einer Benutzerschnittstelle, welche die Objekte angibt, die mögliche Datenqualitätsprobleme aufweisen, und die eine oder mehrere Eigenschaften der Objekte beinhalten, welche mögliche Datenqualitätsprobleme aufweisen; Empfangen, durch das Rechnersystem, einer Angabe, wie die möglichen Datenqualitätsprobleme aufzulösen sind; und Implementieren der angegebenen Auflösung. Bei einigen Ausführungsformen ist der Datenqualitätsmonitortyp einer von: Mögliche doppelte Objekte, fehlende Eigenschaften, mehrere Werte aufweisende Eigenschaften, ungeparste Eigenschaften, unzulässige Aufzählungen, Verletzungen des Wertebereichs und Verletzungen des Datenbereichs. Bei einigen Ausführungsformen umfasst das computerimplementierte Verfahren weiter, dass einer oder mehrere Boolesche Operatoren für die ausgewählte eine oder die ausgewählten mehreren Eigenschaften und/oder eine Angabe empfangen wird, wie viele von der ausgewählten einen oder den ausgewählten mehreren Eigenschaften erforderlich sind, um die jeweilige Objekte als Objekte zu identifizieren, die mögliche Datenqualitätsprobleme haben.In another aspect, a computer-implemented method controlled by a computer system having one or more physical processors and configured to process large amounts of data includes: receiving, by the computer system, a selection of an object type, monitoring for potential data quality issues to be carried out; Receiving, by the computer system, a selection of a data quality monitor type; Receiving, by the computer system, a selection of one or more properties of objects of the selected object type; Determining objects having potential data quality problems by searching data associated with a plurality of objects of the selected object type to locate respective objects that match the selected one or more properties; Generating a user interface that identifies the objects that have potential data quality problems and that includes one or more properties of the objects that have potential data quality problems; Receiving, by the computer system, an indication of how the potential data quality problems are to be resolved; and implementing the specified resolution. In some embodiments, the data quality monitor type is one of: possible duplicate objects, missing properties, multi-valued properties, unpaired properties, invalid enumerations, violations of the range of values, and violations of the data area. In some embodiments, the computer-implemented method further comprises receiving one or more Boolean operators for the selected one or more selected properties and / or an indication of how many of the selected one or more selected properties are required for the respective objects to identify as objects that have potential data quality issues.

Gemäß einem weiteren Aspekt ist ein nicht-transitorisches computerlesbares Speichermedium offenbart, das computerausführbare Anweisungen speichert, die konfiguriert sind, um ein Rechnersystem anzuweisen, um: Eine Auswahl eines Objekttyps, der einem Monitoring auf mögliche Datenqualitätsprobleme zu unterziehen ist, zu empfangen; eine Auswahl von einem oder mehreren Datenqualitätskriterien zu empfangen; mögliche Datenqualitätsprobleme durch Durchsuchen von Daten, die mit einer Mehrzahl von Datenbankobjekten des gewählten Objekttyps assoziiert sind, zu bestimmen, um zu bestimmen, ob bei dem gewählten einen oder den gewählten mehreren Datenqualitätskriterien eine Übereinstimmung mit jeweiligen Objekte vorliegt; eine Benutzerschnittstelle zu erzeugen, welche die möglichen Datenqualitätsprobleme jeweiliger Objekte angibt, die mit dem gewählten einen oder den gewählten mehreren Datenqualitätskriterien übereinstimmen, und die eine oder mehrere Eigenschaften der übereinstimmenden Objekte beinhaltet; von einem Benutzer der Rechnerumgebung eine Angabe zu empfangen, wie die möglichen Datenqualitätsprobleme aufzulösen sind; und die angegebene Auflösung zu implementieren. Bei einigen Ausführungsformen ist der Datenqualitätsmonitortyp einer von: Mögliche doppelte Objekte, fehlende Eigenschaften, mehrere Werte aufweisende Eigenschaften, ungeparste Eigenschaften, unzulässige Aufzählungen, Verletzungen des Wertebereichs und Verletzungen des Datenbereichs. Bei einigen Ausführungsformen weist das nicht-transisorische computerlesbare Speichermedium weiter auf: Empfangen einer Auswahl von einem oder mehreren Objekttypen, mit denen der ausgewählte Objekttyp assoziiert sein muss, um in die durchsuchte Mehrzahl von Objekten inkludiert zu werden.In another aspect, there is disclosed a non-transitory computer-readable storage medium storing computer-executable instructions configured to instruct a computer system to: receive a selection of an object type to be monitored for potential data quality problems; receive a selection of one or more data quality criteria; determine possible data quality problems by searching data associated with a plurality of database objects of the selected object type to determine whether the selected one or more data quality criteria are matched with respective objects; create a user interface that indicates the possible data quality problems of respective objects that match the selected one or more data quality criteria and that includes one or more properties of the matching objects; receive from a user of the computing environment an indication of how to resolve the potential data quality issues; and implement the specified resolution. In some embodiments, the data quality monitor type is one of: possible duplicate objects, missing properties, multi-valued properties, unpaired properties, invalid enumerations, violations of the range of values, and violations of the data area. In some embodiments, the non-transisional computer-readable storage medium further comprises: receiving a selection of one or more object types with which the selected object type must be associated to be included in the searched plurality of objects.

1 zeigt eine Ausführungsform eines Datenbanksystems unter Verwendung einer Ontologie. 1 shows an embodiment of a database system using an ontology.

2 zeigt eine Ausführungsform eines Verfahrens zur Erzeugung von Person-Objekten mit Eigenschaften aus mehreren Datenquellen. 2 shows an embodiment of a method for generating person objects with properties from multiple data sources.

3 zeigt eine Ausführungsform eines Systems zur Erzeugung von Daten in einem Datenspeicher (Data Store) unter Verwendung einer dynamischen Ontologie. 3 shows an embodiment of a system for generating data in a data store using a dynamic ontology.

4A zeigt eine beispielhafte Benutzerschnittstelle, die Beziehungen verwendet, welche in einem eine dynamische Ontologie verwendenden Datenspeicher (Data Store) beschrieben sind. 4A FIG. 12 shows an example user interface that uses relationships described in a data store using a dynamic ontology. FIG.

4B zeigt eine Benutzerschnittstelle, die konfiguriert ist, um vom Benutzer gewählte Kriterien für einen Datenqualitätsmonitor zu empfangen, gemäß einer Ausführungsform. 4B FIG. 12 shows a user interface configured to receive user-selected criteria for a data quality monitor, according to an embodiment.

5A zeigt eine beispielhafte Schnittstelle, die konfiguriert ist, um Benutzern zu ermöglichen, Kriterien für einen „Doppelte Objekte”-Datenqualitätsmonitor zu erstellen. 5A FIG. 12 shows an exemplary interface configured to allow users to create criteria for a "Duplicate Objects" data quality monitor.

5B zeigt möglicherweise doppelt vorhandene Objekte, die durch ein Datenqualitätsmonitorsystem identifiziert werden. 5B may show duplicate objects identified by a data quality monitor system.

5C zeigt eine beispielhafte Benutzerschnittstelle, die konfiguriert ist, um Benutzern zu ermöglichen, zusätzliche Daten zu überprüfen, die in Bezug zu identifizierten möglicherweise doppelt vorhandenen Objekten stehen, und zu bestimmen, ob die Objekte doppelt vorhanden sind und eine Auflösung erfolgen sollte. 5C FIG. 12 shows an exemplary user interface configured to allow users to review additional data related to identified potentially duplicate objects and to determine if the objects are duplicated and should be exploded.

5D zeigt eine beispielhafte Benutzerschnittstelle, bei der für möglicherweise doppelt vorhandene Objekte eine Auflösung erfolgt ist und Ergebnisse der Auflösung angezeigt werden. 5D shows an exemplary user interface in which for potentially duplicate objects, a resolution has been made and results of the resolution are displayed.

6 ist ein Ablaufdiagramm, das eine erläuternde Operation eines Identifizieren, Bestätigens und Entfernen oder Auflösens von doppelten Objekten darstellt. 6 Fig. 10 is a flowchart illustrating an illustrative operation of identifying, confirming and removing or resolving duplicate objects.

7 ist ein Ablaufdiagramm, das einen erläuternden Prozess eines Erzeugens und Ausführens von Datenqualitätsmonitoren darstellt, basierend auf empfangenen Datenqualitätskriterien. 7 FIG. 10 is a flowchart illustrating an illustrative process of generating and executing data quality monitors based on received data quality criteria.

8A zeigt eine beispielhafte Benutzerschnittstelle, die einem Benutzer ermöglicht, Kriterien für einen Datenqualitätsmonitor auszuwählen. 8A shows an example user interface that allows a user to select criteria for a data quality monitor.

8B zeigt eine weitere beispielhafte Benutzerschnittstelle, bei der ein Benutzer einen „Möglicherweise doppelt vorhandene Personen”-Monitor konfiguriert hat, um sowohl nach Person-Objekten als auch Fall-Objekten zu suchen. 8B Figure 11 shows another example user interface in which a user has configured a "possibly duplicate" person to search for both Person objects and Case objects.

8C zeigt eine beispielhafte Benutzerschnittstelle, bei der eine Gruppe von möglicherweise doppelten Person-Objekten angezeigt werden und Eigenschaften dieser Person-Objekte dargestellt werden. 8C shows an exemplary user interface in which a group of possibly duplicate person objects are displayed and properties of these person objects are displayed.

9 zeigt eine beispielhafte Benutzerschnittstelle, bei der ein Benutzer einen „Fehlende Eigenschaften”-Monitor ausgewählt hat und ihm beispielhaften Objekteigenschaften angeboten werden, die für ein Monitoring auszuwählen sind. 9 FIG. 12 shows an exemplary user interface in which a user has selected a "Missing Properties" monitor and is presented with exemplary object properties to be selected for monitoring.

10 zeigt eine beispielhafte Benutzerschnittstelle, die mehrere Fall-Objekte anzeigt, die bei Ausführung eines „Fehlende Eigenschaften”-Monitor identifiziert wurden. 10 FIG. 12 shows an exemplary user interface displaying a plurality of case objects identified upon execution of a "Missing Properties" monitor.

11 zeigt ein Computersystem, mit dem gewisse hier erörterte Methoden und Module implementiert werden können. 11 shows a computer system with which certain methods and modules discussed herein can be implemented.

Definitionendefinitions

Um ein Verständnis der hier erläuterten Systeme und Verfahren zu erleichtern, wird nachfolgend eine Reihe von Begriffen definiert. Die nachfolgend definierten Begriffe sowie weitere hier verwendete Begriffe sollten so verstanden werden, dass sie die gelieferten Definitionen, die üblicherweise gebräuchliche Bedeutung der Begriffe und/oder jegliche andere implizierte Bedeutung der jeweiligen Begriffe beinhaltet. Somit schränken die nachfolgenden Definitionen die Bedeutung dieser Begriffe nicht ein, sondern liefern lediglich beispielhafte Definitionen.To facilitate an understanding of the systems and methods discussed herein, a number of terms are defined below. The terms defined below, as well as other terms used herein, should be understood to include the definitions provided, the conventionally common meaning of the terms, and / or any other implied meaning of the terms. Thus, the following definitions do not limit the meaning of these terms, but merely provide exemplary definitions.

Ontologie: Gespeicherte Information, die ein Datenmodell zur Speicherung von Daten in einer oder mehreren Datenbanken liefert. Beispielsweise können die gespeicherten Daten Definitionen für Objekttypen und Eigenschaftstypen für Daten in einer Datenbank beinhalten, sowie dafür, wie Objekte und Eigenschaften in Beziehung stehen können.Ontology: Stored information that provides a data model for storing data in one or more databases. For example, the stored data may include definitions for object types and property types for data in a database, as well as how objects and properties may be related.

Datenbank: Ein weit gefasster Begriff für jegliche Datenstruktur zum Speichern und/oder Organisieren von Daten, einschließlich, jedoch nicht eingeschränkt auf, unter anderem, relationale Datenbanken (Oracle-Datenbank, mySQL-Datenbank, etc.), Kalkulationstabellen (Spreadsheets), XML-Dateien und Textdateien.Database: A broad term for any data structure for storing and / or organizing data, including, but not limited to, relational databases (Oracle database, mySQL database, etc.), Spreadsheets, XML Files and text files.

Datenobjekt oder Objekt: Ein Datencontainer für Information, die spezifische Dinge in der Welt darstellt, welche eine Reihe von definierbaren Eigenschaften haben. Beispielsweise kann ein Datenobjekt eine Entität repräsentieren, beispielsweise eine Person, einen Platz, eine Organisation, ein Marktinstrument oder dergleichen. Ein Datenobjekt kann ein Ereignis repräsentieren, das zu einem Zeitpunkt oder während einer Zeitdauer stattfindet. Ein Datenobjekt kann ein Dokument oder eine andere unstrukturierte Datenquelle repräsentieren, beispielsweise eine E-Mail-Nachricht, eine Nachrichtenmeldung, oder ein Dokument oder einen Artikel. Jedes Datenobjekt kann mit einer eindeutigen Kennung verbunden sein, die das Datenobjekt eindeutig identifiziert. Die Attribute des Objekts (z. B. das Objekt betreffende Metadaten) können in einer oder mehreren Eigenschaften repräsentiert sein.Data Object or Object: A data container for information that represents specific things in the world that have a set of definable properties. For example, a data object may represent an entity, such as an entity Person, a place, an organization, a market instrument or the like. A data object may represent an event that occurs at a time or during a period of time. A data object may represent a document or other unstructured data source, such as an e-mail message, a news story, or a document or article. Each data object can be associated with a unique identifier that uniquely identifies the data object. The attributes of the object (eg, metadata concerning the object) may be represented in one or more properties.

Objekttyp: Typ eines Datenobjekts (z. B. Person, Ereignis oder Dokument). Objekttypen können durch eine Ontologie definiert sein und können so modifiziert oder aktualisiert werden, dass sie zusätzliche Objekttypen beinhalten. Eine Objektdefinition (z. B. in einer Ontologie) kann beinhalten, wie das Objekt in Beziehung zu anderen Objekten steht, beispielsweise dass es ein Unterobjekttyp eines anderen Objekttyps ist (z. B. kann ein Ermittler ein Unterobjekttyp eines Objekttyps ,Person') sein, sowie die Eigenschaften, die der Objekttyp haben kann.Object Type: Type of a data object (eg person, event or document). Object types can be defined by an ontology and can be modified or updated to include additional object types. An object definition (for example, in an ontology) may include how the object is related to other objects, for example, that it is a sub-object type of another object type (eg, an investigator may be a sub-object type of an object type, 'person') , as well as the properties that the object type can have.

Eigenschaften: Attribute eines Datenobjektes, die einzelne Datenelemente repräsentieren. Jede Eigenschaft eines Datenobjektes weist zumindest einen Eigenschaftstyp und einen Wert oder Werte auf.Properties: Attributes of a data object that represent individual data elements. Each property of a data object has at least one property type and a value or values.

Eigenschaftstyp: Der Datentyp einer Eigenschaft, wie beispielsweise Zeichenkette (String), eine Ganzzahl oder ein Double. Eigenschaftstypen können komplexe Eigenschaftstypen beinhalten, beispielsweise eine Abfolge von Datenwerten, die mit Zeitmarkierungen assoziiert sind (z. B. eine Zeitreihe) etc.Property Type: The data type of a property, such as a string, an integer, or a double. Property types may include complex property types, such as a sequence of data values associated with timestamps (eg, a time series), etc.

Eigenschaftswert: Der Wert, der mit einer Eigenschaft assoziiert ist, die von dem Typ ist, der in dem mit der Eigenschaft assoziierten Eigenschaftstyp angegeben ist. Eine Eigenschaft kann mehrere Werte haben.Property Value: The value associated with a property that is of the type specified in the property type associated with the property. A property can have multiple values.

Link: Eine Verbindung zwischen zwei Datenobjekten, beispielsweise basierend auf einer Beziehung, einem Ereignis, und/oder übereinstimmenden Eigenschaften. Links können richtungsabhängig sein, beispielsweise ein Link, der eine Zahlung von einer Person A an B repräsentiert, oder sie können bidirektional sein.Link: A connection between two data objects, for example, based on a relationship, an event, and / or matching properties. Links may be directional, such as a link representing a payment from person A to B, or they may be bidirectional.

Linksatz: Ein Satz von mehreren Links, die sich zwei oder mehrere Datenobjekte teilen.Link Set: A set of multiple links that share two or more data objects.

Datenqualitätsmonitore: Regeln, die eines oder mehrere Kriterien beinhalten, die konfiguriert sind, um mögliche Datenqualitätsprobleme in Datenobjekten oder zwischen mehreren Datenobjekten zu identifizieren. Maßnahmen, um mögliche Datenqualitätsprobleme zu bestätigen und/oder derartige Datenqualitätsprobleme zu korrigieren, können von einem Benutzer oder durch automatische Prozesse durchgeführt werden.Data Quality Monitors: Rules that contain one or more criteria configured to identify potential data quality issues in data objects or between multiple data objects. Actions to confirm possible data quality problems and / or correct such data quality problems may be performed by a user or by automated processes.

Objektzentriertes DatenmodellObject-centric data model

Um einen Rahmen für die folgende Diskussion spezifischer hier beschriebener Systeme und Verfahren zu liefern, wird nachfolgend ein beispielhaftes Datenbanksystem 210 unter Verwendung einer Ontologie 205 beschrieben. Diese Beschreibung wird geliefert, um ein Beispiel zu geben, und soll keine Einschränkung der Verfahren auf das beispielhafte Datenmodell, das beispielhafte Datenbanksystem, oder die durch das beispielhafte Datenbanksystem erfolgende Nutzung einer Ontologie zur Darstellung von Information bedeuten.To provide a framework for the following discussion of specific systems and methods described herein, an exemplary database system will be described below 210 using an ontology 205 described. This description is provided by way of example and is not intended to be limiting of the methods to the example data model, the exemplary database system, or the use of an ontology by the exemplary database system to represent information.

Bei einer Ausführungsform ist ein Datenkörper konzeptionell gemäß einem objektzentrierten Datenmodell strukturiert, das durch eine Ontologie 205 repräsentiert ist. Das konzeptionelle Datenmodell ist von jeglicher speziellen Datenbank unabhängig, die für ein dauerhaftes Speichern von einer oder mehreren Datenbanken 209 basierend auf der Ontologie 205 verwendet wird. Beispielsweise kann jedes Objekt des konzeptionellen Datenmodells einer oder mehreren Zeilen in einer relationalen Datenbank oder einem Eintrag in einer LDAP-Datenbank (LDAP = Lightweight Directory Access Protocol) oder einer beliebigen Kombination aus einer oder mehreren Datenbanken entsprechen.In one embodiment, a data body is conceptually structured according to an object-centered data model that is characterized by an ontology 205 is represented. The conceptual data model is independent of any particular database used for persistently storing one or more databases 209 based on ontology 205 is used. For example, each object of the conceptual data model may correspond to one or more rows in a relational database or an entry in a Lightweight Directory Access Protocol (LDAP) database or any combination of one or more databases.

1 zeigt ein objektzentriertes konzeptionelles Datenmodell gemäß einer Ausführungsform. Eine Ontologie 205 kann, wie zuvor erwähnt, gespeicherte Information beinhalten, die ein Datenmodell zum Speichern von Daten in der Datenbank 209 liefert. Die Ontologie 205 kann durch einen oder mehrere Objekttypen definiert sein, die jeweils mit einem oder mehreren Eigenschaftstypen assoziiert sein können. Auf der höchsten Abstraktionsebene ist ein Datenobjekt 201 ein Container für die Dinge der Welt repräsentierende Information. Beispielsweise kann ein Datenobjekt 201 eine Entität repräsentieren, beispielsweise eine Person, einen Platz, eine Organisation, ein Marktinstrument oder dergleichen. Ein Datenobjekt 201 kann ein Ereignis repräsentieren, das zu einem Zeitpunkt oder während einer Zeitdauer passiert. Ein Datenobjekt 201 kann ein Dokument oder eine andere unstrukturierte Datenquelle repräsentieren, beispielsweise eine E-Mail-Nachricht, eine Nachrichtenmeldung, oder ein Dokument oder einen Artikel. Jedes Datenobjekt 201 ist mit einer eindeutigen Kennung assoziiert, die das Datenobjekt im Datenbanksystem eindeutig identifiziert. 1 shows an object-centric conceptual data model according to one embodiment. An ontology 205 may include, as previously mentioned, stored information containing a data model for storing data in the database 209 supplies. The ontology 205 can be defined by one or more object types, each of which can be associated with one or more property types. At the highest level of abstraction is a data object 201 a container for the things of the world representing information. For example, a data object 201 represent an entity, such as a person, a place, an organization, a market instrument, or the like. A data object 201 may represent an event that happens at a time or during a period of time. A data object 201 may represent a document or other unstructured data source, such as an email message, a news story, or a document or article. Each data object 201 is associated with a unique identifier that uniquely identifies the data object in the database system.

Unterschiedliche Typen von Datenobjekten können unterschiedliche Eigenschaftstypen haben. Beispielsweise könnte ein Datenobjekt „Person” einen Eigenschaftstyp „Augenfarbe” haben, und ein Datenobjekt „Ereignis” könnte einen Eigenschaftstyp „Datum” haben. Jede Eigenschaft 203, wie durch Daten im Datenbanksystem 210 repräsentiert, kann einen Eigenschaftstyp haben, der durch die von der Datenbank 205 verwendete Ontologie 205 definiert ist. Different types of data objects can have different property types. For example, a Person data object might have an Eye Color property type, and an Event data object might have a Date property type. Every property 203 as by data in the database system 210 represents can have a property type that is determined by the one of the database 205 used ontology 205 is defined.

Objekte können in der Datenbank 209 instanziiert sein, gemäß der entsprechenden Objektdefinition für das spezielle Objekt in der Ontologie 205. Beispielsweise könnte eine spezifische Geldzahlung (z. B. ein Objekt vom Typ „Ereignis”) von US$ 30,00 (z. B. eine Eigenschaft vom Typ „Währung”), die am 27.3.2009 stattfindet (z. B. eine Eigenschaft vom Typ „Datum”) in der Datenbank 209 als ein Ereignisobjekt gespeichert werden, mit assoziierten Währungs- und Datumseigenschaften wie in der Ontologie 205 definiert.Objects can be in the database 209 instantiated according to the corresponding object definition for the particular object in ontology 205 , For example, a specific cash payment (for example, an event-type object) could be $ 30.00 (for example, a currency type property) that takes place on March 27, 2009 (e.g. Property of type Date) in the database 209 stored as an event object, with associated currency and date properties as in ontology 205 Are defined.

Die in der Ontologie 205 definierten Datenobjekte können eine Eigenschafts-Multiplizität unterstützen. Speziell kann es zulässig sein, dass ein Datenobjekt 201 mehr als eine einzige Eigenschaft 203 vom gleichen Eigenschaftstyp hat. Beispielsweise könnte ein Datenobjekt „Person” mehrere „Adressen”-Eigenschaften oder mehrere „Namen”-Eigenschaften haben.Those in ontology 205 defined data objects can support a property multiplicity. Specifically, it may be allowed for a data object 201 more than a single property 203 of the same property type. For example, a "Person" data object might have multiple "Address" properties or multiple "Name" properties.

Jeder Link 202 repräsentiert eine Verbindung zwischen zwei Datenobjekten 201. Bei einer Ausfürungsform besteht die Verbindung entweder durch eine Beziehung, ein Ereignis oder durch übereinstimmende Eigenschaften. Eine Beziehungsverbindung kann asymmetrisch oder symmetrisch sein. Beispielsweise kann ein Datenobjekt A „Person” verbunden sein mit einem Datenobjekt B „Person”, und zwar durch eine Kind-Beziehung (bei der ein Datenobjekt B „Person” eine asymmetrische Eltern-Beziehung zu einem Datenobjekt A „Person” hat), eine symmetrische Verwandtschaftsbeziehung zu einem Datenobjekt C „Person”, und eine asymmetrische Mitglied-Beziehung zu einem Datenobjekt X „Organisation”. Der Typ von Beziehung zwischen zwei Datenobjekten kann in Abhängigkeit von den Typen der Datenobjekte variieren. Beispielsweise kann ein Datenobjekt A „Person” eine „Erscheint in”-Beziehung mit Datenobjekt Y „Dokument” haben oder kann eine „Nimmt teil an”-Beziehung mit einem Datenobjekt E „Ereignis” haben. Als Beispiel einer Ereignis-Verbindung können zwei Datenobjekte „Person” durch ein Datenobjekt „Flug” verbunden sein, das einen speziellen Flug repräsentiert, falls sie gemeinsam mit diesem Flug gereist sind, oder durch ein Datenobjekt „Konferenz”, das eine spezielle Konferenz repräsentiert, falls sie beide an dieser Konferenz teilgenommen haben. Bei einer Ausführungsform sind, wenn zwei Datenobjekte durch ein Ereignis verbunden sind, sie auch durch Beziehungen verbunden, wobei jedes Datenobjekt eine spezifische Beziehung zum Ereignis hat, wie beispielsweise eine „Erscheint in”-Beziehung.Every link 202 represents a connection between two data objects 201 , In one embodiment, the connection is either a relationship, an event, or matching properties. A relationship connection can be asymmetric or symmetric. For example, a data object A "person" may be connected to a data object B "person" by a child relationship (in which a data object B "person" has an asymmetric parent relationship to a data object A "person") symmetric relationship to a data object C "person", and an asymmetric member relationship to a data object X "organization". The type of relationship between two data objects may vary depending on the types of data objects. For example, a data object A "person" may have an "appear in" relationship with data object Y "document" or may have a "takes part in" relationship with a data object E "event". As an example of an event connection, two data objects "person" may be connected by a data object "flight" representing a particular flight, if they traveled together with that flight, or by a data object "conference" representing a special conference, if they both participated in this conference. In one embodiment, when two data objects are connected by an event, they are also linked by relationships, where each data object has a specific relationship to the event, such as an "appear in" relationship.

Als ein Beispiel einer Verbindung „übereinstimmende Eigenschaften” können zwei Datenobjekte „Person”, die einen Bruder und eine Schwester repräsentieren, beide eine Eigenschaft „Adresse” haben, die angibt, wo sie leben. Falls der Bruder und die Schwester an demselben Wohnsitz leben, dann enthalten ihre Eigenschaften „Adresse” ähnliche, wenn nicht identische Eigenschaftswerte. Bei einer Ausführungsform kann ein Link zwischen zwei Datenobjekten basierend auf ähnlichen oder übereinstimmenden Eigenschaften (z. B. Eigenschaftstypen und/oder Eigenschaftswerten) der Datenobjekte erstellt werden. Es handelt sich dabei lediglich um einige Beispiele der Typen von Verbindungen, die durch einen Link repräsentiert werden können, und weitere Typen von Verbindungen können repräsentiert werden; Ausführungsformen sind nicht auf irgendwelche speziellen Typen von Verbindungen zwischen Datenobjekten eingeschränkt. Beispielsweise könnte ein Dokument Bezüge auf zwei unterschiedliche Objekte enthalten. Beispielsweise kann ein Dokument einen Bezug auf eine Zahlung (das eine Objekt) und eine Person (ein zweites Objekt) enthalten. Ein Link zwischen diesen zwei Objekten kann eine Verbindung zwischen diesen zwei Entitäten durch ihr gemeinsames Auftreten in demselben Dokument repräsentieren.As an example of a "matching properties" connection, two "person" data objects representing a brother and a sister may both have an "address" property indicating where they live. If the brother and sister live in the same residence, their "address" properties will contain similar, if not identical, property values. In one embodiment, a link between two data objects may be created based on similar or matching properties (eg, property types and / or property values) of the data objects. These are just a few examples of the types of compounds that can be represented by a link, and other types of compounds can be represented; Embodiments are not limited to any particular types of connections between data objects. For example, a document might contain references to two different objects. For example, a document may include a reference to a payment (one object) and a person (a second object). A link between these two objects can represent a connection between these two entities by their common occurrence in the same document.

Jedes Datenobjekt 201 kann mehrere Links mit einem anderen Datenobjekt 201 haben, um einen Linksatz 204 zu bilden. Beispielsweise könnten zwei Datenobjekte „Person”, die einen Ehemann und eine Ehefrau repräsentieren, durch eine „Ehegatten”-Beziehung, eine übereinstimmende „Adresse”-Eigenschaft und eine oder mehrere übereinstimmende „Ereignis”-Eigenschaften (z. B. eine Hochzeit) verknüpft sein. Jeder Link 202, wie durch Daten in einer Datenbank repräsentiert, kann einen Linktyp haben, der durch die von der Datenbank verwendete Datenbankontologie definiert ist.Each data object 201 can have multiple links with another data object 201 have to add a link sentence 204 to build. For example, two "person" data objects representing a husband and wife could be linked by a "spouse" relationship, a matching "address" property, and one or more matching "event" properties (eg, a wedding) be. Every link 202 , as represented by data in a database, can have a link type defined by the database ontology used by the database.

2 zeigt eine Ausführungsform eines Prozesses zum Erzeugen von Person-Objekten mit Eigenschaften aus mehreren Datenquellen. Probleme, die in Bezug zu einer Datenqualität stehen, können bei gewissen der Person-Datenobjekte als Ergebnis der automatischen Integration von Daten aus mehreren Quellen auftreten. Außerdem können Fehler durch Dateneingabefehler, beispielsweise Rechtschreibfehler, und/oder auf andere Weise eingebracht werden. Im Beispiel von 2 liefern mehrere Datenquellen dem Datenzusammenführungssystem 225 Daten, einschließlich Rechnungen von Versorgungsunternehmen 215, Anrufdatensätze 217, Strafmandate 219, Fahrerregistrierung 221 und weitere persönliche Daten 223, etc. In Abhängigkeit von der Ausführungsform können die Datenquellen, welche diese verschiedenen Typen von Daten liefern, unterschiedliche Entitäten oder eine einzelne Entität sein. 2 shows an embodiment of a process for generating person objects with properties from multiple data sources. Problems related to data quality may occur on some of the person-data objects as a result of the automatic integration of data from multiple sources. In addition, errors may be introduced by data entry errors, such as spelling mistakes, and / or otherwise. In the example of 2 provide multiple data sources to the data merge system 225 Data, including utility bills 215 , Call records 217 , Punishments 219 , Driver registration 221 and more personal information 223 , etc. Depending on the Embodiment, the data sources that provide these different types of data may be different entities or a single entity.

Jeder Datensatz (z. B. Daten, die betreffend eine Person von einer der Datenquellen geliefert werden) können Information betreffend eine oder mehrere Personen beinhalten, und Eigenschaften von Person-Objekten aus den verschiedenen Datenquellen können variieren. Beispielsweise können die Rechnungen von Versorgungsunternehmen betreffenden Daten 215 Eigenschaften wie beispielsweise Name, Adresse, Kontonummer, geschuldeter Betrag, Information über frühere Nutzung eines Versorgungsunternehmens, frühere Rechnungsgeschichte, und/oder minimal geschuldeter Betrag beinhalten, hingegen können die zu Telefondatensätzen gehörenden Daten 217 Information wie beispielsweise Name, Adresse, Telefonnummer(n) und/oder Kontonummer(n) (welche die gleiche(n) wie die Telefonnummer(n) sein kann/können) geschuldeter Betrag, Nutzungsinformation, frühere Zahlungsgeschichte, minimal geschuldeter Betrag, durchgeführte Telefonanrufe, gesendete Nachricht, Empfängerinformation (Telefonnummer), Information betreffend jeden durchgeführten Telefonanruf und/oder jede gesendete Nachricht beinhalten. Die Strafmandat-Daten 219 können Information, wie beispielsweise Name eines Fahrers, Adresse, Telefonnummer, Führerscheinnummer, Fahrzeugregistriernummer, damit verbundenes Ereignis, Strafmandattyp, und/oder Datum des Strafmandates beinhalten. Die Fahrerregistrierdaten 221 können Information wie beispielsweise Name, Geburtsdatum, Größe, Gewicht, Augenfarbe, Haarfarbe, Ausstellungsdatum des Führerscheins, und/oder Ablaufdatum beinhalten.Each record (eg, data relating to a person from one of the data sources) may include information relating to one or more persons, and characteristics of person objects from the various data sources may vary. For example, utility bills may involve data related to the bills 215 Properties such as name, address, account number, amount owed, information about prior utility use, previous billing history, and / or minimum amount owed, however, may include the data associated with telephone records 217 Information such as name, address, telephone number (s) and / or account number (s) (which may be the same as the telephone number (s)) Amount due, usage information, previous payment history, minimum amount owed, telephone calls made , sent message, receiver information (telephone number), information regarding each telephone call made and / or each message sent. The penalty mandate data 219 may include information such as a driver's name, address, telephone number, driver's license number, vehicle registration number, associated event, type of penalty, and / or date of the penalty. The driver registration data 221 may include information such as name, date of birth, height, weight, eye color, hair color, date of issue of the license, and / or expiration date.

Bei einigen Ausführungsformen können mittels des Datenzusammenführungssystems 225 Daten aus verschiedenen Quellen automatisch zusammengeführt werden, um mehrere Person-Objekte 227 zu erzeugen. Beispielsweise können die Rechnungen von Versorgungsunternehmen betreffenden Daten 215 einer Person zeigen, dass diese Person in 123 Oak Street wohnt und ihre Telefonnummer 123-456-7890 ist. Die Telefondatensatz-Daten 217 derselben Person können zeigen, dass sie in 789 Willow Road wohnt und ihre Telefonnummer 098-765-4321 ist. Die Strafmandat-Daten 219 der Person können zeigen, dass diese Person in 123 Oak Street wohnt, ihr Geschlecht „weiblich” ist, sie am 13.1. geboren wurde und ihre Telefonnummer 098-765-4321 ist. Und schließlich kann die Fahrerregistrierung 221 der Person zeigen, dass diese in 789 Willow Road wohnt, sie am 13.1.1967 geboren wurde, ihr Geschlecht „männlich” ist und ihre Telefonnummer 123-456-7890 ist.In some embodiments, using the data merging system 225 Data from different sources can be automatically merged to multiple person objects 227 to create. For example, utility bills may involve data related to the bills 215 a person show that person in 123 Oak Street lives and her phone number is 123-456-7890. The phone record data 217 the same person can show that she lives at 789 Willow Road and her phone number is 098-765-4321. The penalty mandate data 219 the person can show that this person lives in 123 Oak Street, her gender is "female", she on 13.1. was born and her phone number is 098-765-4321. And finally, the driver registration 221 Show the person that she lives at 789 Willow Road, she was born on 13.1.1967, her gender is "male" and her phone number is 123-456-7890.

In diesem Beispiel kann das Datenzusammenführungssystem 225 das entsprechende Person-Objekt unter Verwendung einiger automatisierter Datenzusammenführungsregeln und -prozesse aktualisieren (oder das Person-Objekt erzeugen, falls noch keines vorhanden ist). Bei einigen Ausführungsformen kann das Endergebnis des Datenzusammenführungsprozesses etwas sein, bei dem einfach die gesamte Quellinformation genommen wird und diese in dem Person-Objekt zusammengestellt wird. Beispielsweise kann, falls der Datenzusammenführungsprozess die Daten aus verschiedenen Quellen direkt ohne irgendwelche Änderungen integriert, für die Person angegeben sein, dass sie zwei Geschlechter hat: männlich und weiblich. Für diese Person kann auch dargestellt sein, dass sie zwei Geburtstage hat: „13.01.” und „13.01.1967”. Außerdem kann das erste Geburtsdatum „13.01” als Januar 2013, anstelle von 13. Januar eines Jahres, interpretiert werden.In this example, the data merge system 225 Update the corresponding Person object using some automated data merge rules and processes (or create the Person object, if one does not already exist). In some embodiments, the end result of the data merging process may be something in which all the source information is simply taken and assembled in the person object. For example, if the data merge process integrates the data from different sources directly without any changes, the person may be identified as having two genders: male and female. This person may also be shown to have two birthdays: "13.01" and "13.01.1967". In addition, the first date of birth "13.01" can be interpreted as January 2013, instead of January 13 of a year.

Demgemäß können, bedingt durch Datenqualitätsprobleme, die mittels des Datenzusammenführungssystems 225 zusammengeführten Daten alle Arten von Unstimmigkeiten, fehlenden Werten, und weitere Typen von möglichen Problemen beinhalten. Diese Probleme zu erkennen, derart, dass die Probleme korrigiert werden können, kann manchmal schwierig sein.Accordingly, due to data quality problems, the data collapsing system can use the data collapsing system 225 merged data includes all sorts of inconsistencies, missing values, and other types of potential problems. Recognizing these problems so that the problems can be corrected can sometimes be difficult.

3 ist ein Blockdiagramm, das beispielhafte Komponenten und Daten zeigt, die beim Identifizieren und Speichern von Daten gemäß einer Ontologie verwendet werden können. Bei diesem Beispiel ist es möglich, mittels eines Systems von Parsern und Ontologie-Konfigurationswerkzeugen die Ontologie zu konfigurieren, und Daten in das Datenmodell einzusetzen. In der Ausführungsform von 3 werden Eingabedaten 300 einem Parser 302 zugeführt. Die Eingabedaten können Daten aus einer oder mehreren Quellen umfassen, wie beispielsweise Datenquellen, welche die verschiedenen Datenelemente liefern, die mit Bezug auf 2 erläutert wurden. Beispielsweise kann ein Institut eine oder mehrere Datenbanken mit Information betreffend Kreditkartentransaktionen, Leihwagen und Personen besitzen. Diese Datenbanken können eine Vielfalt von in Beziehung stehender Information und Attribute betreffend jeden Typ von Daten enthalten, wie beispielsweise ein „Datum” für eine Kreditkartentransaktion, eine Adresse für eine Person, und ein Datum, bei dem ein Leihwagen gemietet wird. Der Parser 302 ist fähig, eine Vielfalt von Eingangsquelldatentypen zu lesen, und zu bestimmen, welchen Typ von Daten er liest. 3 FIG. 10 is a block diagram showing exemplary components and data that may be used in identifying and storing data according to an ontology. FIG. In this example, it is possible to configure the ontology using a system of parsers and ontology configuration tools and to insert data into the data model. In the embodiment of 3 become input data 300 a parser 302 fed. The input data may include data from one or more sources, such as data sources that provide the various data elements described with respect to FIG 2 were explained. For example, an institution may have one or more databases of information regarding credit card transactions, rental cars and persons. These databases may contain a variety of related information and attributes relating to each type of data, such as a "date" for a credit card transaction, an address for a person, and a date when a rental car is being rented. The parser 302 is able to read a variety of input source data types and to determine what type of data it is reading.

Gemäß der vorhergehenden Diskussion weist die Beispiel-Ontologie 205 gespeicherte Information auf, die das Datenmodell von in einer Datenbank 209 gespeicherten Daten liefert, und die Ontologie ist durch eine oder mehrere Objekttypen 310, eine oder mehrere Eigenschaftstypen 316 und eine oder mehrere Linktypen 330 definiert. Basierend auf Information, die durch den Parser 302 oder eine andere Abbildung von Eingangs-Quelleninformation auf einen Objekttyp bestimmt wird, können eines oder mehrere Datenobjekte 201 in der Datenbank 209 basierend auf jeweiligen bestimmten Objekttypen 310 instanziiert werden, und jedes der Objekte 201 hat eine oder mehrere Eigenschaften 203, die basierend auf Eigenschaftstypen 316 instanziiert werden. Zwei Datenobjekte 201 können durch einen oder mehrere Links 201 verbunden werden, die basierend auf Linktypen 330 instanziiert werden können. Die Eigenschaftstypen 316 können jeweils einen oder mehrere Basistypen 320 aufweisen, wie beispielsweise Zeichenkette, Nummer etc. Bei einigen Ausführungsformen beinhalten Eigenschaftstypen lediglich einen Basistyp aus Zeichenkette, Nummer, Datum, Aufzählung, oder eine Zusammensetzung aus diesen. Abhängig von der Ausführungsform können Eigenschaftstypen eine hierarchische Struktur haben oder auch nicht, wie dies auch bei Objekten der Fall ist. Beispielsweise kann ein Objekttyp „fehlendes Kind” ein Untertyp des Objekttyps „Person” sein, jedoch kann ein Eigenschaftstyp „Wohnung” kein Untertyp eines Eigenschaftstyps „Standort” sein.According to the preceding discussion, the example ontology 205 stored information that the data model of in a database 209 stored data, and the ontology is by one or more object types 310 , one or more property types 316 and a or more types of links 330 Are defined. Based on information provided by the parser 302 or another mapping of input source information to an object type may specify one or more data objects 201 in the database 209 based on specific types of objects 310 be instantiated, and each of the objects 201 has one or more properties 203 that are based on property types 316 to be instantiated. Two data objects 201 can through one or more links 201 linked based on link types 330 can be instantiated. The property types 316 can each have one or more base types 320 such as string, number, etc. In some embodiments, property types include only a base type of string, number, date, enumeration, or a composition thereof. Depending on the embodiment, property types may or may not have a hierarchical structure, as is the case with objects. For example, a Missing Child object type may be a subtype of the Person object type, but a Housing property type may not be a subtype of a Location property type.

Bei einigen Ausführungsformen können aus einer zusammengesetzten Eigenschaft bestehende Typen mehrere Bestandteile enthalten, jedoch können diese weiterhin als einzelne Eigenschaften aufgefasst werden. Beispielsweise kann eine Eigenschaft „Adresse” eine zusammengesetzte Eigenschaft sein, die aus mehreren Bestandteilen besteht, wie beispielsweise Adresse 1 (Zeichenkette), Adresse 2 (Zeichenkette), Stadt (Zeichenkette), Bundesstaat (Zeichenkette) und Postleitzahl (ZIP) (könnte Zahl oder Zeichenkette sein).In some embodiments, types consisting of a composite property may contain multiple constituents, but they may still be construed as individual properties. For example, an address property may be a composite property that consists of multiple constituents, such as address 1 (string), address 2 (string), city (string), state (string), and zip code (ZIP) (could be number or Be a string).

Bei einigen Ausführungsformen können die Ontologie-Regeln auch beschränken, welche Eigenschaften bei welchen Objekten zulässig sind, sowie auch welche Link-Beziehungen zwischen Objekten zulässig sind.In some embodiments, the ontology rules may also limit which properties are allowed on which objects as well as which link relationships between objects are allowed.

Bei einer Ausführungsform verwendet ein Benutzer des Systems einen Objekttyp-Editor 324, um die Objekttypen 310 zu erzeugen und/oder zu modifizieren und Attribute der Objekttypen zu definieren. Bei einer Ausführungsform verwendet ein Benutzer des Systems einen Eigenschaftstyp-Editor 326, um die Eigenschaftstypen 316 zu erzeugen und/oder zu modifizieren und Attribute der Eigenschaftstypen zu definieren. Bei einer Ausführungsform verwendet ein Benutzer des Systems einen Linktyp-Editor 328, um die Linktypen 330 zu erzeugen. Alternativ können weitere Programme, Prozesse oder Programmsteuerelemente verwendet werden, um Linktypen und Eigenschaftstypen zu erzeugen und Attribute zu definieren, und eine Verwendung von Editoren ist nicht erforderlich.In one embodiment, a user of the system uses an object type editor 324 to the object types 310 to create and / or modify and define attributes of the object types. In one embodiment, a user of the system uses a property type editor 326 to the property types 316 to create and / or modify and define attributes of the property types. In one embodiment, a user of the system uses a link type editor 328 to the types of links 330 to create. Alternatively, other programs, processes, or program controls can be used to create link types and property types and define attributes, and editors are not required.

Bei einer Ausführungsform beinhaltet ein Erzeugen eines Eigenschaftstyps 316 unter Verwendung des Eigenschaftstyp-Editors 326, dass mindestens eine Parser-Definition unter Verwendung eines Parser-Editors 322 definiert wird. Bei einigen Ausführungsformen weist eine Parser-Definition Metadaten auf, die den Parser 302 informieren, wie Eingangsdaten 300 zu parsen sind, um den dem Eigenschaftstyp 316 zugewiesenen Wert zu normieren, der mit der Parser-Definition assoziiert ist. Beispielsweise kann der Ontologie-Parser bestimmen, wie die beiden Eingabeelemente „1/1/02” und „1. Jan 2002” in einen normierten Wert „2002-01-01 00:00” umzuwandeln sind.In one embodiment, generating includes a property type 316 using the property type editor 326 that at least one parser definition using a parser editor 322 is defined. In some embodiments, a parser definition includes metadata that includes the parser 302 inform as input data 300 to parse to the property type 316 to normalize the assigned value associated with the parser definition. For example, the ontology parser can determine how the two input elements "1/1/02" and "1. Jan 2002 "into a normalized value" 2002-01-01 00:00 "are to be converted.

Abhängig von der Ausführungsform kann ein für eine zusammengesetzte Eigenschaft dienender Parser einzelne Komponenten identifizieren. Beispielsweise kann ein für eine zusammengesetzte Eigenschaft dienender Parser eine Adresse „111 Main St., New City, ST, 12345” in normierte Werte umsetzen, wie beispielsweise: Adresse 1: 111 Main St; Stadt: New City; Bundesstaat: ST; Postleitzahl (ZIP): 12345. Bei einigen Ausführungsformen kann, falls Parsing-Regeln scheitern, der ursprüngliche Wert in einem ungeparsten Format beibehalten werden. Dies kann später als mögliches Datenqualitätsproblem durch einen Datenqualitätsmonitor identifiziert werden. Bei einigen Ausführungsformen können Codeparser wählen, welcher Eigenschaftstyp zu verwenden ist. Bei einigen Ausführungsformen kann der Code eine Datenspalte von der Eingabe auf einen Eigenschaftstyp in der Ontologie abbilden, und dann ein Parsen der Eingabe vornehmen.Depending on the embodiment, a composite property parser may identify individual components. For example, a parser used for a composite property may translate a "111 Main St., New City, ST, 12345" address into normalized values, such as: Address 1: 111 Main St; City: New City; State: ST; Postal Code (ZIP): 12345. In some embodiments, if parsing rules fail, the original value may be maintained in an unpaired format. This can later be identified as a potential data quality problem by a data quality monitor. In some embodiments, code parsers can choose which type of property to use. In some embodiments, the code may map a data column from the input to a property type in the ontology, and then parse the input.

Bei einer Ausführungsform kann jede Parserdefinition einen für einen regulären Ausdruck dienenden Parser 304A oder einen Code-Modul-Parser 304B beinhalten. Bei weiteren Ausführungsformen können weitere Arten von Parser-Definitionen vorgesehen sein, die Skripte oder weitere Programmierelemente verwenden. Sobald sie definiert sind, kann sowohl ein für einen regulären Ausdrucken dienender Parser 304A als auch ein Code-Modul-Parser 304B eine Eingabe an Parser 302 liefern, um ein Parsen von Eingangsdaten 300 zu steuern.In one embodiment, each parser definition may be a regular expression parser 304A or a code module parser 304B include. In other embodiments, other types of parser definitions may be provided that use scripts or other programming elements. Once defined, both a regular expression parser can be used 304A as well as a code module parser 304B an input to parsers 302 provide a parsing of input data 300 to control.

Unter Verwendung der in der Ontologie definierten Datentypen können Eingangsdaten 300 durch den Parser 302 geparst werden, um zu bestimmen, welcher Objekttyp 310 Daten von einem aus den Eingangsdaten erzeugten Datensatz erhalten sollte, und welche Eigenschaftstypen 316 Daten aus den einzelnen Feldwerten in den Eingangsdaten zugewiesen werden sollten. Basierend auf der Objekt-Eigenschaft-Abbildung 301 wählt der Parser 302 eine der Parser-Definitionen aus, die mit einem Eigenschaftstyp in den Eingangsdaten assoziiert ist. Der Parser führt dann ein Parsen eines Eingangsdatenfelds unter Verwendung der gewählten Parser-Definition durch, was zu einem Erzeugen neuer oder modifizierter Daten 303 führt. Die neuen oder modifizierten Daten 303 werden der Datenbank 209 gemäß einer Ontologie 205 hinzugefügt, durch Speichern von Werten der neuen oder modifizierten Daten in einer Eigenschaft des spezifizierten Eigenschaftstyps. Als Ergebnis können Eingangsdaten 300, die veränderliches Format oder Syntax aufweisen, in der Datenbank 209 erzeugt werden. Die Ontologie 205 kann zu beliebiger Zeit unter Verwendung eines Objekttyp-Editors 324, eines Eigenschaftstyp-Editors 326, und eines Linktyp-Editors 328, oder programmgesteuert ohne mittels Editor erfolgenden menschlichen Eingriff modifiziert werden. Der Parser-Editor 322 ermöglicht ein Erzeugen von mehreren Parser-Definitionen, die Eingangsdaten 300 von veränderlichem Format oder Syntax erfolgreich parsen können und bestimmen können, welche Eigenschaftstypen verwendet werden sollten, um Eingangsdaten 300 in neue oder modifizierte Eingangsdaten 303 zu transformieren.Using the data types defined in the ontology, input data 300 through the parser 302 be parsed to determine which object type 310 Should receive data from a record created from the input data, and which property types 316 Data should be assigned from the individual field values in the input data. Based on the object property mapping 301 chooses the parser 302 one of the parser definitions associated with a property type in the input data. The parser then parses an input data field using the selected parser. Definition by, resulting in the generation of new or modified data 303 leads. The new or modified data 303 become the database 209 according to an ontology 205 by storing values of the new or modified data in a property of the specified property type. As a result, input data 300 that have variable format or syntax in the database 209 be generated. The ontology 205 can at any time using an object type editor 324 , a property type editor 326 , and a link type editor 328 , or be programmatically modified without editorial human intervention. The parser editor 322 allows multiple parser definitions to be generated, the input data 300 of parsing format or syntax can successfully parse and determine which property types should be used to input data 300 in new or modified input data 303 to transform.

Die Eigenschaften, Objekte oder Links (z. B. Beziehungen) zwischen den Objekten können unter Verwendung einer graphischen Benutzerschnittstelle (GUI) visualisiert werden. Beispielsweise ist in 4A eine Benutzerschnittstelle dargestellt, die eine Diagrammdarstellung 403 von Beziehungen (einschließlich Beziehungen und/oder Links 404, 405, 406, 407, 408) zwischen den Datenobjekten (einschließlich Datenobjekten 421, 422, 423, 424, 425, 426) zeigt, die im Beispiel von 4 als Knoten dargestellt sind. Bei dieser Ausführungsform sind Datenobjekte 421426 Person-Objekte, beispielsweise die Person-Objekte 227, die mit Bezug auf 2 erörtert wurden. Bei diesem Beispiel können die Person-Knoten (die mit Person-Datenobjekten assoziiert sind) Beziehungen zu weiteren Person-Knoten haben, beispielsweise mittels Zahlung-Objekten. Beispielsweise basiert Beziehung 404 auf einer Zahlung, die mit den Personen assoziiert ist, welche in Person-Datenobjekten 421 und 423 bezeichnet sind. Der Link 404 repräsentiert diese gemeinschaftlichen Zahlungen (beispielsweise kann die mit Datenobjekt 411 assoziierte Person bei drei Gelegenheiten eine Zahlung an die mit Datenobjekt 413 assoziierte Person geleistet haben). Diese Beziehungen können als Links gespeichert werden, oder sie können bei einigen Ausführungsformen als Eigenschaften gespeichert werden, wobei eine Beziehung zwischen den Eigenschaften erfasst werden kann, oder als Ereignis-Objekte. In einigen Fällen können, wie zuvor angegeben, die Links gerichtet (direktional) sein. Beispielsweise kann ein „Zahlung”-Link eine mit der Zahlung assoziierte Richtung haben, wobei das eine „Person”-Objekt ein Empfänger einer Zahlung ist, und ein anderes „Person”-Objekt der Zahler einer Zahlung ist.The properties, objects or links (eg relationships) between the objects can be visualized using a graphical user interface (GUI). For example, in 4A a user interface is shown, which is a diagram representation 403 of relationships (including relationships and / or links 404 . 405 . 406 . 407 . 408 ) between the data objects (including data objects 421 . 422 . 423 . 424 . 425 . 426 ), which in the example of 4 are shown as nodes. In this embodiment, data objects 421 - 426 Person objects, for example the person objects 227 related to 2 were discussed. In this example, the person nodes (associated with person data objects) may have relationships with other person nodes, such as payment objects. For example, relationship is based 404 on a payment associated with the persons involved in person-data objects 421 and 423 are designated. The link 404 represents these collaborative payments (for example, the with data object 411 associated person on three occasions make a payment to the data object 413 associated person). These relationships may be stored as links, or in some embodiments they may be stored as properties, where a relationship between the properties may be detected, or as event objects. In some cases, as previously stated, the links may be directional. For example, a "payment" link may have a direction associated with the payment, where one "person" object is a recipient of a payment, and another "person" object is the payer of a payment.

Zusätzlich zu einer visuellen Darstellung von Beziehungen zwischen den Datenobjekten kann die Benutzerschnittstelle verschiedene weitere Bearbeitungen ermöglichen. Beispielsweise kann nach den Objekten in der Datenbank 209 unter Verwendung einer Suchschnittstelle 450 gesucht werden (z. B. Durchführen eines Textzeichenkettenabgleichs von Objekteigenschaften), sie können überprüft werden (z. B. Eigenschaften und assoziierte Daten betrachtet werden), gefiltert werden (z. B. die Gesamtheit von Objekten anhand von Eigenschaften oder Beziehungen zu Mengen und Teilmengen eingegrenzt werden), und statistisch aggregiert werden (z. B. basierend auf Summierungskriterien numerisch aufsummiert werden), neben weiteren Operationen und Visualisierungen.In addition to a visual representation of relationships between the data objects, the user interface may allow various further edits. For example, after the objects in the database 209 using a search interface 450 they can be examined (eg, properties and associated data viewed), filtered (e.g., the set of objects based on properties or relationships to sets and Subsets are limited) and statistically aggregated (eg, summed up numerically based on summation criteria), among other operations and visualizations.

4B stellt eine Objektfilter-Benutzerschnittstelle 460 dar, die konfiguriert ist, um von einem Benutzer ausgewählte Kriterien für einen Datenqualitätsmonitor zu empfangen und, mit diesen gegebenen Kriterien, Resultate anzuzeigen, gemäß einer Ausführungsform der vorliegenden Offenbarung. 4B provides an object filter user interface 460 configured to receive criteria selected by a user for a data quality monitor and, using these given criteria, to display results according to an embodiment of the present disclosure.

Bei der Ausführungsform von 4B empfängt anfänglich der Objektfilter vom Benutzer eine Auswahl von einem oder mehreren Typen von Objekten, bei denen ein Monitoring durchzuführen ist. Bei diesem Beispiel ist der gewählte Objekttyp „Fall”, und daher werden Fall-Objekte, welche den spezifizierten Kriterien genügen, angezeigt. Allgemein ist ein Fall ein Objekttyp, der sich auf mehrere weitere Objekte möglicherweise mehrerer Objekttypen bezieht. Ein Fall-Objekt kann sich auf verschiedene Typen von Information beziehen, beispielsweise einen Fall, der in Beziehung zu einer Ermittlung in einem Kriminalfall steht, einen Fall einer Infektion mit dem West-Nil-Virus, einen Fall, der Prozessparteien beinhaltet, oder einen Fall, der in Bezug zu einer Wirtschaftsanalyse steht. Abhängig von spezifischen Benutzeranforderungen kann ein Fall-Objekt verschiedene Eigenschaften beinhalten, beispielsweise Namen von beteiligten Personen, Daten von Ereignissen, Adresse, Telefonnummer, Auswirkung etc., und ein Fall-Objekt kann mit mehreren weiteren Objekttypen assoziiert sein, beispielsweise einem oder mehreren Person-Objekten, Ereignis-Objekten etc. Bei einigen weiteren Ausführungsformen können weitere Objekttypen ausgewählt werden, wie beispielsweise Person, Ereignis, Fahrzeug etc.In the embodiment of 4B Initially, the object filter receives from the user a selection of one or more types of objects to be monitored. In this example, the selected object type is "case", and therefore case objects satisfying the specified criteria are displayed. In general, a case is an object type that refers to several more objects, possibly multiple object types. A case object may refer to various types of information, such as a case related to a criminal investigation, a case of West Nile virus infection, a case involving litigants, or a case which is related to an economic analysis. Depending on specific user requirements, a case object may include various properties, such as names of persons involved, dates of events, address, phone number, impact, etc., and a case object may be associated with several other types of objects, such as one or more person names. Objects, event objects, etc. In some other embodiments, other types of objects may be selected, such as person, event, vehicle, etc.

Bei diesem Beispiel kann ein Kriterium (z. B. erforderliche Objekttypen oder Werte von Eigenschaften), die in den Datenqualitätsmonitor einzuschließen sind, durch Klicken auf die „Kriterium hinzufügen”-Schaltfläche 461 hinzugefügt werden. Beispielsweise kann der Monitor anfänglich kein Kriterium beinhalten (oder bei einer Ausführungsform möglicherweise ein Vorgabewert-Kriterium (Default-Kriterium)), und der Benutzer fügt ein erstes Kriterium 469 durch Klicken auf die „Kriterium hinzufügen”-Schaltfläche 461 hinzu, und fügt anschließend das Kriterium 471 und 473 hinzu, dadurch dass er weitere Male auf die „Kriterium hinzufügen”-Schaltfläche 461 klickt.In this example, a criterion (for example, required object types or property values) to include in the data quality monitor can be clicked by clicking the Add Criterion button 461 to be added. For example, the monitor may initially not include a criterion (or possibly a default value criterion in one embodiment), and the user adds a first criterion 469 by clicking on the "Add criterion" button 461 and then add that criteria 471 and 473 by adding more times to the "Add Criterion" button 461 clicks.

Die Benutzerschnittstelle von 4B ermöglicht dem Benutzer, Boolesche Operatoren auszuwählen, um Erfordernisse des Monitors weiter zu definieren. Beispielsweise hat der Benutzer in Schnittstelle 463 angegeben, dass es erforderlich ist, dass der Objekt-Typ ein „Fall” ist, und hat in Schnittstelle 465 angegeben, dass ein beliebiges der aufgelisteten Kriterien 469, 471, 473 für eine Übereinstimmung ausreicht. Bei einer Ausführungsform ermöglichen diese Schnittstellen 463, 467 dem Benutzer auch, eine minimale Anzahl der Kriterien anzugeben, die erfüllt sein müssen, anstelle der angegebenen „jegliche” (in Schnittstelle 467) oder „alle” (in Schnittstelle 463). Bei weiteren Ausführungsformen können Beziehungen zwischen den Kriterien auf andere Weise geliefert werden.The user interface of 4B Allows the user to select Boolean operators to further define requirements of the monitor. For example, the user has interface 463 specified that the object type is required to be a "case" and has interface 465 indicated that any of the listed criteria 469 . 471 . 473 sufficient for a match. In one embodiment, these interfaces allow 463 . 467 the user also to specify a minimum number of criteria that must be met instead of the specified "any" (in interface 467 ) or "all" (in interface 463 ). In other embodiments, relationships between the criteria may be provided in other ways.

Wie in 4B dargestellt, kann ein Kriterium jegliche verfügbare Eigenschaften des gewählten Objekttyps referenzieren. Beispielsweise wird das Kriterium „Kategorie = 8D” bei Kriterium 469 ausgewählt, und „Kategorie = 8F” wird bei Kriterium 471 ausgewählt, hingegen bezieht sich Kriterium 473 auf ein spezielles Datum. Ein Benutzer kann ein beliebiges zusätzliches oder unterschiedliches Kriterium definieren, basierend auf jeglichen weiteren Eigenschaften der Objekte, die einem Monitoring unterzogen werden sollen, wie beispielsweise Standort = Boston, MA, Fluglinie = South West, Datumsbereich = 02/14/2009 – 03/09/2011, etc.As in 4B A criterion can refer to any available properties of the selected object type. For example, criterion "category = 8D" becomes criterion 469 selected, and "Category = 8F" is at criterion 471 whereas criterion is used 473 on a special date. A user may define any additional or different criteria based on any other properties of the objects to be monitored, such as location = Boston, MA, Airline = South West, Date Range = 02/14/2009 - 03/09 / 2011, etc.

Bei einigen Ausführungsformen kann ein Datenqualitätsmonitor so konfiguriert sein, dass er ausgewählte Objekte auf Objekte einschränkt, die mit einem oder mehreren spezifischen Objekten verbunden sind, oder Objekte, die mit einem oder mehreren Typen von Objekten verbunden sind. Falls beispielsweise „Person” ein Objekttyp ist, der bereits ausgewählt ist, kann ein Benutzer ein Piktogramm hinzufügen, das einen Objekttyp (wie beispielsweise „Fall” 475) benachbart zum Person-Objekttyp 479 repräsentiert, und einen Link zwischen den zwei Objekttypen hinzufügen. Mit dem hinzugefügten Link zwischen dem Fall-Objekt 475 und dem Person-Objekt 479 ist der Monitor so konfiguriert, dass lediglich Fallobjekte ausgewählt werden, die auch mit einem Person-Objekt verbunden sind. Dieses Merkmal kann nützlich sein, um den Bereich von Objekten, nach denen gesucht wird, weiter einzuschränken. Falls beispielsweise ein Benutzer lediglich an Fall-Objekten interessiert ist, die mit einem bekannten Straftäter A verbunden sind, besteht, zusätzlich dazu, dass die Kriterien auf der rechten Seite des Feldes erfüllt sind, bei den ausgewählten Fall-Objekten auch eine Beziehung zum Straftäter A.In some embodiments, a data quality monitor may be configured to restrict selected objects to objects that are associated with one or more specific objects, or objects that are associated with one or more types of objects. For example, if "Person" is an object type that is already selected, a user can add a pictogram that has an object type (such as "Case"). 475 ) adjacent to the person-object type 479 and add a link between the two object types. With the added link between the case object 475 and the person object 479 the monitor is configured to only select trap objects that are also connected to a person object. This feature may be useful to further restrict the range of objects being searched for. For example, if a user is only interested in case objects associated with a known offender A, then, in addition to the criteria on the right side of the field being satisfied, there is also a relationship with the offender A in the selected case objects ,

DatenqualitätsmonitoreData Quality Monitors

5A zeigt eine beispielhafte Benutzerschnittstelle 510, die konfiguriert ist, um Benutzern zu ermöglichen, Kriterien für einen Datenqualitätsmonitor zu erstellen. Anfänglich kann der Benutzer einen bereits bestehenden Monitor auswählen (beispielsweise einen Monitor, der zuvor durch den Benutzer und/oder einen anderen Benutzer erzeugt wurde), und zwar unter Verwendung des Aufklappmenüs (Drop-down-Menüs) 512. Alternativ kann der Benutzer einen neuen Monitor durch Auswählen der „Erzeuge neuen Monitor”-Schaltfläche 514 auswählen. Wenn der Benutzer einen neuen Monitor erzeugt, ermöglicht die beispielhafte Benutzerschnittstelle 510 dem Benutzer, einen benutzerdefinierten Namen zu vergeben, wie beispielsweise „doppelte Personen”, dadurch dass er den Namen in ein Textfeld eingibt. Zusätzlich kann bei einigen Ausführungsformen die Benutzerschnittstelle 510 dem Benutzer ermöglichen, durch Klicken auf die „Veröffentliche Monitor”-Schaltfläche 520 einen benutzerdefinierten Monitor zu veröffentlichen, wodurch der Monitor für andere Benutzer verfügbar wird (z. B. über das Monitorauswahl-Ausklappmenü 512), um beispielsweise das gleiche Datenqualitätsmonitoring bei weiteren Datensätzen durchzuführen. 5A shows an exemplary user interface 510 , which is configured to allow users to create criteria for a data quality monitor. Initially, the user may select an already existing monitor (for example, a monitor previously created by the user and / or another user) using the pop-up menu (drop-down menus). 512 , Alternatively, the user can create a new monitor by selecting the "Create new monitor" button 514 choose. When the user creates a new monitor, the example user interface allows 510 giving the user a custom name, such as "duplicate persons", by typing the name into a text box. In addition, in some embodiments, the user interface 510 enable the user by clicking on the "Publish Monitor" button 520 Publish a custom monitor, making the monitor available to other users (for example, from the Monitor Selection pop-up menu 512 ), for example, to perform the same data quality monitoring on additional data records.

Bei der Ausführungsform von 5A kann der Benutzer einen oder mehrere spezielle Objekttypen auswählen, die einem Monitoring unterzogen werden sollen. Bei diesem Beispiel ist konfiguriert, dass Personenobjekte 522, die in Beziehung zu Fall-Objekten 524 stehen, einem Monitoring durch diesen Datenqualitätsmonitor unterzogen werden sollen. Ein Benutzer kann weiter die einem Monitoring zu unterziehenden Objekte dadurch editieren, dass er auf die „Editieren”-Schaltfläche 521 klickt, wodurch eine Benutzerschnittstelle, wie beispielsweise die in 4B dargestellte Schnittfläche, geöffnet wird. Bei einigen Ausführungsformen kann dies bedeuten, dass Person-Objekte, die einem Monitoring unterzogen werden, in Beziehung zu einem oder mehreren Fall-Objekten stehen sollten, und Person-Objekte, die in keiner Beziehung zu Fall-Objekten stehen, nicht einem Monitoring unterzogen werden sollten. Bei einigen Ausführungsformen kann konfiguriert sein, dass lediglich Person-Objekte 522 einem Monitoring unterzogen werden sollen, ohne die zusätzliche Anforderung, dass die Person-Objekte 522 in Beziehung zu einem oder mehreren Fall-Objekten 524 stehen sollten.In the embodiment of 5A The user can select one or more specific object types to be monitored. This example configures people objects 522 that relate to case objects 524 be monitored by this data quality monitor. A user can further edit the objects to be monitored by pointing to the "Edit" button 521 clicks, creating a user interface, such as the one in 4B shown cut surface is opened. In some embodiments, this may mean that person objects being monitored should be related to one or more case objects and not being subject to person objects unrelated to case objects should. In some embodiments, only person objects may be configured 522 should be subjected to monitoring, without the additional requirement that the person-objects 522 in relation to one or more case objects 524 should stand.

Bei diesem Beispiel hat der Benutzer einen Datenqualitätsmonitor „doppelte Objekte” unter Verwendung des Monitortyp-Aufklappmenüs 526 ausgewählt. Typen von Datenqualitätsmonitoren können auf weitere Datenqualitätsprobleme gerichtet sein, wie beispielsweise fehlende Werte, ungeparste Eigenschaften, Verletzungen des Wertbereichs, Eigenschaften mit Werten, die nicht mit zulässigen Aufzählungen übereinstimmen, sowie weitere Typen von möglichen Datenqualitätsproblemen, die auch im Menü 526 verfügbar sein können. Die Benutzerschnittstelle 510 liefert weiter eine Liste von verfügbaren Eigenschaftstypen, die mit dem gewählten Objekttyp assoziiert sind (bei diesem Beispiel Person-Objekttyp), nach dem der Monitor suchen wird.In this example, the user has a data quality monitor "duplicate objects" using the monitor type drop-down menu 526 selected. Types of data quality monitors may address other data quality issues, such as missing values, unpaired properties, violations of the value range, Properties with values that do not match permissible enumerations, as well as other types of possible data quality issues that also appear in the menu 526 can be available. The user interface 510 also returns a list of available property types associated with the selected object type (in this example, person-object type) that the monitor will search for.

Außerdem kann der Datenqualitätsmonitor auch so konfiguriert sein, dass einem Benutzer ermöglicht wird, eine minimale Anzahl von Übereinstimmungen zwischen den gelieferten Eigenschaftskriterien einzugeben, die in einem übereinstimmenden Person-Objekt resultieren (oder einem anderen Objekttyp bei weiteren Implementierungen). Falls beispielsweise ein Benutzer vier Eigenschaften und eine minimale Übereinstimmung von zwei spezifiziert hat (wie im Beispiel von 5A dargestellt), würde ein Übereinstimmen von mindestens zwei der spezifizierten Eigenschaften zwischen zwei Person-Objekten als ausreichend erachtet werden, um diese zwei Objekte als möglicherweise doppelt vorhandene Objekte zu identifizieren. Im Beispiel von 5A sind die folgenden Eigenschaften für einen Abgleich ausgewählt: Name, Geburtsdatum, Sozialversicherungsnummer und Führerscheinnummer.In addition, the data quality monitor may also be configured to allow a user to enter a minimum number of matches between the supplied property criteria resulting in a matching person object (or another object type in further implementations). For example, if a user specified four properties and a minimum match of two (as in the example of FIG 5A ), matching at least two of the specified properties between two person objects would be considered sufficient to identify these two objects as possibly duplicate objects. In the example of 5A For example, the following properties are selected for reconciliation: name, date of birth, social security number and driver's license number.

Bei einigen Ausführungsformen können die Eigenschaften, die abzugleichen sind, um zu bestimmen, ob Objekte doppelt vorhanden sind, hinzugefügt oder gelöscht werden. Ein Benutzer kann auf eine „Eigenschaft hinzufügen”-Schaltfläche 538 klicken, um zusätzliche Eigenschaften hinzuzufügen. Ein Benutzer kann auch auf das „Eigenschaft entfernen”-Piktogramm 540 benachbart einer Eigenschaft klicken, um diese Eigenschaft zu entfernen. Ein Speichern der Eigenschaft-Einstellungen ist ebenfalls mit dem Monitor möglich.In some embodiments, the properties to be matched to determine if objects are duplicated may be added or deleted. A user can click on a "Add Property" button 538 click to add additional properties. A user can also click the "remove property" icon 540 click adjacent to a property to remove this property. Saving the property settings is also possible with the monitor.

Bei der Ausführungsform von 5A können Ergebnisse des Datenqualitätsmonitors 510 durch Klicken auf die „Jetzt Monitor ausführen”-Schaltfläche 530 erzielt werden. In Abhängigkeit von der Ausführungsform und dem verwendeten spezifischen Datensatz ist es möglich, dass doppelte Objekte gemäß den erstellten Datenqualitätsmonitor-Kriterien gefunden werden, oder keine gefunden werden. Bei diesem Beispiel wird gefunden, dass drei Gruppen von Person-Objekten gemäß den spezifizierten Kriterien möglicherweise doppelt vorhanden sind. Abhängig von der Ausführungsform können Ergebnisse des Datenqualitätsmonitors in einer Diagramm-Umgebung betrachtet werden, und zwar durch Auswählen von 534 oder, in einer Browser-Umgebung, durch Auswählen von 536.In the embodiment of 5A can get results of the data quality monitor 510 by clicking on the "Run Monitor Now" button 530 be achieved. Depending on the embodiment and the specific dataset used, it is possible for duplicate objects to be found according to the created data quality monitor criteria, or none found. In this example, it is found that three sets of person objects may be duplicated according to the specified criteria. Depending on the embodiment, results of the data quality monitor may be viewed in a chart environment by selecting 534 or, in a browser environment, by selecting 536 ,

5B zeigt möglicherweise doppelt vorhandene Objekte, die durch den Datenqualitätsmonitor identifiziert wurden, der in der Benutzerschnittstelle 510 von 5A definiert wurde. In diesem Beispiel wurden zwei Person-Objekte, böse Person 1 540 und böse Person 2 542 durch den „Doppelte Personen”-Datenqualitätsmonitor als möglicherweise dasselbe Objekt identifiziert. Bei einigen Ausführungsformen, bei denen es viele identifizierte Objekte gibt, können die Objekte in einer Diagramm-Ansicht oder in einer Browser-Ansicht angezeigt werden, mit zunächst einer geringeren Anzahl von dargestellten Objekten. Ein Benutzer hat dann die Wahl, ob er einen Drilldown-Vorgang, einen Drillup-Vorgang durchzuführen, und/oder die identifizierten Objekte anderweitig zu erkunden. 5B may show duplicate objects identified by the data quality monitor in the user interface 510 from 5A was defined. In this example, two person objects, nasty person 1 540 and angry person 2 542 identified by the "Double People" Data Quality Monitor as possibly the same object. In some embodiments, where there are many identified objects, the objects may be displayed in a chart view or in a browser view, initially with a fewer number of displayed objects. A user then has the choice of whether to drill down, drill up, and / or otherwise explore the identified objects.

5C zeigt eine beispielhafte Schnittstelle 544, die konfiguriert ist, um Benutzern zu ermöglichen, anzugeben, ob die Objekte doppelt sind und aufgelöst werden sollten, möglicherweise nach einem Durchsehen von zusätzlichen Daten, die in Beziehung zu identifizierten möglicherweise doppelt vorhandenen Objekten stehen (siehe beispielsweise 8C). Bei einigen Ausführungsformen kann eine unterschiedliche Schnittstelle repräsentiert werden, um Gruppen von möglicherweise doppelten Objekten aufzulösen. In der beispielhaften Schnittstelle 544 kann einem Benutzer eine Frage präsentiert werden, wie beispielsweise „Sind Sie sicher, dass Sie diese zwei Objekte auflösen möchten?”. Bei einigen weiteren Ausführungsformen kann eine ähnliche oder unterschiedliche Frage gestellt werden, um dem Benutzer mitzuteilen, dass eine Auswahl vorgenommen werden kann, um das mögliche Datenqualitätsproblem aufzulösen. In diesem Beispiel kann ein Benutzer die Vorgabe-Bezeichnung (Default-Bezeichnung) „böse Person 2” wählen. Falls diese Auswahl getroffen wird, ist die Bezeichnung der neu zusammengeführten Objekte „böse Person 2”. Bei dieser Ausführungsform werden die Daten betreffend sowohl „böse Person 1” als auch „böse Person 2” zusammengeführt, um das neue zusammengeführte Objekt mit der Bezeichnung „böse Person 2” zu bilden. 5C shows an exemplary interface 544 configured to allow users to specify whether the objects should be duplicated and resolved, possibly after looking through additional data related to identified potentially duplicate objects (see, for example, 8C ). In some embodiments, a different interface may be represented to resolve groups of potentially duplicate objects. In the exemplary interface 544 can a user be presented with a question such as "Are you sure you want to resolve these two objects?". In some other embodiments, a similar or different question may be asked to notify the user that a selection may be made to resolve the potential data quality problem. In this example, a user can select the default label "bad person 2". If this selection is made, the name of the newly merged objects is "nasty person 2". In this embodiment, the data relating to both "nasty person 1" and "nasty person 2" is merged to form the new merged object called "nasty person 2".

Bei einigen Ausführungsformen wird, wenn ein mögliches Datenqualitätsproblem aufgelöst wird, das zusammengeführte Objekt im Datenspeicher geführt, und die einzelnen Objekte, die zu dessen Erzeugung verwendet wurden, sind bei Suchvorgängen nicht mehr separat sichtbar. Bei einigen Ausführungsformen kann der Benutzer, der eine Objektauflösung initiiert, auch angeben, dass die Auflösung lediglich bei Daten wirksam sein soll, auf die durch den speziellen Benutzer und/oder eine spezielle Benutzergruppe zugegriffen wird. Somit kann die Auflösung (und/oder weitere Änderungen an Datenobjekten) an andere Benutzer selektiv ausgegeben werden.In some embodiments, when a potential data quality problem is resolved, the merged object is maintained in the data store and the individual objects used to create it are no longer separately visible during searches. In some embodiments, the user initiating object resolution may also specify that the resolution should only be effective on data accessed by the particular user and / or a particular user group. Thus, the resolution (and / or other changes to data objects) can be selectively output to other users.

5D stellt eine beispielhafte Benutzerschnittstelle 546 dar, bei der möglicherweise doppelt vorhandene Objekte aufgelöst wurden und Ergebnisse der Auflösung angezeigt werden. Bei diesem Beispiel wird gefunden, dass „böse Person 2” möglicherweise ein Duplikat von einigen weiteren Objekten ist. Information bezüglich Eigenschaften von „böse Person 2”, die nun Eigenschaften von „böse Person 1” beinhalten, bei der eine Auflösung zu „böse Person 2” erfolgt ist, können angezeigt werden. Bei einigen Ausführungsformen wird lediglich Information angezeigt, die tatsächlich verwendet wird, um einen Abgleich doppelter Objekte vorzunehmen oder weitere mögliche Datenqualitätsprobleme zu identifizieren. Bei einigen weiteren Ausführungsformen können alle oder relevante Eigenschaften eines gewählten Objektes einem Benutzer angezeigt werden. Bei diesem Beispiel ist dargestellt, dass „böse Person 2” den Namen von „böse Person 1” und die Sozialversicherungsnummer 123-45-6789 hat. 5D provides an exemplary user interface 546 where duplicate objects have been resolved and resolution results are displayed. In this For example, it is found that "bad person 2" may be a duplicate of some other objects. Information regarding "bad person 2" characteristics, which now include "bad person 1" characteristics that have been resolved to "bad person 2", may be displayed. In some embodiments, only information that is actually used to reconcile duplicate objects or identify other potential data quality issues is displayed. In some other embodiments, all or relevant properties of a selected object may be displayed to a user. This example shows that "bad person 2" has the name of "bad person 1" and social security number 123-45-6789.

6 ist ein Ablaufdiagramm, das eine erläuternde Operation darstellt, bei der ein Identifizieren, Bestätigen und Entfernen oder Auflösen von doppelt vorhandenen Objekten erfolgt, gemäß einer Ausführungsform. Das Verfahren von 6 kann durch ein Rechnersystem durchgeführt werden, das durch einen Analysten (oder einen anderen Benutzer) verwendet wird, durch eines oder mehrere Server-Systeme, welche die Objekt-Ontologie speichern (z. B. das Datenbanksystem 210 von 1), und/oder jegliches andere geeignete Rechnersystem. 6 FIG. 10 is a flowchart illustrating an illustrative operation that involves identifying, confirming, and removing or resolving duplicate objects, according to one embodiment. The procedure of 6 may be performed by a computer system used by an analyst (or other user) by one or more server systems that store the object ontology (eg, the database system 210 from 1 ), and / or any other suitable computer system.

Das Verfahren 600 beginnt bei Block 605, bei dem ein Datenqualitätsmonitor automatisch mögliche doppelte Objekte basierend auf einem Satz von Kriterien bestimmt (z. B. den Sätzen in der Benutzerschnittstelle 510 von 5A). Bei einigen Ausführungsformen kann der Satz von Kriterien durch einen Benutzer erzeugt werden. Bei einigen weiteren Ausführungsformen kann der Satz von Kriterien bereits zuvor erzeugt worden sein (z. B. durch denselben Benutzer, einen anderen Benutzer, oder als Systemvorgabe) und im Datenqualitätsmonitor gespeichert werden. Der Satz von Kriterien kann Eigenschaftskriterien beinhalten, wie beispielsweise die Eigenschaften, die auf Übereinstimmung zu prüfen sind, und die minimale Anzahl von Eigenschaften, die übereinstimmen müssen. Zwar wird ein „Mögliche doppelte Daten”-Qualitätsmonitor mit Bezug auf 6 erörtert, jedoch können weitere Typen von Monitoren in ähnlicher Weise ausgeführt werden. Wie zuvor erörtert, können diese weiteren Typen von Datenqualitätsmonitoren beinhalten: Fehlende Werte, ungeparste Eigenschaften, Verletzungen des Wertebereichs, Eigenschaften mit Werten, die nicht mit zulässigen Aufzählungen übereinstimmen, und weitere Typen möglicher Datenqualitätsprobleme.The procedure 600 starts at block 605 in which a data quality monitor automatically determines possible duplicate objects based on a set of criteria (e.g., sets in the user interface 510 from 5A ). In some embodiments, the set of criteria may be generated by a user. In some other embodiments, the set of criteria may have been previously created (eg, by the same user, another user, or as a system default) and stored in the data quality monitor. The set of criteria may include property criteria, such as the properties to check for match, and the minimum number of properties that must match. Although a "possible duplicate data" quality monitor is related to 6 however, other types of monitors may be similarly implemented. As previously discussed, these may include other types of data quality monitors: missing values, unpaired properties, violations of the range of values, properties with values that do not match permissible enumerations, and other types of potential data quality issues.

Das Verfahren 600 geht weiter auf Block 610, bei dem der Datenqualitätsmonitor Assoziierungen zwischen möglichen doppelten Objekten erzeugt. Falls beispielsweise zwei Person-Objekte als mögliche Duplikate voneinander erachtet werden, basierend auf einer identischen Sozialversicherungsnummer (SSN) und einem identischen Geburtsdatum (DOB) (wobei SSN und DOB ausgewählte Eigenschaften sind, bei denen ein Abgleich erfolgen soll, und der Monitor zwei oder weniger übereinstimmende Eigenschaften erfordert) kann eine Assoziierung/ein Link „Mögliche doppelte Objekte” zwischen diesen zwei Person-Objekten erzeugt werden. In einigen Situationen kann das Zwei-Person-Objekte einige weitere Eigenschaften haben, die nicht identisch sind, beispielsweise unterschiedliche Augenfarben.The procedure 600 continue on block 610 in which the data quality monitor generates associations between possible duplicate objects. For example, if two person objects are considered as possible duplicates based on an identical social security number (SSN) and an identical date of birth (DOB) (where SSN and DOB are selected characteristics to be matched, and the monitor is two or less requires matching properties), a "possible duplicate object" association / link can be created between these two person objects. In some situations, the two-person objects may have some other properties that are not identical, such as different eye colors.

Bei einem weiteren Beispiel kann, falls vier Strafmandats-Objekte gleiches Ausstellungsdatum, Namen, Vorfallstyp, Führerscheinnummer und Fahrzeugzulassungsnummern haben, der Datenqualitätsmonitor diese als mögliche Duplikate erachten (basierend auf den erstellten Monitorkriterien) und Assoziierungen/Links zwischen den vier Strafmandat-Objekten erzeugen, was diese als mögliche Duplikate identifiziert.In another example, if four penalty mandate objects have the same issue date, name, incident type, driver license number, and vehicle registration numbers, the data quality monitor may consider them as possible duplicates (based on the established monitor criteria) and create associations / links between the four penalty domain objects these identified as possible duplicates.

Bei Block 615 liefert der Datenqualitätsmonitor an einen Benutzer eine Angabe von möglichen doppelten Objekten. Bei einigen Ausführungsformen kann die Angabe, dass einige Objekte möglicherweise Duplikate voneinander sein können, in einer Diagrammansicht dargestellt werden, wobei das eine oder die mehreren identifizierten Objekte angezeigt werden und Verbindungen zwischen den identifizierten Objekten deren Assoziierungen angeben. Ein Benutzer kann die Information, die in einer derartigen Diagrammansicht und/oder einer oder mehrerer damit in Beziehung stehenden Histogrammansichten geliefert wird (siehe z. B. 8C) beispielsweise verwenden, um zu bestimmen, ob die Objekte Duplikate sind, oder nicht. Bei einigen weiteren Ausführungsformen können die Verbindungen zwischen den identifizierten Objekten in einer Explorer-Ansicht dargestellt werden, wobei ein Benutzer auf ein Piktogramm klicken kann, das ein Objekt repräsentiert, um mehr Details darüber herauszufinden, warum gewisse Objekte miteinander verbunden sind und was die Objekte zu möglichen Duplikaten voneinander macht. Die erzeugte Assoziierung kann die übereinstimmenden identischen Eigenschaften angeben, oder möglicherweise lediglich die Eigenschaften, die als kritisch erachtet werden.At block 615 The data quality monitor provides a user with an indication of possible duplicate objects. In some embodiments, the indication that some objects may possibly be duplicates of each other may be presented in a diagrammatic view, wherein the one or more identified objects are displayed and links between the identified objects indicate their associations. A user may provide the information provided in such a diagram view and / or one or more related histogram views (see, e.g. 8C ), for example, to determine if the objects are duplicates or not. In some other embodiments, the links between the identified objects may be presented in an Explorer view, where a user may click on a pictogram representing an object to find out more details about why certain objects are linked together and what the objects are makes possible duplicates of each other. The created association may indicate the matching identical properties, or possibly only those properties that are considered critical.

Bei Entscheidungsblock 720 empfängt der Datenqualitätsmonitor eine Eingabe vom Benutzer, die angibt, ob es sich bei einem Satz von möglichen Duplikaten wirklich um Duplikate handelt, oder nicht. Beispielsweise kann der Benutzer zusätzliche Eigenschaften von identifizierten möglichen doppelten Objekten durchsehen, um die Bestimmung vorzunehmen. Der Benutzer kann die Eingabe auf verschiedene Weise liefern, beispielsweise dadurch, dass der Benutzer ein Ziehen und Ablegen (Drag and Drop) von doppelten Objekten aufeinander durchführt, reagierend auf eine Anfrage vom System, das eine Bestätigung einer vorhandenen Duplikation bei dargestellten Objekten anfordert, und/oder durch eine beliebige andere Weise. Bei einigen Ausführungsformen kann der Datenqualitätsmonitor konfiguriert sein, um automatisch eine Auswahl anhand einer Vorgabe durchzuführen, falls ein Benutzer nicht verfügbar ist oder sich entscheidet, den Bestätigungsschritt nicht durchzuführen. In solchen Fällen kann der Datenqualitätsmonitor automatisch eine Bestimmung vornehmen und jegliche vorhandene Duplizierung auflösen und/oder entfernen.At decision block 720 The Data Quality Monitor receives input from the user indicating whether or not a set of possible duplicates are really duplicates. For example, the user may review additional properties of identified possible duplicate objects to make the determination. The user can provide input in a variety of ways, such as by having the user drag and drop duplicate objects onto each other, responding to a request from the system requesting confirmation of an existing duplication of displayed objects, and / or by any other means. In some embodiments, the data quality monitor may be configured to automatically make a selection based on a default if a user is unavailable or decides not to perform the confirmation step. In such cases, the data quality monitor can automatically make a determination and resolve and / or remove any existing duplication.

Falls der Benutzer herausfindet, dass die identifizierten Objekte Duplikate sind, fährt der Prozess 600 mit Block 625 fort, bei dem das Duplizierungsproblem gelöst wird. Wie zuvor erläutert, kann ein Auflösen von doppelten Objekten dadurch erfolgen, dass diese Objekte zu einem einzigen Objekt kombiniert werden, das Eigenschaften von jedem der zwei oder mehr bestimmten doppelten Objekte aufweist. Bei weiteren Ausführungsformen können die Objekte separate Objekte bleiben, jedoch können Assoziierungen zwischen den identifizierten Objekten aktualisiert werden, um die Bestätigung des Benutzers betreffend die Duplizierung anzugeben. Beispielsweise kann die Assoziierung zwischen den identifizierten Objekten von „mögliche Duplikate” auf „bestätigte Duplikate” aktualisiert werden.If the user finds out that the identified objects are duplicates, the process continues 600 with block 625 continue, where the duplication problem is solved. As previously discussed, double object resolution may be accomplished by combining these objects into a single object having properties of each of the two or more particular duplicate objects. In other embodiments, the objects may remain separate objects, however, associations between the identified objects may be updated to indicate the user's confirmation regarding the duplication. For example, the association between the identified objects may be updated from "possible duplicates" to "confirmed duplicates".

Falls jedoch der Benutzer bestimmt, dass die identifizierten Objekte keine Duplikate sein können, und zwar bei Entscheidungsblock 620, fährt der Prozess 600 mit Block 630 fort, bei dem eine Angabe einer möglichen vorhandenen Duplizierung durch das System entfernt werden kann. Bei einigen Ausführungsformen kann eine Assoziierung zwischen den identifizierten Objekten auch entfernt oder aktualisiert werden, um die Bestätigung des Benutzers betreffend eine nicht vorhandene Duplizierung anzugeben. Beispielsweise kann die Assoziierung zwischen den identifizierten Objekten von „mögliche Duplikate” auf „keine bestätigte Duplizierung” aktualisiert werden.However, if the user determines that the identified objects can not be duplicates, at decision block 620 , the process continues 600 with block 630 continue, in which an indication of a possible existing duplication can be removed by the system. In some embodiments, an association between the identified objects may also be removed or updated to indicate the user's acknowledgment of a non-duplicated duplication. For example, the association between the identified objects may be updated from "possible duplicates" to "no confirmed duplication".

7 ist ein Ablaufdiagramm, das einen erläuternden Prozess darstellt, bei dem ein Erzeugen und Durchführen von Datenqualitätsmonitoren basierend auf empfangenen Datenqualitätskriterien ausgeführt wird, gemäß einer Ausführungsform. Das Verfahren von 7 kann durch ein Rechnersystem durchgeführt werden, das von einem Analysten (oder einem anderen Benutzer) verwendet wird, durch eines oder mehrere Server-Systeme, welche die Objekt-Ontologie speichern (z. B. das Datenbanksystem 210 von 1), und/oder jegliches andere geeignete Rechnersystem. 7 FIG. 10 is a flowchart illustrating an illustrative process in which generating and performing data quality monitors is performed based on received data quality criteria, according to one embodiment. The procedure of 7 may be performed by a computing system used by an analyst (or other user) by one or more server systems that store the object ontology (eg, the database system 210 from 1 ), and / or any other suitable computer system.

Der Prozess 700 beginnt bei Block 705, bei dem der Datenqualitätsmonitor eine Auswahl von Objekttypen erhält. Bei einigen Ausführungsformen können einem Benutzer verfügbare Objekttypen direkt präsentiert werden, beispielsweise in einem Aufklappmenü. Bei einigen weiteren Ausführungsformen kann der Benutzer mehr als einen von verfügbaren Objekttypen auswählen. Beispielsweise kann, wie zuvor erläutert, ein Person-Objekttyp ausgewählt werden.The process 700 starts at block 705 where the data quality monitor receives a selection of object types. In some embodiments, object types available to a user may be presented directly, for example, in a drop-down menu. In some other embodiments, the user may select more than one of available object types. For example, as previously explained, a person-object type may be selected.

Der Prozess 700 fährt fort mit Block 710, bei dem der Datenqualitätsmonitor eine Auswahl von benötigten Eigenschaften von Objekten erhält, die in einen Analysesatz zu inkludieren sind. Falls beispielsweise der ausgewählte Objekttyp in Block 705 ein Person-Objekt ist, kann die Auswahl von erforderlichen Eigenschaften für die Person-Objekte, die in den Analysesatz zu inkludieren sind, eine beliebige Eigenschaft von Person-Objekten beinhalten, wie beispielsweise die folgenden, ohne Einschränkung: Name, Adresse, Telefonnummer, Geburtsdatum, Sozialversicherungsnummer, Führerschein, Staatsbürgerschaft, Zuwanderungsstatus, Beruf etc. In einigen Fällen kann die Auswahl von erforderlichen Eigenschaften von Objekten eine kleinere Anzahl von Eigenschaften beinhalten, welche für einen Benutzer am kritischsten sind. Wenn beispielsweise ein Benutzer einen Datenqualitätsmonitor bei Fall-Objekten ausführen möchte, die in Beziehung zu gestohlenen Fahrzeugen bestehen, können die Eigenschaften, die mit den Fall-Objekten assoziiert sind, beinhalten: Fahrzeugidentifikationsnummer (VIN), Datum, an dem das Fahrzeug gestohlen wurde, Ort, an dem das Fahrzeug zuletzt gesehen wurde, Fahrzeugmodell, Fahrzeughersteller, und Fahrzeugfarbe etc. In einigen weiteren Fällen kann die Auswahl von erforderlichen Eigenschaften eine größere Anzahl von Eigenschaften beinhalten, in Abhängigkeit von den Anforderungen des Benutzers. Außerdem kann gefordert sein, dass der für ein Monitoring ausgewählte Objekttyp mit einem oder mehreren weiteren Objekttypen assoziiert ist, wie beispielsweise der geforderte Link zwischen Person-Objekttypen und Fall-Objekttypen im Beispiel von 5A.The process 700 continues with block 710 in which the data quality monitor receives a selection of required properties from objects to be included in an analysis set. For example, if the selected object type is in block 705 is a Person object, the selection of required properties for the Person objects to be included in the Analysis Set may include any property of Person objects, such as the following, without limitation: name, address, telephone number, date of birth , Social security number, driver's license, citizenship, immigration status, occupation, etc. In some cases, the selection of required properties of objects may include a smaller number of properties that are most critical to a user. For example, if a user wants to run a data quality monitor on case objects related to stolen vehicles, the properties associated with the case objects may include: vehicle identification number (VIN), date on which the vehicle was stolen, Location where the vehicle was last seen, vehicle model, vehicle manufacturer, and vehicle color, etc. In some other cases, the selection of required properties may include a greater number of properties, depending on the user's needs. In addition, it may be required that the object type selected for monitoring is associated with one or more further object types, such as the required link between person-object types and case-object types in the example of FIG 5A ,

Bei Block 715 kann der Datenqualitätsmonitor eine Auswahl von Datenqualitätskriterien erhalten, die auf Objekte im Analysesatz anzuwenden sind. Abhängig von der Ausführungsform können verfügbare Datenqualitätskriterien zunächst basierend auf einem ausgewählten Datenqualitätsmonitortyp bestimmt werden, wie beispielsweise (1) doppelte Objekte; (2) mehrere Werte aufweisende Eigenschaften; (3) fehlende Eigenschaften; (4) ungeparste Eigenschaften; (5) Eigenschaften mit Werten, die nicht mit zulässigen Aufzählungen übereinstimmen; (6) Verletzung des Wertebereichs, etc. Jeder Typ von Datenqualitätsmonitor kann gewisse Kriterien beinhalten, um Objekte mit möglichen Datenqualitätsproblemen zu identifizieren. Außerdem kann der Benutzer die Datenqualitätskriterien anpassen, die in den Monitor inkludiert sind. Nachfolgend werden Beispiele von gewissen Datenqualitätsmonitoren erläutert, die von einem Benutzer ausgewählt werden können.At block 715 For example, the Data Quality Monitor may receive a selection of data quality criteria to apply to objects in the analysis set. Depending on the embodiment, available data quality criteria may be initially determined based on a selected data quality monitor type, such as (1) duplicate objects; (2) multi-valued properties; (3) missing properties; (4) unpaired properties; (5) properties with values that do not match permissible enumerations; (6) Violation of the range of values, etc. Each type of data quality monitor may include certain criteria to identify objects with potential data quality issues. In addition, the user can adjust the data quality criteria included in the monitor. Below are Explains examples of certain data quality monitors that can be selected by a user.

Ein „Doppelte Objekte”-Monitor kann mögliche doppelte Objekte identifizieren, die einen oder mehrere identische (oder im Wesentlichen ähnliche) Eigenschaftswerte haben, derart, dass sie als Duplikate betrachtet werden können. Jedoch können Objekte nicht immer als mögliche Duplikate betrachtet werden, lediglich da sie einige gleiche Eigenschaftswerte aufweisen. Beispielsweise können mehrere Person-Objekte die gleiche Postadresse, Telefonnummer und Fahrzeuginformation aufweisen. In einigen Fällen werden die Person-Objekte, welche solche identische Eigenschaftswerte aufweisen, dadurch nicht identisch, da diese Personen in demselben Haushalt leben können. In einigen weiteren Fällen kann ein Vorliegen einer Gleichheit bei wichtigen Eigenschaftswerten dazu führen, dass das System findet, dass einige Objekte möglicherweise Duplikate sind. Falls beispielsweise mehrere Person-Objekte die gleiche Sozialversicherungsnummer, Telefonnummer, Geburtsdatum haben, dann könnten sie als Duplikate betrachtet werden. Bei einigen Ausführungsformen können diese Person-Objekte weiterhin nicht als mögliche Duplikate betrachtet werden, bedingt durch weitere verfügbare Eigenschaftswerte, oder Bedenken hinsichtlich Betrug. Somit kann, in Abhängigkeit von den speziellen Datenobjekten und entsprechenden Eigenschaften, die einem Monitoring unterzogen werden, der Benutzer unterschiedliche Kriterien für einen „Doppelte Objekte”-Monitor haben.A "Duplicate Objects" monitor may identify potential duplicate objects that have one or more identical (or substantially similar) property values such that they may be considered duplicates. However, objects can not always be considered as possible duplicates simply because they have some equal property values. For example, multiple person objects may have the same postal address, telephone number, and vehicle information. In some cases, the person objects that have such identical property values will not be identical because these people can live in the same household. In some other cases, having equality on important property values may cause the system to find that some objects may be duplicates. For example, if several person objects have the same social security number, phone number, birth date, then they might be considered duplicates. In some embodiments, these person objects still can not be considered as possible duplicates due to other available property values or concerns about fraud. Thus, depending on the particular data objects and corresponding properties being monitored, the user may have different criteria for a "Duplicate Objects" monitor.

Ein Monitor „Mehrere Werte aufweisende Eigenschaften” kann Objekte mit Eigenschaften, die mehr als einen Wert aufweisen, identifizieren. Beispielsweise sollte es sich bei dem Präsidenten eines ausländischen Staates um lediglich eine einzige Person handeln. Falls der Wert der Präsident-Eigenschaft dieses Land-Objektes mehr als eine einzige Person aufweist, könnte dies auf ein mögliches Datenqualitätsproblem hinweisen. Bei einem weiteren Beispiel weist ein Person-Objekt zwei Sozialversicherungsnummern auf. Normalerweise sollte eine Person lediglich mit einer einzigen Sozialversicherungsnummer assoziiert sein. Jedoch könnte eine Betrugsermittlung vorliegen, und dieses spezielle Person-Objekt wurde mit mehreren Sozialversicherungsnummern assoziiert, die von ihr in betrügerischer Weise verwendet wurde. Somit kann das Person-Objekt als mögliches Datenqualitätsproblem in einem Monitor „Mehrere Werte aufweisende Eigenschaften” markiert werden.A multi-valued properties monitor can identify objects with properties that have more than one value. For example, the president of a foreign state should be a single person. If the value of the President property of this Land object has more than one person, this could indicate a potential data quality problem. In another example, a person object has two social security numbers. Normally, a person should only be associated with a single social security number. However, there could be fraud detection and this particular person object was associated with several social security numbers fraudulently used by her. Thus, the Person object can be marked as a potential data quality problem in a multi-value properties monitor.

Ein Monitor „Fehlende Eigenschaften” kann Objekte mit fehlenden Eigenschaftswerten und/oder fehlenden Eigenschaftstypen identifizieren. Beispielsweise kann bei einigen Ausführungsformen eine Blutspende-Datenbank viele Person-Objekte beinhalten, von denen jede eine als „Blutgruppe” bezeichnete Eigenschaft aufweist. Da es wichtig sein kann, die Blutgruppen von Blutspendern zu bestimmen, kann ein Person-Objekt, das keinen Blutgruppen-Eigenschaftswert hat, oder ein Person-Objekt, das überhaupt nicht über eine Blutgruppen-Eigenschaft verfügt, möglicherweise problematisch sein.A Missing Properties monitor can identify objects with missing property values and / or missing property types. For example, in some embodiments, a blood donation database may include many person objects, each having a property called a "blood type". Since it may be important to determine the blood types of blood donors, a person's object that does not have a blood type property value or a person's object that does not have a blood type property at all may be problematic.

Ein Monitor „Ungeparste Eigenschaften” kann Objekte identifizieren, die mit nicht verarbeiteter und/oder unvollständiger Information in einer Ursprungsdatenbank assoziiert sind. Beispielsweise hat möglicherweise ein Fahnder einer Strafverfolgungsbehörde die folgende Information hinsichtlich eines Verdächtigen (z. B. ein Person-Datenobjekt) eingegeben: „loc:CA”. Danach ist es, wenn vom Fahnder keine weitere Information geliefert wird, möglicherweise nicht wirklich klar, ob diese Information „Standort = Kalifornien” („Location = California”), „Standort = Kanada” („Location = Canada”) oder irgendetwas anderes bedeutet. Bei einem weiteren Beispiel hat ein Verdächtiger möglicherweise ein Geburtsdatum angegeben. Jedoch kann beim Geburtsdatum des Verdächtigen ein unterschiedliches Kalenderjahrsystem verwendet werden, beispielsweise das Mondjahr-Kalendersystem oder das tibetische Kalendersystem. Daher kann es sich, wenn das gemäß Mondjahr angegebene Geburtsdatum des Verdächtigen der 20. Januar 1986 ist, es sich beim wirklichen Geburtsdatum des Verdächtigen um ein unterschiedliches Datum handeln. Eigenschaftswerte als solche können auch zu Datenqualitätsproblemen führen.An "Unstable Properties" monitor can identify objects associated with unprocessed and / or incomplete information in an origin database. For example, a law enforcement officer may have entered the following information regarding a suspect (eg, a person-data object): "loc: CA". After that, if the investigator does not provide any further information, it may not be really clear if this information means "Location = California", "Location = Canada", or anything else , In another example, a suspect may have specified a date of birth. However, the date of birth of the suspect may use a different calendar year system, such as the lunar-year calendar system or the Tibetan calendar system. Therefore, if the suspect's birth date is 20 January 1986, the actual date of birth of the suspect may be a different date. Property values as such can also lead to data quality issues.

Bei einem weiteren Beispiel kann ein Datum in einem Format, wie beispielsweise Tag/Monat/Jahr bereitgestellt werden (z. B. 13/7/92). En System, das „Tag” mit „Monat” verwechselt, kann beim Parsen des Datums 13/7/92 scheitern, da es keinen 13. Monat gibt. Der Monitor „Ungeparste Eigenschaften” kann Daten auffinden, bei denen ein Parsen gemäß der Monat/Tag/Jahr-Konvention scheitert, und einen Benutzer warnen, dass die Regel zum Parsen des Datums zu korrigieren ist, so dass ein Datum, das gemäß dem Tag/Monat/Jahr-Format bereitgestellt wird, in korrekter Weise geparst wird.In another example, a date may be provided in a format such as day / month / year (eg, 13/7/92). A system confusing "day" with "month" may fail to parse the date 13/7/92 because there is no 13th month. The "Unstable Properties" monitor may find data that fails parsing according to the Month / Day / Year convention, and warn a user that the rule to parse the date should be corrected, such that a date corresponding to the day / Month / year format is parsed correctly.

In Abhängigkeit von der Ausführungsform kann eine aufgezählte Eigenschaft eine Eigenschaft mit einem eingeschränkten oder begrenzten Satz von erlaubten Werten sein. Eigenschaften mit Werten, die nicht mit zulässigen Aufzählungen übereinstimmen, können aus falschen Werten resultieren, die nicht den Eigenschaftstypen entsprechen. Beispielsweise kann ein Person-Objekt eine „Alter”-Eigenschaft mit einem Wert „weiblich” und eine „Geschlecht”-Eigenschaft mit einem Wert „55 Jahre alt” haben. Bei einem weiteren Beispiel kann beispielsweise „wiblich” anstelle von „weiblich” für das Geschlecht angegeben sein, was zu Fehlern beim Parsen von Daten führen kann. Bei einigen Situationen kann bei einem Benutzer ein fehlerhaftes Verständnis der akzeptablen Werte einer Eigenschaft vorliegen. Beispielsweise glaubt ein Benutzer möglicherweise, dass die Standort-Eigenschaft zwei Werte haben kann, wie beispielsweise „CONUS” (wobei dies „Continental U. S.” – Kontinental-US – bedeutet), und „OCONUS” (outside Continental U. S. – außerhalb Kontinental-US), wobei die Standort-Eigenschaft in Wirklichkeit Werte wie beispielsweise „Bar”, „Park” oder „zu Hause” aufweist. Der Datenqualitätsmonitor kann derartige Unstimmigkeiten erfassen, und einen Benutzer warnen, dass er die Probleme entsprechend korrigiert. Bei einigen weiteren Situationen ist das Problem möglicherweise weniger offensichtlich. Beispielsweise kann ein Fall-Objekt eine „Gestohlenes Fahrzeug”-Eigenschaft mit einem Wert „Escape bei Lincoln ST.” aufweisen. Der Fahnder, der die Information ursprünglich eingegeben hat, hab möglicherweise gemeint, dass das Fahrzeug gestohlen wurde, während es sich in der Lincoln Street befand und es sich bei dem gestohlenen Fahrzeug um einen Ford Escape handelt. Da jedoch die Information nicht in korrekter Weise geparst wurde, kann sie ein „Ungeparste Eigenschaften”-Problem darstellen. In Abhängigkeit von Ausführungsformen und Benutzeranforderungen können derartige Unstimmigkeiten bei Eigenschaftswerten durch einen Datenqualitätsmonitor erfasst werden, und zwar unter Verwendung von Parametern, die durch den Benutzer spezifiziert werden und/oder Parameter, die durch das System erstellt werden.Depending on the embodiment, an enumerated property may be a property with a restricted or limited set of allowed values. Properties with values that do not match allowed enumerations can result in incorrect values that do not match the property types. For example, a person object may have an "age" property with a value "female" and a "gender" property with a value "55 years old". For example, in another example, "wiblich" instead of "feminine" for the Gender, which can lead to data parsing errors. In some situations, a user may have a poor understanding of the acceptable values of a property. For example, a user may believe that the location property may have two values, such as "CONUS" (which means "Continental US" - Continental US -), and "OCONUS" (outside Continental US - outside continental US). , where the location property actually has values such as "bar", "park" or "home". The data quality monitor can detect such discrepancies, and warn a user that he is correcting the problems accordingly. In some other situations, the problem may be less obvious. For example, a Case object may have a "Stolen Vehicle" property with a value of "Escape at Lincoln ST.". The investigator who originally entered the information might have thought that the vehicle was stolen while it was on Lincoln Street and the stolen vehicle was a Ford Escape. However, because the information was not parsed correctly, it can pose a "Uncharacteristic Properties" problem. Depending on embodiments and user requirements, such inconsistencies in property values may be detected by a data quality monitor, using parameters specified by the user and / or parameters created by the system.

Ein Monitor „Verletzung des Wertebereichs” kann Objekte identifizieren, deren Eigenschaftswerte für die spezielle Eigenschaft außerhalb eines erwarteten Bereiches liegen. Beispielsweise kann ein Person-Objekt eine „Alter”-Eigenschaft mit einem Wert von „10” oder „450” haben. Beide sind offensichtlich falsch. Subtilere Fehler können ebenfalls erfasst werden. Wenn beispielsweise das System Kenntnis hat, dass Hausnummern einer gewissen Straße von 0 bis 100 gehen, dann kann das System in der Lage sein, einen fehlerhaften Hausnummern-Wert mit einer Hausnummer 150 zu erkennen. Bei einigen weiteren Ausführungsformen kann auch ein Monitor „Verletzung des Datenbereichs” bereitgestellt werden. Wenn beispielsweise ein geliefertes Datum ungültig ist oder außerhalb des Kontextes liegt (z. B. ein Kreditkarten-Transaktionsdatum im 14. Jahrhundert) dann kann der Datenqualitätsmonitor derartige Probleme erfassen und den Benutzer warnen.A Value Range Violation monitor can identify objects whose property values for the specific property are outside an expected range. For example, a person object may have an "age" property with a value of "10" or "450". Both are obviously wrong. More subtle errors can also be detected. For example, if the system knows that house numbers of a particular street are from 0 to 100, then the system may be able to provide a faulty house number value with a house number 150 to recognize. In some other embodiments, a "data area violation" monitor may also be provided. For example, if a delivered date is invalid or out of context (eg, a 14th century credit card transaction date) then the data quality monitor may detect such issues and warn the user.

Sobald ein Datenqualitätsmonitortyp ausgewählt wurde und Kriterien des Monitors erstellt wurden, fährt der Prozess 700 fort mit Block 720, bei dem der Datenqualitätsmonitor ausgeführt wird. Beispielsweise kann der Datenqualitätsmonitor den Analysesatz nach Objekten durchsuchen, welche den spezifizierten Datenqualitätskriterien und/oder einem Satz von Systemvorgabekriterien entsprechen.Once a data quality monitor type has been selected and criteria of the monitor has been created, the process continues 700 continue with block 720 where the data quality monitor is running. For example, the data quality monitor may search the analysis set for objects that meet the specified data quality criteria and / or a set of system default criteria.

Bei Block 725 werden Ergebnisse der Ausführung eines Datenqualitätsmonitors geliefert. Bei einigen Ausführungsformen werden derartige Ergebnisse in einer graphischen Benutzerschnittstelle bereitgestellt, die alle Objekte und/oder deren spezifische Werte auflistet, welche die definierten Datenqualitätskriterien verletzt haben können. Bei einigen weiteren Ausführungsformen können derartige Ergebnisse in einer graphischen Benutzerschnittstelle bereitgestellt werden, welche die Objekte verbindet, um den Benutzern zu ermöglichen, zu erkennen, wie derartige Objekte verbunden sind. Beispielsweise können, wie zuvor erörtert, zwei möglicherweise doppelte Objekte durch eine Assoziierung verbunden sein, die bezeichnet wird als „möglicherweise dasselbe wie”, was zeigt, dass die zwei Objekte als mögliche Duplikate erachtet werden. Abhängig von der Ausführungsform kann die graphische Benutzerschnittstelle auch Eigenschaftswerte beinhalten, die zeigen, warum die identifizierten Objekte inkludiert sind. Bei einigen weiteren Ausführungsformen können die Ergebnisse auch in einer Datei gespeichert werden, beispielsweise einer CSV-Datei (comma-delimited file), einer Excel®-Datei, einer XML-Datei, einer HTML-Datei etc., mit Information wie beispielsweise einem Namen der Objekte und/oder Eigenschaftswerten. Bei einigen Ausführungsformen können Benutzern die Ergebnisse zum Download zur Verfügung stehen.At block 725 Results of the execution of a data quality monitor are provided. In some embodiments, such results are provided in a graphical user interface that lists all objects and / or their specific values that may have violated the defined data quality criteria. In some other embodiments, such results may be provided in a graphical user interface that links the objects to allow the users to recognize how such objects are connected. For example, as previously discussed, two potentially duplicate objects may be joined by an association referred to as "possibly the same as," indicating that the two objects are considered as possible duplicates. Depending on the embodiment, the graphical user interface may also include property values that show why the identified objects are included. In some other embodiments, the results may also be stored in a file, such as a comma-delimited file (.csv), an Excel® file, an XML file, an HTML file, etc., with information such as a name the objects and / or property values. In some embodiments, users may have the results available for download.

Bei Block 730 kann ein Benutzer auswählen, ob er den Datenqualitätsmonitor zur späteren Verwendung speichern möchte. Falls der Benutzer wählt, dies zu tun, können bei einigen Ausführungsformen die Ergebnisse mehrerer Durchgänge eines Datenqualitätsmonitoring auch verglichen werden, um zu erkennen, ob die gleichen Datenqualitätsprobleme tendenziell fortbestehen, und ob einige Datenqualitätsprobleme bereits gelöst wurden. Bei einigen weiteren Ausführungsformen kann ein Benutzer nicht nur Datenqualitätsmonitore abspeichern, sondern diese auch veröffentlichen, so dass andere Benutzer des Systems ebenfalls ähnliche oder die gleichen Suchvorgänge zur Erfassung von Datenqualitätsproblemen ausführen können. Abhängig von der Ausführungsform können weitere Benutzer einen veröffentlichten Datenqualitätsmonitor verwenden und den Monitor für ihre eigenen spezifischen Anforderungen anpassen.At block 730 For example, a user may choose to save the data quality monitor for later use. If the user chooses to do so, in some embodiments, the results of multiple passes of a data quality monitoring may also be compared to see if the same data quality issues tend to persist and if some data quality problems have already been resolved. In some other embodiments, a user may not only save data quality monitors but also publish them so that other users of the system can also perform similar or the same searches for data quality problem detection. Depending on the embodiment, additional users may use a published data quality monitor and customize the monitor for their own specific needs.

8A zeigt eine beispielhafte Benutzerschnittstelle 840, die einem Benutzer ermöglicht, Kriterien für einen Datenqualitätsmonitor zu erzeugen, zu laden und/oder zu aktualisieren, gemäß einer Ausführungsform. Die beispielhafte Benutzerschnittstelle 840 beinhaltet die Wahlmöglichkeiten, einen neuen Monitor 853 zu erzeugen oder einen bereits bestehenden Datenqualitätsmonitor 850 auszuwählen. Bei einigen Ausführungsformen kann, wenn ein Benutzer wählt, einen neuen Datenqualitätsmonitor 853 zu erzeugen, die Benutzerschnittstelle 840 dem Benutzer eine Auswahl/Fragen präsentieren, so dass der Benutzer Kriterien spezifizieren kann, die in den neuen Datenqualitätsmonitor zu inkludieren sind. Wenn ein Benutzer wählt, einen bestehenden Datenqualitätsmonitor 850 auszuwählen, werden Kriterien des ausgewählten Datenqualitätsmonitor zur Ausführung in das System geladen. Die beispielhafte Benutzerschnittstelle 840 ermöglicht dem Benutzer, einen bestehenden Datenqualitätsmonitor weiter anzupassen und den angepassten Datenqualitätsmonitor als neuen Monitor abzuspeichern. Bei einigen weiteren Ausführungsformen kann ein Datenqualitätsmonitor derart konfiguriert sein, dass er nur durch gewisse Nutzer angepasst oder editiert werden kann. 8A shows an exemplary user interface 840 that enables a user to create, load, and / or update criteria for a data quality monitor, according to one embodiment. The exemplary user interface 840 includes the choices, a new monitor 853 to produce or one already existing data quality monitor 850 select. In some embodiments, when a user selects, a new data quality monitor may be provided 853 to generate the user interface 840 present a selection / questions to the user so that the user can specify criteria to include in the new data quality monitor. When a user selects, an existing data quality monitor 850 criteria of the selected data quality monitor are loaded into the system for execution. The exemplary user interface 840 Allows the user to further customize an existing data quality monitor and save the customized data quality monitor as a new monitor. In some other embodiments, a data quality monitor may be configured such that it can only be customized or edited by certain users.

Die Benutzerschnittstelle 840 beinhaltet Optionen, die einem Benutzer ermöglichen, die einem Monitoring zu unterziehenden Objekte zu konfigurieren 855. Bei diesem Beispiel sind die Objekte, die für ein Monitoring ausgewählt sind, Fall-Objekte. Weitere Typen von Objekten können ebenfalls einem Monitoring unterzogen werden. Außerdem kann bei einigen Ausführungsformen ein Benutzer Objekte so editieren, dass mehr als ein einziger Typ von Objekten einem Monitoring unterzogen werden kann. Bei einigen Ausführungsformen können, sogar wenn ein Monitoring lediglich bei einem einzigen Typ von Objekt durchgeführt wird, die Kriterien des Datenqualitätsmonitoring erfordern, dass das einem Monitoring unterzogene Objekt mit einem oder mehreren weiteren Typen von Objekten assoziiert ist. Beispielsweise kann es erforderlich sein, dass ein Fall-Objekt mit einem oder mehreren Ereignis-Objekten und/oder Person-Objekten assoziiert ist, die für einen Benutzer von Interesse sind.The user interface 840 includes options that allow a user to configure the objects to be monitored 855 , In this example, the objects that are selected for monitoring are case objects. Other types of objects can also be monitored. Additionally, in some embodiments, a user may edit objects so that more than one type of object may be monitored. In some embodiments, even if monitoring is performed on only a single type of object, the criteria of data quality monitoring may require that the monitored object be associated with one or more other types of objects. For example, a case object may be required to be associated with one or more event objects and / or person objects of interest to a user.

Die beispielhafte Benutzerschnittstelle 840 beinhaltet weiter eine Monitortyp-Auswahlsteuerfläche 860, die ein Auswählen eines Datenqualitätsmonitortyps ermöglicht. Wie zuvor erläutert, können verfügbare Datenqualitätsmonitortypen beinhalten: (1) möglicherweise doppelte Objekte; (2) mehrere Werte aufweisende Eigenschaften; (3) fehlende Eigenschaften; (4) ungeparste Eigenschaften; (5) Eigenschaften mit Werten, die nicht mit zulässigen Aufzählungen übereinstimmen; (6) Verletzung des Wertebereichs, und/oder einen beliebigen weiteren Monitor. Im Beispiel von 8A ist ausgewählt: Mögliche doppelte Objekte 860. Sobald ein Datenqualitätsmonitortyp ausgewählt ist, können spezifische Eigenschaften der ausgewählten, einem Monitoring zu unterziehenden Objekten durch den Benutzer geliefert werden. Eine benutzerdefinierte Anpassung von Eigenschaften wird weiter mit Bezug auf das Beispiel von 8B erläutert.The exemplary user interface 840 further includes a monitor type selection control area 860 which allows selecting a data quality monitor type. As previously discussed, available data quality monitor types may include: (1) possibly duplicate objects; (2) multi-valued properties; (3) missing properties; (4) unpaired properties; (5) properties with values that do not match permissible enumerations; (6) violation of the range of values, and / or any other monitor. In the example of 8A is selected: Possible duplicate objects 860 , Once a data quality monitor type is selected, specific properties of the selected objects to be monitored may be provided by the user. A custom customization of properties will continue with reference to the example of 8B explained.

Bei einigen Ausführungsformen können die Einstellungen eines Datenqualitätsmonitors auch konfiguriert werden, um verwaiste Objekte zu entdecken, beispielsweise Objekte ohne Links. Einstellungen eines Datenqualitätsmonitors können auch so eingeschränkt werden, dass eine Ausführung ausschließlich mit den Suchkriterien erfolgt, die z. B. in 855 spezifiziert wurden, ohne dass eine Überprüfung auf irgendetwas Anderes vorgenommen wird.In some embodiments, the settings of a data quality monitor may also be configured to discover orphaned objects, for example objects without links. Settings of a data quality monitor can also be restricted in such a way that they only execute with the search criteria. In 855 have been specified without checking for anything else.

8B zeigt eine weitere beispielhafte Benutzerschnittstelle 1100, bei der ein Benutzer einen Monitor „mögliche doppelt vorhandene Person” konfiguriert hat, um (mit Fall-Objekten verlinkte) Person-Objekte zu identifizieren, die mögliche Duplikate sind. Somit sind, wie im Feld 1125 angezeigt, Person-Objekte, die mit Fall-Objekten verlinkt sind, konfiguriert, um einem Monitoring unterzogen zu werden. Bei der erforderlichen Assoziierung von Person-Objekten mit Fall-Objekten kann es sich um den Wunsch eines Benutzers handeln, dass lediglich Person-Objekte einem Monitoring zu unterziehen sind, die irgendeine Verbindung zu einer strafrechtlichen Ermittlung (z. B. einem „Fall”) haben. 8B shows another example user interface 1100 in which a user has configured a "possible duplicate person" monitor to identify (linked to case objects) person objects that are potential duplicates. Thus, as in the field 1125 displayed, person objects linked to case objects are configured to be monitored. The necessary association of person objects with case objects may be a user's request that only person objects be subjected to monitoring that have any connection to a criminal investigation (eg, a "case"). to have.

In dem Aufklappmenü 1130 bei diesem Beispiel ist das ausgewählte Datenqualitätskriterium „mögliche doppelte Objekte” (mögliche doppelte Person) und die minimale Anzahl von Eigenschaften, welche die Eigenschaft-Anforderungen erfüllen, ist bei Kasten 1135 als zwei (”2”) ausgewählt.In the drop-down menu 1130 in this example, the selected data quality criterion is "possible duplicate objects" (possible duplicate person) and the minimum number of properties satisfying the property requirements is box 1135 selected as two ("2").

Bei diesem Beispiel hat der Benutzer Eigenschaften, bei denen ein Abgleich auszuführen ist, ausgewählt als: Name 1140, Geburtsdatum 1145, Sozialversicherungsnummer 1150 und Führerscheinnummer 1155. Daher sollten, gemäß den Einstellungen in der Benutzerschnittstelle 1100, die Objekte, die als mögliche Duplikate aufgefunden werden, mindestens zwei identische Eigenschaft-Werte haben, bei denen es sich um beliebige zwei Eigenschaften aus den vier ausgewählten Eigenschaften handeln kann. Somit würden, für diesen speziellen Monitor, zwei Objekte, welche den gleichen Namen und die gleiche Sozialversicherungsnummer haben, als mögliche Duplikate betrachtet, und können dem Benutzer zur weiteren Bestätigung und/oder Auflösung präsentiert werden.In this example, the user has properties for which a match is to be performed selected as: Name 1140 , Date of birth 1145 , Social Security Number 1150 and driver's license number 1155 , Therefore, according to the settings in the user interface should 1100 that objects found as possible duplicates have at least two identical property values, which can be any two properties from the four selected properties. Thus, for this particular monitor, two objects having the same name and social security number would be considered as possible duplicates and may be presented to the user for further confirmation and / or resolution.

Wie zuvor erläutert, können Objekte, die den im Datenqualitätsmonitor spezifizierten Kriterien entsprechen, in der Benutzerschnittstelle 1100 angezeigt werden. In diesem Beispiel werden insgesamt drei Gruppen von Objekten gefunden, wie in 1160 angegeben. Die elf identifizierten Person-Objekte stehen alle in Bezug zu einem Fall-Objekt/zu Fall-Objekten, und zwar anhand der in Feld 1125 angegebenen Link-Anforderung. In diesem Beispiel werden die elf aufgefundenen Person-Objekte in Schnittstelle 1165 angezeigt, zusammen mit Verbindungen zwischen den identifizierten Person-Objekten.As previously explained, objects that meet the criteria specified in the Data Quality Monitor may be in the user interface 1100 are displayed. In this example, a total of three groups of objects are found, as in 1160 specified. The eleven identified person objects are all related to a case object / case objects, by field 1125 specified link request. In this example, the eleven person objects found in interface 1165 displayed along with links between the identified person objects.

8C zeigt eine beispielhafte Benutzerschnittstelle 870, bei der eine Gruppe von möglicherweise doppelten Person-Objekten angezeigt werden und Eigenschaften dieser Person-Objekte dargestellt sind, um Eigenschaften der Objekte anzugeben, was für den Benutzer von Nutzen sein kann, um zu bestimmen, ob die Objekte wirklich Duplikate sind. In diesem Beispiel wird eine Gruppe von fünf Person-Objekten (z. B. aus den drei Gruppen von Objekten, die im Beispiel von 8B aufgefunden wurden) angezeigt, und es wird ein Entitätseigenschaften-Histogramm 871 dargestellt, um verschiedene Eigenschaften der identifizierten Objekte darzustellen. Wie bei 874 gezeigt, haben die fünf Person-Objekte den Namen „James Bond” oder Namen, die „James Bond” sehr ähnlich sind, beispielsweise „James B.”. Außerdem haben einige der identifizierten Person-Objekte weitere Eigenschaften gemeinsam. In diesem Beispiel haben alle fünf Person-Objekte die gleiche Sozialversicherungsnummer, wie in 878 gezeigt. Vier der fünf Objekte haben das gleiche Geburtsdatum (bei 872) und drei der Person-Objekte haben den gleichen Nachnamen „Bond” (bei 876). Und schließlich haben alle 5 identifizierten Person-Objekte in diesem Beispiel mindestens drei Eigenschaften, die mit einem anderen Person-Objekt übereinstimmen (wie vom Benutzer durch Angabe von „minimale Übereinstimmungen = 3” gefordert). Anhand der Information, die betreffend die identifizierten Eigenschaften geliefert wird, kann der Benutzer in der Lage sein zu bestätigen, ob irgendeines oder alle der identifizierten Objekte als Duplikate betrachtet werden sollen oder nicht. Wenn ein Benutzer bestätigt, dass einige der identifizierten Objekte tatsächlich Duplikate sind, kann er weitere Maßnahmen ergreifen, wie beispielsweise ein Auflösen der Duplizierung und/oder ein Aktualisieren der Assoziierungen zwischen Person-Objekten. 8C shows an exemplary user interface 870 in which a group of possibly duplicate person objects are displayed and properties of those person objects are presented to indicate properties of the objects, which may be useful to the user to determine if the objects are really duplicates. In this example, a group of five person objects (for example, the three groups of objects that in the example of 8B found), and it becomes an entity property histogram 871 shown to represent various properties of the identified objects. As in 874 As shown, the five-person objects are named "James Bond" or names very similar to "James Bond," for example, "James B." In addition, some of the identified person objects share more characteristics. In this example, all five person objects have the same social security number as in 878 shown. Four of the five objects have the same date of birth (at 872 ) and three of the person objects have the same surname "Bond" (at 876 ). Finally, in this example, all 5 identified person objects have at least three properties that correspond to another person object (as required by the user by specifying "minimum matches = 3"). Based on the information provided regarding the identified properties, the user may be able to confirm whether or not any or all of the identified objects should be considered duplicates. When a user confirms that some of the identified objects are actually duplicates, he may take further action, such as resolving the duplication and / or updating the associations between person objects.

9 zeigt eine beispielhafte Benutzerschnittstelle 900, bei der ein Benutzer einen „Fehlende Eigenschaften”-Monitor ausgewählt hat und ihm Objekt-Eigenschaften angeboten werden, die für ein Monitoring auszuwählen sind. Bei diesem Beispiel sind die Objekte, die einem Monitoring unterzogen werden, Fall-Objekte. Wie zuvor erläutert, können „Fehlende Eigenschaften” Datenqualitätsprobleme beinhalten, die aus nicht vorhandenen Eigenschaftswerten, welche mit einer oder mehreren Eigenschaften assoziiert sind, und/oder aus insgesamt fehlenden Eigenschaftstypen resultieren. In diesem Beispiel beinhaltet die Benutzerschnittstelle 900 eine Liste von Eigenschaften, die mit dem Fall-Objekt assoziiert sind, so dass ein Benutzer auswählen kann, welche Eigenschaften und/oder Eigenschaftswerte einem Monitoring zu unterziehen sind. 9 shows an exemplary user interface 900 in which a user has selected a "Missing Properties" monitor and is offered object properties that are to be selected for monitoring. In this example, the objects that are being monitored are case objects. As previously discussed, "Missing Properties" may involve data quality problems resulting from nonexistent property values associated with one or more properties and / or from total missing property types. In this example, the user interface includes 900 a list of properties associated with the case object so that a user can select which properties and / or property values to monitor.

Bei diesem Beispiel beinhaltet die Liste von Eigenschaften zur Auswahl durch den Benutzer im Ausklappmenü 910: (1) Name des Ortes; (2) Typ des Ortes; (3) Adresse; (4) Adressbestandteil Stadt; (5) Adressbestandteil Bundesstaat; (6) Kategorie der Straftat. In diesem Beispiel hat der Benutzer ausgewählt, „Name des Ortes” einem Monitoring zu unterziehen, um Fall-Objekte zu identifizieren, denen entweder die Eigenschaft „Name des Ortes” fehlt, oder Objekte, die keinen Wert aufweisen, der mit der „Name des Ortes”-Eigenschaft assoziiert ist. Die Benutzerschnittstelle 900 ermöglicht dem Benutzer auch auszuwählen, eine größere Anzahl von Fall-Eigenschaften einem „Fehlende Eigenschaften”-Monitoring zu unterziehen, beispielsweise dadurch, dass er die „Kriterium hinzufügen”-Schaltfläche 845 auswählt. Bei einigen Ausführungsformen können weitere Eigenschaften, die mit dem Fall-Objekt assoziiert sind, dem Benutzer zur Auswahl präsentiert werden. Bei einigen weiteren Ausführungsformen können, anstatt die Eigenschaften, die ein Benutzer für ein Monitoring auswählen kann, in einem Aufklappmenü zu präsentieren, andere Typen von Benutzerschnittstellenelementen verwendet werden.In this example, the list of properties for selection by the user includes in the drop-down menu 910 : (1) name of the place; (2) type of place; (3) address; (4) address component city; (5) address constituent federal state; (6) category of offense. In this example, the user has selected to "monitor" the name of the location to identify case objects that either lack the "name of the location" property or objects that have no value associated with the "name of the location"Ortes' property is associated. The user interface 900 also allows the user to select a larger number of case properties to undergo a "Missing Properties" monitoring, for example, by adding the "Add Criteria" button 845 selects. In some embodiments, additional properties associated with the case object may be presented to the user for selection. In some other embodiments, rather than presenting the properties that a user may select for monitoring in a pop-up menu, other types of user interface elements may be used.

10 zeigt eine beispielhafte Benutzerschnittstelle 1000, die mehrere Fall-Objekte zeigt, welche beim Ausführen eines „Fehlende Eigenschaften”-Monitor identifiziert wurden. In diesem Beispiel wurden mehrere Eigenschaften, die mit einem Objekt assoziiert sind, für ein Inkludieren in den „Fehlende Eigenschaften”-Monitor ausgewählt. Insbesondere ist, zusätzlich zu einer „Name des Ortes”-Eigenschaft in 910, „Opferstatus der Person” in 1005 ausgewählt, und „Name des Fahnders” in 1007 ausgewählt. 10 shows an exemplary user interface 1000 showing multiple case objects identified when running a "Missing Properties" monitor. In this example, several properties associated with an object have been selected for inclusion in the "Missing Properties" monitor. In particular, in addition to a "name of place" property in 910 , "Victim status of the person" in 1005 selected, and "name of the investigator" in 1007 selected.

In Abhängigkeit von der Ausführungsform kann die Benutzerschnittstelle 1000 auch einen oder mehrere Boolesche Logikoperatoren zwischen den Eigenschaften beinhalten, die von einem Benutzer ausgewählt werden. Beispielsweise kann ein Benutzer in der Lage sein, zu spezifizieren, dass er Fall-Objekte einem Monitoring unterziehen möchte, denen sowohl die „Name des Ortes”-Eigenschaft (oder der Eigenschaftswert) als auch die „Opferstatus der Person”-Eigenschaft (oder der Eigenschaftswert) fehlt. Bei einem weiteren Beispiel kann ein Benutzer spezifizieren, dass er lediglich Fall-Objekte einem Monitoring unterziehen möchte, denen entweder die „Name des Ortes”-Eigenschaft (oder der Eigenschaftswert) oder die „Opferstatus der Person”-Eigenschaft (oder der Eigenschaftswert) fehlt. Die Benutzerschnittstelle 1000 ermöglicht den Benutzern, eine minimale Anzahl von Übereinstimmungen im Kasten 1135 oder irgendwelchen anderen Benutzerschnittstellenelementen zu spezifizieren. In diesem Beispiel ist ein Minimum von zwei Übereinstimmungen erforderlich, und somit besteht bei Objekten, die durch diesen Monitor aufgefunden werden, eine Übereinstimmung bei mindestens zwei von den drei spezifizierten Eigenschaften.Depending on the embodiment, the user interface 1000 also include one or more Boolean logic operators between the properties selected by a user. For example, a user may be able to specify that he / she wishes to monitor case objects that have both the "place name" property (or property value) and the "victim status of the person" property (or the "victim status of the person" property) Property value) is missing. In another example, a user may specify that he only wants to monitor case objects that lack either the "place name" property (or the property value) or the "victim status of the person" property (or property value) , The user interface 1000 allows users to have a minimum number of matches in the box 1135 or any other user interface elements. In this example, a minimum of two matches is required, and thus objects matched by this monitor will match at least two of the three specified properties.

In ähnlicher Weise wie zuvor mit Bezug auf die 8 bis 9 erläutert, können beispielsweise Datenqualitätsmonitore weiterer Typen, beispielsweise „Ungeparste Eigenschaften”, eine Liste von verfügbaren Eigenschaften präsentieren, aus denen Benutzer beim Anpassen der Monitore wählen können. Bei einem „Ungeparste Eigenschaften”-Beispiel können einer oder mehrere Boolesche Logikoperatoren angeboten werden, um zu spezifizieren, ob es erforderlich ist, dass alle vom Benutzer gewählte Eigenschaften ungeparste Eigenschaften aufweisen, oder es lediglich erforderlich ist, dass eine einzige oder eine Teilmenge der Eigenschaften ungeparste Eigenschaften aufweisen.In a similar manner as before with reference to the 8th to 9 For example, data quality monitors of other types, such as "Unstable Properties", may present a list of available properties from which users can choose when customizing the monitors. In an "Unparsed Properties" example, one or more Boolean logic operators may be offered to specify whether it is required that all user-selected properties have unpaired properties, or that only a single or a subset of the properties be required have unprepared properties.

Die Benutzerschnittstelle 1000 kann auch Benutzeroptionen „Jetzt Monitor ausführen” 1010 oder „Nachts laufenden Monitor erzeugen” 1015 beinhalten. Wenn ein Benutzer „Nachts laufenden Monitor erzeugen” wählt, kann die Benutzerschnittstelle 1000 bei einigen Ausführungsformen weitere Fragen stellen, beispielsweise die spezifische Zeit, zu der der konfigurierte Datenqualitätsmonitor ausgeführt werden sollte, und wie der Benutzer die Ergebnisse des Datenqualitätsmonitors durchsehen möchte. Wenn ein Benutzer für den konfigurierten Datenqualitätsmonitor „Jetzt Monitor ausführen” wählt, kann die Benutzerschnittstelle 1000 Befehle zum Ausführen des Datenqualitätsmonitors senden. Nach der Ausführung kann die Benutzerschnittstelle 1000 eine Anzahl von Objekten anzeigen, die mit dem Datenqualitätsmonitor übereinstimmen, und/oder die übereinstimmenden Objekte anzeigen.The user interface 1000 can also user options "Run Monitor Now" 1010 or "generate night-time monitor" 1015 include. When a user selects "generate night running monitor", the user interface can 1000 in some embodiments, ask further questions, such as the specific time at which the configured data quality monitor should be running, and how the user wants to review the results of the data quality monitor. When a user selects "Run Monitor Now" for the configured data quality monitor, the user interface can 1000 Send commands to run the Data Quality Monitor. After running, the user interface 1000 Display a number of objects that match the Data Quality Monitor and / or view the matching objects.

Im Beispiel von 10 wurden 1257 Fall-Objekte gefunden, wie bei 1020 dargestellt. Die Benutzerschnittstelle kann die Wahlmöglichkeit bieten, die übereinstimmenden Objekte unter Verwendung eines Objekt-Explorers zu analysieren, und zwar durch Wählen von 1025. Bei einigen Ausführungsformen kann die Benutzerschnittstelle 1000 Benutzern auch die Wahlmöglichkeit bieten, die übereinstimmenden Objekte in einem Diagramm zu betrachten, und zwar durch Auswählen von 1030, oder diese, durch Auswählen von 1035, in einem Browser zu betrachten.In the example of 10 1257 case objects were found, as in 1020 shown. The user interface may provide the option of analyzing the matching objects using an object explorer by selecting 1025 , In some embodiments, the user interface 1000 Also, give users the option to view the matching objects in a chart by selecting 1030 , or this, by selecting 1035 to look at in a browser.

In Abhängigkeit von der Ausführungsform kann die Benutzerschnittstelle 1000 die Objekte anzeigen, die mit den konfigurierten Datenqualitätseinstellungen im ausgeführten Datenqualitätsmonitor übereinstimmen. Bei diesem Beispiel beinhaltet die Benutzerschnittstelle ein Feld 865, das Fall-Objekte anzeigt, die mit den Datenqualitätseinstellungen übereinstimmen. Die ersten sechs Fall-Objekte 1040 werden als Fall 1 bis 6 angezeigt. Eine unterschiedliche vorgegebene Anzahl von Objekten kann durch die Benutzerschnittstelle 1000 angezeigt werden, wie erforderlich oder gemäß einer unterschiedlichen Einstellung durch den Benutzer.Depending on the embodiment, the user interface 1000 Display the objects that match the configured data quality settings in the running Data Quality Monitor. In this example, the user interface includes a field 865 that displays case objects that match the data quality settings. The first six case objects 1040 are displayed as cases 1 to 6. A different predetermined number of objects may be through the user interface 1000 displayed as required or according to a different setting by the user.

Implementierungsmechanismenimplementation mechanisms

Gemäß einem Ausführungsbeispiel werden die hier beschriebenen Methoden durch eine oder mehrere Spezialberechnungsvorrichtungen implementiert. Die Spezialberechnungsvorrichtungen können festverdrahtet sein, um die Verfahren durchzuführen, oder sie können digitale elektronische Vorrichtungen wie beispielsweise eine oder mehrere ASICs (anwendungsspezifische integrierte Schaltungen) oder FPGAs (Feld-programmierbare Gate-Arrays) beinhalten, die persistent programmiert sind, um die Verfahren durchzuführen, oder sie können einen oder mehrere Universal-Hardwareprozessoren beinhalten, die programmiert sind, um die Verfahren gemäß Programmanweisungen in Firmware, einem Arbeitsspeicher, einer anderen Speichereinrichtung, oder einer Kombination von diesen durchzuführen. In derartigen Spezialberechnungsvorrichtungen können auch kundenspezifische festverdrahtete Logik, ASICs, oder FPGAs mit kundenspezifischer Programmierung kombiniert sein, um die Verfahren zu bewerkstelligen. Die Spezialberechnungsvorrichtungen können Desktop-Computersysteme, Server-Computersysteme, tragbare Computersysteme, Handheld-Geräte, Netzwerkgeräte, oder ein beliebiges anderes Gerät oder eine Kombination von Geräten sein, die festverdrahtete Logik und/oder Programmlogik beinhalten, um die Verfahren zu implementieren.In one embodiment, the methods described herein are implemented by one or more special computing devices. The special purpose computing devices may be hardwired to perform the methods, or may include digital electronic devices such as one or more ASICs (application specific integrated circuits) or FPGAs (field programmable gate arrays) that are persistently programmed to perform the methods. or they may include one or more general purpose hardware processors that are programmed to perform the methods according to program instructions in firmware, memory, other memory device, or a combination thereof. In such special purpose computing devices, custom hardwired logic, ASICs, or FPGAs may also be combined with custom programming to accomplish the methods. The special purpose computing devices may be desktop computer systems, server computer systems, portable computer systems, handheld devices, network devices, or any other device or combination of devices that includes hardwired logic and / or program logic to implement the methods.

Die Berechnungsvorrichtung(en) wird/werden generell durch Betriebssystemsoftware wie beispielsweise iOS, Android, Chrome OS, Windows XP, Windows Vista, Windows 7, Windows 8, Windows Server, Windows CE, Unix, Linux, SunOS, Solaris, iOS, Blackberry OS, VxWorks, oder andere kompatible Betriebssysteme gesteuert und koordiniert. Bei weiteren Ausführungsbeispielen kann die Berechnungsvorrichtung durch ein proprietäres Betriebssystem gesteuert werden. Herkömmliche Betriebssysteme steuern, unter anderem, auszuführende Berechnungsprozesse sowie deren zeitlichen Ablauf, führen eine Arbeitsspeicherverwaltung durch, stellen ein Dateisystem, eine Netzwerkfunktionalität und Ein-/Ausgabedienste bereit, und stellen eine Benutzerschnittstellenfunktionalität wie beispielsweise eine grafische Benutzerschnittstelle („GUI”) bereit.The computing device (s) will / will generally be provided by operating system software such as iOS, Android, Chrome OS, Windows XP, Windows Vista, Windows 7, Windows 8, Windows Server, Windows CE, Unix, Linux, SunOS, Solaris, iOS, Blackberry OS , VxWorks, or other compatible operating systems controlled and coordinated. In further embodiments, the computing device may be controlled by a proprietary operating system. Conventional operating systems control, among other things, computation processes to be executed and their timing, perform memory management, provide a file system, network functionality and input / output services, and provide user interface functionality such as a graphical user interface ("GUI").

Beispielsweise ist 11 ein Blockdiagramm, das ein Computersystem 800 darstellt, bei dem ein Ausführungsbeispiel implementiert werden kann. Das Computersystem 800 beinhaltet einen Bus 802 oder einen anderen Kommunikationsmechanismus für ein Kommunizieren von Information, und einen Hardwareprozessor, oder mehrere Prozessoren, 804, die mit dem Bus 802 verbunden sind, um Information zu verarbeiten. Der/die Hardwareprozessor(en) 804 kann/können beispielsweise einer oder mehrere Universal-Mikroprozessoren sein.For example 11 a block diagram showing a computer system 800 in which an embodiment may be implemented. The computer system 800 includes a bus 802 or another communication mechanism for communicating information, and a hardware processor, or multiple processors, 804 by bus 802 are connected to Process information. The hardware processor (s) 804 may be, for example, one or more general-purpose microprocessors.

Das Computersystem 800 beinhaltet auch einen Hauptspeicher 806, beispielsweise ein RAM (Direktzugriffsspeicher), einen Cache und/oder andere dynamische Speichervorrichtungen, die mit dem Bus 802 verbunden sind, um Information und Anweisungen zu speichern, die durch den Prozessor 804 auszuführen sind. Der Hauptspeicher 806 kann auch verwendet werden, um temporäre Variablen oder andere Zwischeninformationen während eines Ausführens von durch den Prozessor 804 auszuführenden Anweisungen zu speichern. Derartige Anweisungen machen, wenn sie in Speichermedien gespeichert werden, die dem Prozessor 804 zugänglich sind, das Computersystem 800 zu einer Spezialmaschine, die kundenspezifisch angepasst ist, um die in den Anweisungen festgelegten Operationen auszuführen.The computer system 800 also includes a main memory 806 For example, RAM (Random Access Memory), a cache, and / or other dynamic storage devices connected to the bus 802 are connected to store information and instructions by the processor 804 are to be executed. The main memory 806 can also be used to store temporary variables or other intermediate information during execution by the processor 804 save instructions to be executed. Such instructions, when stored in storage media, make the processor 804 accessible, the computer system 800 to a specialized machine customized to perform the operations specified in the instructions.

Das Computersystem 800 beinhaltet weiter ein ROM (Nur-Lese-Speicher) 808 oder eine andere statische Speichervorrichtung, die mit dem Bus 802 verbunden ist, um statische Information und Anweisungen für den Prozessor 804 zu speichern. Eine Speichervorrichtung 810, wie beispielsweise eine Magnetplatte, eine optische Platte oder ein USB-Stick (Flash-Drive) etc., ist vorgesehen und mit dem Bus 802 verbunden, um Information und Anweisungen zu speichern.The computer system 800 further includes a ROM (read-only memory) 808 or another static storage device connected to the bus 802 is connected to static information and instructions for the processor 804 save. A storage device 810 , such as a magnetic disk, an optical disk or a USB stick (flash drive), etc., is provided and to the bus 802 connected to store information and instructions.

Das Computersystem 800 kann über den Bus 802 mit einer Anzeige 812 verbunden sein, beispielsweise einer Kathodenstrahlröhre (CRT) oder einer LCD-Anzeige (oder einem Touchscreen), um einem Benutzer des Computers Information anzuzeigen. Eine Eingabevorrichtung 814, die alphanumerische Tasten und weitere Tasten beinhaltet, ist mit dem Bus 802 verbunden, um Information und ausgewählte Befehle an den Prozessor 804 zu übermitteln. Ein weiterer Typ von Benutzereingabevorrichtung ist eine Cursor-Steuerung 816, wie beispielsweise eine Maus, ein Trackball oder Cursor-Richtungstasten, um dem Prozessor 804 Richtungsinformation und ausgewählte Befehle mitzuteilen und eine Cursorbewegung auf der Anzeigeeinrichtung 812 zu steuern. Diese Eingabevorrichtung hat typischerweise zwei Freiheitsgrade in zwei Achsen, einer ersten Achse (beispielsweise x) und einer zweiten Achse (beispielsweise y), was der Vorrichtung ermöglicht, Positionen in einer Ebene zu bezeichnen. Bei einigen Ausführungsbeispielen kann die gleiche Richtungsinformation und Befehlsauswahl wie bei einer Cursorsteuerung mittels Empfangen von Berührungen auf einem Sensorbildschirm (Touchscreen) ohne einen Cursor implementiert werden.The computer system 800 can over the bus 802 with an ad 812 For example, a cathode ray tube (CRT) or an LCD display (or a touch screen) to display information to a user of the computer. An input device 814 , which includes alphanumeric keys and other keys, is with the bus 802 connected to information and selected commands to the processor 804 to convey. Another type of user input device is cursor control 816 such as a mouse, trackball, or cursor direction keys to the processor 804 Direction information and selected commands and a cursor movement on the display device 812 to control. This input device typically has two degrees of freedom in two axes, a first axis (eg x) and a second axis (eg y), which allows the device to designate positions in a plane. In some embodiments, the same directional information and command selection as in cursor control may be implemented by receiving touchscreen touches without a cursor.

Das Computersystem 800 kann ein Benutzerschnittstellenmodul beinhalten, um eine GUI zu implementieren, die in einem Massenspeichergerät als ausführbare Softwarecodes gespeichert werden kann, welche durch die Berechnungsvorrichtung(en) ausgeführt werden. Diese und weitere Module können beispielsweise Komponenten wie etwa Softwarekomponenten, objektorientierte Softwarekomponenten, Klassenkomponenten und Task-Komponenten, Prozesse, Funktionen, Attribute, Prozeduren, Subroutinen, Segmente von Programmcode, Treiber, Firmware, Mikrocode, Schaltkreise, Daten, Datenbanken, Datenstrukturen, Tabellen, Felder und Variablen beinhalten.The computer system 800 may include a user interface module to implement a GUI that may be stored in a mass storage device as executable software code executed by the computing device (s). These and other modules may include, 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, Fields and variables include.

Generell bezieht sich das Wort „Modul”, wie hier verwendet, auf Logik, die als Hardware oder Firmware ausgeführt ist, oder auf eine Sammlung von Softwareanweisungen, die möglicherweise Eintritts- und Austrittspunkte aufweisen und in einer Programmiersprache wie beispielsweise Java, Lua, C oder C++ geschrieben sind. Ein Softwaremodul kann kompiliert und in ein ausführbares Programm verlinkt werden, in eine dynamische Programmbibliothek (Dynamic Link Library) eingebaut werden, oder in einer interpretierten Programmiersprache wie beispielsweise BASIC, Perl oder Python geschrieben werden. Es versteht sich, dass Softwaremodule von anderen Modulen oder von sich selbst aufrufbar sein können, und/oder sie ansprechend auf erfasste Ereignisse oder Interrupts aufgerufen werden können. Softwaremodule, die für eine Ausführung auf Berechnungsvorrichtungen konfiguriert sind, können auf einem computerlesbaren Medium bereitgestellt werden, beispielsweise einer CD (Compact Disk), einer DVD (Digital Video Disk), einem Flashspeicher-Laufwerk, einer Magnetplatte, oder einem beliebigen anderen greifbare Form aufweisenden Medium, oder als digitaler Download (und kann ursprünglich in einem komprimierten oder installierbaren Format gespeichert sein, das ein Installieren, Dekomprimieren oder Entschlüsseln vor einer Ausführung erfordert). Derartiger Softwarecode kann, teilweise oder vollständig, auf einem Arbeitsspeicher der ausführenden Berechnungsvorrichtung gespeichert sein, für eine Ausführung durch die Berechnungsvorrichtung. Softwareanweisungen können in Firmware, beispielsweise ein EPROM, eingebettet sein. Es versteht sich weiter, dass Hardwaremodule verbundene Logikeinheiten beinhalten können, beispielsweise Gatter (Gates) und Flipflops, und/oder programmierbare Einheiten beinhalten können, beispielsweise programmierbare Gatter-Anordnungen (Gate-Arrays) oder Prozessoren. Die Module oder die Funktionalität der Berechnungsvorrichtung, die hier beschrieben sind, sind vorzugsweise als Softwaremodule implementiert, können jedoch in Form von Hardware oder Firmware ausgeführt sein. Generell beziehen sich die hier beschriebenen Module auf logische Module, die mit anderen Modulen kombiniert oder in Untermodule unterteilt sein können, ungeachtet ihrer physischen Organisation oder ihres Speicherortes.Generally, the word "module" as used herein refers to logic embodied as hardware or firmware, or to a collection of software instructions that may have entry and exit points and in a programming language such as Java, Lua, C or C ++ are written. A software module can be compiled and linked into an executable program, built into a dynamic program library (Dynamic Link Library), or written in an interpreted programming language such as BASIC, Perl, or Python. It is understood that software modules may be invocable from other modules or from themselves and / or may be invoked in response to detected events or interrupts. Software modules configured for execution 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 any other tangible form Medium, or as a digital download (and may initially be stored in a compressed or installable format requiring installation, decompression or decryption prior to execution). Such software code may be stored, partially or completely, on a working memory of the executing computing device for execution by the computing device. Software instructions may be embedded in firmware, such as an EPROM. It is further understood that hardware modules may include interconnected logic devices, such as gates and flip-flops, and / or may include programmable devices, such as programmable gate arrays or processors. The modules or functionality of the computing device described herein are preferably implemented as software modules, but may be embodied in the form of hardware or firmware. Generally, the modules described herein refer to logical modules that may be combined with other modules or sub-modules, regardless of their physical organization or location.

Im Computersystem 800 können die hier beschriebenen Verfahren unter Verwendung von kundenspezifischer festverdrahteter Logik, einem oder mehreren ASICs oder FPGAs, Firmware und/oder Programmlogik implementiert sein, die in Kombination mit dem Computersystem bewirken oder programmieren, dass das Computersystem 800 eine Spezialmaschine ist. Gemäß einem Ausführungsbeispiel werden die hier beschriebenen Verfahren durch das Computersystem 800 ansprechend darauf durchgeführt, dass der/die Prozessor(en) 804 eine oder mehrere Sequenzen von einer oder mehreren im Hauptspeicher 806 enthaltenen Anweisungen ausführt. Derartige Anweisungen können in den Hauptspeicher 806 aus einem anderen Speichermedium, beispielsweise der Speichervorrichtung 810, eingelesen werden. Eine Ausführung der im Hauptspeicher 806 enthaltenen Anweisungssequenzen veranlasst den/die Prozessor(en) 804, die hier beschriebenen Prozessschritte auszuführen. Bei alternativen Ausführungsbeispielen können festverdrahtete Schaltkreise verwendet werden, anstelle von Software-Anweisungen oder in Kombination mit diesen. In the computer system 800 For example, the methods described herein may be implemented using custom hardwired logic, one or more ASICs or FPGAs, firmware, and / or program logic that, in combination with the computer system, effect or program the computer system 800 a special machine is. In one embodiment, the methods described herein are implemented by the computer system 800 performed in response to the processor (s) 804 one or more sequences of one or more in main memory 806 executes contained instructions. Such instructions may be in main memory 806 from another storage medium, for example the storage device 810 , are read. An execution of the main memory 806 instruction sequences involved causes the processor (s) 804 to execute the process steps described here. In alternative embodiments, hardwired circuitry may be used instead of or in combination with software instructions.

Der Begriff „nicht-transitorische Medien” und ähnliche Begriffe, wie hier verwendet, beziehen sich auf jegliche Medien, die Daten und/oder Anweisungen speichern, welche eine Maschine veranlassen, in spezifischer Weise zu arbeiten. Derartige nicht-transitorische Medien können nicht-flüchtige Medien und/oder flüchtige Medien beinhalten. Nichtflüchtige Medien schließen beispielsweise optische oder magnetische Platten ein, beispielsweise die Speichervorrichtung 810. Flüchtige Medien schließen einen dynamischen Speicher wie beispielsweise den Hauptspeicher 806 ein. Übliche Formen nicht-transitorischer Medien beinhalten beispielsweise eine Diskette, eine flexible Platte, eine Festplatte, ein Halbleiterlaufwerk (Solid-State-Drive), ein Magnetband oder ein beliebiges anderes magnetisches Datenspeichermedium, eine CD-ROM, ein beliebiges anderes optisches Datenspeichermedium, ein beliebiges physisches Medium mit Lochmustern, ein RAM, ein PROM und ein EPROM, ein Flash-EPROM, ein NVRAM, und einen beliebigen anderen Speicherchip oder -kassette, sowie über Netzwerk verbundene Versionen von diesen.The term "non-transitory media" and similar terms as used herein refers to any media that stores data and / or instructions that cause a machine to work 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, such as the storage device 810 , Volatile media include dynamic memory such as main memory 806 one. Common forms of non-transitory media include, for example, a floppy disk, a flexible disk, a hard disk, a solid state drive, a magnetic tape, or any other magnetic data storage medium, a CD-ROM, any other optical data storage medium, any hole pattern physical media, a RAM, a PROM and an EPROM, a Flash EPROM, an NVRAM, and any other memory chip or cartridge, as well as network connected versions thereof.

Nicht-transitorische Medien sind verschieden von Übertragungsmedien, können jedoch in Verbindung mit diesen verwendet werden. Übertragungsmedien nehmen an einer Übertragung von Information zwischen Speichermedien teil. Beispielsweise beinhalten Übertragungsmedien Koaxialkabel, Kupferdraht und Lichtwellenleiter, einschließlich der Drähte, die der Bus 802 beinhaltet. Übertragungsmedien können auch die Form von Schall- oder Lichtwellen annehmen, beispielsweise solche, die bei Funk- und Infrarot-Datenkommunikationen erzeugt werden.Non-transitory media are different from, but may be used in conjunction with, transmission media. Transmission media participate in a transfer of information between storage media. For example, transmission media include coaxial cable, copper wire and optical fiber, including the wires that the bus 802 includes. Transmission media may also take the form of sound or light waves, such as those generated in radio and infrared data communications.

Verschiedene Formen von Medien können bei der Ausführung einer oder mehrerer Sequenzen von einer oder mehreren Anweisungen beteiligt sein, die durch den Prozessor 804 auszuführen sind. Beispielsweise können die Anweisungen anfänglich auf einer Magnetplatte oder einem Halbleiterlaufwerk eines entfernt befindlichen Computers gespeichert sein. Der ferne Computer kann die Anweisungen in seinen dynamischen Speicher laden und die Anweisungen über eine Telefonleitung unter Verwendung eines Modem senden. Ein beim Computersystem 800 befindliches Modem kann die Daten über die Telefonleitung empfangen und einen Infrarot-Sender verwenden, um die Daten in ein Infrarotsignal umzuwandeln. Ein Infrarot-Detektor kann die im Infrarot-Signal beförderten Daten empfangen, und geeignete Schaltungen können die Daten auf den Bus 802 legen. Der Bus 802 befördert die Daten zum Hauptspeicher 806, aus dem der Prozessor 804 die Anweisungen abruft und ausführt.Various forms of media may be involved in the execution of one or more sequences of one or more instructions issued by the processor 804 are to be executed. For example, the instructions may initially be stored on a magnetic disk or a semiconductor drive of a remote computer. The remote computer can load the instructions into its dynamic memory and send the instructions over a telephone line using a modem. One at the computer system 800 The modem in question may receive the data over the telephone line and use an infrared transmitter to convert the data into an infrared signal. An infrared detector can receive the data carried in the infra-red signal and appropriate circuitry can transfer the data to the bus 802 lay. The bus 802 conveys the data to the main memory 806 from which the processor 804 retrieves and executes the instructions.

Die vom Hauptspeicher 806 empfangenen Anweisungen können die Anweisungen abrufen und ausführen. Die vom Hauptspeicher 806 empfangenen Anweisungen können optional in der Speichervorrichtung 810 gespeichert werden, entweder vor oder nach einem Ausführen durch den Prozessor 804.The main memory 806 received instructions can retrieve and execute the instructions. The main memory 806 Instructions received may optionally be in the storage device 810 stored either before or after being executed by the processor 804 ,

Das Computersystem 800 beinhaltet auch eine Kommunikationsschnittstelle 818, die mit dem Bus 802 verbunden ist. Die Kommunikationsschnittstelle 818 stellt eine Zweiweg-Datenkommunikationsverbindung zu einem Netzwerk-Verbindungsglied 820 bereit, das mit einem lokalen Netzwerk 822 verbunden ist. Beispielsweise kann eine Kommunikationsschnittstelle 818 eine ISDN-Karte (ISDN = Integrated Services Digital Network), ein Kabelmodem, ein Satellitenmodem oder ein Modem sein, um eine Datenkommunikationsverbindung zu einem entsprechenden Typ von Telefonleitung bereitzustellen. Als weiteres Beispiel kann eine Kommunikationsschnittstelle 818 eine LAN-Karte (LAN = Local Area Network) sein, um eine Datenkommunikationsverbindung zu einem kompatiblen LAN bereitzustellen (oder kann ein WAN-Bauelement sein, um mit einem WAN zu kommunizieren. Es können auch Drahtlosverbindungen implementiert werden. Bei einer beliebigen derartigen Implementierung sendet und empfängt eine Kommunikationsschnittstelle 818 elektrische, elektromagnetische oder optische Signale, die digitale Datenströme tragen, welche verschiedene Typen von Information repräsentieren.The computer system 800 also includes a communication interface 818 by bus 802 connected is. The communication interface 818 provides a two-way data communication connection to a network link 820 ready with a local network 822 connected is. For example, a communication interface 818 an Integrated Services Digital Network (ISDN) card, 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 818 A Local Area Network (LAN) card to provide a data communication link to a compatible LAN (or may be a WAN device to communicate with a WAN) Wireless connections can also be implemented and receives a communication interface 818 electrical, electromagnetic or optical signals carrying digital data streams representing various types of information.

Das Netzwerk-Verbindungsglied 820 stellt typischerweise eine Datenkommunikation zu anderen Datengeräten über eines oder mehrere Netzwerke bereit. Beispielsweise kann das Netzwerk-Verbindungsglied 820 über ein lokales Netzwerk 822 eine Verbindung zu einem Host-Computer 824 oder zu Datenanlagen bereitstellen, die durch einen Internetdienstanbieter (ISP) 826 betrieben werden. Der ISP 826 stellt seinerseits Datenkommunikationsdienste über das weltweite Paketdaten-Kommunikationsnetz bereit, das jetzt üblicherweise als „Internet” 828 bezeichnet wird. Sowohl das lokale Netz 822 als auch das Internet 828 verwenden elektrische, elektromagnetische oder optische Signale, die digitale Datenströme tragen können. Die über die verschiedenen Netzwerke laufenden Signale und die Signale, die über das Netzwerk-Verbindungsglied 820 und über die Kommunikationsschnittstelle 818 laufen, welche die digitalen Daten zum Computersystem 800 hin und von diesem weg befördern, sind beispielhafte Formen von Übertragungsmedien.The network link 820 typically provides data communication to other data devices over one or more networks. For example, the network link 820 over a local network 822 a connection to a host computer 824 or to Deploy Data Attachments Through an Internet Service Provider (ISP) 826 operate. The ISP 826 in turn provides data communication services over the worldwide packet data communications network, now commonly referred to as the "Internet" 828 referred to as. Both the local network 822 as well as the internet 828 use electrical, electromagnetic or optical signals that can carry digital data streams. The signals passing through the various networks and the signals passing through the network link 820 and via the communication interface 818 run the digital data to the computer system 800 to and from this are exemplary forms of transmission media.

Das Computersystem 800 kann Nachrichten und Daten, einschließlich Programmcode, senden und empfangen, und zwar über das/die Netzwerk(e), das Netzwerk-Verbindungsglied 820 und die Kommunikationsschnittstelle 818. In dem Beispiel des Internet könnte ein Server 830 einen angeforderten Code für ein Anwendungsprogramm über das Internet 828, den ISP 826, das lokale Netzwerk 822 und die Kommunikationsschnittstelle 818 senden.The computer system 800 can send and receive messages and data, including code, through the network (s), the network link 820 and the communication interface 818 , In the example of the Internet could be a server 830 a requested code for an application program over the Internet 828 , the ISP 826 , the local network 822 and the communication interface 818 send.

Der empfange Code kann durch den Prozessor 804 unverändert wie empfangen ausgeführt werden, und/oder in der Speichervorrichtung 810 oder einem anderen nicht-flüchtigen Speicher zur späteren Ausführung gespeichert werden.The received code can be processed by the processor 804 unchanged as received, and / or in the storage device 810 or other non-volatile memory for later execution.

Jeder der in den vorhergehenden Abschnitten beschriebenen Prozessen, Verfahren und Algorithmen können durch Codemodule verkörpert werden, und vollständig oder teilweise durch diese automatisiert werden, wobei die Codemodule durch eines oder mehrere Computersysteme oder Computerprozessoren, die Computer-Hardware beinhalten, ausgeführt werden. Die Prozesse und Algorithmen können teilweise oder vollständig in anwendungsspezifischen Schaltungen implementiert werden.Each of the processes, methods, and algorithms described in the preceding paragraphs may be embodied by and fully or partially automated by code modules, the code modules being executed by one or more computer systems or computer processors including computer hardware. The processes and algorithms may be partially or fully implemented in application specific circuits.

Die zuvor beschriebenen verschiedenen Merkmale und Prozesse können unabhängig voneinander verwendet werden, oder können auf verschiedene Weisen kombiniert werden. Alle möglichen Kombination und Unterkombinationen sollen innerhalb des Schutzumfangs dieser Offenbarung liegen. Zusätzlich können gewisse Verfahren oder Prozessblöcke bei einigen Implementierungen weggelassen werden. Die hier beschriebenen Verfahren und Prozesse sind auch nicht auf irgendeine spezielle Abfolge eingeschränkt, und die in Bezug damit stehenden Blöcke oder Zustände können in anderen geeigneten Abfolgen durchgeführt werden. Beispielsweise können die beschriebenen Blöcke oder Zustände in einer anderen als der spezifisch offenbarten Reihenfolge durchgeführt werden, oder mehrere Blöcke oder Zustände können zu einem einzelnen Block oder Zustand kombiniert werden. Die beispielhaften Blöcke oder Zustände können in serieller, in paralleler oder in irgendeiner anderen Weise durchgeführt werden. Blöcke oder Zustände können zu den offenbarten beispielhaften Ausführungsformen hinzugefügt oder von diesen entfernt werden. Die hier beschriebenen beispielhaften Systeme und Komponenten können in anderer Weise als beschrieben durchgeführt werden. Beispielsweise können, verglichen mit den offenbarten beispielhaften Ausführungsformen, Elemente hinzugefügt werden, entfernt werden oder neu angeordnet werden.The various features and processes described above may be used independently or may be combined in various ways. All possible combinations and subcombinations are intended to be within the scope of this disclosure. In addition, certain methods or process blocks may be omitted in some implementations. Also, the methods and processes described herein are not limited to any particular sequence, and the related blocks or states may be performed in other suitable sequences. For example, the described blocks or states may be performed in a different order than that specifically disclosed, or multiple blocks or states may be combined into a single block or state. The example blocks or states may be performed in serial, in parallel, or in any other way. Blocks or states may be added to or removed from the disclosed exemplary embodiments. The exemplary systems and components described herein may be performed in ways other than those described. For example, as compared to the disclosed exemplary embodiments, elements may be added, removed, or rearranged.

Einen Vorbehalt ausdrückende Sprache, wie unter anderem beispielsweise „können”, „könnte”, „könnte möglicherweise” oder „kann möglicherweise”, soll, wenn nicht speziell anders angegeben oder es im verwendeten Kontext anders zu verstehen ist, generell zum Ausdruck bringen, dass gewisse Ausführungsformen gewisse Merkmale, Elemente, und/oder Schritte beinhalten, während dies bei anderen Ausführungsformen nicht der Fall ist. Daher soll eine solche einen Vorbehalt enthaltende Sprache nicht generell implizieren, dass Merkmale, Elemente und/oder Schritte in irgendeiner Weise für eine oder mehrere Ausführungsformen erforderlich sind, oder dass eine oder mehrere Ausführungsformen notwendigerweise Logik beinhalten, um, mit oder ohne eine Eingabe oder eine Abfrage des Benutzers, zu entscheiden, ob diese Merkmale, Elemente und/oder Schritte enthalten sind oder in irgendeiner speziellen Ausführungsform durchzuführen sind.A language expressing a reservation, such as, but not limited to, "could," "could, possibly," or "may be," shall, unless specifically stated otherwise or otherwise understood in the context used, as indicating that Certain embodiments include certain features, elements, and / or steps, while other embodiments do not. Therefore, such language containing a proviso is not intended to generally imply that features, elements, and / or steps are in any way required for one or more embodiments, or that one or more embodiments necessarily include logic to, with, or without input or input Inquiring the user to decide if these features, elements and / or steps are included or to be performed in any particular embodiment.

Jegliche Prozessbeschreibungen, Elemente oder Blöcke in den Ablaufdiagrammen, die hier beschrieben sind und/oder in den anliegenden Zeichnungen dargestellt sind, sollten so verstanden werden, dass sie potenziell Module, Segmente oder Abschnitte von Code repräsentieren, die eine oder mehrere ausführbare Anweisungen für ein Implementieren von spezifischen logischen Funktionen oder Schritten in dem Prozess beinhalten. Alternative Implementierungen sind im Schutzumfang der hier beschriebenen Ausführungsformen eingeschlossen, wobei Elemente oder Funktionen entfernt werden können, und in einer anderen als der dargestellten oder erörterten Reihenfolge ausgeführt werden können, einschließlich im Wesentlichen gleichzeitig oder in umgekehrter Reihenfolge, in Abhängigkeit von der einhergehenden Funktionalität, wie für Fachleute klar ist.Any process descriptions, elements or blocks in the flowcharts described herein and / or illustrated in the accompanying drawings should be understood to potentially represent modules, segments or portions of code that implement one or more executable instructions for implementation of specific logical functions or steps in the process. Alternative implementations are included within the scope of the embodiments described herein, wherein elements or functions may be removed and may be performed in an order other than shown or discussed, including substantially simultaneously or in reverse order, depending on the associated functionality, such as for professionals is clear.

Es ist hervorzuheben, dass viele Variationen und Modifikationen an den zuvor beschriebenen Ausführungsformen vorgenommen werden können, deren Elemente als neben weiteren geeigneten Beispielen bestehend zu verstehen sind. Alle derartigen Modifikationen und Variationen verstehen sich als hier innerhalb des Schutzumfangs dieser Offenbarung eingeschlossen. Die vorhergehende Beschreibung beschreibt detailliert gewisse Ausführungsformen der Erfindung. Es versteht sich jedoch, dass unabhängig davon, wie detailliert in dem vorhergehenden Text die Erfindung beschrieben wurde, sie auf viele Weisen ausgeführt werden kann. Wie zuvor ebenfalls angegeben wurde, ist zu beachten, dass die Verwendung einer speziellen Terminologie beim Beschreiben gewisser Merkmale oder Aspekte der Erfindung nicht so zu verstehen ist, dass hier impliziert wird, dass die Terminologie so neu definiert wird, dass sie darauf eingeschränkt ist, irgendwelche spezifische Kennzeichen der Merkmale oder Aspekte der Erfindung zu enthalten, mit denen diese Terminologie assoziiert ist. Der Schutzumfang der Erfindung sollte daher gemäß den anliegenden Ansprüchen und jeglichen Äquivalenten von diesen interpretiert werden.It is to be noted that many variations and modifications can be made to the above-described embodiments, the elements of which are to be understood as being among other suitable examples. All such modifications and variations are to be understood as included within the scope of this disclosure. The previous one Description describes in detail certain embodiments of the invention. It should be understood, however, that regardless of how detailed the invention has been described in the preceding text, it can be implemented in many ways. As previously indicated, it should be understood that the use of particular terminology in describing certain features or aspects of the invention is not to be understood as implicating the terminology to be redefined to be limited to any to contain specific characteristics of the features or aspects of the invention with which this terminology is associated. The scope of the invention should, therefore, be interpreted in accordance with the appended claims and any equivalents thereof.

ZITATE ENTHALTEN IN DER BESCHREIBUNG QUOTES INCLUDE IN THE DESCRIPTION

Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.This list of the documents listed by the applicant has been generated automatically and is included solely for the better information of the reader. The list is not part of the German patent or utility model application. The DPMA assumes no liability for any errors or omissions.

Zitierte PatentliteraturCited patent literature

  • US 8601326 [0001] US 8601326 [0001]

Claims (19)

Computerimplementiertes Verfahren, das umfasst: Empfangen, durch ein Computersystem, einer Auswahl eines Objekttyps, der einem Monitoring auf mögliche Datenqualitätsprobleme zu unterziehen ist; Empfangen, durch das Computersystem, einer Auswahl von einem oder mehreren Datenqualitätskriterien; Empfangen, durch das Computersystem, eines oder mehrerer Boolescher Operatoren, die mit dem einen oder den mehreren Datenqualitätskriterien assoziiert sind, und/oder einer Angabe, wie viele von dem einen oder den mehreren Datenqualitätskriterien erforderlich sind, um jeweilige Datenobjekte als Objekte zu identifizieren, die mögliche Datenqualitätsprobleme haben. Bestimmen möglicher Datenqualitätsprobleme durch Durchsuchen von Daten, die mit einer Mehrzahl von Datenbankobjekten des gewählten Objekttyps assoziiert sind, wobei jedes der Objekte eine oder mehrere Eigenschaften und entsprechende Eigenschaftswerte aufweist, um zu bestimmen, ob bei dem gewählten einen oder den gewählten mehreren Datenqualitätskriterien eine Übereinstimmung mit Eigenschaften und/oder Eigenschaftswerten jeweiliger Objekte vorliegt; Erzeugen einer Benutzerschnittstelle, die mögliche Datenqualitätsprobleme jeweiliger Objekte angibt, welche Eigenschaftswerte aufweisen, die mit dem gewählten einen oder den gewählten mehreren Datenqualitätskriterien übereinstimmen, und die eine oder mehrere Eigenschaften und/oder Eigenschaftswerte der jeweiligen Objekte beinhaltet; Empfangen, von einem Benutzer des Computersystems, einer Auflösung der möglichen Datenqualitätsprobleme; und Implementieren der Auflösung.Computer-implemented method comprising: Receiving, by a computer system, a selection of an object type to be monitored for potential data quality problems; Receiving, by the computer system, a selection of one or more data quality criteria; Receiving, by the computer system, one or more Boolean operators associated with the one or more data quality criteria and / or an indication of how many of the one or more data quality criteria are required to identify respective data objects as objects have potential data quality problems. Determining possible data quality problems by searching data associated with a plurality of database objects of the selected object type, each of the objects having one or more properties and corresponding property values to determine whether the selected one or more data quality criteria matches Properties and / or property values of respective objects is present; Generating a user interface that indicates potential data quality problems of respective objects that have property values that match the selected one or more data quality criteria and that includes one or more properties and / or property values of the respective objects; Receiving, from a user of the computer system, a resolution of possible data quality problems; and Implement the resolution. Computerimplementiertes Verfahren nach Anspruch 1, wobei die möglichen Datenqualitätsprobleme mindestens eines beinhalten von: möglichen doppelten Objekten, fehlenden Eigenschaften, mehrere Werte aufweisenden Eigenschaften, ungeparsten Eigenschaften, unzulässigen Aufzählungen, Verletzungen des Wertebereichs und Verletzungen des Datenbereichs.The computer-implemented method of claim 1, wherein the potential data quality problems include at least one of: possible duplicate objects, missing properties, multi-valued properties, unpaired properties, invalid enumerations, violations of the range of values, and data area violations. Computerimplementiertes Verfahren nach Anspruch 1 oder Anspruch 2, wobei es sich bei dem möglichen Datenqualitätsproblem um mögliche doppelte Objekte handelt, und das Bestimmen möglicher Datenqualitätsprobleme weiter umfasst, jeweilige Objekte zu identifizieren, die jeweils gemeinsame Eigenschaftswerte für eine vorbestimmte Anzahl von Eigenschaften aufweisen.A computer-implemented method according to claim 1 or claim 2, where the potential data quality problem is possible duplicate objects, and determining further possible data quality problems further comprises identifying respective objects each having common property values for a predetermined number of properties. Computerimplementiertes Verfahren nach Anspruch 3, wobei die Auflösung ein Angeben von zwei oder mehr Objekten mit möglichen Datenqualitätsproblemen, die Duplikate sind, umfasst; und das Implementieren der Auflösung umfasst, dass die zwei oder mehr angegebenen Objekte zu einem einzigen Objekt kombiniert werden.Computer-implemented method according to claim 3, wherein the resolution comprises indicating two or more objects with potential data quality problems that are duplicates; and Implementing the resolution involves combining the two or more specified objects into a single object. Computerimplementiertes Verfahren nach Anspruch 3 oder Anspruch 4, wobei die Benutzerschnittstelle weiter jeweils eine Anzahl der identifizierten Objekte angibt, die jeweilige gemeinsame Eigenschaftswerte haben.The computer-implemented method of claim 3 or claim 4, wherein the user interface further indicates a number of the identified objects each having respective common property values. Computerimplementiertes Verfahren nach einem der Ansprüche 1 bis 5, wobei es sich bei dem möglichen Datenqualitätsproblem um fehlende Eigenschaften handelt; und das Bestimmen möglicher Datenqualitätsprobleme weiter umfasst, dass jeweilige Objekte identifiziert werden, denen zumindest eine vorbestimmte Anzahl an Eigenschaftswerten fehlt.Computer-implemented method according to one of claims 1 to 5, where the potential data quality problem is missing properties; and determining possible data quality problems further comprises identifying respective objects that lack at least a predetermined number of property values. Computerimplementiertes Verfahren nach einem der Ansprüche 1 bis 6, wobei es sich bei dem möglichen Datenqualitätsproblem um mehrere Werte aufweisende Eigenschaften handelt; und das Bestimmen möglicher Datenqualitätsprobleme weiter umfasst, dass jeweilige Objekte identifiziert werden, die mehrere Eigenschaftswerte für einzelne Eigenschaften aufweisen.Computer-implemented method according to one of claims 1 to 6, the potential data quality problem being multi-valued properties; and determining possible data quality problems further comprises identifying respective objects having multiple property values for individual properties. Computerimplementiertes Verfahren nach Anspruch 7, wobei die Auflösung ein Angeben von einem von den mehreren Eigenschaftswerten umfasst, der für einzelne von den Eigenschaften korrekt ist; und das Implementieren der Auflösung weiter umfasst, dass alle von den mehreren Eigenschaftswerten entfernt werden, abgesehen von dem einen von den mehreren Eigenschaftswerten, der für jeweilige Eigenschaften korrekt ist.Computer-implemented method according to claim 7, wherein the resolution comprises indicating one of the plurality of property values that is correct for individual ones of the properties; and implementing the resolution further comprises removing all of the plurality of property values except for the one of the plurality of property values that is correct for respective properties. Computerimplementiertes Verfahren nach einem der Ansprüche 1 bis 8, wobei es sich bei dem möglichen Datenqualitätsproblem um ungeparste Eigenschaften handelt; und das Bestimmen möglicher Datenqualitätsprobleme weiter umfasst, dass jeweilige Objekte identifiziert werden, die einen oder mehrere ungeparste Daten beinhaltende Eigenschaftswerte haben.Computer-implemented method according to one of claims 1 to 8, where the potential data quality problem is unpaired properties; and determining possible data quality problems further comprises identifying respective objects having one or more unpaired data-containing property values. Computerimplementiertes Verfahren nach einem der Ansprüche 1 bis 9, wobei es sich bei dem möglichen Datenqualitätsproblem um unzulässige Aufzählungen handelt; und das Bestimmen möglicher Datenqualitätsprobleme weiter umfasst, dass jeweilige Objekte identifiziert werden, die einen oder mehrere unzulässige Aufzählungen beinhaltende Eigenschaftswerte haben. The computer-implemented method of any one of claims 1 to 9, wherein the potential data quality problem is improper enumeration; and further determining potential data quality problems further comprises identifying respective objects having property values including one or more invalid enumeration enumerations. Computerimplementiertes Verfahren nach einem der Ansprüche 1 bis 10, wobei es sich bei dem möglichen Datenqualitätsproblem um eine Verletzung eines numerischen Wertebereichs handelt; und das Bestimmen möglicher Datenqualitätsprobleme weiter umfasst, dass jeweilige Objekte identifiziert werden, die einen oder mehrere Eigenschaftswerte haben, welche einen zulässigen numerischen Wertebereich für die jeweilige Eigenschaft verletzen.Computer-implemented method according to one of claims 1 to 10, wherein the potential data quality problem is a violation of a numerical value range; and determining possible data quality problems further comprises identifying respective objects having one or more property values that violate an allowable numeric value range for the respective property. Computerimplementiertes Verfahren nach einem der Ansprüche 1 bis 11, wobei es sich bei dem möglichen Datenqualitätsproblem um eine Verletzung des Datenbereichs handelt; und das Bestimmen möglicher Datenqualitätsprobleme weiter umfasst, dass jeweilige Objekte identifiziert werden, die einen oder mehrere Eigenschaftswerte haben, welche einen für jeweilige Eigenschaften zulässigen Datenbereich verletzen.Computer-implemented method according to one of claims 1 to 11, the potential data quality problem being a violation of the data area; and determining possible data quality problems further comprises identifying respective objects that have one or more property values that violate a data range allowed for respective properties. Computerimplementiertes Verfahren nach einem der Ansprüche 1 bis 12, das weiter umfasst, eine Auswahl von einem oder mehreren Objekttypen zu empfangen, mit denen der ausgewählte Objekttyp assoziiert sein muss, um in die durchsuchte Mehrzahl von Objekten inkludiert zu werden.The computer-implemented method of one of claims 1 to 12, further comprising receiving a selection of one or more object types with which the selected object type must be associated to be included in the searched plurality of objects. Computerimplementiertes Verfahren nach einem der Ansprüche 1 bis 13, wobei der Objekttyp eines von einer Person, einem Platz, einer Organisation oder einem Marktinstrument aufweist und die Datenbankobjekte jeweils mit spezifischen Dingen des entsprechenden Objekttyps assoziiert sind.The computer-implemented method of any one of claims 1 to 13, wherein the object type comprises one of a person, a place, an organization, or a market instrument, and the database objects are each associated with specific things of the corresponding object type. Computerimplementiertes Verfahren, umfassend: Empfangen, durch ein Computersystem, das einen oder mehrere physische Prozessoren aufweist und konfiguriert ist, große Mengen an Daten zu verarbeiten, einer Auswahl eines Objekttyps, bei dem ein Monitoring auf mögliche Datenqualitätsprobleme durchzuführen ist; Empfangen, durch das Computersystem, einer Auswahl eines Datenqualitätsmonitortyps; Empfangen, durch das Computersystem, einer Auswahl von einem oder mehreren Datenqualitätskriterien von Objekten des ausgewählten Objekttyps; Empfangen, durch das Computersystem, eines oder mehrerer Boolescher Operatoren, die mit dem einen oder den mehreren Datenqualitätskriterien assoziiert sind, und/oder einer Angabe, wie viele von dem einen oder den mehreren Datenqualitätskriterien erforderlich sind, um jeweilige Datenbankobjekte als Objekte zu identifizieren, die mögliche Datenqualitätsprobleme haben; Bestimmen, durch das Computersystem, von Objekten, die mögliche Datenqualitätsprobleme haben, und zwar durch Durchsuchen von Daten, die mit einer Mehrzahl von Objekten des gewählten Objekttyps assoziiert sind, um jeweilige Objekte aufzufinden, die mit den gewählten Datenqualitätskriterien übereinstimmen; Erzeugen, durch das Computersystem, einer Benutzerschnittstelle, welche die Objekte angibt, die mögliche Datenqualitätsprobleme haben, und welche eine oder mehrere Eigenschaften und/oder Eigenschaftswerte der Objekte beinhaltet, die mögliche Datenqualitätsprobleme haben; Empfangen, durch das Computersystem, einer Auflösung der möglichen Datenqualitätsprobleme; und Implementieren, durch das Computersystem, der Auflösung.Computer-implemented method comprising: Receiving, by a computer system having one or more physical processors and configured to process large amounts of data, a selection of an object type to be monitored for potential data quality issues; Receiving, by the computer system, a selection of a data quality monitor type; Receiving, by the computer system, a selection of one or more data quality criteria of objects of the selected object type; Receiving, by the computer system, one or more Boolean operators associated with the one or more data quality criteria and / or an indication of how many of the one or more data quality criteria are required to identify respective database objects as objects have potential data quality issues; Determining, by the computer system, objects that have potential data quality problems by searching data associated with a plurality of objects of the selected object type to locate respective objects that match the selected data quality criteria; Generating, by the computer system, a user interface that identifies the objects that have potential data quality problems and that includes one or more properties and / or property values of the objects that have potential data quality problems; Receiving, through the computer system, a resolution of potential data quality problems; and Implement, by the computer system, the resolution. Computerimplementiertes Verfahren nach Anspruch 15, wobei der Typ des Datenqualitätsmonitors einer ist von: mögliche doppelte Objekte, fehlende Eigenschaften, mehrere Werte aufweisende Eigenschaften, ungeparste Eigenschaften, unzulässige Aufzählungen, Verletzungen des Wertebereichs und Verletzungen des Datenbereichs.The computer-implemented method of claim 15, wherein the type of data quality monitor is one of: possible duplicate objects, missing properties, multi-valued properties, unpaired properties, invalid enumerations, violations of the range of values, and data area violations. Computerimplementiertes Verfahren nach Anspruch 15 oder Anspruch 16, wobei die Datenbankobjekte jeweils eines von einer Person, einem Platz, einer Organisation oder einem Marktinstrument repräsentieren und eine oder mehrere Eigenschaften und entsprechende Eigenschaftswerte beinhalten, die jeweils mit der Person, dem Platz, der Organisation oder dem Marktinstrument assoziiert sind.The computer-implemented method of claim 15 or claim 16, wherein the database objects each represent one of a person, a place, an organization, or a market instrument and include one or more properties and corresponding property values associated respectively with the person, place, organization, or Associated with the market instrument. Computerlesbares Medium, das computerausführbare Anweisungen speichert, die konfiguriert sind, ein Computersystem anzuweisen, die Operationen nach einem der Ansprüche 1 bis 17 durchzuführen.A computer-readable medium storing computer-executable instructions configured to instruct a computer system to perform the operations of any one of claims 1 to 17. Computersystem, aufweisend: einen oder mehrere Computerprozessoren; und eine Speichervorrichtung, die eines oder mehrere Module speichert, die zur Ausführung durch den einen oder die mehreren Computerprozessoren konfiguriert sind, um das Computersystem zu veranlassen, die Operationen nach einem der Ansprüche 1 bis 17 durchzuführen.Computer system comprising: one or more computer processors; and a storage device that stores one or more modules configured for execution by the one or more computer processors to cause the computer system to perform the operations of any one of claims 1 to 17.
DE102014213036.0A 2013-07-05 2014-07-04 Data Quality Monitors Withdrawn DE102014213036A1 (en)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US13/935,861 US8601326B1 (en) 2013-07-05 2013-07-05 Data quality monitors
US13/935,861 2013-07-05
US14/094,418 US9348851B2 (en) 2013-07-05 2013-12-02 Data quality monitors
US14/094,418 2013-12-02

Publications (1)

Publication Number Publication Date
DE102014213036A1 true DE102014213036A1 (en) 2015-01-22

Family

ID=51410673

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102014213036.0A Withdrawn DE102014213036A1 (en) 2013-07-05 2014-07-04 Data Quality Monitors

Country Status (2)

Country Link
DE (1) DE102014213036A1 (en)
GB (1) GB2517582A (en)

Cited By (50)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9286373B2 (en) 2013-03-15 2016-03-15 Palantir Technologies Inc. Computer-implemented systems and methods for comparing and associating objects
US9338013B2 (en) 2013-12-30 2016-05-10 Palantir Technologies Inc. Verifiable redactable audit log
US9348499B2 (en) 2008-09-15 2016-05-24 Palantir Technologies, Inc. Sharing objects that rely on local resources with outside servers
US9392008B1 (en) 2015-07-23 2016-07-12 Palantir Technologies Inc. Systems and methods for identifying information related to payment card breaches
US9483546B2 (en) 2014-12-15 2016-11-01 Palantir Technologies Inc. System and method for associating related records to common entities across multiple lists
US9495353B2 (en) 2013-03-15 2016-11-15 Palantir Technologies Inc. Method and system for generating a parser and parsing complex data
US9501552B2 (en) 2007-10-18 2016-11-22 Palantir Technologies, Inc. Resolving database entity information
US9514414B1 (en) 2015-12-11 2016-12-06 Palantir Technologies Inc. Systems and methods for identifying and categorizing electronic documents through machine learning
US9678850B1 (en) 2016-06-10 2017-06-13 Palantir Technologies Inc. Data pipeline monitoring
US9715518B2 (en) 2012-01-23 2017-07-25 Palantir Technologies, Inc. Cross-ACL multi-master replication
US9760556B1 (en) 2015-12-11 2017-09-12 Palantir Technologies Inc. Systems and methods for annotating and linking electronic documents
US9772934B2 (en) 2015-09-14 2017-09-26 Palantir Technologies Inc. Pluggable fault detection tests for data pipelines
US9852205B2 (en) 2013-03-15 2017-12-26 Palantir Technologies Inc. Time-sensitive cube
US9880987B2 (en) 2011-08-25 2018-01-30 Palantir Technologies, Inc. System and method for parameterizing documents for automatic workflow generation
US9898335B1 (en) 2012-10-22 2018-02-20 Palantir Technologies Inc. System and method for batch evaluation programs
US9946738B2 (en) 2014-11-05 2018-04-17 Palantir Technologies, Inc. Universal data pipeline
US9965534B2 (en) 2015-09-09 2018-05-08 Palantir Technologies, Inc. Domain-specific language for dataset transformations
US9984428B2 (en) 2015-09-04 2018-05-29 Palantir Technologies Inc. Systems and methods for structuring data from unstructured electronic data files
US9996229B2 (en) 2013-10-03 2018-06-12 Palantir Technologies Inc. Systems and methods for analyzing performance of an entity
US9996595B2 (en) 2015-08-03 2018-06-12 Palantir Technologies, Inc. Providing full data provenance visualization for versioned datasets
US10007674B2 (en) 2016-06-13 2018-06-26 Palantir Technologies Inc. Data revision control in large-scale data analytic systems
US10061828B2 (en) 2006-11-20 2018-08-28 Palantir Technologies, Inc. Cross-ontology multi-master replication
US10103953B1 (en) 2015-05-12 2018-10-16 Palantir Technologies Inc. Methods and systems for analyzing entity performance
US10127289B2 (en) 2015-08-19 2018-11-13 Palantir Technologies Inc. Systems and methods for automatic clustering and canonical designation of related data in various data structures
US10133588B1 (en) 2016-10-20 2018-11-20 Palantir Technologies Inc. Transforming instructions for collaborative updates
US10133782B2 (en) 2016-08-01 2018-11-20 Palantir Technologies Inc. Techniques for data extraction
US10140664B2 (en) 2013-03-14 2018-11-27 Palantir Technologies Inc. Resolving similar entities from a transaction database
US10180977B2 (en) 2014-03-18 2019-01-15 Palantir Technologies Inc. Determining and extracting changed data from a data source
US10198515B1 (en) 2013-12-10 2019-02-05 Palantir Technologies Inc. System and method for aggregating data from a plurality of data sources
US10235533B1 (en) 2017-12-01 2019-03-19 Palantir Technologies Inc. Multi-user access controls in electronic simultaneously editable document editor
US10452678B2 (en) 2013-03-15 2019-10-22 Palantir Technologies Inc. Filter chains for exploring large data sets
US10496529B1 (en) 2018-04-18 2019-12-03 Palantir Technologies Inc. Data unit test-based data management system
US10503574B1 (en) 2017-04-10 2019-12-10 Palantir Technologies Inc. Systems and methods for validating data
US10579647B1 (en) 2013-12-16 2020-03-03 Palantir Technologies Inc. Methods and systems for analyzing entity performance
US10621314B2 (en) 2016-08-01 2020-04-14 Palantir Technologies Inc. Secure deployment of a software package
US10628834B1 (en) 2015-06-16 2020-04-21 Palantir Technologies Inc. Fraud lead detection system for efficiently processing database-stored data and automatically generating natural language explanatory information of system results for display in interactive user interfaces
US10636097B2 (en) 2015-07-21 2020-04-28 Palantir Technologies Inc. Systems and models for data analytics
US10754822B1 (en) 2018-04-18 2020-08-25 Palantir Technologies Inc. Systems and methods for ontology migration
US10762102B2 (en) 2013-06-20 2020-09-01 Palantir Technologies Inc. System and method for incremental replication
US10795909B1 (en) 2018-06-14 2020-10-06 Palantir Technologies Inc. Minimized and collapsed resource dependency path
US10838987B1 (en) 2017-12-20 2020-11-17 Palantir Technologies Inc. Adaptive and transparent entity screening
US10853454B2 (en) 2014-03-21 2020-12-01 Palantir Technologies Inc. Provider portal
US10866792B1 (en) 2018-04-17 2020-12-15 Palantir Technologies Inc. System and methods for rules-based cleaning of deployment pipelines
US10956406B2 (en) 2017-06-12 2021-03-23 Palantir Technologies Inc. Propagated deletion of database records and derived data
US10970261B2 (en) 2013-07-05 2021-04-06 Palantir Technologies Inc. System and method for data quality monitors
US11061542B1 (en) 2018-06-01 2021-07-13 Palantir Technologies Inc. Systems and methods for determining and displaying optimal associations of data items
US11061874B1 (en) 2017-12-14 2021-07-13 Palantir Technologies Inc. Systems and methods for resolving entity data across various data structures
US11074277B1 (en) 2017-05-01 2021-07-27 Palantir Technologies Inc. Secure resolution of canonical entities
US11106692B1 (en) 2016-08-04 2021-08-31 Palantir Technologies Inc. Data record resolution and correlation system
US11302426B1 (en) 2015-01-02 2022-04-12 Palantir Technologies Inc. Unified data interface and system

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8601326B1 (en) 2013-07-05 2013-12-03 Palantir Technologies, Inc. Data quality monitors

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8601326B1 (en) 2013-07-05 2013-12-03 Palantir Technologies, Inc. Data quality monitors

Cited By (75)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10061828B2 (en) 2006-11-20 2018-08-28 Palantir Technologies, Inc. Cross-ontology multi-master replication
US9846731B2 (en) 2007-10-18 2017-12-19 Palantir Technologies, Inc. Resolving database entity information
US10733200B2 (en) 2007-10-18 2020-08-04 Palantir Technologies Inc. Resolving database entity information
US9501552B2 (en) 2007-10-18 2016-11-22 Palantir Technologies, Inc. Resolving database entity information
US10747952B2 (en) 2008-09-15 2020-08-18 Palantir Technologies, Inc. Automatic creation and server push of multiple distinct drafts
US9348499B2 (en) 2008-09-15 2016-05-24 Palantir Technologies, Inc. Sharing objects that rely on local resources with outside servers
US11693877B2 (en) 2011-03-31 2023-07-04 Palantir Technologies Inc. Cross-ontology multi-master replication
US10706220B2 (en) 2011-08-25 2020-07-07 Palantir Technologies, Inc. System and method for parameterizing documents for automatic workflow generation
US9880987B2 (en) 2011-08-25 2018-01-30 Palantir Technologies, Inc. System and method for parameterizing documents for automatic workflow generation
US9715518B2 (en) 2012-01-23 2017-07-25 Palantir Technologies, Inc. Cross-ACL multi-master replication
US9898335B1 (en) 2012-10-22 2018-02-20 Palantir Technologies Inc. System and method for batch evaluation programs
US11182204B2 (en) 2012-10-22 2021-11-23 Palantir Technologies Inc. System and method for batch evaluation programs
US10140664B2 (en) 2013-03-14 2018-11-27 Palantir Technologies Inc. Resolving similar entities from a transaction database
US9852205B2 (en) 2013-03-15 2017-12-26 Palantir Technologies Inc. Time-sensitive cube
US10120857B2 (en) 2013-03-15 2018-11-06 Palantir Technologies Inc. Method and system for generating a parser and parsing complex data
US10452678B2 (en) 2013-03-15 2019-10-22 Palantir Technologies Inc. Filter chains for exploring large data sets
US9495353B2 (en) 2013-03-15 2016-11-15 Palantir Technologies Inc. Method and system for generating a parser and parsing complex data
US10152531B2 (en) 2013-03-15 2018-12-11 Palantir Technologies Inc. Computer-implemented systems and methods for comparing and associating objects
US9286373B2 (en) 2013-03-15 2016-03-15 Palantir Technologies Inc. Computer-implemented systems and methods for comparing and associating objects
US10977279B2 (en) 2013-03-15 2021-04-13 Palantir Technologies Inc. Time-sensitive cube
US10762102B2 (en) 2013-06-20 2020-09-01 Palantir Technologies Inc. System and method for incremental replication
US10970261B2 (en) 2013-07-05 2021-04-06 Palantir Technologies Inc. System and method for data quality monitors
US9996229B2 (en) 2013-10-03 2018-06-12 Palantir Technologies Inc. Systems and methods for analyzing performance of an entity
US11138279B1 (en) 2013-12-10 2021-10-05 Palantir Technologies Inc. System and method for aggregating data from a plurality of data sources
US10198515B1 (en) 2013-12-10 2019-02-05 Palantir Technologies Inc. System and method for aggregating data from a plurality of data sources
US10579647B1 (en) 2013-12-16 2020-03-03 Palantir Technologies Inc. Methods and systems for analyzing entity performance
US10027473B2 (en) 2013-12-30 2018-07-17 Palantir Technologies Inc. Verifiable redactable audit log
US11032065B2 (en) 2013-12-30 2021-06-08 Palantir Technologies Inc. Verifiable redactable audit log
US9338013B2 (en) 2013-12-30 2016-05-10 Palantir Technologies Inc. Verifiable redactable audit log
US10180977B2 (en) 2014-03-18 2019-01-15 Palantir Technologies Inc. Determining and extracting changed data from a data source
US10853454B2 (en) 2014-03-21 2020-12-01 Palantir Technologies Inc. Provider portal
US10191926B2 (en) 2014-11-05 2019-01-29 Palantir Technologies, Inc. Universal data pipeline
US9946738B2 (en) 2014-11-05 2018-04-17 Palantir Technologies, Inc. Universal data pipeline
US10853338B2 (en) 2014-11-05 2020-12-01 Palantir Technologies Inc. Universal data pipeline
US10242072B2 (en) 2014-12-15 2019-03-26 Palantir Technologies Inc. System and method for associating related records to common entities across multiple lists
US9483546B2 (en) 2014-12-15 2016-11-01 Palantir Technologies Inc. System and method for associating related records to common entities across multiple lists
US11302426B1 (en) 2015-01-02 2022-04-12 Palantir Technologies Inc. Unified data interface and system
US10103953B1 (en) 2015-05-12 2018-10-16 Palantir Technologies Inc. Methods and systems for analyzing entity performance
US10628834B1 (en) 2015-06-16 2020-04-21 Palantir Technologies Inc. Fraud lead detection system for efficiently processing database-stored data and automatically generating natural language explanatory information of system results for display in interactive user interfaces
US10636097B2 (en) 2015-07-21 2020-04-28 Palantir Technologies Inc. Systems and models for data analytics
US9661012B2 (en) 2015-07-23 2017-05-23 Palantir Technologies Inc. Systems and methods for identifying information related to payment card breaches
US9392008B1 (en) 2015-07-23 2016-07-12 Palantir Technologies Inc. Systems and methods for identifying information related to payment card breaches
US9996595B2 (en) 2015-08-03 2018-06-12 Palantir Technologies, Inc. Providing full data provenance visualization for versioned datasets
US10127289B2 (en) 2015-08-19 2018-11-13 Palantir Technologies Inc. Systems and methods for automatic clustering and canonical designation of related data in various data structures
US11392591B2 (en) 2015-08-19 2022-07-19 Palantir Technologies Inc. Systems and methods for automatic clustering and canonical designation of related data in various data structures
US9984428B2 (en) 2015-09-04 2018-05-29 Palantir Technologies Inc. Systems and methods for structuring data from unstructured electronic data files
US11080296B2 (en) 2015-09-09 2021-08-03 Palantir Technologies Inc. Domain-specific language for dataset transformations
US9965534B2 (en) 2015-09-09 2018-05-08 Palantir Technologies, Inc. Domain-specific language for dataset transformations
US9772934B2 (en) 2015-09-14 2017-09-26 Palantir Technologies Inc. Pluggable fault detection tests for data pipelines
US10936479B2 (en) 2015-09-14 2021-03-02 Palantir Technologies Inc. Pluggable fault detection tests for data pipelines
US10417120B2 (en) 2015-09-14 2019-09-17 Palantir Technologies Inc. Pluggable fault detection tests for data pipelines
US10817655B2 (en) 2015-12-11 2020-10-27 Palantir Technologies Inc. Systems and methods for annotating and linking electronic documents
US9760556B1 (en) 2015-12-11 2017-09-12 Palantir Technologies Inc. Systems and methods for annotating and linking electronic documents
US9514414B1 (en) 2015-12-11 2016-12-06 Palantir Technologies Inc. Systems and methods for identifying and categorizing electronic documents through machine learning
US10318398B2 (en) 2016-06-10 2019-06-11 Palantir Technologies Inc. Data pipeline monitoring
US9678850B1 (en) 2016-06-10 2017-06-13 Palantir Technologies Inc. Data pipeline monitoring
US10007674B2 (en) 2016-06-13 2018-06-26 Palantir Technologies Inc. Data revision control in large-scale data analytic systems
US11106638B2 (en) 2016-06-13 2021-08-31 Palantir Technologies Inc. Data revision control in large-scale data analytic systems
US10133782B2 (en) 2016-08-01 2018-11-20 Palantir Technologies Inc. Techniques for data extraction
US10621314B2 (en) 2016-08-01 2020-04-14 Palantir Technologies Inc. Secure deployment of a software package
US11106692B1 (en) 2016-08-04 2021-08-31 Palantir Technologies Inc. Data record resolution and correlation system
US10133588B1 (en) 2016-10-20 2018-11-20 Palantir Technologies Inc. Transforming instructions for collaborative updates
US11221898B2 (en) 2017-04-10 2022-01-11 Palantir Technologies Inc. Systems and methods for validating data
US10503574B1 (en) 2017-04-10 2019-12-10 Palantir Technologies Inc. Systems and methods for validating data
US11074277B1 (en) 2017-05-01 2021-07-27 Palantir Technologies Inc. Secure resolution of canonical entities
US10956406B2 (en) 2017-06-12 2021-03-23 Palantir Technologies Inc. Propagated deletion of database records and derived data
US10235533B1 (en) 2017-12-01 2019-03-19 Palantir Technologies Inc. Multi-user access controls in electronic simultaneously editable document editor
US11061874B1 (en) 2017-12-14 2021-07-13 Palantir Technologies Inc. Systems and methods for resolving entity data across various data structures
US10838987B1 (en) 2017-12-20 2020-11-17 Palantir Technologies Inc. Adaptive and transparent entity screening
US10866792B1 (en) 2018-04-17 2020-12-15 Palantir Technologies Inc. System and methods for rules-based cleaning of deployment pipelines
US11294801B2 (en) 2018-04-18 2022-04-05 Palantir Technologies Inc. Data unit test-based data management system
US10754822B1 (en) 2018-04-18 2020-08-25 Palantir Technologies Inc. Systems and methods for ontology migration
US10496529B1 (en) 2018-04-18 2019-12-03 Palantir Technologies Inc. Data unit test-based data management system
US11061542B1 (en) 2018-06-01 2021-07-13 Palantir Technologies Inc. Systems and methods for determining and displaying optimal associations of data items
US10795909B1 (en) 2018-06-14 2020-10-06 Palantir Technologies Inc. Minimized and collapsed resource dependency path

Also Published As

Publication number Publication date
GB2517582A (en) 2015-02-25
GB201411984D0 (en) 2014-08-20

Similar Documents

Publication Publication Date Title
DE102014213036A1 (en) Data Quality Monitors
US11599513B2 (en) System and method for data quality monitors
DE10051645B4 (en) Process control system and method for controlling a process
DE60002876T2 (en) PRESENTATION, ADMINISTRATION AND SYNTHESIS OF TECHNICAL CONTENT
DE102014204840A1 (en) Improved data integration tool
DE102014215621A1 (en) Template system for generating customized documents
DE19844013A1 (en) Computer-readable work folder memory
DE10300545B4 (en) Device, method, storage medium and data structure for the identification and storage of data
DE102006057149A1 (en) A system and method for facilitating a visual comparison of input data with existing data
DE102014204834A1 (en) Computer-implemented systems and methods for comparing and associating objects
DE19844071A1 (en) Data conflict elimination method for common data field
DE102013209868A1 (en) Querying and integrating structured and unstructured data
DE112012004331T5 (en) Use the strength of traceability links to monitor software development integrity
DE112018005725T5 (en) DATA DEIDENTIFICATION BASED ON DETECTION OF PERMITTED CONFIGURATIONS FOR DATA DEIDENTIFICATION PROCESSES
DE10151648B4 (en) Method and device for capturing and storing notes taken during a computer-based session
DE112022001326T5 (en) CREATE AND EXECUTE PROCESS FLOWS TO CORRECT DATA QUALITY ISSUES IN DATA ASSETS
DE102012001406A1 (en) Automatic configuration of a product data management system
DE112018002626T5 (en) Methods and systems for the optimized visual summary of sequences with time-related event data
DE102005025401A1 (en) Data Transformation System
DE112022000878T5 (en) DATASET MULTIPLEXER FOR DATA PROCESSING SYSTEM
DE19735278A1 (en) Data acquisition and processing system
WO2003054727A1 (en) Categorizing system for data objects and method for verifying the consistency of assignments of data objects to categories
DE10249482A1 (en) Project risk analysis method, by generating checklists, exporting data from hierarchical database to relational database and performing risk analysis by accessing relational database
DE112022000886T5 (en) DATA PROCESSING SYSTEM WITH MANIPULATION OF LOGICAL DATA RECORD GROUPS
EP1593036A2 (en) Method and device for modifying modular messages

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: G06F0017300000

Ipc: G06F0016000000

R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee