WO2018096686A1 - 検証プログラム、検証装置、検証方法、インデックス生成プログラム、インデックス生成装置およびインデックス生成方法 - Google Patents
検証プログラム、検証装置、検証方法、インデックス生成プログラム、インデックス生成装置およびインデックス生成方法 Download PDFInfo
- Publication number
- WO2018096686A1 WO2018096686A1 PCT/JP2016/085228 JP2016085228W WO2018096686A1 WO 2018096686 A1 WO2018096686 A1 WO 2018096686A1 JP 2016085228 W JP2016085228 W JP 2016085228W WO 2018096686 A1 WO2018096686 A1 WO 2018096686A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- item
- value
- data
- index
- property
- 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.)
- Ceased
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
Definitions
- the present invention relates to a verification program and the like.
- XBRL eXtensible Business Reporting Language
- XBRL is an XML-based language standardized so that information for various financial reports can be created, distributed, and used.
- An XBRL document is a document described in XML such as XBRL for financial accounting reports, for example.
- Extraction conditions for extracting data described in XBRL are defined in a form that combines a plurality of individual conditions based on items (property names) and values, for example.
- the extraction device acquires the number of hits of the extracted data in advance for each of the plurality of individual conditions in the extraction condition, and determines the application order of the plurality of individual conditions based on the number of hits for each of the acquired plurality of individual conditions. Then, the extraction device applies extraction conditions according to the determined application order, refers to the XBRL schema from the input data, and extracts the corresponding data.
- the reason for determining the application order of the plurality of individual conditions is that the calculation amount may increase if the order of the individual conditions to be applied is different.
- the individual condition is a combination of an item and a value (see, for example, Patent Document 2)
- a position is indexed with respect to the combination of the item and the value, and a plurality of individual conditions are generated using the generated index information. It is also possible to extract data with
- the calculation amount may be a problem.
- the determination of the application order is not appropriate depending on the relationship between a plurality of individual conditions. For example, it is a case where the number of hits of extracted data is large for each of a plurality of individual conditions. In such a case, it corresponds to a case where the determination of the application order by the number of hits is not appropriate, and the amount of calculation becomes large.
- an operation for obtaining the corresponding number in advance is necessary.
- FIG. 20 is a diagram showing a reference example of index information.
- the index information 900 is a bit string for a set of property name (item name) and value, and is a bit string in which bits indicating the presence / absence at each data position in the input data for the set are connected.
- the X axis represents a data position
- the Y axis represents a set of property name and value.
- an object when extracting data described in XBRL, is to extract data under a plurality of conditions based on items and values using index information on the items and values.
- data when extracting data described in XBRL, can be extracted under a plurality of conditions based on items and values using index information for the items and values.
- FIG. 1 is a functional block diagram illustrating the configuration of the index generation device according to the first embodiment.
- FIG. 2 is a diagram illustrating an example of the XBRL data.
- FIG. 3 is a diagram illustrating an example of property definition information.
- FIG. 4 is a diagram illustrating an example of index information according to the first embodiment.
- FIG. 5 is a diagram illustrating an example of context position information according to the first embodiment.
- FIG. 6 is a diagram illustrating an example of the index generation process according to the first embodiment.
- FIG. 7 is a diagram illustrating a specific example of index information according to the first embodiment.
- FIG. 8 is a flowchart of the index generation process according to the first embodiment.
- FIG. 9 is a functional block diagram illustrating the configuration of the verification apparatus according to the first embodiment.
- FIG. 9 is a functional block diagram illustrating the configuration of the verification apparatus according to the first embodiment.
- FIG. 10 is a diagram illustrating an example of the structure of the verification rule.
- FIG. 11 is a diagram illustrating an example of the extraction condition conversion process according to the first embodiment.
- FIG. 12 is a diagram illustrating an example of the data extraction process according to the first embodiment.
- FIG. 13 is a diagram illustrating another example of the data extraction process according to the first embodiment.
- FIG. 14 is a diagram illustrating still another example of the data extraction process according to the first embodiment.
- FIG. 15 is a flowchart illustrating the verification process according to the first embodiment.
- FIG. 16 is a diagram illustrating an example of index information according to the second embodiment.
- FIG. 17 is a diagram illustrating an example of an index generation process according to the second embodiment.
- FIG. 18 is a diagram illustrating an example of the data extraction process according to the second embodiment.
- FIG. 19 is a diagram illustrating an example of a hardware configuration of the index generation device and the verification device.
- FIG. 20 is a diagram illustrating a reference example of index
- FIG. 1 is a functional block diagram illustrating the configuration of the index generation device according to the first embodiment.
- the index generation device 100 receives input data 300 and generates index information related to the appearance positions of the items and values for each of the items and values included in the input data 300.
- the verification device 200 described later extracts XBRL data that matches an extraction condition obtained from an input verification rule 310 described later.
- XBRL data here is data described in XBRL.
- XBRL is an XML-based language standardized so that information for various financial reports can be created, distributed, and used.
- An example of XBRL data is financial data.
- XBRL data includes a data value and additional information that supplements the data value. Additional information may be referred to as an aspect. Additional information is information specified by another independent element associated with an element including a data value, and is composed of information on a plurality of properties, each of which includes a property item name and a property item value. .
- the XBRL data may be simply referred to as data or may be referred to as a data value.
- Context that is an element including additional information associated with the data value of the XBRL data will be mainly described.
- the index generation device 100 includes a control unit 110 and a storage unit 120.
- the storage unit 120 corresponds to a storage device such as a nonvolatile semiconductor memory element such as a flash memory (Flash Memory) or an FRAM (registered trademark) (Ferroelectric Random Access Memory).
- the storage unit 120 includes property definition information 121, index information 122, and context position information 123.
- Property definition information 121 defines property item names and property item values.
- the property item name may be referred to as a “property name”.
- a property item value may be referred to as a “property value”.
- the index information 122 is information representing the appearance position of each of the property item name and the property item value for each of the property item name and the property item value included in the input data 300. That is, the index information 122 refers to a bitmap in which the presence / absence of each offset (appearance position) is indexed with respect to the property item name and property item value included in the input data 300.
- FIG. 4 is a diagram illustrating an example of index information according to the first embodiment.
- the X axis of the index information 122 represents the appearance position for each context
- the Y axis represents the property name and the property value.
- the index information 122 has an index information area for property names and an index information area for property values.
- the property name index information is information on an index bundle regarding the appearance position in the context for each item name of the property.
- the property value index information is information on a bundle of indexes related to the appearance position in the context for each property item value. For each property name and each property value, ON, that is, binary “1” is set at the appearance position that appears in the context. As an example, when the property name is “P1”, “1” is set at the first appearance position in Context1. When the property value is “Val1”, “1” is set at the second appearance position in Context1.
- FIG. 5 is a diagram illustrating an example of context position information according to the first embodiment.
- the context position information 123 is information that associates XBRL data associated with each context for each context.
- Each XBRL data here corresponds to each data value shown in FIG.
- the context is “Context 1”
- Data 3 Data 10
- Data 18 is set as the XBRL data associated with this context. That is, “Context 1” is associated with “Data 3”. “Context 1” is associated with “Data 10”. “Context 1” is associated with “Data 18”.
- control unit 110 has an internal memory for storing programs and control data that define various processing procedures, and executes various processes using these. And the control part 110 respond
- the control unit 110 includes a context selection unit 111, a context analysis unit 112, and an index information generation unit 113.
- the context selection unit 111 inputs the input data 300 and sequentially selects the contexts included in the XBRL data file from the XBRL data file included in the input data 300 that has been input.
- the index information generation unit 113 generates, for each of the property item name and property item value included in the input data 300, index information 122 relating to the appearance position of each property item name and property item value. For example, the index information generation unit 113 performs the following generation processing for each group held in the temporary area for the context analyzed by the context analysis unit 112. That is, the index information generation unit 113 sets a bit for the appearance position of the item name of the property for the item name of the property included in each set. The index information generation unit 113 sets a bit at the appearance position of the property item value for the property item value included in each set. The index information generation unit 113 associates the selected context with the target XBRL data and sets the selected context in the context position information 123.
- the index information generation unit 113 generates index information 122 by performing index information generation processing for all contexts analyzed by the context analysis unit 112. Note that the context name, property name, and property value of the index information 122 may be set in advance. Alternatively, the index information generation unit 113 may set the property name and property value of the index information 122 with reference to the property definition information 121 as preprocessing.
- the index information generation unit 113 generates an index related to the appearance position of each of the property item name and the property value, thereby generating index information compared to the case of generating an index of a combination of the property item name and the property value. 122 size explosion can be suppressed. Further, the index information generation unit 113 generates an index related to the appearance position of each item name and property value of the property, so that even if there is a new property value in the input data 300, the property value of the index information 122 The index information 122 can be updated by adding only one line to the area.
- the index information generation unit 113 generates an index related to the appearance position of each of the property item name and property value, so that even if there is a new property item name in the input data 300, the property information of the index information 122 is displayed.
- the index information 122 can be updated by adding only one line to the item name area.
- FIG. 6 is a diagram illustrating an example of the index generation process according to the first embodiment.
- the input data 300 includes a plurality of XBRL data files.
- Each XBRL data file includes a plurality of contexts.
- the context selection unit 111 sequentially selects contexts included in the XBRL data file from the XBRL data file included in the input data 300.
- the context selection unit 111 selects “Context 1” as the context.
- the context analysis unit 112 holds a set of property item names and property item values in a temporary area in the order of appearance.
- the context analysis unit 112 holds “dim: B1” in the first temporary area and “m: m2” in the second temporary area according to the appearance order of the pair detected in the row indicated by the symbol r1.
- the context analysis unit 112 holds “dim: A1” in the third temporary area and “m: m1” in the fourth temporary area according to the appearance order of the pair detected in the row indicated by the symbol r2.
- the context analysis unit 112 holds “dim: C1” in the fifth temporary area and “m: m3” in the sixth temporary area according to the appearance order of the pair detected in the row indicated by the symbol r3.
- the index information generation unit 113 sets a bit at the appearance position of the item name of the property for “Context 1” with respect to the item name of the property included in the set held in the temporary area.
- the index information generation unit 113 sets a bit at the appearance position of the property item value for the property item value included in the set held in the temporary area.
- the index information generation unit 113 sets the bit “1” at the first appearance position for the property item name “dim: B1” (e1).
- the index information generation unit 113 sets the bit “1” at the second appearance position for the property item value “m: m2” (e2).
- the index information generation unit 113 sets bit “1” at the third appearance position for the property item name “dim: A1” (e3).
- the index information generation unit 113 sets the bit “1” at the fourth appearance position for the property item value “m: m1” (e4).
- the index information generation unit 113 sets the bit “1” at the fifth appearance position for the property item name “dim: C1” (e5).
- the index information generation unit 113 sets the bit “1” at the sixth appearance position for the property item value “m: m3” (e6).
- FIG. 7 shows a specific example of the index information 122 after the index generation processing of Context 10 and Context 100 other than Context 1 is performed.
- FIG. 7 is a diagram illustrating a specific example of index information according to the first embodiment.
- Context1, Context10, and Context100 are defined.
- the index information 122 after the index generation processing for Context1 is performed is indicated within the range of the code E1.
- the item name of each property and the bit setting position for the item value of each property are as described with reference to FIG.
- the index information 122 after the index generation processing for Context10 is performed is indicated within the range of the code E2. That is, for the item name “dim: C1” of the property, bit “1” is set at the first appearance position of Context 10 (e7). For the property item name “m: m1”, bit “1” is set at the second appearance position of Context 10 (e8). For the item name “dim: A1” of the property, bit “1” is set at the third appearance position of Context 10 (e9). For the property item name “m: m1”, bit “1” is set at the fourth appearance position of Context10 (e10).
- FIG. 8 is a flowchart of the index generation process according to the first embodiment.
- XBRL data is referred to as “data”.
- the context selection unit 111 determines whether or not the input data 300 has been received (step S10). When it is determined that the input data 300 has not been received (step S10; No), the context selection unit 111 repeats the determination process until the input data 300 is received.
- the context selection unit 111 reads the target file from the input data 300 (step S11). Then, the context selection unit 111 selects a context from the read target file (step S12).
- the index information generating unit 113 writes “1” in the bit corresponding to the appearance position in the selected context of the index corresponding to the held item name of each property (step S15).
- the index information generation unit 113 writes “1” in the bit corresponding to the appearance position in the selected context of the index corresponding to the held item value of each property (step S16).
- the index information generation unit 113 associates the selected context with the target data and sets the selected context in the context position information 123 (step S17).
- the index information generating unit 113 determines whether there is an unprocessed context (step S18). When it is determined that there is an unprocessed context (step S18; Yes), the context selection unit 111 selects the next context (step S19). Then, the context selection unit 111 proceeds to step S13 in order to transition to the context analysis unit 112.
- step S18 when it is determined that there is no unprocessed context (step S18; No), the index information generation unit 113 determines whether there is an unprocessed target file in the input data 300 (step S20). . When it is determined that there is an unprocessed target file (step S20; Yes), the index information generation unit 113 proceeds to step S11 to transition to the context selection unit 111.
- the “conversion extraction condition” here matches the extraction condition when there is one extraction condition specified by the item and value, but there are a plurality of extraction conditions specified by the item and value. Means a condition obtained by combining a plurality of extraction conditions with a logical operator.
- the verification rule 310 is a rule for verifying or calculating the contents of XBRL data.
- the verification rule 310 is described using an XBRL formula.
- the XBRL formula is a description language that defines rules for verifying and calculating the contents of XBRL data, and defines a verification rule 310.
- FIG. 10 is a diagram illustrating an example of the structure of the verification rule.
- the “variable common extraction condition” is a common extraction condition for “variables” defined by all the “variable individual extraction conditions” in the verification rule 310.
- “variables” correspond to a1, a2, and a3.
- “Extraction condition for each variable” corresponds to b1, b2, and b3.
- “Extraction condition common to variables” corresponds to c0.
- the “verification formula” corresponds to d0.
- the XBRL data verified by the verification rule 310 is narrowed down from the entire input data 300 by the “variable common extraction condition” c0. Further, in the “variable” a1, the XBRL data is narrowed down by the “variable individual extraction condition” b1, and the narrowed XBRL data is assigned to the “variable” a1. Similarly, in “variable” a2, XBRL data is narrowed down by “variable individual extraction condition” b2, and XBRL data narrowed down to “variable” a2 is assigned.
- the XBRL data is narrowed down by the “variable individual extraction condition” b3, and the narrowed XBRL data is assigned to the “variable” a3.
- “verification formula” d0 is verified for each combination of assigned XBRL data.
- the item name of the property that is the first condition designation in the “variable common extraction condition” c0 is “dim: CS” that is a property defined by Dimension, and the item value is “M: x26”.
- the item name of the property that is the second condition specification is “dim: VS” that is a property defined by Dimension, and the item value thereof is “m: x80”.
- the item name of the property that is the third condition designation is “dim: D0” that is a property defined by Dimension, and the item value is “m: x0”.
- the verification device 200 includes a control unit 210 and a storage unit 220.
- the index information 122 is information indicating the appearance position of each property item name and property value for each property item name and property value included in the input data 300. That is, the index information 122 refers to a bitmap in which the presence / absence of each offset (appearance position) is indexed with respect to the item name and property value of the property included in the input data 300.
- the index information 122 is information generated by the index generation device 100, and is acquired via a network and stored in the storage unit 220, for example.
- Context position information 123 is information of XBRL data associated with a context. Note that the context position information 123 is information generated by the index generation device 100, and is acquired via a network and stored in the storage unit 220, for example.
- the control unit 210 has an internal memory for storing programs and control data that define various processing procedures, and executes various processes using these. And the control part 210 respond
- the control unit 210 includes an extraction condition conversion unit 211, a data extraction unit 212, and an extraction result output unit 213.
- the extraction condition conversion unit 211 is an example of a conversion unit.
- the data extraction unit 212 is an example of a verification unit.
- the extraction condition conversion unit 211 inputs the verification rule 310, and converts the input verification rule 310 into a conversion extraction condition defined by the property item name and the property item value. For example, the extraction condition conversion unit 211 interprets “extraction conditions common to variables” in the verification rule 310 and extracts property items and property item values. As a result of the extraction, the extraction condition conversion unit 211 generates a conversion extraction condition from one or a plurality of extraction conditions using one set of property items and property item values as one extraction condition.
- the data extraction unit 212 refers to the index information 122 and extracts XBRL data corresponding to the conversion extraction condition converted from the verification rule 310 by the extraction condition conversion unit 211.
- the data extraction unit 212 selects one extraction condition from the conversion extraction conditions.
- the data extraction unit 212 extracts an index (bitmap) corresponding to the item name of the property included in the selected extraction condition from the index information 122. Further, the data extraction unit 212 extracts a bitmap corresponding to the property item value included in the selected extraction condition from the index information 122, and shifts the extracted bitmap to the left by one bit.
- the data extraction unit 212 performs an AND operation on the bitmap corresponding to the property item name and the shifted bitmap corresponding to the property item value.
- the data extraction unit 212 detects a bit section in which “1” is set in the bit section corresponding to each context in the AND result bitmap.
- the data extraction unit 212 detects a context corresponding to the detected bit interval. Then, the data extraction unit 212 refers to the context position information 123 and narrows down XBRL data associated with the detected context.
- the data extraction unit 212 calculates an AND result for each extraction condition.
- the data extraction unit 212 performs an OR operation on each AND result for a plurality of extraction conditions.
- the data extraction unit 212 refers to the OR result and detects a corresponding context according to a logical operator used to combine a plurality of extraction conditions included in the conversion extraction condition.
- a logical operator used to combine a plurality of extraction conditions included in the conversion extraction condition.
- the data extraction unit 212 sets the number of extraction conditions to “1” in the bit interval corresponding to each context in the bitmap of the OR result. Detects the set bit interval. Then, the data extraction unit 212 detects a context corresponding to the extracted bit section.
- the data extraction unit 212 sets a bit in which one or more “1” s are set in the bit section corresponding to each context in the OR result bitmap. Detect intervals. Then, the data extraction unit 212 detects a context corresponding to the extracted bit section. Then, the data detection unit 212 refers to the context position information 123 and narrows down XBRL data associated with the detected context.
- the extraction result output unit 213 outputs the XBRL data extracted by the data extraction unit 212. Thereafter, the verification apparatus 200 verifies the verification expression d0 of the verification rule 310 using the output XBRL data.
- the extraction condition conversion unit 211 interprets the “variable common extraction condition” of the verification rule 310 and extracts the property item name and the property item value as the property condition (extraction condition).
- “dim: A1” is extracted as the property item name
- “m: m1” is extracted as the property item value
- [dim: A1, m: m1] is one extraction condition.
- “Dim: B1” is extracted as the item name of the property
- “m: m2” is extracted as the item value of the property
- [dim: B1, m: m2] is one extraction condition.
- “Dim: C1” is extracted as the property item name
- “m: m3” is extracted as the property item value
- [dim: C1, m: m3] is one extraction condition.
- the extraction condition conversion unit 211 generates a conversion extraction condition from a plurality of extraction conditions.
- FIG. 12 is a diagram illustrating an example of the data extraction process according to the first embodiment.
- the data extraction process shown in FIG. 12 is a case where XBRL data having one property is extracted.
- the data extraction unit 212 extracts an index (bitmap) corresponding to the item name of the property included in the selected extraction condition from the index information 122.
- the data extraction unit 212 extracts a bitmap corresponding to the property item name “dim: A1” (s1).
- the data extraction unit 212 extracts an index (bitmap) corresponding to the property item value included in the selected extraction condition from the index information 122, and shifts the extracted bitmap to the left by one bit.
- the data extraction unit 212 extracts a bitmap corresponding to the property item value “m: m1”, and shifts it to the left by one bit (s2).
- the data extraction unit 212 performs an AND operation on the bitmap corresponding to the property item name and the shifted bitmap corresponding to the property item value.
- the data extraction unit 212 performs an AND operation on the bitmap corresponding to “dim: A1” and the shifted bitmap corresponding to “m: m1” (s3).
- the data extraction unit 212 detects a bit section in which “1” is set in the bit section corresponding to each context from the AND result bitmap, and the detected bit section A context corresponding to is detected (s4).
- context 1 and context 10 are detected.
- the data extraction unit 212 refers to the context position information 123 and narrows down XBRL data including the detected context (s5).
- the context position information 123 has the contents shown in FIG. 5, the context 1 is associated with the data 3 and the data 10.
- Context 10 is associated with data 13. Therefore, data 3, data 10 and data 13 are narrowed down as XBRL data.
- FIG. 13 is a diagram illustrating another example of the data extraction process according to the first embodiment.
- the data extraction process shown in FIG. 13 is a case where XBRL data having any of a plurality of properties is extracted.
- the data extraction unit 212 selects one extraction condition from the conversion extraction conditions.
- the data extraction unit 212 extracts an index (bitmap) corresponding to the item name of the property included in the selected extraction condition from the index information 122.
- the data extraction unit 212 extracts a bitmap corresponding to the property item name “dim: A1” (s10).
- the data extraction unit 212 extracts an index (bitmap) corresponding to the property item value included in the selected extraction condition from the index information 122, and shifts the extracted bitmap to the left by one bit.
- the data extraction unit 212 extracts a bitmap corresponding to the property item value “m: m1”, and shifts it to the left by one bit (s11).
- the data extraction unit 212 performs an AND operation on the bitmap corresponding to the property item name and the shifted bitmap corresponding to the property item value.
- the data extraction unit 212 performs an AND operation on the bitmap corresponding to “dim: A1” and the shifted bitmap corresponding to “m: m1” (s12).
- the data extraction unit 212 selects the next one extraction condition from the conversion extraction conditions.
- the data extraction unit 212 extracts an index (bitmap) corresponding to the item name of the property included in the selected extraction condition from the index information 122.
- the data extraction unit 212 extracts a bitmap corresponding to the property item name “dim: B1” (s13).
- the data extraction unit 212 extracts an index (bitmap) corresponding to the property item value included in the selected extraction condition from the index information 122, and shifts the extracted bitmap to the left by one bit.
- the data extraction unit 212 extracts a bitmap corresponding to the property item value “m: m2”, and shifts it to the left by one bit (s14).
- the data extraction unit 212 performs an AND operation on the bitmap corresponding to the property item name and the shifted bitmap corresponding to the property item value.
- the data extraction unit 212 performs an AND operation on the bitmap corresponding to “dim: B1” and the shifted bitmap corresponding to “m: m2” (s15).
- the data extraction unit 212 selects the next one extraction condition from the conversion extraction conditions.
- the data extraction unit 212 extracts an index (bitmap) corresponding to the item name of the property included in the selected extraction condition from the index information 122.
- the data extraction unit 212 extracts a bitmap corresponding to the property item name “dim: C1” (s16).
- the data extraction unit 212 performs an AND operation on the bitmap corresponding to the property item name and the shifted bitmap corresponding to the property item value.
- the data extraction unit 212 performs an AND operation on the bitmap corresponding to “dim: C1” and the shifted bitmap corresponding to “m: m3” (s18).
- the data extraction unit 212 refers to the context position information 123 and narrows down XBRL data associated with the detected context.
- FIG. 14 is a diagram illustrating still another example of the data extraction process according to the first embodiment.
- the data extraction process shown in FIG. 14 is a case where XBRL data having any one of a plurality of properties is extracted.
- the data extraction unit 212 selects one extraction condition from the conversion extraction conditions.
- the data extraction unit 212 extracts an index (bitmap) corresponding to the item name of the property included in the selected extraction condition from the index information 122.
- the data extraction unit 212 extracts a bitmap corresponding to the property item name “dim: B1” (s30).
- the data extraction unit 212 performs an AND operation on the bitmap corresponding to the property item name and the shifted bitmap corresponding to the property item value.
- the data extraction unit 212 performs an AND operation on the bitmap corresponding to “dim: B1” and the shifted bitmap corresponding to “m: m1” (s32).
- the data extraction unit 212 selects the next one extraction condition from the conversion extraction conditions.
- the data extraction unit 212 extracts an index (bitmap) corresponding to the property item value included in the selected extraction condition from the index information 122, and shifts the extracted bitmap to the left by one bit.
- the data extraction unit 212 extracts a bitmap corresponding to the property item value “m: m2”, and shifts it to the left by one bit (s33).
- the data extraction unit 212 performs an AND operation on the bitmap corresponding to the property item name and the shifted bitmap corresponding to the property item value.
- the data extraction unit 212 performs an AND operation on the bitmap corresponding to “dim: B1” and the shifted bitmap corresponding to “m: m2” (s34).
- the data extraction unit 212 selects the next one extraction condition from the conversion extraction conditions.
- the data extraction unit 212 Since there are a plurality of extraction conditions, the data extraction unit 212 performs an OR operation on each AND result for the plurality of extraction conditions. Here, the data extraction unit 212 performs an OR operation on the AND results of the three “dim: B1” properties (s37).
- the extraction condition conversion unit 211 determines whether or not the verification rule 310 has been received (step S21). If it is determined that the verification rule 310 has not been received (step S21; No), the extraction condition conversion unit 211 repeats the determination process until the verification rule 310 is received.
- the computer 500 includes a CPU 503 that executes various arithmetic processes, an input device 515 that receives input of data from the user, and a display control unit 507 that controls the display device 509.
- the computer 500 also includes a drive device 513 that reads a program and the like from a storage medium, and a communication control unit 517 that exchanges data with other computers via a network.
- the computer 500 also includes a memory 501 that temporarily stores various types of information and an HDD 505.
- the memory 501, CPU 503, HDD 505, display control unit 507, drive device 513, input device 515, and communication control unit 517 are connected by a bus 519.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Machine Translation (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
検証装置200が、入力された検証ルール310を、項目および値により規定される変換検証条件に変換する。検証装置200は、入力データ300より生成された、入力データ300に含まれる項目および値それぞれについての出現位置に関するインデックス情報122を参照し、変換検証条件に対応する項目および値の検証を行うこととしたので、入力データ300から該当するデータを高速に抽出することができる。
Description
本発明は、検証プログラムなどに関する。
世界各国で、XBRL(eXtensible Business Reporting Language)文書による財務情報の報告が行われている。XBRLとは、各種財務報告用の情報を作成、流通、利用できるように標準化されたXMLベースの言語である。XBRL文書とは、例えば財務会計報告に関して、XBRL等のXMLで記述された文書である。
XBRLで記述されたデータを抽出する抽出条件は、例えば、項目(プロパティ名)と値による個別条件を複数組み合わせた形で規定される。
XBRLで記述されたデータを抽出する方法の開示例について説明する(例えば、特許文献1参照)。抽出装置は、抽出条件における複数の個別条件それぞれについて、抽出データの該当数を予め取得しておき、取得した複数の個別条件それぞれについての該当数に基づき複数の個別条件の適用順序を決定する。そして、抽出装置は、決定した適用順序に応じて抽出条件を適用し、入力データからXBRLスキーマを参照し、該当するデータを抽出する。複数の個別条件の適用順序を決定するのは、適用する個別条件の順番が異なると、演算量が大きくなる場合があるからである。
また、個別条件が項目と値との組み合わせとなる開示では(例えば、特許文献2参照)、項目と値との組に対して、位置をインデックス化し、生成したインデックス情報を用いて複数の個別条件でデータを抽出することも考えられる。
また、個別条件が項目と値との組み合わせとなる開示では(例えば、特許文献2参照)、項目と値との組に対して、位置をインデックス化し、生成したインデックス情報を用いて複数の個別条件でデータを抽出することも考えられる。
ところで、XBRLスキーマをもとに、該当データを抽出する場合、演算量が問題となる場合がある。例えば、XBRLスキーマを参照し、入力データを先頭から、XBRLタグで該当データを抽出する従来の方法では、複数の個別条件の関係によっては、適用順序の決定が適切でない。例えば、複数の個別条件それぞれについて、抽出データの該当数が全て大きい場合である。かかる場合には、該当数による適用順序の決定が適切でない場合に相当し、演算量が大きくなる。また、適用順序の決定のためには、そもそも、予め、該当数を取得する演算が必要となる。
一方、項目と値との組に対して、位置をインデックス化し、生成したインデックス情報を用いて複数の個別条件でデータを抽出する場合について、かかるインデックス情報の参考例を、図20を参照して説明する。
図20は、インデックス情報の参考例を示す図である。図20に示すように、インデックス情報900は、プロパティ名(項目名)と値との組に対するビット列であって組に対する入力データ内の各データ位置での存否を示すビットを連結したビット列である。インデックス情報900のX軸はデータ位置を表し、Y軸はプロパティ名および値の組を表す。プロパティ名および値が入力データ内のあるデータ位置に存在しない場合には、データ位置の存否としてOFF、すなわち2進数の「0」が設定される。プロパティ名および値が入力データ内のあるデータ位置に存在する場合には、データ位置の存否としてON、すなわち2進数の「1」が設定される。ここでは、一例として、プロパティ名が「P1」、値が「Val1」である場合に、データ1の存否として「1」が設定され、データ100000の存否として「0」が設定されている。
しかしながら、入力データ内の項目と値との組み合わせの数は非常に多くなるため、項目と値との組み合わせに対するインデックス情報を生成することが難しいという問題がある。また、項目と値との組み合わせに対するインデックス情報を用いて複数の個別条件でデータを抽出することが難しいという問題がある。
1つの側面では、XBRLで記述されたデータを抽出する際、項目と値に対するインデックス情報を用いて項目と値による複数の条件でデータを抽出することを目的とする。
第1の案では、コンピュータに、入力された検証条件を、項目および値により規定される変換検証条件に変換し、対象データより生成された、前記対象データに含まれる項目および値それぞれについての出現位置に関するインデックス情報を参照し、前記変換検証条件に対応する項目および値の検証を行う、処理を実行させる。
一つの態様によれば、XBRLで記述されたデータを抽出する際、項目と値に対するインデックス情報を用いて項目と値による複数の条件でデータを抽出することができる。
以下に、本願の開示する検証プログラム、検証装置、検証方法、インデックス生成プログラム、インデックス生成装置およびインデックス生成方法の実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。
[実施例1に係るインデックス生成装置の構成]
図1は、実施例1に係るインデックス生成装置の構成を示す機能ブロック図である。インデックス生成装置100は、入力データ300を入力し、入力データ300に含まれる項目および値それぞれについて、項目および値それぞれの出現位置に関するインデックス情報を生成する。この生成されたインデックス情報を用いて、後述する検証装置200は、入力される後述する検証ルール310から得られる抽出条件に合致するXBRLデータを抽出する。
図1は、実施例1に係るインデックス生成装置の構成を示す機能ブロック図である。インデックス生成装置100は、入力データ300を入力し、入力データ300に含まれる項目および値それぞれについて、項目および値それぞれの出現位置に関するインデックス情報を生成する。この生成されたインデックス情報を用いて、後述する検証装置200は、入力される後述する検証ルール310から得られる抽出条件に合致するXBRLデータを抽出する。
ここでいう「XBRLデータ」とは、XBRLで記述されたデータである。XBRLとは、各種財務報告用の情報を作成、流通、利用できるように標準化されたXMLベースの言語である。XBRLデータの一例として、財務データが挙げられる。XBRLデータはデータ値と、データ値を補足する付加情報とからなる。付加情報のことをアスペクトという場合がある。付加情報は、データ値を含む要素と関連付けられる、別の独立した要素で指定される情報であり、プロパティの項目名とプロパティの項目値とを1組とした複数のプロパティの情報から構成される。なお、実施例では、XBRLデータを単にデータという場合があったり、データ値という場合があったりする。また、実施例では、XBRLデータのデータ値に関連付けられる付加情報を含む要素である「コンテキスト(Context)」を主に説明する。
図2は、XBRLデータの一例を示す図である。図2に示すように、1つのXBRLデータは、データ値と、データ値を補足する付加情報からなる。付加情報は、名前がcontextとunitである要素に複数定義されるが、ここでは、それぞれを区別するための識別子として、「context_1」、「JPY」が付与されている。データ値を補足する付加情報として、「context_1」に対応する付加情報と、「JPY」に対応する付加情報が定義されている。そして、例えば、「context_1」に対応する付加情報には、プロパティの項目名として「dim:A1」、プロパティの項目値として「A:x1」を1組とするプロパティの情報が定義されている。プロパティの項目名として「dim:B1」、プロパティの項目値として「B:x1」を1組とするプロパティの情報が定義されている。プロパティの項目名として「dim:C1」、プロパティの項目値として「C:x2」を1組とするプロパティの情報が定義されている。
図1に示すように、インデックス生成装置100は、制御部110および記憶部120を有する。
記憶部120は、例えばフラッシュメモリ(Flash Memory)やFRAM(登録商標)(Ferroelectric Random Access Memory)等の不揮発性の半導体メモリ素子等の記憶装置に対応する。記憶部120は、プロパティ定義情報121、インデックス情報122およびコンテキスト位置情報123を有する。
プロパティ定義情報121は、プロパティの項目名およびプロパティの項目値を定義する。なお、プロパティの項目名を「プロパティ名」という場合がある。プロパティの項目値を「プロパティ値」という場合がある。
ここで、プロパティ定義情報121の一例を、図3を参照して説明する。図3は、プロパティ定義情報の一例を示す図である。図3に示すように、プロパティ定義情報121には、プロパティ種の定義およびプロパティ値の定義が含まれる。プロパティ種とは、プロパティの項目に対応する。プロパティ値とは、プロパティの項目値に対応する。各プロパティ種は、値として該当するプロパティ値と対応付けられる。プロパティ定義情報121には、入力データ300に出現する可能性のあるプロパティ種およびプロパティ値が定義される。例えば、XBRLの付加情報には、「Dimension」と呼ばれるカテゴリに属するプロパティ種があり、ユーザが予め任意に定義できる。プロパティ種が「Dimension」である場合のプロパティ項目およびプロパティ値が定義されている。一例として、プロパティ項目が「dim:A1」である場合に、値として該当するプロパティ値が「m:m1」、「m:m2」・・・「m:m8」であることが示されている。
図1に戻って、インデックス情報122は、入力データ300に含まれるプロパティの項目名およびプロパティの項目値それぞれについて、プロパティの項目名およびプロパティの項目値それぞれの出現位置を表す情報である。すなわち、インデックス情報122とは、入力データ300に含まれるプロパティの項目名およびプロパティの項目値について、それぞれ、オフセット(出現位置)ごとの存否をインデックス化したビットマップのことをいう。
ここで、インデックス情報122の一例を、図4を参照して説明する。図4は、実施例1に係るインデックス情報の一例を示す図である。図4に示すように、インデックス情報122のX軸はコンテキストごとの出現位置を表し、Y軸はプロパティ名とプロパティ値とを表す。また、インデックス情報122は、プロパティ名のインデックス情報の領域と、プロパティ値のインデックス情報の領域を持つ。プロパティ名のインデックス情報は、それぞれのプロパティの項目名について、コンテキスト(Context)内の出現位置に関するインデックスの束の情報である。また、プロパティ値のインデックス情報は、それぞれのプロパティの項目値について、コンテキスト(Context)内の出現位置に関するインデックスの束の情報である。各プロパティ名および各プロパティ値について、コンテキスト内に出現する出現位置には、ONすなわち2進数の「1」が設定される。一例として、プロパティ名が「P1」である場合に、Context1内の1番目の出現位置に「1」が設定されている。プロパティ値が「Val1」である場合に、Context1内の2番目の出現位置に「1」が設定されている。
図1に戻って、コンテキスト位置情報123は、コンテキスト(Context)に関連付けられるXBRLデータの情報である。
ここで、コンテキスト位置情報123の一例を、図5を参照して説明する。図5は、実施例1に係るコンテキスト位置情報の一例を示す図である。図5に示すように、コンテキスト位置情報123は、コンテキスト(Context)ごとに、各コンテキストが関連付けられるXBRLデータを対応付ける情報である。ここでいう各XBRLデータは、図2で示した各データ値に対応する。一例として、コンテキストが「Context1」である場合に、このコンテキストが関連付けられるXBRLデータとして「データ3、データ10、データ18」が設定されている。すなわち、「Context1」は、「データ3」に関連付けられる。「Context1」は、「データ10」に関連付けられる。「Context1」は、「データ18」に関連付けられる。
図1に戻って、制御部110は、各種の処理手順を規定したプログラムや制御データを格納するための内部メモリを有し、これらによって種々の処理を実行する。そして、制御部110は、例えば、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)等の集積回路の電子回路に対応する。または、制御部110は、CPU(Central Processing Unit)やMPU(Micro Processing Unit)等の電子回路に対応する。制御部110は、コンテキスト選択部111、コンテキスト解析部112およびインデックス情報生成部113を有する。
コンテキスト選択部111は、入力データ300を入力し、入力した入力データ300に含まれるXBRLデータファイルから当該XBRLデータファイルに含まれるコンテキストを順次選択する。
コンテキスト解析部112は、コンテキスト選択部111によって選択されたコンテキストを解析する。例えば、コンテキスト解析部112は、コンテキスト選択部111によって選択されたコンテキストを字句解析する。コンテキスト解析部112は、字句解析した結果、プロパティの項目名およびプロパティの項目値の組を出現順に一時領域に保持する。
インデックス情報生成部113は、入力データ300に含まれるプロパティの項目名およびプロパティの項目値それぞれについて、プロパティの項目名およびプロパティの項目値それぞれの出現位置に関するインデックス情報122を生成する。例えば、インデックス情報生成部113は、コンテキスト解析部112によって解析されたコンテキストについて、一時領域に保持された組ごとに、以下の生成処理を行う。すなわち、インデックス情報生成部113は、各組に含まれるプロパティの項目名に対して、当該プロパティの項目名の出現位置にビットを立てる。インデックス情報生成部113は、各組に含まれるプロパティの項目値に対して、当該プロパティの項目値の出現位置にビットを立てる。インデックス情報生成部113は、選択されたコンテキストと、対象のXBRLデータとを対応付けてコンテキスト位置情報123に設定する。インデックス情報生成部113は、コンテキスト解析部112によって解析された全てのコンテキストについて、インデックス情報生成処理を行うことで、インデックス情報122を生成する。なお、インデックス情報122のコンテキスト名、プロパティ名およびプロパティ値は、予め設定されるようにしても良い。あるいは、インデックス情報生成部113が、前処理として、プロパティ定義情報121を参照して、インデックス情報122のプロパティ名およびプロパティ値を設定しても良い。
これにより、インデックス情報生成部113は、プロパティの項目名およびプロパティ値それぞれの出現位置に関するインデックスを生成することで、プロパティの項目名およびプロパティ値の組み合わせのインデックスを生成する場合と比べて、インデックス情報122のサイズ爆発を抑制できる。また、インデックス情報生成部113は、プロパティの項目名およびプロパティ値それぞれの出現位置に関するインデックスを生成することで、仮に入力データ300に新たなプロパティ値が有ったとしても、インデックス情報122のプロパティ値の領域に1行追加するだけで、インデックス情報122を更新することができる。インデックス情報生成部113は、プロパティの項目名およびプロパティ値それぞれの出現位置に関するインデックスを生成することで、仮に入力データ300に新たなプロパティの項目名が有ったとしても、インデックス情報122のプロパティの項目名の領域に1行追加するだけで、インデックス情報122を更新することができる。
[インデックス生成処理の一例]
ここで、インデックス生成処理の一例を、図6を参照して説明する。図6は、実施例1に係るインデックス生成処理の一例を示す図である。
ここで、インデックス生成処理の一例を、図6を参照して説明する。図6は、実施例1に係るインデックス生成処理の一例を示す図である。
図6に示すように、入力データ300には、複数のXBRLデータファイルが含まれる。各XBRLデータファイルには、複数のコンテキスト(Context)が含まれる。コンテキスト選択部111は、入力データ300に含まれるXBRLデータファイルから当該XBRLデータファイルに含まれるコンテキストを順次選択する。ここでは、コンテキスト選択部111は、コンテキストとして「Context1」を選択したとする。
すると、コンテキスト解析部112は、コンテキストとして選択された「Context1」を字句解析する。一例として、コンテキスト解析部112は、特定の要素(xbrldi:explicitMember)の行に含まれるプロパティの項目名およびプロパティの項目値の組を検知する。ここでは、符号r1で示される行には、プロパティの項目名として「dim:B1」、プロパティの項目値として「m:m2」の組が検知される。また、符号r2で示される行には、プロパティの項目名として「dim:A1」、プロパティの項目値として「m:m1」の組が検知される。符号r3で示される行には、プロパティの項目名として「dim:C1」、プロパティの項目値として「m:m3」の組が検知される。
そして、コンテキスト解析部112は、プロパティの項目名およびプロパティの項目値の組を出現順に一時領域に保持する。ここでは、コンテキスト解析部112は、符号r1で示される行で検知した組の出現順に応じて、1番目の一時領域に「dim:B1」、2番目の一時領域に「m:m2」を保持する。コンテキスト解析部112は、符号r2で示される行で検知した組の出現順に応じて、3番目の一時領域に「dim:A1」、4番目の一時領域に「m:m1」を保持する。コンテキスト解析部112は、符号r3で示される行で検知した組の出現順に応じて、5番目の一時領域に「dim:C1」、6番目の一時領域に「m:m3」を保持する。
そして、インデックス情報生成部113は、「Context1」について、一時領域に保持された組に含まれるプロパティの項目名に対して、当該プロパティの項目名の出現位置にビットを立てる。インデックス情報生成部113は、「Context1」について、一時領域に保持された組に含まれるプロパティの項目値に対して、当該プロパティの項目値の出現位置にビットを立てる。ここでは、インデックス情報生成部113は、プロパティの項目名「dim:B1」に対して、1番目の出現位置にビット「1」を設定する(e1)。インデックス情報生成部113は、プロパティの項目値「m:m2」に対して、2番目の出現位置にビット「1」を設定する(e2)。インデックス情報生成部113は、プロパティの項目名「dim:A1」に対して、3番目の出現位置にビット「1」を設定する(e3)。インデックス情報生成部113は、プロパティの項目値「m:m1」に対して、4番目の出現位置にビット「1」を設定する(e4)。インデックス情報生成部113は、プロパティの項目名「dim:C1」に対して、5番目の出現位置にビット「1」を設定する(e5)。インデックス情報生成部113は、プロパティの項目値「m:m3」に対して、6番目の出現位置にビット「1」を設定する(e6)。
[インデックス情報の具体例]
ここで、Context1以外のContext10とContext100のインデックス生成処理が行われた後のインデックス情報122の具体例を、図7に表す。図7は、実施例1に係るインデックス情報の具体例を示す図である。
ここで、Context1以外のContext10とContext100のインデックス生成処理が行われた後のインデックス情報122の具体例を、図7に表す。図7は、実施例1に係るインデックス情報の具体例を示す図である。
図7に示すように、Context1、Context10およびContext100が定義されている。Context1についてのインデックス生成処理が行われた後のインデックス情報122は、符号E1の範囲内に示される。各プロパティの項目名、各プロパティの項目値に対するビットの設定位置は、図6で説明したとおりであるので、その説明を省略する。
Context10についてのインデックス生成処理が行われた後のインデックス情報122は、符号E2の範囲内に示される。すなわち、プロパティの項目名「dim:C1」に対して、Context10の1番目の出現位置にビット「1」が設定される(e7)。プロパティの項目名「m:m1」に対して、Context10の2番目の出現位置にビット「1」が設定される(e8)。プロパティの項目名「dim:A1」に対して、Context10の3番目の出現位置にビット「1」が設定される(e9)。プロパティの項目名「m:m1」に対して、Context10の4番目の出現位置にビット「1」が設定される(e10)。
Context100についてのインデックス生成処理が行われた後のインデックス情報122は、符号E3の範囲内に示される。すなわち、プロパティの項目名「dim:A1」に対して、Context100の1番目の出現位置にビット「1」が設定される(e11)。プロパティの項目名「m:m3」に対して、Context100の2番目の出現位置にビット「1」が設定される(e12)。プロパティの項目名「dim:B1」に対して、Context100の3番目の出現位置にビット「1」が設定される(e13)。プロパティの項目名「m:m3」に対して、Context100の4番目の出現位置にビット「1」が設定される(e14)。プロパティの項目名「dim:C1」に対して、Context100の5番目の出現位置にビット「1」が設定される(e15)。プロパティの項目名「m:m1」に対して、Context100の6番目の出現位置にビット「1」が設定される(e16)。
このようにして、インデックス生成装置100は、入力データ300の中の未処理のコンテキストがなくなるまで、コンテキスト選択部111、コンテキスト解析部112およびインデックス情報生成部113によるインデックス生成処理を繰り返させる。この結果、入力データ300におけるインデックス情報122が完成する。
[インデックス生成処理のフローチャート]
図8は、実施例1に係るインデックス生成処理のフローチャートを示す図である。なお、図8では、XBRLデータを「データ」というものとする。
図8は、実施例1に係るインデックス生成処理のフローチャートを示す図である。なお、図8では、XBRLデータを「データ」というものとする。
図8に示すように、コンテキスト選択部111は、入力データ300を受け取ったか否かを判定する(ステップS10)。入力データ300を受け取っていないと判定した場合には(ステップS10;No)、コンテキスト選択部111は、入力データ300を受け取るまで、判定処理を繰り返す。
一方、入力データ300を受け取ったと判定した場合には(ステップS10;Yes)、コンテキスト選択部111は、入力データ300から対象のファイルを読み出す(ステップS11)。そして、コンテキスト選択部111は、読み出した対象のファイルからコンテキストを選択する(ステップS12)。
続いて、コンテキスト解析部112は、選択したコンテキストを字句解析する(ステップS13)。そして、コンテキスト解析部112は、プロパティの項目名およびプロパティの項目値を出現順に一時領域に保持する(ステップS14)。
続いて、インデックス情報生成部113は、保持した各プロパティの項目名に対応するインデックスの、選択したコンテキスト内の出現位置に対するビットに「1」を書き込む(ステップS15)。インデックス情報生成部113は、保持した各プロパティの項目値に対応するインデックスの、選択したコンテキスト内の出現位置に対するビットに「1」を書き込む(ステップS16)。インデックス情報生成部113は、選択したコンテキストと対象のデータとを対応付けて、コンテキスト位置情報123に設定する(ステップS17)。
そして、インデックス情報生成部113は、未処理のコンテキストは有るか否かを判定する(ステップS18)。未処理のコンテキストが有ると判定した場合には(ステップS18;Yes)、コンテキスト選択部111は、次のコンテキストを選択する(ステップS19)。そして、コンテキスト選択部111は、コンテキスト解析部112に遷移すべく、ステップS13に移行する。
一方、未処理のコンテキストが無いと判定した場合には(ステップS18;No)、インデックス情報生成部113は、入力データ300に未処理の対象のファイルは有るか否かを判定する(ステップS20)。未処理の対象のファイルが有ると判定した場合には(ステップS20;Yes)、インデックス情報生成部113は、コンテキスト選択部111に遷移すべく、ステップS11に移行する。
一方、未処理の対象のファイルが無いと判定した場合には(ステップS20;No)、インデックス情報生成部113は、インデックス生成処理を終了する。
[実施例1に係る検証装置の構成]
図9は、実施例1に係る検証装置の構成を示す機能ブロック図である。検証装置200は、入力される検証ルール310を、項目および値により規定される変換抽出条件に変換し、入力データ300より生成されたインデックス情報122を参照し、変換抽出条件に対応する項目および値の検証を行う。すなわち、検証装置200は、インデックス情報122を用いて、入力される検証ルール310から得られる変換抽出条件に合致するXBRLデータを抽出する。
図9は、実施例1に係る検証装置の構成を示す機能ブロック図である。検証装置200は、入力される検証ルール310を、項目および値により規定される変換抽出条件に変換し、入力データ300より生成されたインデックス情報122を参照し、変換抽出条件に対応する項目および値の検証を行う。すなわち、検証装置200は、インデックス情報122を用いて、入力される検証ルール310から得られる変換抽出条件に合致するXBRLデータを抽出する。
ここでいう「変換抽出条件」とは、項目および値により規定される抽出条件が1つである場合には、抽出条件と一致するが、項目および値により規定される抽出条件が複数である場合には、複数の抽出条件を論理演算子で結合した条件のことをいう。
ここでいう検証ルール310とは、XBRLデータの内容の検証や計算を行うためのルールである。検証ルール310は、XBRLフォーミュラを用いて記述される。XBRLフォーミュラとは、XBRLデータの内容の検証や計算を行うためのルールを定義する記述言語であり、検証ルール310を定義する。
図10は、検証ルールの構造の一例を示す図である。図10に示すように、検証ルール310には、一例として、「変数」と、「変数個別の抽出条件」と、「変数共通の抽出条件」と、「検証式」とが定義される。「変数共通の抽出条件」は、検証ルール310内の全ての「変数個別の抽出条件」で定義される「変数」の共通の抽出条件である。ここでは、「変数」は、a1、a2、a3に対応する。「変数個別の抽出条件」は、b1、b2、b3に対応する。「変数共通の抽出条件」は、c0に対応する。「検証式」は、d0に対応する。
「変数共通の抽出条件」c0により、入力データ300の全体から検証ルール310で検証されるXBRLデータが絞り込まれる。さらに、「変数」a1では、「変数個別の抽出条件」b1によりXBRLデータが絞り込まれ、「変数」a1に絞り込まれたXBRLデータが割り当てられる。「変数」a2では、同様に「変数個別の抽出条件」b2によりXBRLデータが絞り込まれ、「変数」a2に絞り込まれたXBRLデータが割り当てられる。「変数」a3では、同様に「変数個別の抽出条件」b3によりXBRLデータが絞り込まれ、「変数」a3に絞り込まれたXBRLデータが割り当てられる。そして、割り当てられたXBRLデータの組み合わせ毎に、「検証式」d0が検証される。図10の例では、「変数共通の抽出条件」c0における1つ目の条件指定であるプロパティの項目名は、Dimensionで定義されるプロパティである「dim:CS」であり、その項目値は、「m:x26」である。2つ目の条件指定であるプロパティの項目名は、Dimensionで定義されるプロパティである「dim:VS」であり、その項目値は、「m:x80」である。3つ目の条件指定であるプロパティの項目名は、Dimensionで定義されるプロパティである「dim:D0」であり、その項目値は、「m:x0」である。
図9に示すように、検証装置200は、制御部210および記憶部220を有する。
記憶部220は、例えばフラッシュメモリ(Flash Memory)やFRAM(登録商標)(Ferroelectric Random Access Memory)等の不揮発性の半導体メモリ素子等の記憶装置に対応する。記憶部220は、インデックス情報122およびコンテキスト位置情報123を有する。
インデックス情報122は、入力データ300に含まれるプロパティの項目名およびプロパティ値それぞれについて、プロパティの項目名およびプロパティ値それぞれの出現位置を表す情報である。すなわち、インデックス情報122とは、入力データ300に含まれるプロパティの項目名およびプロパティ値について、それぞれ、オフセット(出現位置)ごとの存否をインデックス化したビットマップのことをいう。なお、インデックス情報122は、インデックス生成装置100によって生成される情報であり、例えば、ネットワークを介して取得され、記憶部220に記憶される。
コンテキスト位置情報123は、コンテキスト(Context)に関連付けられるXBRLデータの情報である。なお、コンテキスト位置情報123は、インデックス生成装置100によって生成される情報であり、例えば、ネットワークを介して取得され、記憶部220に記憶される。
制御部210は、各種の処理手順を規定したプログラムや制御データを格納するための内部メモリを有し、これらによって種々の処理を実行する。そして、制御部210は、例えば、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)等の集積回路の電子回路に対応する。または、制御部210は、CPU(Central Processing Unit)やMPU(Micro Processing Unit)等の電子回路に対応する。制御部210は、抽出条件変換部211、データ抽出部212および抽出結果出力部213を有する。なお、抽出条件変換部211は、変換部の一例である。データ抽出部212は、検証部の一例である。
抽出条件変換部211は、検証ルール310を入力し、入力した検証ルール310をプロパティの項目名およびプロパティの項目値により規定される変換抽出条件に変換する。例えば、抽出条件変換部211は、検証ルール310の「変数共通の抽出条件」を解釈し、プロパティの項目およびプロパティの項目値を抽出する。抽出条件変換部211は、抽出した結果、1組のプロパティの項目およびプロパティの項目値を1個の抽出条件として、1個または複数個の抽出条件から変換抽出条件を生成する。
データ抽出部212は、インデックス情報122を参照し、抽出条件変換部211によって検証ルール310から変換された変換抽出条件に対応するXBRLデータを抽出する。
例えば、データ抽出部212は、変換抽出条件から1個の抽出条件を選択する。データ抽出部212は、選択した抽出条件に含まれるプロパティの項目名に対応するインデックス(ビットマップ)をインデックス情報122から抽出する。また、データ抽出部212は、選択した抽出条件に含まれるプロパティの項目値に対応するビットマップをインデックス情報122から抽出し、抽出したビットマップを1ビットだけ左シフトする。そして、データ抽出部212は、プロパティの項目名に対応するビットマップと、プロパティの項目値に対応するシフトした結果のビットマップとをAND演算する。
抽出条件が1個である場合には、データ抽出部212は、AND結果のビットマップについて、各コンテキストに対応するビット区間に「1」が設定されたビット区間を検出する。データ抽出部212は、検出したビット区間に対応するコンテキストを検出する。そして、データ抽出部212は、コンテキスト位置情報123を参照し、検出したコンテキストに関連付けられるXBRLデータを絞り込む。
抽出条件が複数個である場合には、データ抽出部212は、それぞれの抽出条件に対して、AND結果を算出する。データ抽出部212は、複数の抽出条件に対するそれぞれのAND結果をOR演算する。データ抽出部212は、OR結果を参照し、変換抽出条件に含まれる複数の抽出条件を結合するために用いられる論理演算子に応じて該当するコンテキストを検出する。一例として、複数の抽出条件を結合する論理演算子がANDである場合には、データ抽出部212は、OR結果のビットマップについて、各コンテキストに対応するビット区間に「1」が抽出条件の数分設定されたビット区間を検出する。そして、データ抽出部212は、抽出したビット区間に対応するコンテキストを検出する。複数の抽出条件を結合する論理演算子がORである場合には、データ抽出部212は、OR結果のビットマップについて、各コンテキストに対応するビット区間に「1」が1つ以上設定されたビット区間を検出する。そして、データ抽出部212は、抽出したビット区間に対応するコンテキストを検出する。そして、データ検出部212は、コンテキスト位置情報123を参照し、検出したコンテキストに関連付けられるXBRLデータを絞り込む。
抽出結果出力部213は、データ抽出部212によって抽出されたXBRLデータを出力する。この後、検証装置200は、出力されたXBRLデータを用いて、検証ルール310の検証式d0を検証する。
[抽出条件変換処理の一例]
ここで、抽出条件変換処理の一例を、図11を参照して説明する。図11は、実施例1に係る抽出条件変換処理の一例を示す図である。
ここで、抽出条件変換処理の一例を、図11を参照して説明する。図11は、実施例1に係る抽出条件変換処理の一例を示す図である。
図11に示すように、検証ルール310の「変数共通の抽出条件」には、3種のプロパティの条件が含まれる。すなわち、「変数共通の抽出条件」には、対象のXBRLデータが満たすべき3種のプロパティの条件が含まれる。
抽出条件変換部211は、このような検証ルール310の「変数共通の抽出条件」を解釈し、プロパティの項目名およびプロパティの項目値をプロパティの条件(抽出条件)として抽出する。ここでは、プロパティの項目名として「dim:A1」、プロパティの項目値として「m:m1」が抽出され、[dim:A1、m:m1]が1つの抽出条件となる。プロパティの項目名として「dim:B1」、プロパティの項目値として「m:m2」が抽出され、[dim:B1、m:m2]が1つの抽出条件となる。プロパティの項目名として「dim:C1」、プロパティの項目値として「m:m3」が抽出され、[dim:C1、m:m3]が1つの抽出条件となる。
抽出条件変換部211は、複数の抽出条件から変換抽出条件を生成する。ここでは、SQL文で示されるコマンドを用いて変換抽出条件が生成されている。すなわち、変換抽出条件は、「(dim:A1=m:m1) and (dim:B1=m:m2) and (dim:C1=m:m3)」であり、抽出条件を結合する論理識別子がANDの場合である。
[データ抽出処理の一例]
ここで、データ抽出処理の一例を、図12を参照して説明する。図12は、実施例1に係るデータ抽出処理の一例を示す図である。なお、図12で示すデータ抽出処理は、1個のプロパティを持つXBRLデータを抽出する場合である。ここでは、変換抽出条件は、「dim:A1=m:m1」であるとする。
ここで、データ抽出処理の一例を、図12を参照して説明する。図12は、実施例1に係るデータ抽出処理の一例を示す図である。なお、図12で示すデータ抽出処理は、1個のプロパティを持つXBRLデータを抽出する場合である。ここでは、変換抽出条件は、「dim:A1=m:m1」であるとする。
データ抽出部212は、変換抽出条件から1個の抽出条件を選択する。ここでは、抽出条件として「dim:A1=m:m1」が選択される。
データ抽出部212は、選択した抽出条件に含まれるプロパティの項目名に対応するインデックス(ビットマップ)をインデックス情報122から抽出する。ここでは、データ抽出部212は、プロパティの項目名「dim:A1」に対応するビットマップを抽出する(s1)。
データ抽出部212は、選択した抽出条件に含まれるプロパティの項目値に対応するインデックス(ビットマップ)をインデックス情報122から抽出し、抽出したビットマップを1ビットだけ左シフトする。ここでは、データ抽出部212は、プロパティの項目値「m:m1」に対応するビットマップを抽出し、1ビットだけ左シフトする(s2)。
データ抽出部212は、プロパティの項目名に対応するビットマップと、プロパティの項目値に対応するシフトした結果のビットマップとをAND演算する。ここでは、データ抽出部212は、「dim:A1」に対応するビットマップと「m:m1」に対応するシフトしたビットマップとをAND演算する(s3)。
抽出条件が1個である場合であるので、データ抽出部212は、AND結果のビットマップについて、各コンテキストに対応するビット区間に「1」が設定されたビット区間を検出し、検出したビット区間に対応するコンテキストを検出する(s4)。ここでは、コンテキスト1およびコンテキスト10が検出される。
データ抽出部212は、コンテキスト位置情報123を参照し、検出したコンテキストを含むXBRLデータを絞り込む(s5)。ここでは、コンテキスト位置情報123が図5に示される内容であるとすると、コンテキスト1は、データ3とデータ10に関連付けられる。コンテキスト10は、データ13に関連付けられる。したがって、データ3、データ10およびデータ13がXBRLデータとして絞り込まれる。
[データ抽出処理の別の例]
ここで、データ抽出処理の別の例を、図13を参照して説明する。図13は、実施例1に係るデータ抽出処理の別の例を示す図である。なお、図13で示すデータ抽出処理は、複数のプロパティのいずれも持つXBRLデータを抽出する場合である。ここでは、変換抽出条件は、「(dim:A1=m:m1) and (dim:B1=m:m2) and (dim:C1=m:m3)」であるとする。
ここで、データ抽出処理の別の例を、図13を参照して説明する。図13は、実施例1に係るデータ抽出処理の別の例を示す図である。なお、図13で示すデータ抽出処理は、複数のプロパティのいずれも持つXBRLデータを抽出する場合である。ここでは、変換抽出条件は、「(dim:A1=m:m1) and (dim:B1=m:m2) and (dim:C1=m:m3)」であるとする。
データ抽出部212は、変換抽出条件から1個の抽出条件を選択する。ここでは、抽出条件として「dim:A1=m:m1」が選択される。
データ抽出部212は、選択した抽出条件に含まれるプロパティの項目名に対応するインデックス(ビットマップ)をインデックス情報122から抽出する。ここでは、データ抽出部212は、プロパティの項目名「dim:A1」に対応するビットマップを抽出する(s10)。
データ抽出部212は、選択した抽出条件に含まれるプロパティの項目値に対応するインデックス(ビットマップ)をインデックス情報122から抽出し、抽出したビットマップを1ビットだけ左シフトする。ここでは、データ抽出部212は、プロパティの項目値「m:m1」に対応するビットマップを抽出し、1ビットだけ左シフトする(s11)。
データ抽出部212は、プロパティの項目名に対応するビットマップと、プロパティの項目値に対応するシフトした結果のビットマップとをAND演算する。ここでは、データ抽出部212は、「dim:A1」に対応するビットマップと「m:m1」に対応するシフトしたビットマップとをAND演算する(s12)。
データ抽出部212は、変換抽出条件から次の1個の抽出条件を選択する。ここでは、抽出条件として「dim:B1=m:m2」が選択される。
データ抽出部212は、選択した抽出条件に含まれるプロパティの項目名に対応するインデックス(ビットマップ)をインデックス情報122から抽出する。ここでは、データ抽出部212は、プロパティの項目名「dim:B1」に対応するビットマップを抽出する(s13)。
データ抽出部212は、選択した抽出条件に含まれるプロパティの項目値に対応するインデックス(ビットマップ)をインデックス情報122から抽出し、抽出したビットマップを1ビットだけ左シフトする。ここでは、データ抽出部212は、プロパティの項目値「m:m2」に対応するビットマップを抽出し、1ビットだけ左シフトする(s14)。
データ抽出部212は、プロパティの項目名に対応するビットマップと、プロパティの項目値に対応するシフトした結果のビットマップとをAND演算する。ここでは、データ抽出部212は、「dim:B1」に対応するビットマップと「m:m2」に対応するシフトしたビットマップとをAND演算する(s15)。
データ抽出部212は、変換抽出条件から次の1個の抽出条件を選択する。ここでは、抽出条件として「dim:C1=m:m3」が選択される。
データ抽出部212は、選択した抽出条件に含まれるプロパティの項目名に対応するインデックス(ビットマップ)をインデックス情報122から抽出する。ここでは、データ抽出部212は、プロパティの項目名「dim:C1」に対応するビットマップを抽出する(s16)。
データ抽出部212は、選択した抽出条件に含まれるプロパティの項目値に対応するインデックス(ビットマップ)をインデックス情報122から抽出し、抽出したビットマップを1ビットだけ左シフトする。ここでは、データ抽出部212は、プロパティの項目値「m:m3」に対応するビットマップを抽出し、1ビットだけ左シフトする(s17)。
データ抽出部212は、プロパティの項目名に対応するビットマップと、プロパティの項目値に対応するシフトした結果のビットマップとをAND演算する。ここでは、データ抽出部212は、「dim:C1」に対応するビットマップと「m:m3」に対応するシフトしたビットマップとをAND演算する(s18)。
抽出条件が複数個である場合であるので、データ抽出部212は、複数の抽出条件に対するそれぞれのAND結果をOR演算する。ここでは、データ抽出部212は、「dim:A1」のプロパティのAND結果、「dim:B1」のプロパティのAND結果および「dim:C1」のプロパティのAND結果をOR演算する(s19)。
抽出条件を結合する論理識別子はANDの場合であるので、データ抽出部212は、以下の処理を行う。すなわち、データ抽出部212は、OR結果のビットマップについて、各コンテキストに対応するビット区間に「1」が抽出条件の数分設定されたビット区間を検出し、検出したビット区間に対応するコンテキストを検出する。ここでは、抽出条件の数は3であるので、抽出条件の数分「1」が設定されたビット区間であるコンテキスト1が検出される(s20)。
この後、データ抽出部212は、コンテキスト位置情報123を参照し、検出したコンテキストに関連付けられるXBRLデータを絞り込む。
[データ抽出処理のさらに別の例]
ここで、データ抽出処理のさらに別の例を、図14を参照して説明する。図14は、実施例1に係るデータ抽出処理のさらに別の例を示す図である。なお、図14で示すデータ抽出処理は、複数のプロパティのうちいずれかを持つXBRLデータを抽出する場合である。ここでは、変換抽出条件は、「(dim:B1=m:m1) or (dim:B1=m:m2) or (dim:B1=m:m3)」であるとする。
ここで、データ抽出処理のさらに別の例を、図14を参照して説明する。図14は、実施例1に係るデータ抽出処理のさらに別の例を示す図である。なお、図14で示すデータ抽出処理は、複数のプロパティのうちいずれかを持つXBRLデータを抽出する場合である。ここでは、変換抽出条件は、「(dim:B1=m:m1) or (dim:B1=m:m2) or (dim:B1=m:m3)」であるとする。
データ抽出部212は、変換抽出条件から1個の抽出条件を選択する。ここでは、抽出条件として「dim:B1=m:m1」が選択される。
データ抽出部212は、選択した抽出条件に含まれるプロパティの項目名に対応するインデックス(ビットマップ)をインデックス情報122から抽出する。ここでは、データ抽出部212は、プロパティの項目名「dim:B1」に対応するビットマップを抽出する(s30)。
データ抽出部212は、選択した抽出条件に含まれるプロパティの項目値に対応するインデックス(ビットマップ)をインデックス情報122から抽出し、抽出したビットマップを1ビットだけ左シフトする。ここでは、データ抽出部212は、プロパティの項目値「m:m1」に対応するビットマップを抽出し、1ビットだけ左シフトする(s31)。
データ抽出部212は、プロパティの項目名に対応するビットマップと、プロパティの項目値に対応するシフトした結果のビットマップとをAND演算する。ここでは、データ抽出部212は、「dim:B1」に対応するビットマップと「m:m1」に対応するシフトしたビットマップとをAND演算する(s32)。
データ抽出部212は、変換抽出条件から次の1個の抽出条件を選択する。ここでは、抽出条件として「dim:B1=m:m2」が選択される。
データ抽出部212は、プロパティの項目名「dim:B1」に対応するビットマップを既に抽出したので(s30)、この処理を省略する。
データ抽出部212は、選択した抽出条件に含まれるプロパティの項目値に対応するインデックス(ビットマップ)をインデックス情報122から抽出し、抽出したビットマップを1ビットだけ左シフトする。ここでは、データ抽出部212は、プロパティの項目値「m:m2」に対応するビットマップを抽出し、1ビットだけ左シフトする(s33)。
データ抽出部212は、プロパティの項目名に対応するビットマップと、プロパティの項目値に対応するシフトした結果のビットマップとをAND演算する。ここでは、データ抽出部212は、「dim:B1」に対応するビットマップと「m:m2」に対応するシフトしたビットマップとをAND演算する(s34)。
データ抽出部212は、変換抽出条件から次の1個の抽出条件を選択する。ここでは、抽出条件として「dim:B1=m:m3」が選択される。
データ抽出部212は、プロパティの項目名「dim:B1」に対応するビットマップを既に抽出したので(s30)、この処理を省略する。
データ抽出部212は、選択した抽出条件に含まれるプロパティの項目値に対応するインデックス(ビットマップ)をインデックス情報122から抽出し、抽出したビットマップを1ビットだけ左シフトする。ここでは、データ抽出部212は、プロパティの項目値「m:m3」に対応するビットマップを抽出し、1ビットだけ左シフトする(s35)。
データ抽出部212は、プロパティの項目名に対応するビットマップと、プロパティの項目値に対応するシフトした結果のビットマップとをAND演算する。ここでは、データ抽出部212は、「dim:B1」に対応するビットマップと「m:m3」に対応するシフトしたビットマップとをAND演算する(s36)。
抽出条件が複数個である場合であるので、データ抽出部212は、複数の抽出条件に対するそれぞれのAND結果をOR演算する。ここでは、データ抽出部212は、3個の「dim:B1」のプロパティのAND結果をOR演算する(s37)。
抽出条件を結合する論理識別子がORの場合であるので、データ抽出部212は、以下の処理を行う。すなわち、データ抽出部212は、OR結果のビットマップについて、各コンテキストに対応するビット区間に「1」が1つ以上設定されたビット区間を検出し、検出したビット区間に対応するコンテキストを検出する。ここでは、「1」が1つ以上設定されたビット区間であるコンテキスト1、コンテキスト100が検出される(s38)。
この後、データ抽出部212は、コンテキスト位置情報123を参照し、検出したコンテキストに関連付けられるXBRLデータを絞り込む。
[検証処理のフローチャート]
図15は、実施例1に係る検証処理のフローチャートを示す図である。なお、図15では、XBRLデータを「データ」というものとする。
図15は、実施例1に係る検証処理のフローチャートを示す図である。なお、図15では、XBRLデータを「データ」というものとする。
図15に示すように、抽出条件変換部211は、検証ルール310を受け取ったか否かを判定する(ステップS21)。検証ルール310を受け取っていないと判定した場合には(ステップS21;No)、抽出条件変換部211は、検証ルール310を受け取るまで、判定処理を繰り返す。
一方、検証ルール310を受け取ったと判定した場合には(ステップS21;Yes)、抽出条件変換部211は、検証ルール310を1個又は複数の抽出条件を含む変換抽出条件に変換する(ステップS22)。例えば、抽出条件変換部211は、検証ルール310の「変数共通の抽出条件」を解釈し、プロパティの項目名およびプロパティの項目値を抽出する。抽出条件変換部211は、抽出した結果、1組のプロパティの項目名およびプロパティの項目値を1個の抽出条件として、1個または複数個の抽出条件から変換抽出条件を生成する。
続いて、データ抽出部212は、変換抽出条件から1個の抽出条件を選択する(ステップS23)。そして、データ抽出部212は、選択した抽出条件に含まれるプロパティの項目名とプロパティの項目値に対応するそれぞれのインデックスを抽出する(ステップS24)。
データ抽出部212は、プロパティの項目値に対するインデックスを1ビットだけ左シフトする(ステップS25)。そして、データ抽出部212は、プロパティの項目名に対するインデックスとプロパティの項目値に対するインデックスとをAND演算する(ステップS26)。
そして、データ抽出部212は、変換抽出条件に、未処理の抽出条件が存在するか否かを判定する(ステップS27)。未処理の抽出条件が存在すると判定した場合には(ステップS27;Yes)、データ抽出部212は、次の抽出条件を選択すべく、ステップS23に移行する。
一方、未処理の抽出条件が存在しないと判定した場合には(ステップS27;No)、データ抽出部212は、変換抽出条件に含まれる抽出条件の数が複数であるか否かを判定する(ステップS28)。抽出条件の数が複数でないと判定した場合には(ステップS28;No)、データ抽出部212は、ステップS30に移行する。
一方、抽出条件の数が複数であると判定した場合には(ステップS28;Yes)、データ抽出部212は、プロパティごとにAND演算した複数のAND結果をOR演算する(ステップS29)。そして、データ抽出部212は、ステップS30に移行する。
ステップS30において、データ抽出部212は、演算結果に基づいて、変換抽出条件に合致するコンテキストを検出する(ステップS30)。例えば、データ抽出部212は、抽出条件が1個である場合には、AND結果のインデックスについて、各コンテキストに対応するビット区間に「1」が設定されたビット区間を検出し、検出したビット区間に対応するコンテキストを検出する。データ抽出部212は、抽出条件が複数個である場合には、OR結果のインデックスについて、変換抽出条件に含まれる複数の抽出条件を結合するために用いられる論理演算子に応じて該当するコンテキストを検出する。
そして、データ抽出部212は、コンテキスト位置情報123を用いて、検出したコンテキストに関連付けられるデータを抽出する(ステップS31)。この後、検証装置200は、抽出されたデータを用いて、検証ルール310の検証式d0を検証する。そして、データ抽出部212は、検証処理を終了する。
[実施例1の効果]
上記実施例1によれば、検証装置200は、入力された検証ルール310を、項目および値により規定される変換抽出条件に変換する。検証装置200は、入力データ300より生成された、入力データ300に含まれる項目および値それぞれについての出現位置に関するインデックス情報122を参照し、変換抽出条件に対応する項目および値の検証を行う。かかる構成によれば、検証装置200は、項目および値それぞれについての出現位置に関するインデックス情報122を用いることで項目および値による複数の条件でデータを抽出することが可能となる。この結果、検証装置200は、項目および値による複数の条件であっても、データの抽出に関する演算量を抑制し、高速にデータを抽出することが可能となる。
上記実施例1によれば、検証装置200は、入力された検証ルール310を、項目および値により規定される変換抽出条件に変換する。検証装置200は、入力データ300より生成された、入力データ300に含まれる項目および値それぞれについての出現位置に関するインデックス情報122を参照し、変換抽出条件に対応する項目および値の検証を行う。かかる構成によれば、検証装置200は、項目および値それぞれについての出現位置に関するインデックス情報122を用いることで項目および値による複数の条件でデータを抽出することが可能となる。この結果、検証装置200は、項目および値による複数の条件であっても、データの抽出に関する演算量を抑制し、高速にデータを抽出することが可能となる。
また、上記実施例1によれば、検証装置200は、インデックス情報122を参照し、変換抽出条件に含まれる項目および値に対応するそれぞれのインデックスを取得する。検証装置200は、取得した値に対応するインデックスを1ビット分左シフトする。検証装置200は、項目に対応するインデックスと値に対応するシフトした結果のインデックスとの論理演算により、変換抽出条件に対応する項目および値の検証を行う。かかる構成によれば、検証装置200は、インデックス情報122について論理演算を用いることで、項目および値による変換抽出条件に合致するデータを抽出することができる。
また、上記実施例1によれば、検証装置200は、変換抽出条件に項目および値の組が複数存在する場合には、各組に含まれる項目に対応するインデックスと同一の組に含まれる値に対応するシフトした結果のインデックスとをAND演算する。検証装置200は、各組のAND演算結果をOR演算する。検証装置200は、OR演算結果を用いて変換抽出条件に対応する項目および値の検証を行う。かかる構成によれば、検証装置200は、インデックス情報122について論理演算を用いることで、項目および値による複数の条件に合致するデータを抽出することができる。
また、上記実施例1によれば、インデックス生成装置100は、項目および値の組み合わせにより記述された入力データ300を入力する。インデックス生成装置100は、入力データ300に含まれる項目および値それぞれについて、項目および値それぞれの出現位置に関するインデックス情報122を生成する。かかる構成によれば、インデックス生成装置100は、入力データ300に含まれる項目および値それぞれについてインデックス情報122を生成することで、効率的なインデックス情報122を生成することができる。また、インデックス生成装置100は、入力データ300に含まれる項目および値の組み合わせでなく、項目および値それぞれについてインデックス情報122を生成することで、インデックスのサイズ爆発を抑制できる。また、インデックス生成装置100は、項目および値それぞれの出現位置に関するインデックスを生成することで、仮に入力データ300に新たな値が有ったとしても、インデックス情報122の値の領域に1行追加するだけで、同様に、インデックス情報122を生成することができる。インデックス生成装置100は、項目名および値それぞれの出現位置に関するインデックスを生成することで、仮に入力データ300に新たな項目名が有ったとしても、インデックス情報122の項目の領域に1行追加するだけで、同様に、インデックス情報122を生成することができる。
ところで、実施例1に係るインデックス生成装置100は、入力データ300に含まれる項目および値それぞれの出現位置に関するインデックス情報122を生成すると説明した。しかしながら、インデックス生成装置100は、これに限定されず、入力データ300に含まれる項目および値の組について、同一の組の値を項目と同じ出現位置とする、出現位置に関するインデックス情報を生成しても良い。
そこで、実施例2では、インデックス生成装置100が、入力データ300に含まれる項目および値の組について、同一の組の値を項目と同じ出現位置とする、出現位置に関するインデックス情報を生成する場合を説明する。
ここで、実施例2に係るインデックス情報122Aの一例を、図16を参照して説明する。図16は、実施例2に係るインデックス情報の一例を示す図である。図16に示すように、インデックス情報122AのX軸はコンテキストごとの出現位置を表し、Y軸はプロパティ名とプロパティ値とを表す。また、インデックス情報122Aは、プロパティ名のインデックス情報の領域と、プロパティ値のインデックス情報の領域を有する。プロパティ名のインデックス情報は、それぞれのプロパティの項目名について、コンテキスト(Context)内の出現位置に関するインデックスの束の情報である。また、プロパティ値のインデックス情報は、それぞれのプロパティの項目値について、コンテキスト(Context)内の出現位置に関するインデックスの束の情報である。プロパティの項目値についての出現位置は、当該プロパティの項目値と同一の組のプロパティの項目名と同じとする。各プロパティ名および各プロパティ値について、コンテキスト内に出現する出現位置には、ONすなわち2進数の「1」が設定される。一例として、プロパティ名として「dim:A1」、プロパティ値として「m:m1」が同一の組であるとする。このプロパティ名の出現位置がContext1内の2番目である場合に、Context1内の2番目に「1」が設定される。このプロパティ値の出現位置は、同じ組のプロパティ名と同じ出現位置であるContext1内の2番目に「1」が設定される。
[インデックス生成処理の一例]
ここで、インデックス生成処理の一例を、図17を参照して説明する。図17は、実施例2に係るインデックス生成処理の一例を示す図である。なお、図17では、コンテキスト選択部111が、コンテキストとして「Context1」を選択した場合について説明する。
ここで、インデックス生成処理の一例を、図17を参照して説明する。図17は、実施例2に係るインデックス生成処理の一例を示す図である。なお、図17では、コンテキスト選択部111が、コンテキストとして「Context1」を選択した場合について説明する。
すると、コンテキスト解析部112は、コンテキストとして選択された「Context1」を字句解析する。一例として、コンテキスト解析部112は、特定の要素(xbrldi:explicitMember)の行に含まれるプロパティの項目名およびプロパティの項目値の組を検知する。ここでは、符号r1で示される行には、プロパティの項目名として「dim:B1」、プロパティの項目値として「m:m2」の組が検知される。また、符号r2で示される行には、プロパティの項目名として「dim:A1」、プロパティの項目値として「m:m1」の組が検知される。符号r3で示される行には、プロパティの項目名として「dim:C1」、プロパティの項目値として「m:m3」の組が検知される。
そして、コンテキスト解析部112は、プロパティの項目名およびプロパティの項目値の組を出現順に一時領域に保持する。プロパティの項目値についての出現位置は、当該プロパティの項目値と同一の組のプロパティの項目名と同じとする。ここでは、コンテキスト解析部112は、符号r1で示される行で検知した組の出現順に応じて、1番目の一時領域に「dim:B1」および「m:m2」を保持する。コンテキスト解析部112は、符号r2で示される行で検知した組の出現順に応じて、2番目の一時領域に「dim:A1」および「m:m1」を保持する。コンテキスト解析部112は、符号r3で示される行で検知した組の出現順に応じて、3番目の一時領域に「dim:C1」および「m:m3」を保持する。
そして、インデックス情報生成部113は、「Context1」について、一時領域に保持された組に含まれるプロパティの項目名に対して、当該プロパティの項目名の出現位置にビットを立てる。インデックス情報生成部113は、「Context1」について、一時領域に保持された組に含まれるプロパティの項目値に対して、当該プロパティの項目値の出現位置にビットを立てる。ここでは、インデックス情報生成部113は、プロパティの項目名「dim:B1」に対して、1番目の出現位置にビット「1」を設定する(e1’)。インデックス情報生成部113は、プロパティの項目値「m:m2」に対して、1番目の出現位置にビット「1」を設定する(e2’)。インデックス情報生成部113は、プロパティの項目名「dim:A1」に対して、2番目の出現位置にビット「1」を設定する(e3’)。インデックス情報生成部113は、プロパティの項目値「m:m1」に対して、2番目の出現位置にビット「1」を設定する(e4’)。インデックス情報生成部113は、プロパティの項目名「dim:C1」に対して、3番目の出現位置にビット「1」を設定する(e5’)。インデックス情報生成部113は、プロパティの項目値「m:m3」に対して、3番目の出現位置にビット「1」を設定する(e6’)。
[データ抽出処理の一例]
ここで、データ抽出処理の一例を、図18を参照して説明する。図18は、実施例2に係るデータ抽出処理の一例を示す図である。なお、図18で示すデータ抽出処理は、複数のプロパティのいずれも持つXBRLデータを抽出する場合である。ここでは、変換抽出条件は、「(dim:A1=m:m1) and (dim:B1=m:m2) and (dim:C1=m:m3)」であるとする。
ここで、データ抽出処理の一例を、図18を参照して説明する。図18は、実施例2に係るデータ抽出処理の一例を示す図である。なお、図18で示すデータ抽出処理は、複数のプロパティのいずれも持つXBRLデータを抽出する場合である。ここでは、変換抽出条件は、「(dim:A1=m:m1) and (dim:B1=m:m2) and (dim:C1=m:m3)」であるとする。
データ抽出部212は、変換抽出条件から1個の抽出条件を選択する。ここでは、抽出条件として「dim:A1=m:m1」が選択される。
データ抽出部212は、選択した抽出条件に含まれるプロパティの項目名に対応するインデックス(ビットマップ)をインデックス情報122から抽出する。ここでは、データ抽出部212は、プロパティの項目名「dim:A1」に対応するビットマップを抽出する(s40)。
データ抽出部212は、選択した抽出条件に含まれるプロパティの項目値に対応するインデックス(ビットマップ)をインデックス情報122から抽出する。ここでは、データ抽出部212は、プロパティの項目値「m:m1」に対応するビットマップを抽出する(s41)。
データ抽出部212は、プロパティの項目名に対応するビットマップと、プロパティの項目値に対応するビットマップとをAND演算する。ここでは、データ抽出部212は、「dim:A1」に対応するビットマップと「m:m1」に対応するビットマップとをAND演算する(s42)。
データ抽出部212は、変換抽出条件から次の1個の抽出条件を選択する。ここでは、抽出条件として「dim:B1=m:m2」が選択される。
データ抽出部212は、選択した抽出条件に含まれるプロパティの項目名に対応するインデックス(ビットマップ)をインデックス情報122から抽出する。ここでは、データ抽出部212は、プロパティの項目名「dim:B1」に対応するビットマップを抽出する(s43)。
データ抽出部212は、選択した抽出条件に含まれるプロパティの項目値に対応するインデックス(ビットマップ)をインデックス情報122から抽出する。ここでは、データ抽出部212は、プロパティの項目値「m:m2」に対応するビットマップを抽出する(s44)。
データ抽出部212は、プロパティの項目名に対応するビットマップと、プロパティの項目値に対応するビットマップとをAND演算する。ここでは、データ抽出部212は、「dim:B1」に対応するビットマップと「m:m2」に対応するビットマップとをAND演算する(s45)。
データ抽出部212は、変換抽出条件から次の1個の抽出条件を選択する。ここでは、抽出条件として「dim:C1=m:m3」が選択される。
データ抽出部212は、選択した抽出条件に含まれるプロパティの項目名に対応するインデックス(ビットマップ)をインデックス情報122から抽出する。ここでは、データ抽出部212は、プロパティの項目名「dim:C1」に対応するビットマップを抽出する(s46)。
データ抽出部212は、選択した抽出条件に含まれるプロパティの項目値に対応するインデックス(ビットマップ)をインデックス情報122から抽出する。ここでは、データ抽出部212は、プロパティの項目値「m:m3」に対応するビットマップを抽出する(s47)。
データ抽出部212は、プロパティの項目名に対応するビットマップと、プロパティの項目値に対応するビットマップとをAND演算する。ここでは、データ抽出部212は、「dim:C1」に対応するビットマップと「m:m3」に対応するビットマップとをAND演算する(s48)。
抽出条件が複数個である場合であるので、データ抽出部212は、複数の抽出条件に対するそれぞれのAND結果をOR演算する。ここでは、データ抽出部212は、「dim:A1」のプロパティのAND結果、「dim:B1」のプロパティのAND結果および「dim:C1」のプロパティのAND結果をOR演算する(s49)。
抽出条件を結合する論理識別子がANDの場合であるので、データ抽出部212は、以下の処理を行う。すなわち、データ抽出部212は、OR結果のビットマップについて、各コンテキストに対応するビット区間に「1」が抽出条件の数分設定されたビット区間を検出し、検出したビット区間に対応するコンテキストを検出する。ここでは、抽出条件の数は3であるので、抽出条件の数分「1」が設定されたビット区間であるコンテキスト1が検出される(s50)。
この後、データ抽出部212は、コンテキスト位置情報123を参照し、検出したコンテキストに関連付けられるXBRLデータを絞り込む。
[実施例2の効果]
上記実施例2によれば、検証装置200は、出現位置に関するインデックス情報122Aを参照し、変換抽出条件に含まれる項目および値に対応するそれぞれのインデックスを取得する。検証装置200は、取得した項目に対応するインデックスと取得した値に対応するインデックスとの論理演算により、変換抽出条件に対応する項目および値の検証を行う。インデックス情報122Aは、入力データ300に含まれる項目および値の組について、同一の組の値を項目と同じ出現位置とするインデックス情報である。かかる構成によれば、検証装置200は、項目および値それぞれについての出現位置に関するインデックス情報122Aを用いて項目および値による複数の条件でデータを抽出することが可能となる。
上記実施例2によれば、検証装置200は、出現位置に関するインデックス情報122Aを参照し、変換抽出条件に含まれる項目および値に対応するそれぞれのインデックスを取得する。検証装置200は、取得した項目に対応するインデックスと取得した値に対応するインデックスとの論理演算により、変換抽出条件に対応する項目および値の検証を行う。インデックス情報122Aは、入力データ300に含まれる項目および値の組について、同一の組の値を項目と同じ出現位置とするインデックス情報である。かかる構成によれば、検証装置200は、項目および値それぞれについての出現位置に関するインデックス情報122Aを用いて項目および値による複数の条件でデータを抽出することが可能となる。
また、上記実施例2によれば、インデックス生成装置100は、入力データ300に含まれる項目および値の組について、同一の組の値を項目と同じ出現位置とする、出現位置に関するインデックス情報122Aを生成する。かかる構成によれば、インデックス生成装置100は、インデックス情報122Aを生成する際に、項目および値の組について、同一の組の値を項目と同じ出現位置とすることで、インデックスのサイズ爆発をさらに抑制することができる。
[その他]
なお、実施例では、インデックス生成処理をインデックス生成装置100により実現し、検証処理を検証装置200により実現すると説明した。しかしながら、1つの情報処理装置が、インデックス生成処理および検証処理を実現しても良い。
なお、実施例では、インデックス生成処理をインデックス生成装置100により実現し、検証処理を検証装置200により実現すると説明した。しかしながら、1つの情報処理装置が、インデックス生成処理および検証処理を実現しても良い。
また、図示した装置の各構成要素は、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、装置の分散・統合の具体的態様は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、インデックス情報生成部113を、プロパティ名およびプロパティ値をインデックス情報122に設定する設定部と、プロパティ名およびプロパティ値の出現位置に応じてインデックス情報122にビットを立てる生成部とに分離しても良い。また、データ抽出部212および抽出結果出力部213を併合しても良い。また、記憶部120をインデックス生成装置100の外部装置としてネットワーク経由で接続するようにしても良い。記憶部220を検証装置200の外部装置としてネットワーク経由で接続するようにしても良い。
また、上記実施例で説明した各種の処理は、あらかじめ用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータで実行することによって実現することができる。そこで、以下では、図1に示したインデックス生成装置100と同様の機能を実現するインデックス生成プログラムおよび図9に示した検証装置200と同様の機能を実現する検証プログラムを実行するコンピュータの一例を説明する。図19は、インデックス生成プログラムおよび検証プログラムを実行するコンピュータの一例を示す図である。
図19に示すように、コンピュータ500は、各種演算処理を実行するCPU503と、ユーザからのデータの入力を受け付ける入力装置515と、表示装置509を制御する表示制御部507とを有する。また、コンピュータ500は、記憶媒体からプログラムなどを読取るドライブ装置513と、ネットワークを介して他のコンピュータとの間でデータの授受を行う通信制御部517とを有する。また、コンピュータ500は、各種情報を一時記憶するメモリ501と、HDD505を有する。そして、メモリ501、CPU503、HDD505、表示制御部507、ドライブ装置513、入力装置515、通信制御部517は、バス519で接続されている。
ドライブ装置513は、例えばリムーバブルディスク511用の装置である。HDD205は、検証プログラム505a、インデックス生成プログラム505bおよび処理関連情報505cを記憶する。
CPU503は、検証プログラム505aを読み出して、メモリ501に展開し、プロセスとして実行する。かかるプロセスは、検証装置200の各機能部に対応する。CPU503は、インデックス生成プログラム505bを読み出して、メモリ501に展開し、プロセスとして実行する。かかるプロセスは、インデックス生成装置100の各機能部に対応する。処理関連情報505cは、プロパティ定義情報121、インデックス情報122およびコンテキスト位置情報123に対応する。そして、例えばリムーバブルディスク511が、検証プログラム505a、インデックス生成プログラム505bなどの各情報を記憶する。
なお、検証プログラム505aおよびインデックス生成プログラム505bについては、必ずしも最初からHDD505に記憶させておかなくても良い。例えば、コンピュータ500に挿入されるフレキシブルディスク(FD)、CD-ROM、DVDディスク、光磁気ディスク、ICカード等の「可搬用の物理媒体」に当該プログラムを記憶させておく。そして、コンピュータ500がこれらから検証プログラム505aおよびインデックス生成プログラム505bを読み出して実行するようにしても良い。
100 インデックス生成装置
111 コンテキスト選択部
112 コンテキスト解析部
113 インデックス情報生成部
121 プロパティ定義情報
122 インデックス情報
123 コンテキスト位置情報
200 検証装置
210 制御部
211 抽出条件変換部
212 データ抽出部
213 抽出結果出力部
220 記憶部
300 入力データ
310 検証ルール
111 コンテキスト選択部
112 コンテキスト解析部
113 インデックス情報生成部
121 プロパティ定義情報
122 インデックス情報
123 コンテキスト位置情報
200 検証装置
210 制御部
211 抽出条件変換部
212 データ抽出部
213 抽出結果出力部
220 記憶部
300 入力データ
310 検証ルール
Claims (10)
- コンピュータに、
入力された検証条件を、項目および値により規定される変換検証条件に変換し、
対象データより生成された、前記対象データに含まれる項目および値それぞれについての出現位置に関するインデックス情報を参照し、前記変換検証条件に対応する項目および値の検証を行う
処理を実行させる検証プログラム。 - 前記検証を行う処理は、前記インデックス情報を参照し、前記変換検証条件に含まれる項目および値に対応するそれぞれのインデックスを取得し、取得した前記値に対応するインデックスを1ビット分左シフトし、前記項目に対応するインデックスと前記値に対応するシフトした結果のインデックスとの論理演算により、前記変換検証条件に対応する項目および値の検証を行う
処理を実行させる請求項1に記載の検証プログラム。 - 前記検証を行う処理は、前記変換検証条件に項目および値の組が複数存在する場合には、各組に含まれる項目に対応するインデックスと同一の組に含まれる値に対応するシフトした結果のインデックスとをAND演算し、各組のAND演算結果をOR演算し、OR演算結果を用いて前記変換検証条件に対応する項目および値の検証を行う
処理を実行させる請求項2に記載の検証プログラム。 - 前記インデックス情報は、前記対象データに含まれる項目および値の組について、同一の組の値を項目と同じ出現位置とする、出現位置に関するインデックス情報であり、
前記検証を行う処理は、前記インデックス情報を参照し、前記変換検証条件に含まれる項目および値に対応するそれぞれのインデックスを取得し、取得した前記項目に対応するインデックスと取得した前記値に対応するインデックスとの論理演算により、前記変換検証条件に対応する項目および値の検証を行う
処理を実行させる請求項1に記載の検証プログラム。 - 入力された検証条件を、項目および値により規定される変換検証条件に変換する変換部と、
対象データより生成された、前記対象データに含まれる項目および値それぞれについての出現位置に関するインデックス情報を参照し、前記変換検証条件に対応する項目および値の検証を行う検証部と、
を有することを特徴とする検証装置。 - コンピュータが、
入力された検証条件を、項目および値により規定される変換検証条件に変換し、
対象データより生成された、前記対象データに含まれる項目および値それぞれについての出現位置に関するインデックス情報を参照し、前記変換検証条件に対応する項目および値の検証を行う
各処理を実行することを特徴とする検証方法。 - コンピュータに、
項目および値の組み合わせにより記述されたデータを入力し、
前記データに含まれる項目および値それぞれについて、前記項目および値それぞれの出現位置に関するインデックス情報を生成する
処理を実行させるインデックス生成プログラム。 - 前記生成する処理は、前記データに含まれる項目および値の組について、同一の組の値を項目と同じ出現位置とする、出現位置に関するインデックス情報を生成する
処理を実行させる請求項7に記載のインデックス生成プログラム。 - 項目および値の組み合わせにより記述されたデータを入力する入力部と、
前記データに含まれる項目および値それぞれについて、前記項目および値それぞれの出現位置に関するインデックス情報を生成する生成部と、
を有することを特徴とするインデックス生成装置。 - コンピュータが、
項目および値の組み合わせにより記述されたデータを入力し、
前記データに含まれる項目および値それぞれについて、前記項目および値それぞれの出現位置に関するインデックス情報を生成する
各処理を実行することを特徴とするインデックス生成方法。
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| PCT/JP2016/085228 WO2018096686A1 (ja) | 2016-11-28 | 2016-11-28 | 検証プログラム、検証装置、検証方法、インデックス生成プログラム、インデックス生成装置およびインデックス生成方法 |
| JP2018552379A JP6900956B2 (ja) | 2016-11-28 | 2016-11-28 | 検証プログラム、検証装置、検証方法、インデックス生成プログラム、インデックス生成装置およびインデックス生成方法 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| PCT/JP2016/085228 WO2018096686A1 (ja) | 2016-11-28 | 2016-11-28 | 検証プログラム、検証装置、検証方法、インデックス生成プログラム、インデックス生成装置およびインデックス生成方法 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2018096686A1 true WO2018096686A1 (ja) | 2018-05-31 |
Family
ID=62194963
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/JP2016/085228 Ceased WO2018096686A1 (ja) | 2016-11-28 | 2016-11-28 | 検証プログラム、検証装置、検証方法、インデックス生成プログラム、インデックス生成装置およびインデックス生成方法 |
Country Status (2)
| Country | Link |
|---|---|
| JP (1) | JP6900956B2 (ja) |
| WO (1) | WO2018096686A1 (ja) |
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| EP3608800A4 (en) * | 2017-04-06 | 2020-04-01 | Fujitsu Limited | INDEX GENERATION PROGRAM, INDEX GENERATING DEVICE, INDEX GENERATING METHOD, SEARCH PROGRAM, SEARCH DEVICE AND SEARCH METHOD |
| EP3979177A4 (en) * | 2019-05-31 | 2022-06-15 | Fujitsu Limited | VERIFICATION METHOD, INFORMATION PROCESSING DEVICE AND VERIFICATION PROGRAM |
| RU2794162C1 (ru) * | 2019-05-31 | 2023-04-12 | Фудзицу Лимитед | Способ верификации, устройство обработки информации и долговременный считываемый компьютером носитель хранения для хранения программы верификации |
Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2008090403A (ja) * | 2006-09-29 | 2008-04-17 | Just Syst Corp | 文書検索装置、文書検索方法および文書検索プログラム |
| WO2009063925A1 (ja) * | 2007-11-15 | 2009-05-22 | Nec Corporation | 文書管理・検索システムおよび文書の管理・検索方法 |
| JP2014089646A (ja) * | 2012-10-31 | 2014-05-15 | Hitachi Solutions Ltd | 電子データ処理装置、及び電子データ処理方法 |
Family Cites Families (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2009048351A (ja) * | 2007-08-17 | 2009-03-05 | Nippon Telegr & Teleph Corp <Ntt> | 情報検索装置、情報検索方法および情報検索プログラム |
| US8909654B2 (en) * | 2007-11-19 | 2014-12-09 | Nippon Telegraph And Telephone Corporation | Information search method, apparatus, program and computer readable recording medium |
-
2016
- 2016-11-28 WO PCT/JP2016/085228 patent/WO2018096686A1/ja not_active Ceased
- 2016-11-28 JP JP2018552379A patent/JP6900956B2/ja not_active Expired - Fee Related
Patent Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2008090403A (ja) * | 2006-09-29 | 2008-04-17 | Just Syst Corp | 文書検索装置、文書検索方法および文書検索プログラム |
| WO2009063925A1 (ja) * | 2007-11-15 | 2009-05-22 | Nec Corporation | 文書管理・検索システムおよび文書の管理・検索方法 |
| JP2014089646A (ja) * | 2012-10-31 | 2014-05-15 | Hitachi Solutions Ltd | 電子データ処理装置、及び電子データ処理方法 |
Cited By (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| EP3608800A4 (en) * | 2017-04-06 | 2020-04-01 | Fujitsu Limited | INDEX GENERATION PROGRAM, INDEX GENERATING DEVICE, INDEX GENERATING METHOD, SEARCH PROGRAM, SEARCH DEVICE AND SEARCH METHOD |
| US11520765B2 (en) | 2017-04-06 | 2022-12-06 | Fujitsu Limited | Computer-readable recording medium recording index generation program, information processing apparatus and search method |
| EP3979177A4 (en) * | 2019-05-31 | 2022-06-15 | Fujitsu Limited | VERIFICATION METHOD, INFORMATION PROCESSING DEVICE AND VERIFICATION PROGRAM |
| RU2794162C1 (ru) * | 2019-05-31 | 2023-04-12 | Фудзицу Лимитед | Способ верификации, устройство обработки информации и долговременный считываемый компьютером носитель хранения для хранения программы верификации |
| US12019614B2 (en) | 2019-05-31 | 2024-06-25 | Fujitsu Limited | Verification method, information processing apparatus, and non-transitory computer-readable storage medium for storing verification program |
Also Published As
| Publication number | Publication date |
|---|---|
| JPWO2018096686A1 (ja) | 2019-08-08 |
| JP6900956B2 (ja) | 2021-07-14 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| AU2018253478B2 (en) | Testing insecure computing environments using random data sets generated from characterizations of real data sets | |
| JP6870421B2 (ja) | 判定プログラム、判定装置および判定方法 | |
| CN108090198A (zh) | 图数据库创建及数据加载方法、设备及介质 | |
| JP6331756B2 (ja) | テストケース生成プログラム、テストケース生成方法、及びテストケース生成装置 | |
| JP6528841B2 (ja) | 抽出プログラム、抽出装置および抽出方法 | |
| JP5780036B2 (ja) | 抽出プログラム、抽出方法及び抽出装置 | |
| JP6900956B2 (ja) | 検証プログラム、検証装置、検証方法、インデックス生成プログラム、インデックス生成装置およびインデックス生成方法 | |
| KR102367859B1 (ko) | 특징 벡터를 이용하여 데이터를 분류하는 장치 및 방법 | |
| US11113314B2 (en) | Similarity calculating device and method, and recording medium | |
| JP6344185B2 (ja) | 評価結果の出力プログラム、評価結果の出力方法および情報処理装置 | |
| US12019614B2 (en) | Verification method, information processing apparatus, and non-transitory computer-readable storage medium for storing verification program | |
| JP4558369B2 (ja) | 情報抽出システム、情報抽出方法、コンピュータプログラム | |
| US20190294637A1 (en) | Similar data search device, similar data search method, and recording medium | |
| JP2018136640A (ja) | 検出方法、検出装置および検出プログラム | |
| JP6802109B2 (ja) | ソフトウェア仕様分析装置、及びソフトウェア仕様分析方法 | |
| JP2017156916A (ja) | 類似文書検索装置 | |
| JP2016042263A (ja) | 文書管理装置、文書管理プログラム及び文書管理方法 | |
| RU2794162C1 (ru) | Способ верификации, устройство обработки информации и долговременный считываемый компьютером носитель хранения для хранения программы верификации | |
| JP6631139B2 (ja) | 検索制御プログラム、検索制御方法および検索サーバ装置 | |
| JP7687862B2 (ja) | 計算機システム及びサイバーセキュリティ情報の評価方法 | |
| JP6354501B2 (ja) | 比較プログラム、比較方法および情報処理装置 | |
| JP6623040B2 (ja) | 突合処理装置及び突合処理方法並びに突合処理プログラム | |
| CN115470379A (zh) | 用户关系确定方法、装置、设备及介质 | |
| JP5367627B2 (ja) | データ処理装置及びプログラム | |
| Seiter et al. | Extraction of a Relation for Vertical Refinement |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 16922290 Country of ref document: EP Kind code of ref document: A1 |
|
| ENP | Entry into the national phase |
Ref document number: 2018552379 Country of ref document: JP Kind code of ref document: A |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |
|
| 122 | Ep: pct application non-entry in european phase |
Ref document number: 16922290 Country of ref document: EP Kind code of ref document: A1 |