Program, information processing method, and information processing device
The program adjusts tabular data layouts to match updated formats, addressing the challenge of inconsistent data formats by ensuring accurate conversion to semi-structured data, enhancing data utilization efficiency.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-08-29
- Publication Date
- 2026-03-12
AI Technical Summary
Data creators often modify tabular data formats based on the type and number of experiments, making it difficult for data users to efficiently utilize the data.
A program that saves tabular data and its layout, identifies mismatches when updating the data, and adjusts the layout to ensure accurate conversion to semi-structured data, including deleting perspective objects if necessary, to maintain the relationship between elements.
Improves the convenience of converting tabular data into semi-structured data by maintaining the relationship between elements, preventing erroneous outputs, and ensuring efficient data utilization.
Smart Images

Figure 2026044185000001_ABST
Abstract
Description
[Technical Field]
[0001] The present invention relates to a program, an information processing method, and an information processing device. [Background technology]
[0002] Patent Document 1 discloses a device that converts data in a spreadsheet format into data in a semi-structured data format. [Prior art documents] [Patent documents]
[0003] [Patent Document 1] Japanese Patent Application Laid-Open No. 2017-146923 Summary of the Invention [Problem to be solved by the invention]
[0004] In order to efficiently use experimental data and other data, data users such as data scientists often request that data creators, such as researchers who input the experimental data, input the data into a predetermined tabular data format. However, data creators sometimes modify the tabular data format depending on the type and number of experiments, making it difficult to efficiently use the data.
[0005] One aspect of the present disclosure provides a program or the like that is more convenient when converting tabular data into semi-structured data and utilizing the converted data. [Means for solving the problem]
[0006] A first aspect of the program is a program that causes a computer to execute a process of saving tabular data and a layout that defines relationships between multiple elements of the tabular data, and, when applying the layout to updated tabular data, identifying areas in the layout that do not match the updated tabular data, and changing the layout at the identified areas.
[0007] A second aspect of the program is a program according to the first aspect, wherein the layout has a perspective object, which is a unit that defines the relationship between elements, and when an element of the tabular data before the update in which the perspective object was placed is combined with another element, uncombined into multiple elements, or hidden after the update, the change to the layout includes deleting the perspective object.
[0008] A third aspect of the program is a program according to the second aspect, in which, if the deleted perspective object connected a higher-level element to a lower-level element, the layout change includes directly connecting the higher-level element and the lower-level element.
[0009] A fourth aspect of the present invention is a program according to the third aspect, wherein the parse object connecting the higher-level element and the lower-level element indicates an inclusion relationship or an order.
[0010] A fifth aspect of the program is a program according to any one of the first to fourth aspects, which, if a portion that does not match the updated tabular data is identified, outputs semi-structured data based on structural information indicated by the changed layout, and, if a portion that does not match the updated tabular data is not identified, outputs the semi-structured data based on structural information indicated by the layout without changing the layout.
[0011] An information processing method according to a first aspect is an information processing method that stores tabular data and a layout that defines relationships between multiple elements of the tabular data, and when applying the layout to updated tabular data, identifies areas where the layout does not match the updated tabular data, and changes the layout at the identified areas.
[0012] An information processing device according to a first aspect includes a control unit that stores tabular data and a layout that defines relationships between multiple elements of the tabular data, and when applying the layout to updated tabular data, identifies areas where the layout does not match the updated tabular data and changes the layout at the identified areas. [Effects of the Invention]
[0013] One aspect of the present disclosure can improve convenience when converting tabular data into semi-structured data for use. [Brief explanation of the drawings]
[0014] [Figure 1] 1 is a schematic diagram of a system according to one aspect of the present disclosure. [Figure 2] FIG. 2 is a block diagram illustrating an example of the configuration of a server device. [Figure 3] FIG. 10 is a diagram illustrating an example of the configuration of a management file. [Figure 4] FIG. 2 is a block diagram illustrating an example of the configuration of a terminal device. [Figure 5] FIG. 10 is a screen diagram showing an example of a layout editing screen. [Figure 6] 10 is a flowchart illustrating an example of a process performed by a server device. [Figure 7] 10 is a flowchart illustrating an example of a layout matching process. [Figure 8] FIG. 10 is an explanatory diagram showing a specific example of layout matching processing. [Figure 9] FIG. 10 is an explanatory diagram showing another specific example of the layout matching process. [Figure 10] FIG. 10 is an explanatory diagram showing another specific example of the layout matching process. DETAILED DESCRIPTION OF THE INVENTION
[0015] Hereinafter, a system that is an example of a program, an information processing device, and an information processing method according to one aspect of the present disclosure will be described in detail with reference to the drawings. In the description, like elements will be given like reference numerals, and duplicated descriptions will be omitted as appropriate.
[0016] 1 is a schematic diagram of a system according to one aspect of the present disclosure. The system according to the embodiment of the present disclosure includes an information processing device 1 and an information processing terminal 2, which can transmit and receive information via a network 3 such as the Internet. The system according to the embodiment of the present disclosure can be a system for converting tabular data into semi-structured data.
[0017] The information processing device 1 is an information processing device that processes, stores, and transmits and receives various types of information. The information processing device 1 may be configured as, for example, a server device, a personal computer, a tablet terminal, a smartphone, or the like. The information processing device 1 may be configured as a plurality of information processing devices, or may be configured as one of a plurality of virtual devices (virtual machines) configured within one information processing device. In the embodiment of the present disclosure, the information processing device 1 will be referred to as a server device 1 to avoid complication of explanation. However, the information processing device 1 is not limited to a server device, and may be configured as any of the above-mentioned types of information processing devices.
[0018] The information processing terminal 2 can display or download via the network 3 the tabular data file stored in the server device 1 and edit it, etc. The information processing terminal 2 can also perform an operation to upload the edited tabular data back to the server device 1 and save it as a tabular file. The information processing terminal 2 can also upload the tabular file stored in the information processing terminal 2 via the network 3 and save it as a new file or overwrite it in the server device 1. Here, tabular data or files can be referred to as being synonymous with spreadsheet format data or files.
[0019] The information processing terminal 2 may be, for example, an information processing device such as a personal computer, a smartphone, a mobile phone, a wearable device, a tablet, etc. In the embodiment of the present disclosure, in order to avoid complicated explanation, the information processing terminal 2 will be referred to as a terminal device 2.
[0020] 2 is a block diagram showing an example of the configuration of the server device 1. The server device 1 can be an information processing device configured mainly with electronic circuits using semiconductor circuit elements. The server device 1 has a control unit 11, a communication unit 12, a reading unit 13, and a storage unit 14. The control unit 11, the communication unit 12, the reading unit 13, and the storage unit 14 are communicatively connected via a bus 19 or the like. Note that the server device 1 may have another configuration, such as one that does not have the reading unit 13.
[0021] The control unit 11 can be configured to have one or more of a processing device such as a CPU (Central Processing Unit), an MPU (Micro-Processing Unit), a GPU (Graphics Processing Unit), an FPGA (Field Programmable Gate Array), a DSP (Digital Signal Processor), and a quantum processor. The control unit 11 reads out and executes a program (or program product) 1P stored in the storage unit 14.
[0022] The communication unit 12 is a communication module for performing communication-related processing, and can send and receive information to and from the terminal device 2 and the like via the network 3. The reading unit 13 can read a portable storage medium 15 such as a CD (Compact Disc)-ROM, a DVD (Digital Versatile Disc)-ROM, or a USB (registered trademark) memory. The control unit 11 may read the program 1P from the portable storage medium 15 via the reading unit 13 and store it in the storage unit 14. The control unit 11 may also download the program 1P from another computer via the network 3 and store it in the storage unit 14.
[0023] The storage unit 14 includes a volatile storage unit such as a random access memory (RAM), and a non-volatile storage unit such as a read only memory (ROM), a hard disk drive (HDD), and a flash memory. As shown in Fig. 2, the storage unit 14 stores, for example, a program 1P and tabular linked data 60. The program 1P is a program executed by the control unit 11. In this embodiment, the program 1P may also be referred to as a program product 1P.
[0024] The tabular linked data 60 is composed of a management file 61, a tabular file storage unit 62, a layout file storage unit 63, and a semi-structured file storage unit 64. The management file 61 stores information on which layout file stored in the layout file storage unit 63 a tabular file stored in the tabular file storage unit 62 is linked to, and which semi-structured file stored in the semi-structured file storage unit 64 a tabular file is linked to.
[0025] The tabular file storage unit 62 stores files of tabular data (hereinafter referred to as "tabular files"). The layout file storage unit 63 stores files (hereinafter referred to as "layout files") that store layouts for converting tabular files into semi-structured data. Layouts will be described later. The semi-structured file storage unit 64 stores files of semi-structured data converted using the layouts (hereinafter referred to as "semi-structured files").
[0026] Here, in this embodiment, semi-structured data can refer to data written in, for example, JSON (JavaScript (registered trademark) Object Notation) format, XML (eXtensible Markup Language) format, etc. Furthermore, in this embodiment, semi-structured data can be data in which a combination of data names and data contents associated with the names is explicitly defined and written, and in which inclusion relationships are written in a nested format. Furthermore, in this embodiment, semi-structured data cannot be managed as a single relational database or tabular data, but may be data that is structured to a certain extent.
[0027] FIG. 3 is a diagram showing an example of the configuration of a management file 61. As shown in this diagram, the management file 61 can be configured in a table format. The management file 61 may be saved as a database table, or may be saved as a spreadsheet or text file. The management file 61 has columns for an identifier, a tabular file, a layout file, and a semi-structured file. The identifier column stores a numeric value or a character string unique to each record. The tabular file column stores the storage location (file path) of the tabular file. The layout file column stores the storage location (file path) of the saved layout file. The semi-structured file column stores the storage location (file path) of the saved semi-structured file.
[0028] This allows the layout file of the layout applied to the saved tabular file and the semi-structured file output using that layout file to be extracted using the identifier or the saved location (file path) of the tabular file as a key. Note that if no layout has been created, the layout file column can be left blank. Also, if no semi-structured file has been created, the semi-structured file column can be left blank.
[0029] The structure for linking a tabular file to a corresponding layout or layout file and semi-structured file is not limited to the structure of this embodiment. For example, information linking the tabular file to the corresponding layout or layout file and semi-structured file may be stored in the tabular file, or the tabular file, layout file, and semi-structured file may be stored in the same folder to indicate that they are linked. Other structures may also be used.
[0030] 4 is a block diagram showing an example configuration of the terminal device 2. Here, the terminal device 2 can be an information processing device configured mainly with electronic circuits using semiconductor circuit elements. The terminal device 2 may have a control unit 21, a communication unit 22, a reading unit 23, a storage unit 24, a display unit 26, and an input unit 27. The control unit 21, the communication unit 22, the reading unit 23, the storage unit 24, the display unit 26, and the input unit 27 are connected to each other via a bus 29 or the like so as to be able to communicate with each other.
[0031] The control unit 21 can be configured to have one or more of a processing device such as a CPU (Central Processing Unit), an MPU (Micro-Processing Unit), a GPU (Graphics Processing Unit), an FPGA (Field Programmable Gate Array), a DSP (Digital Signal Processor), a quantum processor, etc. The control unit 21 reads out and executes a program stored in the storage unit 24.
[0032] The communication unit 22 is a communication module for performing communication-related processing, and can send and receive information to and from the server device 1, etc., via the network 3. The reading unit 23 can read a portable storage medium 25, such as a CD (Compact Disc)-ROM, a DVD (Digital Versatile Disc)-ROM, or a USB (registered trademark) memory. The control unit 21 can read a program and / or data from the portable storage medium 25 via the reading unit 23 and store it in the storage unit 24. The control unit 21 can also download a program from another computer via the network 3, etc., and store it in the storage unit 24.
[0033] The storage unit 24 includes a volatile storage device such as a random access memory (RAM), and a non-volatile storage device such as a read only memory (ROM), a hard disk drive (HDD), and a flash memory. The display unit 26 may be a liquid crystal display, an organic electroluminescence (EL) display, or the like. The input unit 27 may be an input device such as a keyboard, a mouse, a touch panel, or a camera.
[0034] Here, the layout will be explained. Fig. 5 is a screen diagram showing an example of a layout editing screen 200. The layout editing screen 200 is a screen that the server device 1 displays on the display unit 26 of the terminal device 2 via the network 3. The layout editing screen 200 has an operation button area 210 and a layout editing area 220.
[0035] The operation button area 210 has a Save button 211, an Undo button 212, a Redo button 213, a Key-Value button 214, a Multiple cell button 215, a Table button 216, and an Order button 217. Each button executes a function provided by the user of the terminal device 2 when operated (for example, by clicking with a mouse).
[0036] The Save button 211 provides a function for saving as a layout file the type, position, size, orientation, etc. of one or more perspective objects (described later) placed in the layout editing area 220. The Undo button 212 provides a function for canceling the most recent operation performed in the layout editing area 220. The Redo button 213 provides a function for redoing the operation that was most recently canceled by the Undo button. The Key-Value button 214, Multiple cell button 215, Table button 216, and Order button 217 will be explained together with the explanation of the layout editing area 220 below.
[0037] The layout editing area 220 displays tabular data and also displays a layout on the tabular data. Tabular data can be saved in a tabular file or can be saved content. Tabular data is composed of columns and rows, and data elements (or components) are located at the intersections of the rows and columns and are called cells. A cell is identified by sequentially specifying the column, which is identified by an alphabet, and the row, which is identified by a number (e.g., "cell A1"). In Figure 5, for example, the string "Laboratory Equipment" is saved as the value of cell B3, and the string "Tammann Tube" is saved as the value of cell D3.
[0038] The layout is depicted mainly with bold lines and arrows in FIG. 5. In this embodiment, the elements that make up the layout are called parse objects. In this embodiment, the parse object includes a cell parser 91, a header connector 92, an order connector 93, and a table parser 95. However, the layout may include parse objects other than these. Also, the layout may not include any or all of these parse objects. The cell parser 91 identifies one cell. In FIG. 5, for example, the cell parser 91 is placed in cell B3, cell D3, cell B6, cell D6, cell F6, cell C16, cell C18, and cell C20.
[0039] The header connector 92 is an arrow extending from a cell parser 91 that specifies a cell indicating a header to a cell parser 91 or table parser 95 that contains the content of the header. The header connector 92 connects two cell parsers 91, or connects a cell parser 91 and a table parser 95. In Figure 5, the header connector 92 is represented by an arrow with a triangular tip that extends from cell B3 to cell D3, for example. The header connector 92 may also indicate an inclusion relationship.
[0040] The Key-Value button 214 can provide the placement of the header connector 92 along with the preceding and following cell parsers 91. For example, a user can click the Key-Value button 214, and then click cells B3 and D3 in order to place the cell parser 91 in cells B3 and D3, and then place a header connector 92 connecting cell B3 to cell D3. In addition, when placing a table parser 95 ahead of the header connector 92, the user may first place the table parser 95, select the Key-Value button 214, click the cell that will become the header, and then select the table parser 95, thereby placing the header connector 92 with the table parser 95 at its end.
[0041] Furthermore, the header connector 92 may connect three or more cell parsers 91 in series. In Fig. 5, for example, a header connector 92 extends from cell B6 to cell D6, and another header connector 92 extends from cell D6 to cell F6. The final header connector 92 can be connected to a table parser 95. As with the header connector 92 connecting two cell parsers 91, even when three or more cell parsers 91 are connected in series, the header connector 92 can represent a header, an inclusion relationship, or the like.
[0042] The Multiple cell button 215 can provide for the placement of multiple header connectors 92 along with the cell parsers 91 connected by them. For example, a user operates the Multiple cell button 215 by clicking or the like, and then clicks cells B6, D6, and F6 in turn. This places cell parsers 91 in cells B6, D6, and F6, and further places header connectors 92 connecting cell B6 to cell D6 and cell D6 to cell F6.
[0043] In this case, the end of cell specification may be indicated by clicking the last cell and then again clicking the Multiple cell button 215. Also, when placing a table parser 95 ahead of the last header connector 92, the table parser 95 may be placed first, the Multiple cell button 215 may be selected, multiple cells may be clicked to become headers, and then the table parser 95 may be selected last, thereby placing a header connector 92 with the table parser 95 at its end.
[0044] The table parser 95 is a parse object that specifies a table whose data content is structured by rows and columns. The table parser 95 is composed of an entire table section 951 that indicates the entire table and a table data section 952 that indicates the data portion. The entire table section 951 that is not included in the table data section 952 can be determined to be a header area and an index area.
[0045] 5, the entire table portion 951 of the table parser 95 is represented by a rectangle with cell B9 and cell D13 as the diagonal vertices, and the table data portion 952 is represented by a rectangle with cell C10 to cell D13 as the diagonal vertices. Here, the entire table portion 951 and the table data portion 952 are distinguished from each other by black triangles at the top left and bottom right of the table data portion 952.
[0046] The Table button 216 can provide the placement of the table parser 95. For example, the user operates the Table button 216 by clicking or the like, and then specifies the entire table portion 951, which is the area showing the entire table (for example, dragging from cell B9 to cell D13). Next, the table parser 95 can be placed by specifying the table data portion 952, which shows the data portion (for example, dragging from cell C10 to cell D13).
[0047] The order connectors 93 are parse objects that connect cell parsers 91 together, and represent the order in the direction indicated by the arrow. In Fig. 5, for example, the order connectors 93 are shown as arrows extending from cell C16 to cell C18 and from cell C18 to cell C20 for the cell parsers 91 arranged in cell C16, cell C18, and cell C20. In order to distinguish the order connectors 93 from the header connectors 92, in this embodiment, each of the order connectors 93 has a V-shaped arrow at the end.
[0048] The Order button 217 can provide the placement of multiple order connectors 93 together with the cell parsers 91 connected by them. For example, a user operates the Order button 217 by clicking or the like, and then clicks cells C16, C18, and C20 in that order. This places cell parsers 91 in cells C16, C18, and C20, and further places order connectors 93 connecting cell C16 to cell C18 and cell C18 to cell C20.
[0049] These parse objects are included in the layout corresponding to the tabular data, and are saved as a layout file in the layout file saving unit 63 by clicking the save button 211 or other operation. The management file 61 can also save the file path of the corresponding layout file in the record of the corresponding tabular file. The layout file may save structural information of the layout by converting each parse object arranged in the tabular data into a character string or the like. For example, the structural information of the layout can be saved in the layout file by describing the header connector 92 extending from cell B3 to cell D3 using a predetermined grammar such as "Header: B3: D3."
[0050] The server device 1 converts the tabular data into semi-structured data based on the above-mentioned parse objects. For example, a header connector 92 extending from the cell parser 91 of cell B3 to the cell parser 91 of cell D3 can be written in JSON format as follows: {"key": "Laboratory equipment", "value": [{"key": "Tammann tube"}]} By performing such conversion to create semi-structured data, necessary information can be easily extracted by searching among tabular data with different layouts.
[0051] Furthermore, rules for converting parse objects other than the header connector 92 into semi-structured data can be defined as appropriate. The rules for converting into semi-structured data do not have to be rules for converting into JSON format, but may be rules for converting into XML format or other rules for converting into semi-structured data. Parse objects are not limited to the cell parser 91, header connector 92, order connector 93, and table parser 95, and can be defined as appropriate, and rules for converting each parse object into semi-structured data can be defined as appropriate.
[0052] Fig. 6 is a flowchart showing an example of processing by the server device 1. The server device 1 executes, for example, the processing shown in the flowchart of Fig. 6 based on instructions from program 1P. Program 1P is a program that manages the tabular linked data 60 of Fig. 2. The server device 1 that executes program 1P saves, overwrites, deletes, etc., tabular files, layout files, and semi-structured files in the tabular linked data 60, and updates the management file 61, based on instructions transmitted from the terminal device 2 via the network 3.
[0053] Here, the user of terminal device 2 can operate terminal device 2 to open and edit a tabular file stored in tabular file storage unit 62 of server device 1 on server device 1, and save the file under the same file name in tabular file storage unit 62. Also, the user of terminal device 2 can operate terminal device 2 to download a tabular file stored in tabular file storage unit 62 of server device 1 to terminal device 2, edit and write the file to write experimental data or the like, and then upload the file back to server device 1 and save it in tabular file storage unit 62. Also, the user of terminal device 2 can operate terminal device 2 to upload a tabular file stored in memory unit 24 of terminal device 2 and save it in tabular file storage unit 62.
[0054] As shown in the flowchart of Fig. 6, the server device 1 determines whether an instruction to save a tabular file has been received (step S11). If an instruction to save tabular data has not been received (step S11: NO), the process of step S11 is repeated. If an instruction to save a tabular file has been received (step S11: YES), the server device 1 determines whether a layout associated with the tabular file exists (step S12). Here, whether a layout exists can be determined, for example, by the server device 1 referring to the management file 61 and determining whether a file path is stored in the layout file column of the record extracted by the file path that is the storage destination of the tabular file, or whether a file exists at that file path.
[0055] If it is determined that there is no layout (step S12: NO), the tabular file is saved (step S18) and the process ends. Here, if the tabular file is saved as a new file rather than overwriting an existing file, a new record may be added to the management file 61 and the file path of the tabular file may be saved in the table file column.
[0056] If it is determined that a layout exists (step S12: YES), a layout matching process S20 is performed. The layout matching process S20 will be described in detail with reference to Fig. 7. When the layout matching process S20 is completed, it is determined whether or not to convert the data into semi-structured data (step S15).
[0057] The decision as to whether to convert to semi-structured data may be made if a semi-structured file linked to the tabular file exists or does not exist in management file 61. Server device 1 may also make an inquiry to terminal device 2 via network 3 as to whether to convert to semi-structured data, and determine whether to convert to semi-structured data based on a response from the user operating terminal device 2.
[0058] If the data is not to be converted into semi-structured data (step S15: NO), the layout is saved as a layout file (step S17). If the layout is changed in the layout alignment process S20, the layout file may be saved as a layout file with a different file name, and the columns of the layout file linked to the tabular file in the management file 61 may be changed to the different file name and saved. Also, even if the layout is changed, the previous layout file may be overwritten and saved.
[0059] If the data is to be converted to semi-structured data (step S15: YES), the data is converted to semi-structured data (step S16). The generated semi-structured data can be saved as a semi-structured file. If a semi-structured file already exists linked to the tabular file, it can be overwritten and saved.
[0060] Alternatively, the data may be saved as a different file without being overwritten. In this case, the column of semi-structured files linked to the tabular file in the management file 61 may be changed to the different file name and saved. If there is no semi-structured file linked to the tabular file, a new semi-structured file can be saved, and the file path of the semi-structured file can be saved in the column of semi-structured files linked to the tabular file in the management file 61. After saving the layout file in step S17, the server device 1 saves (overwrites) the tabular data as a tabular file (step S18) and ends the process.
[0061] 7 is a flowchart showing an example of the layout alignment process S20. In this embodiment, the cell parser 91 and the table parser 95 among the parse objects are collectively referred to as "area specification objects," and the heading connector 92 and the order connector 93 are collectively referred to as "connection objects." The layout alignment process S20 determines whether or not there are any unconfirmed area specification objects among the area specification objects arranged in the layout (step S21). If confirmation has been completed for all area specification objects included in the layout (step S21: NO), the layout alignment process S20 ends.
[0062] If there is an unconfirmed area specification object (step S21: YES), it is determined whether the element (cell) in which the area specification object is placed has been changed to merged, unmerged, or hidden (step S22). Here, "merge" means that multiple cells can be treated as a single cell. Here, "unmerge" means that multiple cells have been merged and are now returned to being treated as individual cells. "Hide" means that the columns or rows remain present, but are not displayed when displaying tabular data.
[0063] Note that combining, uncombining, and hiding elements (cells) may be collectively referred to as "data format changes." Note that data format changes are not limited to combining, uncombining, and hiding, but may also include changes to tabular data that may prevent conversion to semi-structured data based on a parse object or result in unintended conversion. Specific examples of combining, uncombining, and hiding will be described in detail in the explanations of Figures 8 to 10.
[0064] If the element (cell) in which the area designation object is placed has not been changed to any of combined, uncombined, or hidden (step S22: NO), the process returns to step S21 and repeats. In this case, the area designation object has been confirmed. If the element (cell) in which the area designation object is placed has been changed to combined, uncombined, or hidden (step S22: YES), it is determined whether the area designation object is connected to a higher-level area designation object and a lower-level area designation object by connection objects (step S23).
[0065] If the object is connected to only one of the higher-level area designation object and the lower-level area designation object, or is not connected to either of them (step S23: NO), the area designation object and the connecting objects connected to the area designation object are deleted (step S24), and the process returns to step S21 and repeats.
[0066] If the object is connected to both the higher-level area designation object and the lower-level area designation object (step S23: YES), the area designation object and the connection object connected to that area designation object are deleted, and a connection object of the same type that directly connects the higher-level area designation object and the lower-level area designation object is placed (step S25), and the process returns to step S21 and repeats.
[0067] As described above, the server device 1 executing the program 1P stores tabular data and a layout that defines the relationships between multiple elements of the tabular data. When applying the layout to updated tabular data, the server device 1 can identify parts of the layout that do not match the updated tabular data and change the layout of the identified parts. This allows semi-structured data to be output because the layout is changed even if the tabular data format is changed. It also prevents erroneous output of semi-structured data.
[0068] 6 and 7, if a portion that is inconsistent with the updated tabular data is identified, semi-structured data is output based on the structural information indicated by the changed layout, and if a portion that is inconsistent with the updated tabular data is not identified, semi-structured data can be output based on the structural information indicated by the layout without changing the layout. This makes it possible to output semi-structured data while maintaining the containment relationship or order of the elements in the tabular data, even if the parse object has a portion that is inconsistent with the tabular data.
[0069] In the following description, a merged cell is identified by pointing to the position of the upper left corner (of a cell when it is not merged). FIG. 8 is an explanatory diagram showing a specific example of the layout matching process S20. In the explanatory diagram, screen 111 and the like show part of a screen displayed on the display unit 26 of the terminal device 2. In FIG. 8, screen 111 displays a layout consistent with the tabular data, superimposed on the display of the tabular data. Screen 112 is an editing screen for tabular data only, and shows a case in which some cells of the tabular data on screen 111 have been merged or unmerged by editing. Screen 113 displays a layout consistent with the tabular data, changed by the layout matching process S20, superimposed on the display of the tabular data on screen 112.
[0070] Screen 111 shows a layout overlaid on tabular data. In the tabular data, the values of cells B3, B6, B9, and B12 are "Laboratory Equipment." The values of cells D3, D6, and E6, the merged cell D6, D9, and the merged cell D12 and E12 are "Tammann tube." The values of cells F9 and F12 are "Tammann tube 1916."
[0071] In the layout of screen 111, cell parser 91, which is an area specification object, is arranged in cell B3, cell B6, cell B9, cell B12, cell D3, merged cell D6, cell D9, merged cell D12, cell F9, and cell F12. In addition, heading connectors 92 connect cell B3 (upper) and cell D3 (lower), cell B6 (upper) and merged cell D6 (lower), cell B9 (upper) and cell D9 (lower), cell D9 (upper) and cell F9 (lower), cell B12 (upper) and merged cell D12 (lower), and merged cell D12 (upper) and cell F12, respectively.
[0072] Screen 112 displays only the tabular data, and shows a change in the data format of the tabular data on screen 111. For example, a user of terminal device 2 can change the tabular data by downloading only the tabular file (or tabular data) from the tabular file storage unit 62 of server device 1 and editing it. Specific changes in the example of screen 112 include merging cells D3 and E3 to form merged cell D3, unmerging merged cell D6 to form cells D6 and E6, merging cells D9 and E9 to form merged cell D9, and unmerging merged cell D12 to form cells D12 and E12.
[0073] On the screen 113, the layout to which the layout matching process S20 has been applied is superimposed on the tabular data of the screen 112. For example, when the user of the terminal device 2 saves the tabular data of the changed screen 122 in the tabular file storage unit 62 of the server device 1, the layout matching process S20 is applied to the layout of the screen 111.
[0074] The layout matching process S20 is applied to the layout of the screen 111. The cell parsers 91, which are area specification objects of the screen 111, are checked in order (step S21). Here, since no change of joining / unjoining / hiding has been made to the cells B3, B6, B9, B12, F9, and F12 in which the cell parsers 91 are placed (step S22: NO), the process of step S21 is repeated.
[0075] On the other hand, cell D3, merged cell D6, cell D9, and merged cell D12 in which cell parser 91 is placed on screen 111 become merged cell D3, cell D6, merged cell D9, and cell D12, respectively, on screen 112 (step S22: YES). Therefore, it is further determined whether this cell parser 91 (area specification object) is connected to a higher-level area specification object and a lower-level area specification object (step S23).
[0076] Here, cell D3 and merged cell D6 in which cell parser 91 is placed on screen 111 are not connected to lower-level area specification objects (step S23: NO), so the area specification objects and the connection objects connected to the area specification objects are deleted (step S24). That is, cell parser 91 of cell D3 and header connector 92 connected to cell D3 are deleted. Also, cell parser 91 of merged cell D6 and header connector 92 connected to merged cell D6 are deleted.
[0077] In this way, a layout has a perspective object, which is a unit that defines the relationship between elements (cells). If an element (cell) of the tabular data before the update in which the perspective object was placed is merged with another element (cell), unmerged from multiple elements (cells), or hidden after the update, the layout can be changed to delete the perspective object. This makes it possible to output semi-structured data even if an element of the tabular data is merged, unmerged, or hidden. It also makes it possible to prevent erroneous output of semi-structured data.
[0078] Furthermore, since cell D9, in which cell parser 91 is placed on screen 111, and merged cell D12 are connected to both upper and lower area specification objects (step S23: YES), the area specification object and the connection object connected to that area specification object can be deleted, and the upper area specification object and the lower area specification object can be directly connected (step S25). That is, the two header connectors 92 (upper and lower) connected to cell parser 91 of cell D9 and cell D9 are deleted, and cell B9, which was connected to the upper side of cell D9, and cell F9, which was connected to the lower side of cell D9, are directly connected. Here, directly connected cell B9 is the upper side, and cell F9 is the lower side.
[0079] In this way, if the deleted parse object connected a higher-level element (cell) to a lower-level element (cell), the layout can be changed to directly connect the higher-level element (cell) and the lower-level element (cell). This makes it possible to output semi-structured data while maintaining the relationship between the higher-level element and the lower-level element, even when elements of the tabular data are combined, uncombined, or hidden.
[0080] In addition, the deleted parse object and the parse object that connects the directly connected upper element (cell) and lower element (cell) can be made to indicate an inclusion relationship (heading connector 92). This makes it possible to output semi-structured data while maintaining the inclusion relationship of the elements in the tabular data.
[0081] As shown in the screens 111 to 113 and the above-described explanations corresponding to the screens 111 to 113, the layout after the layout matching process S20 is applied is the layout shown in the screen 113. The layout of the screen 113 is linked in the management file 61 to a tabular file that stores the corresponding tabular data, and is stored in the layout file storage unit 63 as a layout file.
[0082] Fig. 9 is an explanatory diagram showing another specific example of the layout matching process S20. In Fig. 9, screen 121 displays a layout that is consistent with the tabular data, superimposed on the display of the tabular data. Screen 122 is an editing screen for tabular data only, and shows a case in which some of the cells in the tabular data on screen 121 have been merged or unmerged due to editing. Screen 123 displays a layout that is consistent with the tabular data, changed by the layout matching process S20, superimposed on the display of the tabular data on screen 122.
[0083] Screen 121 shows a layout superimposed on tabular data. In the tabular data, the value of merged cell C2 between cells C2 and D2 is "weighing", the value of merged cell C4 between cells C4 and D4 is "crushing", the value of merged cell C6 between cells C6 and D6 is "mixing", the value of merged cell C8 between cells C8 and D8 is "vacuum sealing", and the value of merged cell C10 between cells C10 and D10 is "baking".
[0084] In the layout of screen 121, cell parsers 91, which are area specification objects, are arranged in merged cells C2, C4, C6, C8, and C10. In addition, order connectors 93 connect cell C2 (upper) and cell C4 (lower), cell C4 (upper) and merged cell C6 (lower), cell C6 (upper) and cell C8 (lower), and cell C8 (upper) and cell C10 (lower).
[0085] Screen 122 displays only the tabular data, and shows a change in the data format of the tabular data on screen 121. For example, a user of terminal device 2 can change the tabular data by downloading only the tabular file (or tabular data) from the tabular file storage unit 62 of server device 1 and editing it. Specific changes in the example of screen 122 include unmerging merged cell C4 to create cells C4 and D4, and merging cells B8 to E8 to create merged cell B8.
[0086] In the screen 123, the layout to which the layout matching process S20 has been applied is displayed superimposed on the tabular data of the screen 122. For example, when the user of the terminal device 2 saves the changed tabular data of the screen 122 in the tabular file storage unit 62 of the server device 1, the layout matching process S20 is applied to the layout of the screen 121.
[0087] The layout matching process S20 is applied to the layout of the screen 121. The cell parsers 91, which are area specification objects of the screen 121, are sequentially checked (step S21). Here, merged cell C2, merged cell C6, and merged cell C10, in which the cell parsers 91 are placed, have not been changed to merged, unmerged, or hidden (step S22: NO), so the process of step S21 is repeated.
[0088] On the other hand, merged cell C4 and merged cell C8 in which cell parser 91 is placed on screen 121 become cell C4 and merged cell B8 of four cells, respectively, on screen 122 (step S22: YES). Therefore, it is further determined whether this cell parser 91 (area specification object) is connected to a higher-level area specification object and a lower-level area specification object (step S23).
[0089] Here, merged cells C4 and C8 in which cell parser 91 is placed on screen 121 are connected to both upper and lower area specification objects (step S23: YES), so the area specification objects and the connection objects connected to the area specification objects are deleted, and the upper area specification object and the lower area specification object are directly connected (step S25).
[0090] That is, the server device 1 deletes the cell parser 91 of merged cell C4 and the two order connectors 93 (upper and lower) connected to merged cell C4, and directly connects merged cell C2, which was connected to the upper side of merged cell C4, with merged cell C6, which was connected to the lower side of merged cell C4. Here, the directly connected merged cell C2 is the upper side, and merged cell C6 is the lower side.
[0091] The server device 1 also deletes the cell parser 91 of merged cell C8 and the two order connectors 93 (upper and lower) connected to merged cell C8, and directly connects merged cell C6, which was connected to the upper side of merged cell C8, with merged cell C10, which was connected to the lower side of merged cell C8. Here, the directly connected merged cell C6 is the upper side, and merged cell C10 is the lower side.
[0092] In this way, the layout has a parse object, which is a unit that defines the relationship between elements (cells). Furthermore, if an element (cell) of the pre-update tabular data in which a parse object was placed is merged with another element (cell), unmerged from multiple elements (cells), or hidden after the update, the layout can be changed to delete the parse object. This allows semi-structured data to be output even if elements of the tabular data are merged, unmerged, or hidden. It also prevents incorrect semi-structured data from being output.
[0093] In this way, if the deleted parse object connected a higher-level element (cell) to a lower-level element (cell), the layout can be changed to directly connect the higher-level element (cell) and the lower-level element (cell). This makes it possible to output semi-structured data while maintaining the relationship between the higher-level element and the lower-level element, even when elements of the tabular data are combined, uncombined, or hidden.
[0094] As described above, the deleted parse object and the parse object that connects the directly connected upper element (cell) and lower element (cell) can be made to indicate the order (order connector 93). This makes it possible to output semi-structured data while maintaining the order of the elements in the tabular data.
[0095] As a result, the layout after the layout matching process S20 is applied becomes the layout shown on screen 123. The layout of screen 123 is linked in management file 61 to a tabular file that stores the corresponding tabular data, and is stored in layout file storage unit 63 as a layout file.
[0096] Fig. 10 is an explanatory diagram showing another specific example of the layout matching process S20. In Fig. 10, screen 131 displays tabular data and a layout that is consistent with the tabular data, superimposed on each other. Screen 132 is an editing screen for tabular data only, and shows a case in which the tabular data on screen 131 has been edited to merge some of the cells. Screen 133 is also an editing screen for tabular data only, and shows a case in which the tabular data on screen 131 has been edited to hide some of the columns.
[0097] Screen 131 shows the layout superimposed on the tabular data. In the tabular data, values that will become the column headings of the table are entered from cells C2 to F2 and from cells C3 to F3. Values that will become the row headings of the table are entered from cells B4 to B7. Values that will become the contents of the table are entered in a rectangular area with cell C4 at the top left and cell F7 at the bottom right.
[0098] In the layout of screen 131, table parser 95, which is an area specification object, is arranged in a rectangular area with cell B2 as the upper left corner and cell F7 as the lower right corner. Here, entire table section 951 showing the entire table is arranged in a rectangular area with cell B2 as the upper left corner and cell F7 as the lower right corner, and table data section 952 showing the data portion is arranged in a rectangular area with cell C4 as the upper left corner and cell F7 as the lower right corner. Note that the layout of screen 131 does not include only the table parser 95 shown in FIG. 10, but also includes other parsing objects that are consistent with tabular data.
[0099] Screen 132 displays only the tabular data, and shows a change in the data format of the tabular data on screen 131. For example, a user of terminal device 2 can change the tabular data by downloading only the tabular file (or tabular data) from the tabular file storage unit 62 of server device 1 and editing it. Specific changes in the example of screen 132 include merging cells D2 and E2 to form merged cell D2, and merging cells F2 and F3 to form merged cell F2.
[0100] Here, for example, when the user of the terminal device 2 saves the tabular data of the changed screen 132 in the tabular file storage unit 62 of the server device 1, a layout matching process S20 is applied to the layout of the screen 131. The layout matching process S20 is applied to the layout of the screen 131. The table parser 95, which is an area specification object of the screen 131, is confirmed (step S21).
[0101] Here, cell D2 and cell E2 in which table parser 95 is placed on screen 131 are joined to form merged cell D2. Also, cell F1 and cell F3 in which table parser 95 is placed are joined to form merged cell F2 (step S22: YES). Therefore, it is further determined whether this table parser 95 (area specification object) is connected to a higher-level area specification object and a lower-level area specification object (step S23).
[0102] Here, since the table parser 95 on the screen 131 is not connected to either the upper or lower area specification object (step S23: NO), the area specification object is deleted (step S24). That is, the table parser 95 is deleted on the screen 131. Although not shown on the screen 131, the layout of this tabular data includes other parsing objects that are consistent with the tabular data even after the layout matching process S20.
[0103] In this way, the layout has a parse object, which is a unit that defines the relationship between elements (cells). Furthermore, if an element (cell) of the pre-update tabular data in which a parse object was placed is merged with another element (cell), unmerged from multiple elements (cells), or hidden after the update, the layout can be changed to delete the parse object. This allows semi-structured data to be output even if elements of the tabular data are merged, unmerged, or hidden. It also prevents incorrect semi-structured data from being output.
[0104] As a result, the layout after the layout matching process S20 is applied does not include the table parser 95, but includes other parsed objects that are consistent with the tabular data. This layout is linked in the management file 61 to a tabular file that stores the corresponding tabular data, and is stored in the layout file storage unit 63 as a layout file.
[0105] Screen 133 shows only the tabular data, and shows a change to the tabular data on screen 131. As with screen 132, for example, the user of terminal device 2 can change the tabular data by downloading only the tabular file (or tabular data) from the tabular file storage unit 62 of server device 1 and editing it. In the example of screen 133, a change has been made to hide column E.
[0106] Here, for example, when the user of the terminal device 2 saves the tabular data of the changed screen 132 in the tabular file storage unit 62 of the server device 1, a layout matching process S20 is applied to the layout of the screen 131. The layout matching process S20 is applied to the layout of the screen 131. The table parser 95, which is an area specification object of the screen 131, is confirmed (step S21).
[0107] Here, the area on screen 131 where table parser 95 is placed includes column E, which has been changed to hidden (step S22: YES). Therefore, it is further determined whether this table parser 95 (area specification object) is connected to a higher-level area specification object and a lower-level area specification object (step S23).
[0108] Here, as in the description of screen 132 above, since table parser 95 on screen 131 is not connected to either the upper or lower area specification object (step S23: NO), the area specification object is deleted (step S24). That is, table parser 95 is deleted on screen 131. Although not shown on screen 131, the layout of this tabular data includes other parsing objects that are consistent with the tabular data even after layout matching process S20.
[0109] In this way, the layout has a parse object, which is a unit that defines the relationship between elements (cells). Furthermore, if an element (cell) of the pre-update tabular data in which a parse object was placed is merged with another element (cell), unmerged from multiple elements (cells), or hidden after the update, the layout can be changed to delete the parse object. This allows semi-structured data to be output even if elements of the tabular data are merged, unmerged, or hidden. It also prevents incorrect semi-structured data from being output.
[0110] As a result, the layout after the layout matching process S20 is applied does not include the table parser 95, but includes other parsed objects that are consistent with the tabular data. This layout is linked in the management file 61 to a tabular file that stores the corresponding tabular data, and is stored in the layout file storage unit 63 as a layout file.
[0111] In the above embodiment, the program 1P and the tabular linked data 60 are stored in the storage unit 14 of the server device 1, and the control unit 11 of the server device 1 executes the processing of the program 1P. However, for example, the program 1P and the tabular linked data 60 may be stored in the storage unit 24 of the terminal device 2, and the control unit 21 of the terminal device 2 may execute the processing of the program 1P standalone without using the network 3. Furthermore, the terminal device 2 and the server device 1 may operate in cooperation with each other by executing part of the program 1P on the terminal device 2 and executing other parts of the program 1P on the server device 1.
[0112] In this embodiment, it is determined whether a change has been made to either merge, unmerge, or hide, but it is also possible to determine other changes to the data format in the table format data.Furthermore, it is also possible to determine changes to other cell formats without determining merge, unmerge, or hide.
[0113] According to the program 1P, the information processing method related to the program 1P, and the information processing device (server device) 1 in the embodiment of the present disclosure, it is possible to further improve convenience when converting tabular data into semi-structured data and utilizing it.
[0114] Furthermore, according to the program 1P, the information processing method related to the program 1P, and the information processing device (server device) 1 of the embodiments of the present disclosure, semi-structured data can be output even when there is a change in the tabular data format. It is also possible to prevent the output of erroneous semi-structured data. The program 1P can be referred to as a program product, software, or software product, and these may be provided on a recording medium or in a form distributed via a communication network.
[0115] The embodiments of the present disclosure are illustrative in all respects and are not restrictive. The scope of the present invention is not defined by the above disclosure but is defined by the claims, and it is intended to include all modifications within the meaning and scope of the claims.
[0116] Furthermore, the sequences shown in the above-described embodiments are not limited, and the order of each process may be changed within a range consistent with the present invention, and multiple processes may be executed in parallel. The entity that performs each process is not limited, and the process of each device may be executed by another device within a range consistent with the present invention.
[0117] The matters described in each embodiment can be combined with each other. Furthermore, the independent claims and dependent claims described in the claims can be combined with each other in any and all combinations, regardless of the reference format. Furthermore, the claims do not use a multi-claim format in which a multiple claim, which is a claim that references two or more claims, further references a multiple claim (multi-multi claim), but may be combined in the form of a multi-multi claim that references all of the higher-level claims. [Explanation of symbols]
[0118] 1. Information processing device (server device) 11 Control section 12 Communications Department 13 Reading unit 14 Storage section 15 Portable storage media 19 Bus 1P Program (Program Product) 2. Information processing terminal (terminal device) 21 Control section 22 Communications Department 23 Reading unit 24 Memory section 25 Portable storage media 26 Display section 27 Input section 29 Bus 3 Network 60 Table-format linked data 61 Management File 62 Tabular file storage section 63 Layout file storage section 64 Semi-structured File Storage 91 Cell Parser 92 Heading Connector 93 Order Connector 95 Table Parser 951 Whole table 952 Table Data Section
Claims
1. storing tabular data and a layout that defines relationships between a plurality of elements of the tabular data; When applying the layout to the updated tabular data, identifying a portion of the layout that does not match the updated tabular data; Changing the layout of the identified location A program that causes a computer to perform a process.
2. The layout has a perspective object, which is a unit that defines the relationship between elements, When an element of the tabular data before the update, in which the perspective object was placed, is combined with another element, uncombined with a plurality of elements, or hidden after the update, the change in layout includes the deletion of the perspective object. The program according to claim 1.
3. If the deleted perspective object connected a higher-level element and a lower-level element, the layout change includes directly connecting the higher-level element and the lower-level element. The program according to claim 2.
4. The parse object connecting the higher-level element and the lower-level element indicates an inclusion relationship or order. The program according to claim 3.
5. If an inconsistency is identified in the updated tabular data, outputting semi-structured data based on structural information indicated by the updated layout; If no inconsistent portion is identified in the updated tabular data, the semi-structured data is output based on the structural information indicated by the layout without changing the layout. The program according to claim 1.
6. storing tabular data and a layout that defines relationships between a plurality of elements of the tabular data; When applying the layout to the updated tabular data, identifying a portion of the layout that does not match the updated tabular data; Changing the layout of the identified location Information processing methods.
7. A control unit is provided, the control unit storing tabular data and a layout that defines relationships between a plurality of elements of the tabular data; When applying the layout to the updated tabular data, identifying a portion of the layout that does not match the updated tabular data; Changing the layout of the identified location Information processing device.
Citation Information
Patent Citations
Table-XML conversion device and method, and program for making computer implement the method
JP2005339019A
Information processor, control method for information processor, computer program, and recording medium
JP2005352774A
Definition information-reconstructing device for XML document conversion, method and program for the same
JP2009122933A
Information processing apparatus and program
JP2021089517A
Assessment program, assessment device, and assessment method
WO2017199309A1