Patent ID: 11907181
Assignee: PALANTIR TECHNOLOGIES INC.
Field: Computer technology (Electrical engineering)
Classification: CPC G | IPC G

Claim 5:
6. A system comprising:
one or more processors;
one or more storage media storing
instructions which, when executed by the one or more processors, cause performance of:
receiving a data input file to be stored in a database, the data input file having unknown schema;
selecting a sample excerpt from the data input file, the sample excerpt comprising a subset of the data input file;
analyzing the sample excerpt to determine header data for the data input file, determining the header data for the data input file comprising:
determining that a first row in the sample excerpt does not contain a delimited numeric value;
determining that a second row in the sample excerpt following the first row does contain a delimited value;
in response to the determining that the first row in the sample excerpt does not contain a delimited value and the second row in the sample excerpt does contain a delimited value, determining that the first row consists of the header data for the data input file;
identifying one or more jagged rows based on row delimiters that were erroneously placed in the sample excerpt instead of column delimiters;
causing displaying, via a graphical user interface (GUI), text in the sample excerpt that led to creation of a jagged row of the one or more jagged rows;
receiving, via the GUI, an addition or removal of a specific row delimiter of the row delimiters to the text;
updating the sample excerpt based on the addition or the removal;
analyzing the sample excerpt to determine a row delimiter for the data input file, the row delimiter comprising one or more symbols that delimit each particular row in the data input file;
using the row delimiter, identifying a plurality of rows from the sample excerpt that is not included in the header data for the data input file;
storing column delimiter whitelist data comprising a plurality of particular candidate column delimiters;
storing column delimiter blacklist data comprising data identifying one or more symbols that are not candidate column delimiters;
identifying one or more particular candidate column delimiters of the plurality of particular candidate column delimiters in the plurality of rows from the sample excerpt;
identifying a plurality of candidate column delimiters as symbols in the sample excerpt that are not contained in either the column delimiter whitelist data or the column delimiter blacklist data;
receiving, from a user device, a second row delimiter for the data input file;
using the second row delimiter, identifying a second plurality of rows from the sample excerpt that is not included in the header data for the data input file;
identifying one or more second candidate column delimiters in the second plurality of rows;
using the one or more second candidate column delimiters and the second row delimiter to generate a candidate schema for the data input file;
using the candidate schema for the data input file, translating the data input file into the second plurality of rows and a plurality of columns;
storing, in the database, the second plurality of rows and the plurality of columns.