WO2015170770A1 - 情報処理装置、情報処理方法およびプログラム - Google Patents

情報処理装置、情報処理方法およびプログラム Download PDF

Info

Publication number
WO2015170770A1
WO2015170770A1 PCT/JP2015/063390 JP2015063390W WO2015170770A1 WO 2015170770 A1 WO2015170770 A1 WO 2015170770A1 JP 2015063390 W JP2015063390 W JP 2015063390W WO 2015170770 A1 WO2015170770 A1 WO 2015170770A1
Authority
WO
WIPO (PCT)
Prior art keywords
information
expression
factor
term
target information
Prior art date
Application number
PCT/JP2015/063390
Other languages
English (en)
French (fr)
Inventor
洋一 関
利▲泰▼ 國井
敏男 児玉
公朗 百瀬
Original Assignee
前田建設工業株式会社
洋一 関
利▲泰▼ 國井
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 前田建設工業株式会社, 洋一 関, 利▲泰▼ 國井 filed Critical 前田建設工業株式会社
Priority to EP15788652.4A priority Critical patent/EP3142013A4/en
Priority to CA2948447A priority patent/CA2948447A1/en
Priority to JP2016518240A priority patent/JP6542204B2/ja
Priority to US15/309,872 priority patent/US9990415B2/en
Priority to CN201580024644.7A priority patent/CN106575255A/zh
Publication of WO2015170770A1 publication Critical patent/WO2015170770A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/284Relational databases
    • G06F16/288Entity relationship models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2282Tablespace storage structures; Management thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • G06F16/24553Query execution of query operations
    • G06F16/24558Binary matching operations
    • G06F16/2456Join operations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/28Databases characterised by their database models, e.g. relational or object models

Definitions

  • the present invention relates to an information processing apparatus, an information processing method, and a program.
  • a data structure handled by a computer for example, a tabular structure of a relational database, an object of an object-oriented database, a frame or rule of a knowledge database, and the like are known.
  • the conventionally proposed database has a problem in terms of flexibility to change that a new structure cannot be added to a predefined data structure. For example, when a new attribute is added to a table after the operation of a relational database is started, the existing data structure and modification of the application program for processing the data structure are accompanied. It was a burden on users, administrators or application program developers. Further, in the conventional relational database, it is impossible to describe information hierarchically, for example, to further define a table in one attribute of one table. On the other hand, in an object-oriented database or frame, a so-called parent-child relationship can be defined for the relationship between objects or the relationship between frames, but conversely, there is a request for simply processing the relationship between attributes and attribute values. In some cases, it was unsuitable.
  • the present applicant uses a new data structure that describes information and the data structure in order for the information processing device to handle information on things, organizations, people, etc. handled by the user, or concepts handled by the user.
  • a procedure for processing stored information was proposed (see Patent Documents 1 to 4).
  • information is expressed by a formula expression, for example, a sum of identifier and identifier, a product of identifier and identifier, a sum of product of identifier and identifier, and the like.
  • the proposed technique described above is suitable for sequential access because information to be processed is described continuously in text format.
  • the technology according to the present application aims to divide information to be processed under a predetermined condition in the information processing technology described in the data structure proposed by the applicants.
  • An information processing apparatus combines an identifier formed by a symbol and a factor including one or more identifiers to form a sequence of factors having an order, and one or more factors.
  • the target information described using the sum operator which forms the expression which is the combination of the term is combined.
  • the information processing apparatus for at least one of the division unit that divides the target information into a plurality of terms at a predetermined position and the factor included in the term after the division, the appearance order of the terms in the target information and the relevant terms
  • a transmission unit that adds the position information including the appearance order of the factor to be held in any of the plurality of server devices for each divided item.
  • the target information described in the above data structure can be divided in a recoverable format, and can be distributed and stored in a plurality of server devices.
  • the target information is nested as an order factor constituent operator that maintains the order and relates the combination of terms, or an expression partitioned by the set factor constituent operator that relates the combination of terms without maintaining the order.
  • the predetermined position may be the target information at any of the places partitioned by the sum operator outside the expression partitioned by the order factor constituent operator. Specifically, in this way, the order to be held in the above data structure can be divided in a recoverable format.
  • a combining unit that receives each divided term from a plurality of server devices and generates target information by combining the terms in ascending order of appearance of the terms and in ascending order of appearance of the factors based on the position information. May be further included. According to such a combining unit, the divided target information can be restored.
  • the position expressions that are held by the server devices may be divided at positions specified by the user.
  • the position expressions that are held by the server devices each have a predetermined subset of the divided subsets.
  • the position expression expression held by each server device may be divided for each term that commonly includes a predetermined factor connected by a product operator. Good.
  • a method for executing the above means by an information processing apparatus or a program for causing a computer to execute the above means may be provided.
  • the program may be provided by being recorded on a computer-readable recording medium.
  • a computer-readable recording medium refers to a recording medium that stores information by electrical, magnetic, optical, mechanical, or chemical action and can be read by a computer.
  • those removable from the computer include, for example, optical disks, magneto-optical disks, flexible disks, magnetic tapes, memory cards, and the like.
  • As recording media fixed to the computer there are HDD (Hard Disk Drive), SSD (Solid State Drive), ROM (Read Only Memory) and the like.
  • information to be processed can be divided under a predetermined condition.
  • the information processing apparatus handles information on things, organizations, people, and the like.
  • the information expressed in a format that can be processed by the information processing apparatus according to the present embodiment is referred to as “target information”.
  • target information The information expressed in a format that can be processed by the information processing apparatus according to the present embodiment.
  • a data structure for describing the target information and a procedure for processing the target information described in the data structure will be described.
  • the data structure is a structure for describing target information.
  • the target information is generated, stored, read, updated (also referred to as “calculation”), deleted, and the like by an information processing device including a processor and a storage device.
  • FIG. 1 is a diagram illustrating an example of an expression.
  • the expression includes one or more identifiers (also referred to as basic elements) that are the minimum units of the constituent elements.
  • the identifier according to the present embodiment is not necessarily information that can uniquely identify data.
  • the formula is described using predetermined symbols. An operator and a separator are used as the predetermined symbol. Specifically, the sum operator “+”, the product operator “ ⁇ (may be omitted as in FIG.
  • the first parenthesis corresponds to the set factor constituent operator (also referred to as a combination part delimiter) of the present invention.
  • the second parenthesis corresponds to the order factor constructing operator (also referred to as a permutation part delimiter) of the present invention.
  • the identifier is the minimum unit that constitutes the target information and is expressed by a symbol.
  • Symbols are character strings such as alphanumeric characters and special characters (however, a sum operator “+”, a product operator “ ⁇ ”, a first parenthesis “(” and “)”, and a second parenthesis “ ⁇ ” And “ ⁇ ”).
  • is an identifier indicating a value of zero, a value that does not change the operation result in the sum operator, or an empty set. In the present embodiment, ⁇ is also called “zero element”. Further, ⁇ is a value 1 or a value that does not change the operation result in the product operator. In the present embodiment, ⁇ is referred to as a “unit element”. Note that ⁇ may be referred to as a unit element for the sum operation, but in the present embodiment, ⁇ is referred to as a zero element.
  • a portion (or the whole) described by an identifier and a predetermined symbol is called a “factor”.
  • the part described by the product of the factors is called “term”.
  • the part described by the sum of terms is an expression.
  • the expression includes one or more terms connected by a sum operator.
  • a term also includes one or more factors connected by a product operator.
  • factors may be written as nested formulas. It should be noted that “a”, “b1”, “c1”, etc. in FIG. 1 are identifiers and correspond to the minimum unit constituting the target information.
  • an expression expressing the target information is generated based on the following rules (a) to (d).
  • the identifier, unit element, and zero element are all expression expressions (expressions).
  • r + s is also an expression expression.
  • r ⁇ s is also an expression expression.
  • r ⁇ s is stronger in r ⁇ s than r + s.
  • D When r is an expression, (r) and ⁇ r ⁇ are also expressions.
  • the target information expressed by the expression can be expressed at a plurality of levels with different abstraction levels.
  • the expression level of the target information can be changed.
  • the plurality of levels are, for example, a set level where the abstraction level of the target information is most highly expressed, a topology space level where the abstraction level of the target information is lower than the set level, and the target information is expressed as a subset element,
  • the level of abstraction of the target information is lower than that of the topology space level, and the level of abstraction of the target information is lower than that of the adhesive space level.
  • Cell space level expressed with attributes are, for example, a set level where the abstraction level of the target information is most highly expressed, a topology space level where the abstraction level of the target information is lower than the set level, and the target information is expressed as a subset element.
  • Set information Set information is defined as a combination of terms or a sum of terms.
  • each term is defined as a product of an identifier that is a set ID (corresponding to the first identification factor of the present invention) and an identifier that is a value, that is, a set ID ⁇ value.
  • the value may be a product of a plurality of identifiers.
  • the expression expression of the set information is typically as follows. (Example) Set ID ⁇ value 1 + set ID ⁇ value 2+...
  • the set information can be said to be an unordered combination of terms.
  • the positional relationship between the factors constituting the term is maintained.
  • the factor 1 included in the terms 1 and 2 corresponds to the set ID.
  • Such a function for maintaining the positional relationship between factors is extremely effective when expressing things or concepts on a computer.
  • a commutative law does not hold for a modification relationship that describes a thing or a concept.
  • “kodama desk” has a different meaning from “desk kodama”.
  • a modification relationship can be simplified and described.
  • a set of things or a set of concepts can be described, and a simple database can be constructed.
  • the factors constituting the terms have significance as so-called positional parameters.
  • the first factor of the term is the fruit whose set ID
  • the second factor indicates the shape
  • the third factor indicates the color
  • the fourth factor indicates the name.
  • the relationship between the attribute and the attribute value can be processed at the set level by using the position of each factor with a semantic restriction.
  • attributes of things can be freely defined by factors in which such order is maintained.
  • topology space information is described by the product of the identifier that is the topology ID and the sum of the subsets. That is, topology ID ⁇ (subset sum).
  • the subset is expressed by a product of a subset ID for identifying the subset and the sum of terms included in the subset. That is, subset ID ⁇ (sum of terms).
  • the term may further include a sum of terms combined with the first parenthesis “()” or the second parenthesis “ ⁇ ”, or a product of these.
  • the factor 2 of the term 2 corresponds to the topology ID.
  • the factor “1” and the factor “2” included in the factor 3 of the term 2 correspond to the subset ID.
  • topology space information is shown below (in the example below, the punctuation mark “,” is not a constituent element of the formula, but an example break).
  • T ⁇ (ABC ⁇ (ab1 + ac2 + bc3) + A ⁇ (ab1 + ac2) + B ⁇ (ab1 + bc3) + C (ac2 + bc3)), Fruit x (all species x (apple + banana + tangerine) + red x apple + yellow x (banana + tangerine)), fruit x (all species x (apple + banana + tangerine) + round x (apple + tangerine) + elongate X Banana), Vegetable x (all species x (radish + cucumber + burdock) + thick x radish + fine x (cucumber + burdock)), company x (employee x (employee 1 + employee 2 + employee 3 + employee
  • Company x (employee x (employee 1 + employee 2 + employee 3 + employee 4 + employee 5) + sales x (employee 1 + employee 2) + accounting x (employee 3 + employee 4) + general affairs x employee 5)
  • the bonding space information is configured by associating two subsets X and Y included in the topology space information with the subsets included in the respective portions.
  • the relationship generated by this association is called an equivalence relationship.
  • topology space information T topology ID is Tid
  • topology space information U topology ID is Uid
  • Tid ⁇ sum of subsets belonging to T
  • Uid ⁇ U
  • the sum of the subsets belonging to T subset T0 + subset T ⁇ T0 and two subsets.
  • the factor p of the topology space information T that correlates the topology space information T and the topology space information U and the factor q of the topology space information U are designated.
  • the topology space information T is separated into a subset T0 including the factor p and a subset T-T0 not including the factor p.
  • T ⁇ T0 is a difference set obtained by deleting the set T0 from the set T.
  • the topology space information U is separated into a subset U0 including the factor q (corresponding to the second related term of the present invention) and a subset U-U0 not including the factor q.
  • U ⁇ U0 is a difference set obtained by deleting the set U0 from the set U.
  • topology space information T and U The sum of the two pieces of topology space information T and U is expressed as follows.
  • a quotient when a subset including a specific factor p is extracted from the set, this is called a quotient.
  • a subset excluding the quotient is called a remainder.
  • the following bonding space information can be configured by associating the subset T0 and the subset U0. That is, the adhesion space information in this case is ⁇ the left factor of p in the subset T0 + the left factor of q in the subset U0 ⁇ ⁇ p + q ⁇ ⁇ the right factor of p in the subset T0 + the q factor in the subset U0.
  • both the left factor of p in the subset T0 and the right factor of p in the subset T0 correspond to the first adherent factor of the present invention.
  • the left factor of q in the subset U0 and the right factor of q in the subset U0 both correspond to the second adherent factor of the present invention.
  • Adhesive space information can also be defined for set information at the set level. Also, the bonding space information can be defined for one level of information and other levels of the topology space, cell space, and collective space.
  • the association between the slenderness, which is the factor of the fruit topology space information, and the factor, which is a subset of the vegetable topology space information, is specified and is in an equivalence relation.
  • the two pieces of topology space information are separated into a quotient and a remainder as follows.
  • the topology space information in which each set information is separated into a quotient and a remainder is fruit ⁇ elong ⁇ banana + fruit ⁇ (all species ⁇ (apple + banana + mandarin) + round ⁇ (apple + mandarin)) + vegetable ⁇ Fine x (cucumber + burdock) + vegetable x (all species x (radish + cucumber + burdock) + thick x radish).
  • the adhesion space information is ⁇ fruit + vegetable ⁇ ⁇ ⁇ longer + thin ⁇ ⁇ banana + (cucumber + burdock) ⁇ + Fruit x (all species x (apple + banana + tangerine) + circle x (apple + tangerine)) + vegetable x (all species x (radish + cucumber + burdock) + thick x radish).
  • the adhesion space information is combined based on the factors having the equivalence relation designated for the relationship while maintaining the structure of the two topology space information. If an equivalence relation is recognized between “thin” and “thin” from the bonding space information, the right factors “banana” and “(cucumber + burdock)” can be correlated and output as ⁇ banana + (cucumber + burdock) ⁇ .
  • first slip ID (A ⁇ + B + C ⁇ C1 + C2 ⁇ + D + E ⁇ E1 + E2 ⁇ (a ⁇ + b + c ⁇ c1 + c2 ⁇ + d + e ⁇ e1 + e2 ⁇ + position (upper right + lower right))) + second slip ID (A ⁇ + B + C ⁇ C1 + C2 ⁇ + D + E ⁇ E1 + E2 ⁇ (a ⁇ + b + c ⁇ c1 + c2 ⁇ + d + e ⁇ e1 + e2 ⁇ )) + MEMO (1 (that) +2 (ABC)) +
  • MEMO (1 (that) +2 (ABC)
  • a quotient space is created with the factor “1” of the MEMO information and the factor “upper right” of the information of the first slip.
  • Slip ID first sheet (A ⁇ + B + C ⁇ C1 + C2 ⁇ + D + E ⁇ E1 + E2 ⁇ (a ⁇ + b + c ⁇ c1 + c2 ⁇ + d + e ⁇ e1 + e2 ⁇ + position (lower right))) + slip ID first sheet ⁇ position (upper right) + slip ID2 sheets
  • Eye A ⁇ + B + C ⁇ C1 + C2 ⁇ + D + E ⁇ E1 + E2 ⁇ (a ⁇ + b + c ⁇ c1 + c2 ⁇ + d + e ⁇ e1 + e2 ⁇ )) + MEMO (2 (ABC)) + MEMO (1 (that)) +.
  • the bond information is information including a subset of ⁇ slip ID first sheet ⁇ position + MEMO ⁇ ⁇ upper right + 1 ⁇ ⁇ + (some) ⁇ + remainder. , Configured as.
  • the bonding information can be stored by combining the two pieces of object information with the structure before bonding for the two pieces of object information having no common structure.
  • Cell space information is information having attributes related to things, organizations, people, etc., or attributes of concepts handled by people, and attribute values corresponding to those attributes. Attributes are divided into key attributes and other attributes.
  • a key attribute is an attribute whose information can be identified by an attribute value, and corresponds to a value that can be used as a key in a database search.
  • an attribute value (or a column obtained by combining a plurality of attribute values) is called an instance.
  • An instance corresponds to a record stored in a conventional database table. Each instance has identification information called an instance ID.
  • the key attributes or other attributes are in the form of factors whose order is maintained by the second brackets “ ⁇ ” and “ ⁇ ”. Described. That is, the attribute and its corresponding attribute value are described in a so-called vector format.
  • the cell space information includes a cell space ID (corresponding to the cell space identifier of the present invention), a factor of a key attribute, a factor having an attribute other than the unit element and the key attribute, and a factor having a set of instances.
  • the cell space information is composed of cell space ID ⁇ (key attribute ⁇ ⁇ + (sum of other attributes) ⁇ ⁇ (sum of instance ID ⁇ ⁇ + (sum of values) ⁇ ))).
  • the factor of the key attribute and the factor having an attribute other than the unit element and the key attribute correspond to the attribute factor of the present invention.
  • the attribute made up of such identifiers corresponds to the attribute sequence of the present invention. To do.
  • the attribute enclosed by the second parenthesis corresponds to the attribute order factor of the present invention.
  • cell space information can be shown as follows.
  • Fruit id ⁇ (name ⁇ + shape + color ⁇ (apple ⁇ + circle + red ⁇ + mandarin ⁇ + circle + yellow ⁇ + banana ⁇ + elong + yellow ⁇ )) + vegetable id ⁇ (name ⁇ + shape + color ⁇ ( Radish ⁇ + thick + white ⁇ + cucumber ⁇ + thin + green ⁇ + burdock ⁇ + thin + brown ⁇ ))
  • vegetable id ⁇ name ⁇ + shape + color ⁇ ( Radish ⁇ + thick + white ⁇ + cucumber ⁇ + thin + green ⁇ + burdock ⁇ + thin + brown ⁇ )
  • information that is described as a fruit table and a vegetable table in the conventional relational model is described by a formula expression.
  • this example contains two cell space information (fruit and vegetable), it is also called integrated cell space information.
  • a processing example of this integrated cell space information is shown. First, a subset (referred to as a quotient) of instances having an attribute “shape” having a value of “elongated” and a subset (referred to as a remainder) of other instances among the instances of fruit are created. First, among the vegetable instances, the attribute “shape” is separated into an instance (referred to as a quotient) having a value of “fine” and another instance (referred to as a remainder). In this case, the combined cell space information is as follows.
  • FIG. 2 shows a first data structure example of the cell space information according to the first embodiment.
  • the target information expressed in the table format as the conventional normalized table structure can be stored in the storage device in the state of the expression format 1.
  • A is a key attribute (for example, employee number)
  • B, C, D, E, etc. are other attributes (for example, name, gender, year of entry, department, etc.).
  • FIG. 3 shows a second data structure example of the cell space information according to the first embodiment.
  • the target information expressed as a conventional tree structure can be stored in the storage device in the expression format 2 or 3.
  • the tree structure as a part of the directed graph can be handled.
  • a is, for example, an animal
  • b is a mammal
  • c is a fish
  • d is a human
  • e is a whale
  • f is a tuna
  • g is a salmon
  • b (mammals) and c (fishes) inherit the attributes of a (animal), such as eating and breathing.
  • the common attribute of b (mammals) and c (fish) is defined as a (animal).
  • a knowledge base such as a frame or an object-oriented database can be described and stored in the storage device by the expression of the present embodiment.
  • the information processing apparatus can receive input of information relating to things corresponding thereto, generate corresponding information, store the information in a storage device, and read and output part or all of the information.
  • target information expressed in an inverted tree structure can be stored in the storage device as in the expression format 3.
  • Inverse tree information can be applied when composing more complex information from basic information.
  • a is a CPU
  • b is an interface
  • c is a drive unit of an external storage device
  • d is a CPU board
  • e is an external storage device
  • f is a personal computer. is there.
  • the inverted tree structure can be managed by assembling more complex information from basic information such as product design documents and business process control charts. Therefore, product design information, business processes, and the like can be described by the expression of the present embodiment.
  • FIG. 4 shows a third data structure example according to the first embodiment.
  • the non-normalized table structure and target information having no attribute can also be held in the state of the expression format 4.
  • the non-normalized table structure and the target information without attributes can be exemplified by target information indicating a slip and target information corresponding to a sticky note added to the target information as shown in FIG.
  • ID or id identifies the target information to be stored.
  • the target information includes identifiers A to E2, a to e2, first parentheses () and second parentheses ⁇ having different coupling strengths at the time of calculation, and factors ⁇ C1 + C2 ⁇ , ⁇ E1 + E2 ⁇ and the like, a term E ⁇ ⁇ E1 + E2 ⁇ etc. expressed by the product of these factors, and an expression expressed by the sum of the terms.
  • the term is also referred to as an element.
  • the unit element ⁇ is a symbol processed as 1 when a predetermined process is executed.
  • the stored target information is generated according to the input slip data by executing a predetermined program, stored in the storage device, separated into subsets, and other subsets. Will be glued or searched.
  • a first slip indicated by slip ID1, a second slip indicated by slip ID2, and a memo indicated by MEMO are illustrated as instances.
  • the configuration of items may be different between the first slip and the second and subsequent slips.
  • the information processing apparatus 100 can individually assign attributes to the identifiers or terms constituting the target information, different identifiers or terms having different attribute sequences can be freely stored, searched, and changed.
  • the attribute and the attribute value can be freely added, changed, and deleted even during operation as a database. Therefore, according to the present embodiment, the structure of data to be handled can be flexibly changed without performing strict and detailed file design.
  • the position expression is an expression format including position information indicating the position of the identifier in the expression.
  • the position information is also called absolute position information.
  • a combination of terms is composed of one or both of an identifier, a product operator that combines multiple identifiers as a sequence of factors with an order, and a plurality of identifiers combined as a sequence of identifiers and factors. Information described by the sum operator can be exemplified. Therefore, the position of the identifier, that is, the position expression can be described by the position of the term including each identifier in the expression expression and the position of the factor including each identifier in the term.
  • a position expression can also be called object information in the meaning of the object of processing according to the present embodiment.
  • the first embodiment exemplifies an expression format in which position information indicating the position of the identifier is added to the left side of the identifier. However, the position information may be added to the right side of the identifier.
  • the position information in the position expression is defined as ⁇ term position ⁇ factor position>. Therefore, in this embodiment, the position expression takes the form of ⁇ term position ⁇ factor position> identifier.
  • the expression A + B + C including the identifiers A, B, and C is ⁇ 1 ⁇ 1> A + ⁇ 2 ⁇ 1> B + ⁇ 3 ⁇ 1> C in the position expression. That is, ⁇ 1 ⁇ 1> A indicates that the identifier corresponding to the first factor of the first term is A. ⁇ 2 ⁇ 1> B indicates that the identifier corresponding to the first factor of the second term is B.
  • an expression expression A + A ⁇ B + A ⁇ B ⁇ C including identifiers A, B, and C is expressed as ⁇ 1 ⁇ 1> A + ⁇ 2 ⁇ 1> A + ⁇ 2 ⁇ 2> B + ⁇ 3 ⁇ 1> in the position expression.
  • the identifier Z that is the j-th factor in the i-th term in the expression is ⁇ i Xj> Z.
  • the position expression of the whole expression expression including a plurality of terms is obtained by separating the position expression of each identifier by a delimiter such as plus (+).
  • ⁇ and “>” are delimiters for explanation, and it is not necessary to enclose them with “ ⁇ ” and “>” on the computer.
  • a character & indicating a position expression may be introduced and described as & term position ⁇ factor position.
  • the symbol between “position ⁇ factor” need not be “x”.
  • an underbar “_” may be used.
  • other delimiters such as a symbol indicating another point, a comma (,), a colon (:), semicolon (;), space, tab, etc.
  • the identifier B is in the second factor in the first term.
  • the second factor is surrounded by the first parentheses “(” and “)”. Therefore, the position expression of the identifier B first includes (1 ⁇ 2).
  • the identifier B is the first factor of the first term in parentheses in the second factor. Therefore, the position representation of the identifier B is (1 ⁇ 2) ⁇ 1 ⁇ 1> B.
  • the identifier C is the first factor of the second term in the second factor of the first term. Therefore, the position expression of the identifier C is (1 ⁇ 2) ⁇ 2 ⁇ 1> C. Furthermore, in the formula expression of the above example, the identifier D is in the second factor of the second term in the second factor of the first term. Therefore, first, (1 ⁇ 2) (2 ⁇ 2) is specified as the position information of the identifier D. Further, the identifier D is the first factor of the first term in parentheses in the second factor of the second term in the second factor in the first term. Therefore, the position expression of the identifier D is finally (1 ⁇ 2) (2 ⁇ 2) ⁇ 1 ⁇ 1> D.
  • the identifier Z when the identifier Z is in a factor surrounded by (), information indicating the position of the term including the identifier Z and information indicating the position of the factor in the term are ( i * j) is used.
  • (I ⁇ j) indicates that it is in the j-th factor in the i-th term and the j-th factor is a factor (set factor) surrounded by the first parentheses.
  • the position expression of the expression expression as in the above example includes the information indicating the presence of the first parenthesis (i ⁇ j), the position of the term that does not include the () type factor such as ⁇ k ⁇ l>, and the factor It is described by a combination of information indicating the position.
  • FIG. 5 shows an example in which the relation between the position expression obtained from the expression and the identifier is stored in a database table.
  • the position expression is indicated by absolute position information.
  • FIG. 5 describes the relationship between the position expression obtained from the expression expression of the above example and the identifier in a table.
  • the first factor of the first term is A
  • the first term in the second factor of the first term is B
  • the second factor of the first term is B
  • the first factor of the second term in the factor of C is a C
  • the second term in the second factor of the second factor of the first term is D
  • the relationship with identifiers can be stored in tabular form.
  • ⁇ 2 ⁇ 1> is excluded from the position expression (1 ⁇ 2) ⁇ 2 ⁇ 1>, and the position expression (1 ⁇ 2) is searched.
  • an identifier related to the identifier C can be acquired.
  • the term including the factor C can be acquired by acquiring a value corresponding to the attribute including the position expression (1 ⁇ 2) (i ⁇ j).
  • i and j are arbitrary integers.
  • Such a position expression (1 ⁇ 2) (i ⁇ j) is described as (1 ⁇ 2) * in the first embodiment.
  • the expression expression can be converted into data in an existing database. Therefore, the expression expression can be processed by using a function such as an existing database management system.
  • the expression expression is an expression expression including the second parentheses “ ⁇ ” and “ ⁇ ”, the corresponding position expression is generated in the same manner as the expression expression including the first parentheses “(” and “)”. can do.
  • the expression A ⁇ (B + C ⁇ ⁇ D + E ⁇ ) + F ⁇ ⁇ G + H ⁇ is converted into a position expression, it is as follows.
  • the term factor includes a hierarchical expression expressed by the combination of the first parenthesis and the second parenthesis. Can uniquely describe the position of the identifier in the expression.
  • each of the absolute position information enclosed in parentheses is multiplied by the infix notation of the appearance rank in the expression including the identifier and the occurrence rank in the term including the identifier of the factor including the identifier. It can be said that they are connected by operators.
  • the absolute position information ⁇ 1 ⁇ 1> associated with the value “A” is the first of the expressions A ⁇ (B + C ⁇ ⁇ D + E ⁇ ) + F ⁇ ⁇ G + H ⁇ .
  • the first factor A in the term A ⁇ (B + C ⁇ ⁇ D + E ⁇ ) is shown.
  • the product of a plurality of parentheses in the absolute position information represents a nested hierarchical structure in the expression expression.
  • the first parenthesis (1 ⁇ 2) of the absolute position information associated with the value “B” is expressed by the formula A ⁇ (B + C ⁇ ⁇ D + E ⁇ ) + F ⁇ ⁇ G + H ⁇
  • the second factor (B + C ⁇ ⁇ D + E ⁇ ) in the first term A ⁇ (B + C ⁇ ⁇ D + E ⁇ ) is shown.
  • the second parenthesis ⁇ 1 ⁇ 1> indicates the first factor B in the first term B in the formula (B + C ⁇ ⁇ D + E ⁇ ). In the present embodiment, it is expressed that the lower the hierarchy or the hierarchy is, the more parentheses are used.
  • the first parentheses “(” and “)” indicate a hierarchy divided by the first parentheses in the expression.
  • the second parentheses “ ⁇ ” and “ ⁇ ” indicate a hierarchy partitioned by the second parentheses in the expression.
  • information described by the expression can be expressed in a format to which information that can uniquely identify the position of each identifier is added.
  • the expression in the expression expression and the position expression expression can be converted into each other.
  • position information may be added to the expression included in the expression.
  • position information is added to at least one of the factors included in each term for all the terms included in the expression (a subset of the expression).
  • the expression A * (B + C * (D + E)) + F * (G + H) includes two terms A * (B + C * (D + E)) and F * (G + H).
  • the initial expression is ⁇ 1 ⁇ 1> A ⁇ (B + C ⁇ (D + E)) + ⁇ 2 ⁇ 1> F ⁇ (G + H) It can be expressed by the following position expression.
  • the position expression is divided into two parts ⁇ 1 ⁇ 1> A ⁇ (B + C ⁇ (D + E)) and ⁇ 2 ⁇ 1> F ⁇ (G + H), or a part after division based on position information Can be restored to the original position expression.
  • a part of the expression expressed by the sum operator can be divided into a subset (part of the expression expressed by parentheses) at an arbitrary position.
  • the expression A + B + C can be expressed as A + (B + C) or (A + B) + C.
  • FIG. 6 is a configuration diagram illustrating an example of a system according to the present embodiment.
  • the system 1 in FIG. 6 includes an information processing apparatus 100 that controls processing according to the present embodiment, and a server apparatus 200 that executes the processing according to the present embodiment in a distributed manner (in the example of FIG. 6, 200a, 200b, 200c,. ⁇ ⁇ ). Further, the information processing apparatus 100 and the server apparatus 200 are communicably connected via the network 300.
  • one information processing apparatus 100 is described as centrally managing the other server apparatuses 200, but an apparatus group that performs distributed control may be configured.
  • any device when any device receives a request for processing, the data is divided and distributed to other devices and the own device, or the data held by the device and the data held by the other device are combined. (Also called “restoration”) and output the combined result.
  • FIG. 7 is a block diagram illustrating an example of the configuration of the information processing apparatus 100 according to the first embodiment (also referred to as Example 1).
  • an information processing apparatus 100 according to the first embodiment includes an input unit 11 such as a keyboard and a pointing device for inputting target information, and a memory 12 for storing the input target information (in the present invention).
  • the CPU 13 that processes the target information based on a predetermined program
  • the output unit 14 such as a display that outputs the input target information and the processed target information
  • an interface 16 for connecting the CPU 13 and the output means 14 to each other.
  • the interface 15 is a serial interface such as USB (Universal Serial Bus).
  • the interface 16 is, for example, an output interface for RGB (red, green, blue) image signals and a synchronous clock.
  • the information processing apparatus 100 may be connected to an external storage device, a removable storage medium driving device, a communication unit, and the like via an interface.
  • the external storage device is, for example, a hard disk drive, SSD (Solid State Drive) or the like.
  • the removable storage medium is, for example, a CD (Compact Disc), a DVD (Digital Versatile Disk), a Blu-ray disc, a flash memory card, or the like.
  • the communication unit is a device that accesses a network and communicates with other information processing devices, such as a NIC (Network Interface Card).
  • the information processing apparatus 100 is typically a computer such as a personal computer or a server.
  • the information processing apparatus 100 is not limited to such a computer, and includes, for example, a portable information terminal, a mobile phone, a PHS (Personal Handyphone System), a digital TV, a digital TV tuner or a set top box, and a hard disk. It can be realized as a television recording device, a vehicle-mounted terminal, and the like.
  • the memory 12 includes a volatile DRAM (Dynamic Random Access Memory), a nonvolatile EPROM (Erasable Programmable Read Only Memory), an EEPROM (Electronically Erasable and Programmable Read Only Memory), a flash memory, and the like.
  • the function of the information processing apparatus 100 is realized by the CPU 13 executing a program.
  • This program is installed in the memory 12 or an external storage device (not shown).
  • the program is installed from a network or a removable storage medium through a communication interface. Therefore, this program is distributed through a network or a removable storage medium.
  • each level is expressed as a set level 122 where the level of abstraction of the target information is the highest, and a level of abstraction of the target information lower than that of the set level 122, and the target information includes a subset as an element.
  • the topology space level 123 to be expressed, the level of abstraction of the target information expressed lower than the topology space level, the bonding space level 124 to which the target information is bonded at the topology space level, and the topology space level 123 This is exemplified by the cell space level 125 in which the target information is expressed with a predetermined attribute.
  • the target information expressed at each level can also be expressed as a position expression formula with position information added.
  • FIG. 8 is a block diagram illustrating an example of the configuration of the server apparatus 200 according to the first embodiment.
  • the server device 200 is also a general computer device like the information processing device 100.
  • the server apparatus 200 according to the first embodiment includes an input means 21 such as a keyboard and a pointing device for inputting target information, and a memory 22 for storing the input target information (the memory of the present invention).
  • the CPU 23 and the input means 21 the CPU 23 that processes the target information based on a predetermined program
  • the output means 24 such as a display that outputs the input target information and the target information after processing
  • an interface 26 for connecting between the CPU 23 and the output means 24.
  • the interface 25 is a serial interface such as USB.
  • the interface 26 is, for example, an output interface for RGB image signals and a synchronous clock.
  • the server device 200 may be connected to an external storage device, a removable storage medium drive device, a communication unit, and the like via an interface.
  • the external storage device is, for example, a hard disk drive, SSD, or the like.
  • the removable storage medium is, for example, a CD, DVD, Blu-ray disc, flash memory card, or the like.
  • the communication unit is a device that accesses a network and communicates with another information processing device, such as a NIC.
  • the server device 200 is not limited to a computer.
  • a portable information terminal a mobile phone, a PHS, a digital television, a digital television tuner or a set-top box, a television recording device including a hard disk, and a vehicle-mounted device. It can be realized as a terminal or the like.
  • the memory 22 includes volatile DRAM, nonvolatile EPROM, EEPROM, flash memory, and the like.
  • the function of the server device 200 is realized by the CPU 23 executing a program.
  • This program is installed in the memory 22 or an external storage device (not shown).
  • the program is installed from a network or a removable storage medium through a communication interface. Therefore, this program is distributed through a network or a removable storage medium.
  • the target information (formula) 221 stored in the memory 22 or an external storage device (not shown) is added with position information, and includes a key (Key) 222 and a value (Value) 223 KVS (Key Value).
  • KVS is an example of a specific implementation means, and other formats may be used.
  • position information may be held in a key
  • a factor may be held in a value
  • a factor common to a key may be held
  • another factor combined with the common factor and a product operator may be included in the value. You may make it hold
  • FIG. 9 is a process flow diagram illustrating an example of the target information division storage process executed by the information processing apparatus 100.
  • the information processing apparatus 100 executes a computer program that is loaded in the memory 12 so as to be executable, and executes the process of FIG. In the process of FIG. 9, it is assumed that the target information is held in an expression form.
  • the information processing apparatus 100 reads an expression that is target information into the memory 12 (FIG. 9: D1).
  • some target information having a different data structure (formula structure) is handled for each country.
  • the following expression is read out.
  • Germany (Formula 1) + France (Formula 2) + Japan (Formula 3) + Germany (Formula 4) + France (Formula 5) + Japan (Formula 6) + Germany (Formula 7) + France (Formula 8) + Japan ( Formula 9) + ...
  • Formula 1, Formula 2, and so on are formula expressions according to the present embodiment, respectively. That is, it may include a sum operator, a product operator, an order factor constituent operator, a set factor constituent operator, and the like. The structure of each expression is different for each country name connected by the product operator.
  • the information processing apparatus 100 divides the target information at a predetermined position and adds position information (D2). Since the target information is a character string, it can be divided at any position, but in this embodiment, it is divided between terms in the expression. Between terms is a place connected by a sum operator in the expression.
  • the expression expression includes a plurality of expressions in a nested manner, but in a location higher than the hierarchy partitioned by the second parenthesis (order factor constituent operator) in this embodiment (outside of the expression partitioned by parentheses) Shall be divided by. In other words, no division is performed within the second bracket.
  • the terms included in the hierarchy demarcated by the second parenthesis may not be consistent unless they are handled while maintaining the order.
  • the specific division position may be designated by the user.
  • the user designates one of the locations connected with “+” in the expression. And it divides
  • the division position may be determined based on the data size so that the divided subset is within a predetermined capacity.
  • the amount of data from the beginning is calculated and divided between terms existing immediately before exceeding a predetermined threshold.
  • each term may be divided into terms that commonly include predetermined factors connected by a product operator in each term.
  • the target information can be divided based on the meaning and characteristics of the information. Referring to the above-described example of the expression expression, factors such as “Germany”, “France”, and “Japan”, which are country names, are combined by a product operator in each term. Thus, for example, if each term is divided into terms that share a factor connected to the left side by a product operator, the target information is divided into the following three subsets.
  • the information processing apparatus 100 distributes and stores the divided subset of the target information in the server apparatus 200 (D3).
  • data is distributed to a plurality of server devices 200 based on a predetermined rule, and transmitted via a network.
  • each server device 200 that has acquired data stores the data in a storage device.
  • the two server apparatuses 200 hold data in the KVS format as shown in FIGS. 10A and 10B, respectively.
  • position information is stored in the key and an expression is associated with the value.
  • the three server devices 200 each hold data in the KVS format as shown in FIGS. 11A to 11C.
  • position information is stored in the key and an expression is associated with the value.
  • the three server apparatuses 200 each hold data in the KVS format as shown in FIGS. 12A to 12C.
  • a common factor is stored in the key, and a position expression combined with the common factor and the product operator is stored in the value in association with each other.
  • the target information described by the expression can be distributed and arranged in the plurality of server devices 200 by the division processing as described above. Moreover, if position information is added to at least one factor included in each of the divided terms as in the above-described division examples 1 to 3, the terms are combined into the original equation by combining the terms based on the position information. Can be returned. At this time, processing is possible even if each term includes an expression having a different structure. As shown in FIGS. 10A to 12C, the division is performed at any position outside the expression surrounded by the order factor constituent operators and connected by the sum operator. That is, the contents of the target information such as Expression 1, Expression 2, Expression 3,... Therefore, parallel processing can be performed on the divided data. Note that availability may be improved by holding the same information redundantly in a plurality of server devices 200.
  • a subset of the target information generated by the above-described division processing can be returned to the original target information based on the position information. Specifically, based on the position information added to any factor of each term, they are combined in ascending order of the value indicating the appearance order of the term and in ascending order of the appearance order of the factor.
  • FIG. 13 shows a processing example of the application program that executes the combination processing. It is assumed that the position expression generated by the division process is held in the KVS format of FIGS. 10A and 10B, FIGS. 11A to 11C, or FIGS. 12A to 12C in the plurality of server apparatuses 200.
  • the information processing apparatus 100 accepts an execution instruction for the joining process from the user (FIG. 13: C1). Further, the information processing apparatus 100 acquires a subset of the target information that is distributed and stored in the plurality of server apparatuses 200 from each server apparatus 200 (C2).
  • the information processing apparatus 100 combines the acquired results (C3). Since the position information is added to the information acquired from the server device 200, the original information is obtained by combining the items in ascending order of the values indicating the order of appearance of the terms and in the order of the appearance order of the factors based on the position information. Target information can be generated. According to the present embodiment, since the information processing apparatus 100 can simply combine the results processed by the server apparatuses 200, the overall processing speed can be improved by increasing the number of server apparatuses.
  • the information processing apparatus 100 outputs the combined result (C4).
  • the target information described as a position expression including position information may be output, or the position information may be deleted and target information described as an expression expressed. This completes the combining process.
  • the division processing according to the present embodiment can handle various data as target information.
  • BOM Bills of Materials
  • equipment and industrial products provided in a building such as a building can be converted into a formula expression and handled.
  • the BOM is described in a different format for each manufacturer.
  • a building or industrial product that is a finished product includes a plurality of components.
  • Data whose schemas are not unified can be combined as they are, or can be divided for each building, construction company, or equipment manufacturer based on a factor indicating a building, construction company, or equipment manufacturer, for example.
  • processed food ingredients may be used as target information.
  • Food items have different transaction data items at each stage from production to retail.
  • the distribution flow may change, such as changing a wholesaler or adding a quality inspection step.
  • data whose schemas are not unified can be integrated and handled. Further, according to the above distributed processing, the processing performance can be improved.
  • real estate lot numbers may be used as target information.
  • Land numbers may be changed or division names may be changed due to division (division) by land readjustment or integration (combination).
  • Such data can be handled as a directed graph (DAG: Directed Acyclic Graph) without a cycle by using a pointer, for example.
  • DAG Directed Acyclic Graph
  • connection relationships of human connections human resource friendship relationships
  • relationships between customer requirements and requirement definitions in software development and chemical atom connection relationships in the chemical field.
  • processing performance can be further improved.
  • the process which converts each data into a formula expression and a position expression can be defined for every specific data.
  • FIG. 14 is a diagram for explaining integration and restoration (division) of a plurality of pieces of target information.
  • Formulas 1 to 3, Formulas 4 to 6, and Formulas 7 to 9 are registered in a DB (Database) in Germany, a DB in France, and a DB in Japan, respectively.
  • DB Database
  • FIGS. 2 to 4 target information having a data structure as shown in FIGS. 2 to 4 is described by an expression and registered in each DB.
  • Each DB is stored in, for example, three server devices not shown.
  • Each DB may have a different schema for each country, for example.
  • three pieces of target information are integrated.
  • a term in which a factor representing a country name and a factor describing an expression registered in the DB of the country are connected by a product operator is formed, and three DB terms are connected by a sum operator.
  • Expressions are registered in the integrated DB.
  • the integrated expression may be held in a KVS format with a factor representing the country name as a key and an expression connected to the country name by a product operator as a value. Position information may be added.
  • the factor representing the country name is information for specifying the DB before integration.
  • three pieces of target information are restored (divided).
  • the division is performed based on, for example, a leftmost factor connected by a product operator in each term or a factor including one identifier connected by a product operator in each term. And it divides
  • target information managed by a plurality of server devices can be integrated to perform various processing on the integrated data, and the original target information can be restored.
  • the plurality of pieces of target information may not have a unified schema.
  • the symbols indicating the formula expression and the symbols indicating the position expression described in the embodiment are examples. Therefore, for example, other symbols may be used instead of the sum operator, product operator, set factor constituent operator, and order factor constituent operator. Further, instead of the position expression ⁇ i ⁇ j> (i ⁇ j) ⁇ i ⁇ j ⁇ , other symbols may be used.
  • the application target of the expression expression and the position expression expression described in the embodiment is not limited to KVS.
  • a system suitable for distributed processing can be constructed by holding the position information and the identifier in the KVS format.
  • the application is not limited to the process of acquiring the related information method related to the identifier included in the expression expression.
  • the functions of the information processing apparatus 100 and the server apparatus 200 shown in the embodiment exemplify a new database data structure and a data processing procedure that have not been proposed so far. Therefore, the technology of the embodiment can be applied to processing on a computer such as information on things, organizations, people, etc. handled by the user, or concepts handled by the user.
  • processing on a computer for example, information on things, organizations, people, etc., or concepts are described as information on a computer, stored in a main storage device such as a memory, an external storage device such as a hard disk, and a database It can be applied to general technology for building, extracting, updating, and managing stored information. That is, the information processing apparatus 100 and the server apparatus 200 according to the embodiment exemplify new information expression technology on a computer.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computational Linguistics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

 本情報処理装置は、記号によって形成される識別子と、1以上の識別子を含む因子を結合し、順序を有する因子の列を形成する積演算子と、1以上の因子を含む項を結合し、当該項の組み合わせである式を形成する和演算子とを用いて記述される対象情報を処理する。また、本情報処理装置は、対象情報を所定の位置で複数の項に分割する分割部と、分割後の項に含まれる因子の少なくともいずれかに対し、対象情報内における項の出現順位と当該項内における当該因子の出現順位とを含む位置情報を関連付け、分割後の項ごとに複数のサーバ装置のいずれかに保持させる送信部とを含む。

Description

情報処理装置、情報処理方法およびプログラム
 本発明は、情報処理装置、情報処理方法およびプログラムに関する。
 従来、コンピュータが取り扱うデータ構造としては、例えば、リレーショナルデータベースの表形式の構造、オブジェクト指向データベースのオブジェクト、知識データベースのフレームあるいはルール等が知られている。
 しかし、従来、提案されていたデータベースは、定義済みのデータ構造に、新たな構造を追加することができないという、変更に対する柔軟性の点で問題があった。例えば、リレーショナルデータベースの運用を開始後、1つの表に新たな属性を追加する場合には、既存のデータ構造と、データ構造を処理するアプリケーションプログラムの改造とが伴い、改造の工数は、コンピュータの利用者、管理者、あるいはアプリケーションプログラムの開発者には負担であった。また、従来のリレーショナルデータベースでは、情報を階層的に記述すること、例えば、1つの表の1つの属性中に、さらに表を定義することはできなかった。一方、オブジェクト指向のデータベース、あるいは、フレームでは、オブジェクト間の関係、あるいはフレーム間の関係にいわゆる親子関係を定義できるが、逆に、属性と属性値との関係を単純に処理したいという要請には不向きである場合があった。
 そこで、本出願人は、利用者が取り扱う事物、組織、人などに関する情報、あるいは利用者が取り扱う概念などを情報処理装置が取り扱うために、情報を記述する新たなデータ構造と、そのデータ構造で記憶された情報を処理する手順とを提案した(特許文献1から4参照)。この提案では、情報を式表現、例えば、識別子と識別子の和、識別子と識別子の積、識別子と識別子の積の和などで表現する。
特許第4343984号公報 特許第5113779号公報 特許第5357286号公報 国際公開第2012/023192号
 ところで、提案された上記の技術では処理の対象となる情報をテキスト形式で連続的に記述するため、シーケンシャルアクセスに適している。一方で、保持する情報の増加に伴い処理時間も増えてしまうという問題があった。そこで、本出願に係る技術は、出願人らが提案するデータ構造で記述された情報の処理技術において、処理対象の情報を所定の条件で分割することを目的とする。
 本発明の一側面に係る情報処理装置は、記号によって形成される識別子と、1以上の識別子を含む因子を結合し、順序を有する因子の列を形成する積演算子と、1以上の因子を含む項を結合し、当該項の組み合わせである式を形成する和演算子とを用いて記述される対象情報を処理する。そして、情報処理装置は、対象情報を所定の位置で複数の項に分割する分割部と、分割後の項に含まれる因子の少なくともいずれかに対し、対象情報内における項の出現順位と当該項内における当該因子の出現順位とを含む位置情報を付加し、分割後の項ごとに複数のサーバ装置のいずれかに保持させる送信部とを含む。
 このようにすれば、上述のデータ構造で記述された対象情報を復元可能な形式で分割し、複数のサーバ装置に分散して格納することができる。なお、分割された対象情報の部分集合については各サーバ装置で並列に処理するようにしてもよい。
 また、対象情報は、順序を維持して項の組み合わせを関係付ける順序因子構成演算子、又は順序を維持せず項の組み合わせを関係付ける集合因子構成演算子によって区画された式を、因子として入れ子状に含む階層構造を有し、所定の位置は、対象情報を、順序因子構成演算子で区画された式の外側において和演算子で区画された箇所のいずれかとしてもよい。具体的にはこのようにすることで、上述のデータ構造において保持すべき順序を復元可能な形式で分割することができる。
 また、複数のサーバ装置からそれぞれ分割後の項を受信し、位置情報に基づいて、項の出現順位が小さい順且つ因子の出現順位が小さい順に各項を結合して対象情報を生成する結合部をさらに含むようにしてもよい。このような結合部によれば、分割された対象情報を復元することができる。
 また、サーバ装置がそれぞれ保持する位置表現式は、ユーザによって指定された位置において分割されるようにしてもよいし、サーバ装置がそれぞれ保持する位置表現式は、分割後の部分集合が所定の容量以内となる位置において分割されるようにしてもよいし、サーバ装置がそれぞれ保持する位置表現式は、積演算子で接続された所定の因子を共通に含む項ごとに分割されるようにしてもよい。
 上記課題を解決するための手段の内容は、本発明の課題や技術的思想を逸脱しない範囲で可能な限り組み合わせることができる。また、上記手段を情報処理装置が実行する方法や、コンピュータに実行させるプログラムを提供するようにしてもよい。また、プログラムは、コンピュータが読み取り可能な記録媒体に記録して提供するようにしてもよい。コンピュータが読み取り可能な記録媒体とは、情報を電気的、磁気的、光学的、機械的、又は化学的作用によって蓄積し、コンピュータによって読み取ることができる記録媒体をいう。このような記録媒体のうち、コンピュータから取り外し可能なものとしては、例えば光ディスク、光磁気ディスク、フレキシブルディスク、磁気テープ、メモリカード等がある。また、コンピュータに固定された記録媒体としてHDD(Hard Disk Drive)、SSD(Solid State Drive)、ROM(Read Only Memory)等がある。
 本発明によれば、出願人らが提案するデータ構造で記述された情報の処理技術において、処理対象の情報を所定の条件で分割することができる。
式表現を説明するための図である。 セル空間情報の第一のデータ構造例を示す図である。 セル空間情報の第二のデータ構造例を示す図である。 第三のデータ構造例を示す図である。 模式的な位置表現式をKVS形式で格納した表を例示する図である。 実施形態に係る情報処理システムの構成を例示するブロック図である。 実施形態に係る情報処理装置の構成を例示するブロック図である。 実施形態に係るサーバ装置の構成を例示するブロック図である。 分割格納処理の一例を示す処理フロー図である。 対象情報の部分集合をKVS形式で格納する表の一例を示す図である。 対象情報の部分集合をKVS形式で格納する表の一例を示す図である。 対象情報の部分集合をKVS形式で格納する表の一例を示す図である。 対象情報の部分集合をKVS形式で格納する表の一例を示す図である。 対象情報の部分集合をKVS形式で格納する表の一例を示す図である。 対象情報の部分集合をKVS形式で格納する表の一例を示す図である。 対象情報の部分集合をKVS形式で格納する表の一例を示す図である。 対象情報の部分集合をKVS形式で格納する表の一例を示す図である。 結合処理の一例を示す処理フロー図である。 複数の対象情報の統合及び復元を説明するための図である。
 以下、図面を参照して本発明を実施するための形態(「実施形態」とも呼ぶ)に係る情報処理装置について説明する。以下の実施形態の構成は例示であり、本発明は実施形態の構成には限定されない。
 本実施形態では、事物、組織、人などに関する情報を情報処理装置が取り扱う。これらの情報を本実施形態に係る情報処理装置が処理可能な形式で表現したものを、「対象情報」と呼ぶ。以下、対象情報を記述するためのデータ構造、及び当該データ構造で記述された対象情報を処理する手順を示す。
(データ構造)
 データ構造とは、対象情報を記述するための構造をいう。なお、対象情報は、プロセッサと記憶装置とを備える情報処理装置によって、生成、記憶、読み出し、更新(「演算」とも呼ぶ)、削除等される。
 (1)対象情報の構成要素
 情報処理装置は、対象情報を式の形式で保持する。本実施形態に係る式を用いた表現方法を、「式表現」とも呼ぶ。図1は、式の一例を示す図である。式は、構成要素の最小単位である識別子(基本要素とも呼ぶ)を1つ以上含む。本実施形態に係る識別子は、データを一意に特定できる情報とは限らない。さらに、式は、所定の記号を用いて記述される。所定の記号には、演算子と区切記号とが用いられる。具体的には、和演算子“+”、積演算子“×(図1のように省略してもよい)”、第1の括弧(丸括弧)“(”及び“)”、並びに第2の括弧(波括弧)“{”及び“}”が用いられる。第1の括弧が本発明の集合因子構成演算子(組合せ部区切記号とも呼ぶ)に相当する。また、第2の括弧が本発明の順序因子構成演算子(順列部区切記号とも呼ぶ)に相当する。
 また、識別子は、対象情報を構成する最小単位であり、記号によって表現される。記号とは、英数字等の文字列及び特殊文字(ただし、和演算子“+”、積演算子“×”、第1の括弧“(”及び“)”、並びに第2の括弧“{”及び“}”を除く)をいうものとする。
 本実施形態では、特殊文字として、“Φ”および“ε”を用いる。Φは、値ゼロ、和演算子において演算結果を変化させない値、または空集合を示す識別子である。本実施形態では、Φを「零元」とも呼ぶ。また、εは、値1、または積演算子において演算結果を変化させない値である。本実施形態では、εを「単位元」と呼ぶ。なお、Φを和演算の単位元と呼ぶ場合もあるが、本実施形態では、Φを零元と呼ぶことにする。
 また、図1に示すように、識別子及び所定の記号によって記述される部分(全体であってもよい)を「因子」と呼ぶ。そして、因子の積によって記述される部分を「項」と呼ぶ。さらに、項の和によって記述される部分が式である。換言すれば、式は和演算子で接続された1以上の項を含む。また、項は、積演算子で接続された1以上の因子を含む。さらに、因子は、入れ子状に式として記述されることもある。なお、図1の「a」、「b1」、「c1」等が識別子であり、対象情報を構成する最小単位にあたる。
 本実施形態では、以下の規則(a)~(d)に基づいて、対象情報を表現する式が生成れる。
(a)識別子、単位元及び零元はいずれも式表現(式)である。
(b)rとsとが共に式表現である場合、r+sも式表現である。
(c)rとsとが共に式表現である場合、r×sも式表現である。このとき、演算の結合強さは、一般的な代数と同様に、r×sの方が、r+sよりも強い。
(d)rが式表現である場合、(r)、{r}も式表現である。
 (2)式表現の代数的構造
 本実施形態において、式表現r、s、tは、次の代数の性質(a)~(f)を有する。
(a)結合律
r+(s+t)=(r+s)+t;
r×(s×t)=(r×s)×t;
(b)可換律
r+s=s+r;
なお、本実施形態の式表現では、積演算子の可換律は成立しない。したがって、積演算子で複数の因子が結合されている場合に、個々の因子位置が情報(あるいは意味)を持つ。すなわち、因子は、いわゆる位置を指定してされた位置パラメータとしての機能を有する。「積演算子の可換律は成立しない」ことは、本発明の積演算子が「順序を持つ因子の列として複数の識別子を結合する」ことに相当する。
(c)積演算の単位元
r×ε=ε×r=r;
(d)積演算、和演算の零元
r×Φ=Φ×r=Φ;
r+Φ=r;
(e)分配律
r×(s+t)=r×s+r×t;
(r+s)×t=r×t+s×t;
(f){r+s}×{t+u}={r×t+s×u};
 また、式で表現された対象情報は、抽象度の異なる複数のレベルで表現することができる。例えばプロセッサが本発明に係る所定のプログラムを実行することにより、対象情報の表現のレベルを変更することができる。複数のレベルは、例えば、対象情報の抽象度が最も高く表現される集合レベルと、集合レベルよりも対象情報の抽象度が低く、対象情報が部分集合を要素として表現されるトポロジー空間レベルと、トポロジー空間レベルよりも対象情報の抽象度が低く、トポロジー空間レベルにおける対象情報同士が接着される接着空間レベルと、接着空間レベルよりも対象情報の抽象度が低く、トポロジー空間における対象情報が所定の属性をもって表現されるセル空間レベルとを含む。
 (3)集合情報
 集合情報は、項の組み合わせ、又は項の和として定義される。ここで、それぞれの項は集合ID(本発明の第1の識別因子に相当)となる識別子と値となる識別子の積、すなわち、集合ID×値として定義される。ただし、値は、複数の識別子の積であってもよい。集合の情報の式表現は、典型的には次のようになる。
(例)
集合ID×値1+集合ID×値2+・・・
 上述のように、本実施形態のデータ構造では、和演算子に可換律が成立することから、集合情報は、順序のない項の組み合わせということができる。一方、項を構成する因子間の位置関係は維持されることになる。図1に示した例では、例えば、項1及び項2に含まれる因子1が集合IDに相当する。
 このような因子間の位置関係の維持機能は、コンピュータ上で事物、あるいは概念を表現する場合に、極めて大きな効果を発揮する。一般的に、事物、あるいは概念を記述する修飾関係には、可換律が成立しない。例えば、「児玉の机」は、「机の児玉」と意味が異なる。本実施形態の因子と積演算子によれば、このような修飾関係を単純化して、記述することができる。さらに、そのような修飾関係で記述された項を和演算子によって組み合わせることで、事物の集合、あるいは概念の集合を記述し、単純な形式のデータベースを構築できる。さらに、管理対象の事物あるいは概念を項の集合として管理する場合に、項における因子の位置関係に意味を付与することもできる。
 また、項を構成する因子は、それぞれ、いわゆる位置パラメータとしての意義を有するということもできる。例えば、下記のような集合情報を考える。
(例)
果物×任意形状×任意色×バナナ+果物×任意形状×任意色×りんご+果物×細長×黄色×バナナ+果物×丸×赤×リンゴ
この場合、項の第1因子は、集合IDである果物であり、第2因子は形状を示し、第3因子は色を示し、第4因子は名称を示す。このように、それぞれの因子の位置に意味上の制限を加えて使用することで、属性と属性値との関係を集合レベルでも処理できる。集合情報は、このような順序が維持された因子によって事物の属性を自在に定義することができる。
 また、そのような因子を含む項の組み合わせによって、事物、人の集合など、あらゆる情報がコンピュータ上に表現される。
(例)
A×a1+A×a2+A×a3、b1×B+b2×B×B、果物×リンゴ+果物×バナナ+果物×ミカン、野菜×キャベツ+野菜×キュウリ+野菜×ゴボウ、社員×A+社員×B+社員×C
すなわち、集合情報は、集合IDで識別される集合に所属する項の組み合わせを記述する。上述の例において、社員Cが退職した場合、「社員×C」が和演算子とともに削除される。さらに、社員D及び社員Eが入社した場合には、「社員×D+社員×E」がさらに和演算子で接続される。
 (4)トポロジー空間情報
 トポロジー空間情報は、トポロジーIDとなる識別子と部分集合の和との積によって記述される。すなわち、トポロジーID×(部分集合の和)である。ここで、部分集合は、部分集合を識別する部分集合IDと、その部分集合に含まれる項の和との積で表現される。すなわち、部分集合ID×(項の和)である。ただし、項には、さらに項の和を第1の括弧“()”、若しくは第2の括弧”{}”で組み合わせたもの、又はこれらの積が含まれてもよい。図1の例では、例えば、項2の因子2がトポロジーIDに相当する。また、項2の因子3に含まれる因子「1」、因子「2」が部分集合IDに相当する。
 トポロジー空間情報の例を以下に示す(下記の例で、読点“、”は、式の構成要素ではなく、例の区切りである)。
(例)
T×(ABC×(ab1+ac2+bc3)+A×(ab1+ac2)+B×(ab1+bc3)+C(ac2+bc3))、
果物×(全種×(リンゴ+バナナ+ミカン)+赤×リンゴ+黄×(バナナ+ミカン))、果物×(全種×(リンゴ+バナナ+ミカン)+丸×(リンゴ+ミカン)+細長×バナナ)、
野菜×(全種×(大根+キュウリ+ゴボウ)+太×大根+細×(キュウリ+ゴボウ))、会社×(社員×(社員1+社員2+社員3+社員4)+営業×(社員1+社員2)+経理×(社員3+社員4))、
この場合に、最後(5番目)の例について、例えば、総務が新設され、社員5が採用され、且つ総務に配属された場合には、次のように更新される。
(例)
会社×(社員×(社員1+社員2+社員3+社員4+社員5)+営業×(社員1+社員2)+経理×(社員3+社員4)+総務×社員5)
 (5)接着空間情報
 接着空間情報は、トポロジー空間情報に含まれる2つの部分集合Xと部分集合Yに対して、それぞれの部分に含まれる部分集合を関係付けることで構成される。本実施形態では、この関係付けによって発生する関係を同値関係という。
 ここで、トポロジー空間情報T(トポロジーIDは、Tid)およびトポロジー空間情報U(トポロジーIDは、Uid)が、トポロジー空間情報Tid×(Tに属する部分集合の和)+トポロジー空間情報Uid×(Uに属する部分集合の和)として記憶されているとする。また、Tに属する部分集合の和=部分集合T0+部分集合T-T0と2つの部分集合に分離できるとする。
 この場合、トポロジー空間情報Tとトポロジー空間情報Uとを関連づけるトポロジー空間情報Tの因子pと、トポロジー空間情報Uの因子q(本発明の第2の同値因子に相当)が指定される。そして、トポロジー空間情報Tが、因子pを含む部分集合T0と、因子pを含まない部分集合T-T0に分離される。ここで、T-T0は、集合Tから集合T0を削除した差集合である。また、トポロジー空間情報Uが、因子qを含む部分集合U0(本発明の第2の関連項に相当)と、因子qを含まない部分集合U-U0に分離される。ここで、U-U0は、集合Uから集合U0を削除した差集合である。
 上記2つのトポロジー空間情報TとUの和は次のように表現される。
(例)
トポロジー空間情報Tid×(部分集合T0)+トポロジー空間情報Tid×(部分集合T-T0)+トポロジー空間情報Uid×(部分集合U0)+トポロジー空間情報Uid×(部分集合U-U0)
このように、集合から特定の因子pを含む部分集合を取り出した場合に、これを商と呼ぶ。また、その商を除く部分集合を剰余と呼ぶ。
 さらに、部分集合T0=T0id×(T0の項の和)、部分集合U0=U0id×(U0の項の和)と記述されているとする。この場合に、部分集合T0と部分集合U0とを関係付けることによって、以下の接着空間情報を構成できる。すなわち、この場合の接着空間情報は、{部分集合T0におけるpの左因子+部分集合U0におけるqの左因子}{p+q}{部分集合T0におけるpの右因子+部分集合U0におけるqの右因子}+トポロジー空間情報Tid×(部分集合T-T0)+トポロジー空間情報Uid×(部分集合U-U0)、である。ここで、部分集合T0におけるpの左因子および部分集合T0におけるpの右因子が、ともに、本発明の第1の被接着因子に相当する。また、部分集合U0におけるqの左因子および部分集合U0におけるqの右因子が、ともに、本発明の第2の被接着因子に相当する。
 なお、ここでは、トポロジー空間レベルの情報を接着する場合を説明したが、トポロジー空間レベルの情報に、属性と属性値が定義されて構成されるセル空間レベルの情報、および、項の組み合わせである集合レベルの集合情報に対しても、接着空間情報が定義できる。また、トポロジー空間、セル空間、集合空間のうち、一のレベルの情報と、他のレベルの情報とについて接着空間情報を定義できる。
 ここで、以下のような果物のトポロジー空間情報と、野菜のトポロジー空間情報の和が記憶されているものとする。
(例)
果物×(全種×(リンゴ+バナナ+ミカン)+丸×(リンゴ+ミカン)+細長×バナナ)+野菜×(全種×(大根+キュウリ+ゴボウ)+太×大根+細×(キュウリ+ゴボウ))
 ここで、果物のトポロジー空間情報の因子である細長と、野菜のトポロジー空間情報の部分集合である因子細との関連づけが指定され、同値関係にあるとする。この場合に、2つのトポロジー空間情報は、それぞれ次のように商と剰余とに分離される。すなわち、それぞれの集合情報が商と剰余に分離されたトポロジー空間情報は、果物×細長×バナナ+果物×(全種×(リンゴ+バナナ+ミカン)+丸×(リンゴ+ミカン))+野菜×細×(キュウリ+ゴボウ)+野菜×(全種×(大根+キュウリ+ゴボウ)+太×大根)となる。
 そして、同値関係が指定された細長と、野菜のトポロジー空間情報の部分集合である細とによって、接着空間情報が{果物+野菜}×{細長+細}{バナナ+(キュウリ+ゴボウ)}+果物×(全種×(リンゴ+バナナ+ミカン)+丸×(リンゴ+ミカン))+野菜×(全種×(大根+キュウリ+ゴボウ)+太×大根)、のように構成される。
 このようにして、接着空間情報は、2つのトポロジー空間情報の構造を維持した状態で、関係付けが指定された同値関係にある因子を基に結合されている。接着空間情報より、”細”と”細長”に同値関係が認められれば、右の因子”バナナ”と”(キュウリ+ゴボウ)”を{バナナ+(キュウリ+ゴボウ)}として関連づけて出力できる。
 また、 伝票ID1枚目(A{ε+B+C{C1+C2}+D+E{E1+E2}}(a{ε+b+c{c1+c2}+d+e{e1+e2}}+位置(右上+右下)))+伝票ID2枚目(A{ε+B+C{C1+C2}+D+E{E1+E2}}(a{ε+b+c{c1+c2}+d+e{e1+e2}}))+MEMO(1(あいう)+2(ABC))+
・・・という伝票の束、およびメモMEMOを記述する情報が記憶されていた場合を考える。ここで、MEMOを1枚目の伝票の右上に、位置を指定して張り付ける例を示す。
 この例で、MEMOの1を1枚目の伝票の右上に張り付けるには、まず、MEMO情報の因子”1”、伝票1枚目の情報の因子”右上”でそれぞれ商空間が作成される。伝票ID1枚目(A{ε+B+C{C1+C2}+D+E{E1+E2}}(a{ε+b+c{c1+c2}+d+e{e1+e2}}+位置(右下)))+伝票ID1枚目×位置(右上)+伝票ID2枚目(A{ε+B+C{C1+C2}+D+E{E1+E2}}(a{ε+b+c{c1+c2}+d+e{e1+e2}}))+MEMO(2(ABC))+MEMO(1(あいう))+・・・
 ここで、”1”と”右上”の関係付けを指定し接着すると、接着情報は、{伝票ID1枚目×位置+MEMO}{右上+1}{ε+(あいう)}+剰余の部分集合を含む情報、として構成される。このように、接着情報は、相互に構造上の共通性がない2つの対象情報について、それぞれの接着前の構造を維持した状態で、2つの対象情報結合し、記憶することができる。
 (6)セル空間情報
セル空間情報は、事物、組織、人などに関する属性、あるいは人が取り扱う概念の属性と、その属性に対応する属性値とを有する情報である。属性は、キー属性とその他の属性とに分かれる。キー属性は属性値によって情報が識別できる属性であり、データベースの検索においてキーとして使用できる値に対応する。セル空間情報では、属性値(または複数の属性値を結合した列)をインスタンスと呼ぶ。インスタンスは、従来のデータベースのテーブルに格納されるレコードに相当する。それぞれのインスタンスは、インスタンスIDと呼ぶ識別情報を有する。また、キー属性、あるいは、その他の属性が複数個ある場合には、キー属性、あるいは、その他の属性は、第2の括弧“{”と“}”とによって順序が維持された因子の形式で記述される。すなわち、いわゆるベクトル形式にて属性とその対応する属性値が記述される。
 セル空間情報は、セル空間ID(本発明のセル空間識別子に相当)と、キー属性の因子と、単位元およびキー属性以外の属性を有する因子と、インスタンスの集合を有する因子とを含む。セル空間情報は、セル空間ID×(キー属性×{ε+(その他の属性の和)}×((インスタンスID×{ε+(値の和)})の和))で構成される。
 このキー属性の因子と単位元およびキー属性以外の属性を有する因子とが、本発明の属性因子に相当する。また、{ε+(その他の属性の和)}の中のいずれかの属性が複数の識別子の積からなる場合に、そのような識別子の積からなる属性が、本発明の属性の順序列に相当する。また、そのような属性が、第2の括弧“{}”で括られた因子である場合に、その第2の括弧で括られた属性が、本発明の属性の順序因子に相当する。
 また、そのような属性に対応して、インスタンスの{ε+(値の和)}中の値が、識別子の積からなるときに、その値が、本発明の値列に相当する。また、値が、第2の括弧“{}”で括られた因子である場合に、その第2の括弧で括られた値が、本発明の値の順序因子に相当する。
 セル空間情報の例は、以下のように示すことができる。
(例)
果物id×(名前{ε+形+色}(リンゴ{ε+丸+赤}+ミカン{ε+丸+黄}+バナナ{ε+細長+黄}))+野菜id×(名前{ε+形状+色}(大根{ε+太+白}+キュウリ{ε+細+緑}+ゴボウ{ε+細+茶}))
この例では、従来のリレーショナルモデルで、果物テーブル、野菜テーブルとして記述されていたような情報を、式表現で記述する。なお、この例は、2つのセル空間情報(果物と野菜)を含むことから、統合セル空間情報とも呼ばれる。
 この統合セル空間情報の処理例を示す。まず、果物のインスタンスのうち、属性“形”が“細長”の値を持つインスタンスとの部分集合(商という)と、その他のインスタンスの部分集合(剰余という)とを作成する。また、まず、野菜のインスタンスのうち、属性“形状”が“細”の値を持つインスタンス(商という)と、その他のインスタンス(剰余という)とに分離する。この場合、結合セル空間情報は、次のようになる。
果物id×バナナ×形×細長+野菜id×形状×(キュウリ+ゴボウ)細+果物id×(名前{ε+形+色}(リンゴ{ε+丸+赤}+ミカン{ε+丸+黄}+バナナ{ε+黄}))+野菜id×(名前{ε+形状+色}(大根{ε+太+白}+キュウリ{ε+緑}+ゴボウ{ε+茶}))
次に、果物のうちの属性“形”が値“細長”を有する部分集合と、野菜のうちの属性“形状”が値“細”を有する部分集合との関係付けを指定し、同値関係を設定する。そして、この同値関係によって接着空間情報を作成すると、次のようになる。
{果物id×形×バナナ+野菜id×形状×(キュウリ+ゴボウ)}{細長+細}{ε+ε}+果物id×(名前{ε+形+色}(リンゴ{ε+丸+赤}+ミカン{ε+丸+黄}+バナナ{ε+黄}))+野菜id×(名前{ε+形状+色}(大根{ε+太+白}+キュウリ{ε+緑}+ゴボウ{ε+茶}))
(記述例)
 以下、従来のデータ構造である表およびツリー構造が、本実施形態のデータ構造でどのように記述できるかを示す。
 図2は、第1の実施形態に係るセル空間情報の第一のデータ構造例を示す。同図に示すように、第1の実施形態では、従来正規化表構造として表形式で表現される対象情報は、表現形式1の状態で記憶装置に格納することができる。表現形式1で、Aは、キー属性(例えば社員番号等)、B、C、D、E等は、その他の属性(例えば、氏名、性別、入社年、所属部署等)である。
 図3は、第1の実施形態に係るセル空間情報の第二のデータ構造例を示す。同図に示すように、第1の実施形態では、従来ツリー構造として表現される対象情報は、表現形式2または3で記憶装置に格納することができる。そして、同図に示すように有向グラフの一部としてのツリー構造について対応可能である。表現形式2で、aは、例えば、動物、bはほ乳類、cは魚類、dは人、eは鯨、fはマグロ、gは鯉等である。この場合、b(ほ乳類)およびc(魚類)は、a(動物)の属性、例えば、食する、呼吸する等を継承する。b(ほ乳類)およびc(魚類)の共通の属性は、a(動物)に定義される。
 したがって、本実施形態の式表現によって、フレーム等の知識ベース、あるいは、オブジェクト指向データベース等を記述し、記憶装置に格納できる。本実施形態に係る情報処理装置は、これらに対応する事物に関する情報の入力を受け、対応する情報を生成して記憶装置に格納し、さらにその一部又は全部を読み出して出力できる。
 また、逆ツリー構造で表現される対象情報についても、表現形式3のように記憶装置に格納することができる。逆ツリー情報は、基本的な情報からより複雑な情報を構成する場合に適用できる。表現形式3では、例えば、aはCPUであり、bはインターフェースであり、cは外部記憶装置の駆動部であり、dはCPUボードであり、eは外部記憶装置であり、fはパーソナルコンピュータである。
 このように逆ツリー構造は、製品の設計書、事業の工程管理図等、基本情報からより複雑な情報を組み上げて管理することができる。したがって、本実施形態の式表現によって、製品の設計情報、事業の工程等を記述することができる。
 図4は、第1の実施形態に係る第三のデータ構造例を示す。同図に示すように、非正規化表構造と属性のない対象情報についても表現形式4の状態で保持することができる。ここで、非正規化表構造と属性のない対象情報とは、図4に示すように伝票を示す対象情報と、その対象情報に追加される付箋メモに相当する対象情報とが例示できる。接着空間を作成することで、コンピュータ上で伝票に付箋メモの内容を添付することと同等の処理が実現される。
 なお、形式が同一の伝票ごとにテーブルに格納する場合には、リレーショナルモデルによって従来のデータベースで情報を管理できる。しかしながら、伝票の種類数が変動する場合、既存の伝票の構成が変更された場合には、リレーショナルモデルでは、対応できない。
 ここで、式表現について、より詳細に上記表現形式4に基づいて説明する。IDまたはid(identification)は、格納される対象情報を識別するものである。そしてこの対象情報は、識別子A~E2、a~e2と、演算時の結合強さが異なる第一の括弧()および第二の括弧{}と、これらにより表現される因子{C1+C2}、{E1+E2}等と、これら因子の積によって表現される項E×{E1+E2}等と、前記項の和によって表現される式と、により構成される。なお、本実施形態では、項を要素ともいう。また、すでに述べたように、単位元εは、所定の処理を実行した場合に1として処理される記号である。上記以外の特別な記号として、所定の処理を実行した場合に0として処理される零元Φが存在する。このような前提のもと、格納された対象情報は、所定のプログラムを実行することによって、入力された伝票データにしたがって生成され、記憶装置に格納され、部分集合に分離され、他の部分集合と接着され、あるいは検索されることになる。
 図4の例では、インスタンスとして、伝票ID1で示される1枚目の伝票、伝票ID2で示される2枚目の伝票、およびMEMOで示されるメモが例示されている。また、この場合に、1枚目の伝票と2枚目以降の伝票で、項目の構成が異なっても構わない。本情報処理装置100は、対象情報を構成する識別子、あるいは項に、個々に属性を付与できるので、異なる属性の並びを有する異なる識別子、あるいは項を自在に記憶し、検索し、変更できる。また、{}内に、+識別子の形式で追加するとともに、属性に対応する値を追加すれば、データベースとして運用中においても、自在に属性と属性値とを追加、変更、削除できる。したがって、本実施形態によれば、厳密、詳細なファイル設計を行うことなく、取り扱うデータの構造を柔軟に変更できるようになる。
(位置表現式)
 位置表現式は、式表現における識別子の位置を示す位置情報を含む表現形式である。位置情報を、絶対位置情報とも呼ぶ。式表現としては、識別子と、順序を持つ因子の列として複数の識別子を結合する積演算子と、識別子および因子の列として結合された複数の識別子のいずれかまたは両方から項の組み合わせを構成する和演算子と、によって記述される情報を例示できる。したがって、識別子の位置、すなわち、位置表現式は、式表現中でのそれぞれの識別子が含まれる項の位置と、項の中でのそれぞれの識別子が含まれる因子の位置とによって記述できる。なお、本実施形態に係る処理の対象という意味で、位置表現式も対象情報と呼べる。実施例1では、識別子の左側に識別子の位置を示す位置情報を付加した表現形式を例示する。ただし、位置情報は、識別子の右側に付加するようにしてもよい。
 位置表現式中の位置情報は、<項の位置×因子の位置>で定義される。したがって、本実施形態で位置表現式は、<項の位置×因子の位置>識別子という形式を取る。
 (例)
 例えば、識別子A、B、Cを含む式表現A+B+Cは、位置表現式では、<1×1>A+<2×1>B+<3×1>Cである。すなわち、<1×1>Aは、第1の項の第1の因子に相当する識別子がAであることを示す。また、<2×1>Bは、第2の項の第1の因子に相当する識別子がBであることを示す。
 また、例えば、識別子A、B、Cを含む式表現A+A×B+A×B×Cは、位置表現では、<1×1>A+<2×1>A+<2×2>B+<3×1>A+<3×2>B+<3×3>Cである。以上のように、第1の括弧”(”、および”)”を含まない式表現では、式表現中の第i番目の項中の第j番目の因子となっている識別子Zは、<i×j>Zで記述される。また、複数の項を含む式表現全体の位置表現式は、それぞれの識別子の位置表現式をプラス(+)などの区切り記号で区切って並べたものとなる。
 なお、”<”、および”>”は、説明のための区切り記号であり、コンピュータ上では、”<”、および”>”で括る必要はない。例えば、位置表現を示す文字&を導入し、&項の位置×因子の位置のように記述してもよい。同様に、”位置×因子”の間の記号は、”×”である必要はない。例えば、アンダーバー"_"を用いていてもよい。さらに、複数の項に対応する位置表現で、<i×j>Zをプラス(+)で区切って並べる代わりに、他の区切り記号、例えば、他の点を示す記号、カンマ(,)、コロン(:)、セミコロン(;)、スペース、タブなどで区切って並べてもよい。
 第1の括弧”(”、および”)”を含む式表現では、情報が識別子を用いて階層的に記述される。このため、第1の括弧”(”、および”)”を含む式表現に対応する位置表現に対しては、階層の深さと、どの位置で階層が深くなったか(第1の括弧の中に入ったか)を示す情報が導入される。
 式表現A×(B+C×(D+E))+F×(G+H)を位置表現式に変換すると以下のようになる。
 (例)
 <1×1>A+(1×2)<1×1>B+(1×2)<2×1>C+(1×2)(2×2)<1×1>D+(1×2)(2×2)<2×1>E+<2×1>F+(2×2)<1×1>G+(2×2)<2×1>H
 上記例の式表現で、識別子Bは、第1項中の第2因子中にある。また、第2因子は、第1の括弧”(”と”)”とで囲まれている。そこで、識別子Bの位置表現は、まず、(1×2)を含む。そして、識別子Bは、第2因子中の()内で、第1の項の第1の因子となっている。そこで、識別子Bの位置表現は、(1×2)<1×1>Bとなる。
 同様に、上記例の式表現で、識別子Cは、第1項中の第2因子中の第2項の第1因子となっている。そこで、識別子Cの位置表現は、(1×2)<2×1>Cとなる。さらに、上記例の式表現で、識別子Dは、第1項中の第2因子中の第2項の第2因子中にある。そこでまず、識別子Dの位置情報として、(1×2)(2×2)が明示される。さらに、識別子Dは、第1項中の第2因子中の第2項の第2因子中で、()内の第1の項の第1の因子となっている。そこで、識別子Dの位置表現は、最終的には、(1×2)(2×2)<1×1>Dとなっている。
 上記例のように、識別子Zが()で囲まれた因子中にある場合、その識別子Zが含まれている項の位置を示す情報と、その項中の因子の位置を示す情報として、(i×j)が用いられる。(i×j)は、第i番目の項中の第j番目の因子中にあって、かつ、第j番目の因子が第1の括弧で囲まれた因子(集合因子)であることを示している。上記例のような式表現の位置表現は、(i×j)という第1の括弧の存在示す情報と、<k×l>のような()型の因子を含まない項の位置と因子の位置とを表す情報の組み合わせで記述される。したがって、因子が複数の()で2階層以上に深くなる場合には、(i1×j1)(i2×j2)のように第1の括弧の存在を示す情報が列記される。第1の括弧の存在を示す情報が列記された個数によって、第1の括弧による階層の深さが明示される。
 図5に、式表現から得られる位置表現式と、識別子との関係をデータベースの表に格納した例を示す。ただし、図5では、位置表現式は、絶対位置情報で示されている。図5は、上記例の式表現から得られる位置表現式と、識別子との関係を表に記述している。この例のように、実施形態1によれば、第1の項の第1の因子はA、第1の項の第2の因子中の第1の項はB、第1の項の第2の因子中の第2の項の第1の因子はC、第1の項の第2の因子中の第2の因子中のさらに第1の項はDなどのように、位置表現式と、識別子との関係を表形式で格納できる。
 さらに、例えば、値としてCを見出したときに、その位置表現式(1×2)<2×1>から、<2×1>を除外し、位置表現式(1×2)を検索することによって、識別子Cに関連する識別子を取得できる。例えば、位置表現式(1×2)(i×j)を含む属性に対応する値を取得することで、因子Cを含む項を取得できる。ここで、iとjは任意の整数である。このような位置表現式(1×2)(i×j)は、実施例1では、(1×2)*のように記述するものとする。
 すなわち、式表現から位置表現式に変換し、それぞれの識別子について、図5のように、位置表現式と識別子との関連付けを生成することで、式表現を既存のデータベースのデータに変換できる。したがって、既存のデータベースの管理システム等の機能を用いて、式表現を処理できるようになる。
 式表現が第2の括弧”{”、および”}”を含む式表現の場合にも、対応する位置表現を、第1の括弧”(”、および”)”を含む式表現と同様に生成することができる。例えば、式表現A×(B+C×{D+E})+F×{G+H}を位置表現式に変換すると、以下のようになる。
<1×1>A+(1×2)<1×1>B+(1×2)<2×1>C+(1×2){2×2}<1×1>D+(1×2){2×2}<2×1>E+<2×1>F+{2×2}<1×1>G+{2×2}<2×1>H
 このようにして、第1の括弧と第2の括弧とを組み合わせて位置情報を作成することによって、項の因子が第1の括弧と第2の括弧の組み合わせによる階層的な式表現を含む場合も、一意的に、式表現中の識別子の位置を記述できる。
 ここで、絶対位置情報の括弧で区画された各々は、当該識別子を含む項の式内における出現順位と、当該識別子を含む因子の当該識別子を含む項内における出現順位とを中置記法によって積演算子で接続したものといえる。例えば、図5の2行目において、値「A」に対応付けられている絶対位置情報<1×1>は、式A×(B+C×{D+E})+F×{G+H}のうち、1番目の項A×(B+C×{D+E})における1番目の因子Aを示している。
 また、絶対位置情報における複数の括弧の積は、式表現における入れ子状の階層構造を表している。例えば、図5の3行目において、値「B」に対応付けられている絶対位置情報のうち1つめの括弧(1×2)は、式A×(B+C×{D+E})+F×{G+H}のうち、1番目の項A×(B+C×{D+E})における2番目の因子(B+C×{D+E})を示している。また、2つ目の括弧<1×1>は、式(B+C×{D+E})のうち、1番目の項Bにおける1番目の因子Bを示している。なお、本実施形態では、より多くの括弧でくくられるほど下位の階層または階層が深いと表現するものとする。
 また、絶対位置情報の括弧のうち、第1の括弧“(”及び“)”は、式表現において第1の括弧で区画された階層を示している。一方、第2の括弧“{”及び“}”は、式表現において第2の括弧で区画された階層を示している。
 以上のように、位置表現式によれば、式表現で記述される情報を、各識別子の位置が一意に特定可能な情報を付加した形式で表すことができる。また、式表現における式と位置表現式とは、相互に変換することができる。
 なお、式表現に含まれる式に対して位置情報を付加するようにしてもよい。例えば、式表現に含まれるすべての項(式表現の部分集合)に対し、各項に含まれる少なくともいずれかの因子に位置情報を付加する。式表現A×(B+C×(D+E))+F×(G+H)は、2つの項A×(B+C×(D+E))及びF×(G+H)を含んでいる。このとき、各項の先頭の因子A及びFに位置情報を付加すると、当初の式表現は、<1×1>A×(B+C×(D+E))+<2×1>F×(G+H)という位置表現式で表すことができる。そして、当該位置表現式は、2つの部分<1×1>A×(B+C×(D+E))及び<2×1>F×(G+H)に分割したり、位置情報に基づいて分割後の部分を結合してもとの位置表現式に戻したりすることができる。
 また、上述した結合律が示す通り、和演算子で結合された式表現の一部は、任意の位置で部分集合(丸括弧で区画される式表現の部分)に分けることができる。例えば、A+B+Cという式は、A+(B+C)又は(A+B)+Cと表現することができる。このように、式表現を項の部分集合に分割し、各項に位置情報を付加すれば、位置情報に基づいて項を結合し、もとの式表現に戻すことができる。よって、上述の式表現は、<1×1>A+<2×1>B+<3×1>Cという位置表現式のほか、<1×1>A+<2×1>(B+C)、又は<1×1>(A+B)+<2×1>Cという位置表現式で表すこともできる。
(システム構成)
 図6は、本実施形態に係るシステムの一例を示す構成図である。図6のシステム1は、本実施形態に係る処理を制御する情報処理装置100と、本実施形態に係る処理を分散して実行するサーバ装置200(図6の例では、200a、200b、200c・・・)とを含む。また、情報処理装置100とサーバ装置200とは、ネットワーク300を介して通信可能に接続されている。なお、図6の例では1つの情報処理装置100が他のサーバ装置200を集中管理するものとして説明しているが、分散制御を行う装置群を構成してもよい。すなわち、いずれの装置が処理の要求を受け付けた場合も、データを分割して他の装置及び自装置に分散して格納したり、自身の保持するデータと他の装置が保持するデータとを結合(「復元」とも呼ぶ)し、結合結果を出力したりする。
(情報処理装置の装置構成)
 図7は、第1の実施形態(実施例1ともいう)に係る情報処理装置100の構成を例示すブロック図である。同図に示すように、第1の実施形態に係る情報処理装置100は、対象情報を入力するキーボード、ポインティングデバイス等の入力手段11と、入力された対象情報を格納するメモリ12(本発明の記憶部に相当)と、対象情報を所定のプログラムに基づいて処理するCPU13と、入力された対象情報や処理後の対象情報を出力するディスプレイ等の出力手段14と、CPU13と入力手段11との間を接続するインターフェース15と、CPU13と出力手段14との間を接続するインターフェース16とを備える。
 インターフェース15は、例えば、USB(Universal Serial Bus)等のシリアルインターフェースである。また、インターフェース16は、例えば、RGB(赤、緑、青)の画像信号および同期クロックの出力インターフェースである。
 ただし、図7において点線で例示されているように、情報処理装置100は、インターフェースを介して、外部記憶装置、着脱可能な記憶媒体の駆動装置、通信部等と接続されるようにしてもよい。ここで、外部記憶装置は、例えば、ハードディスク駆動装置、SSD(Solid State Drive)等である。また、着脱可能な記憶媒体は、例えば、CD(Compactdisc)、DVD(Digital Versatile Disk)、ブルーレイディスク、フラッシュメモリカード等である。また、通信部は、ネットワークにアクセスし他の情報処理装置と通信する装置であり、例えば、NIC(Network Interface Card)等である。
 情報処理装置100は、典型的には、パーソナルコンピュータ、サーバ等のコンピュータである。ただし、情報処理装置100は、そのようなコンピュータに限定されるものではなく、例えば、携帯情報端末、携帯電話、PHS(Personal Handyphone System)、デジタルテレビ、デジタルテレビのチューナあるいはセットトップボックス、ハードディスクを含むテレビジョンの録画装置、車載用の端末等として実現できる。また、メモリ12は、揮発性のDRAM(Dynamic Random Access Memory)、不揮発性のEPROM(Erasable Programmable Read Only Memory)、EEPROM(Electronically Erasable and Programmable Read Only Memory)、フラッシュメモリ等を含む。
 情報処理装置100の機能は、CPU13がプログラムを実行することで実現される。このプログラムは、メモリ12あるいは不図示の外部記憶装置にインストールされる。プログラムは、通信インターフェースを通じてネットワークから、あるいは、着脱可能な記憶媒体からインストールされる。したがって、このプログラムは、ネットワークあるいは着脱可能な記憶媒体等を通じて流通される。
 また、メモリ12あるいは不図示の外部記憶装置に格納された対象情報は、CPU13が所定のプログラムを実行することによって各レベルを移行する。なお、各レベルとは、前記対象情報の抽象度が最も高く表現される集合レベル122と、前記集合レベル122よりも前記対象情報の抽象度が低く表現され、該対象情報が部分集合を要素として表現されるトポロジー空間レベル123と、前記トポロジー空間レベルよりも前記対象情報の抽象度が低く表現され、該トポロジー空間レベルにおける前記対象情報同士が接着される接着空間レベル124と、前記トポロジー空間における前記対象情報が所定の属性をもって表現されるセル空間レベル125とによって例示される。また、各レベルで表現される対象情報は、位置情報を付加した位置表現式として表すこともできる。
(サーバ装置の装置構成)
 図8は、第1の実施形態に係るサーバ装置200の構成を例示すブロック図である。サーバ装置200も、情報処理装置100と同様に一般的なコンピュータ装置である。同図に示すように、第1の実施形態に係るサーバ装置200は、対象情報を入力するキーボード、ポインティングデバイス等の入力手段21と、入力された対象情報を格納するメモリ22(本発明の記憶部に相当)と、対象情報を所定のプログラムに基づいて処理するCPU23と、入力された対象情報や処理後の対象情報を出力するディスプレイ等の出力手段24と、CPU23と入力手段21との間を接続するインターフェース25と、CPU23と出力手段24との間を接続するインターフェース26とを備える。
 インターフェース25は、例えば、USB等のシリアルインターフェースである。また、インターフェース26は、例えば、RGBの画像信号および同期クロックの出力インターフェースである。
 ただし、図8において点線で例示されているように、サーバ装置200は、インターフェースを介して、外部記憶装置、着脱可能な記憶媒体の駆動装置、通信部等と接続されるようにしてもよい。ここで、外部記憶装置は、例えば、ハードディスク駆動装置、SSD等である。また、着脱可能な記憶媒体は、例えば、CD、DVD、ブルーレイディスク、フラッシュメモリカード等である。また、通信部は、ネットワークにアクセスし他の情報処理装置と通信する装置であり、例えば、NIC等である。
 なお、サーバ装置200もコンピュータに限定されるものではなく、例えば、携帯情報端末、携帯電話、PHS、デジタルテレビ、デジタルテレビのチューナあるいはセットトップボックス、ハードディスクを含むテレビジョンの録画装置、車載用の端末等として実現できる。また、メモリ22は、揮発性のDRAM、不揮発性のEPROM、EEPROM、フラッシュメモリ等を含む。
 サーバ装置200の機能は、CPU23がプログラムを実行することで実現される。このプログラムは、メモリ22あるいは不図示の外部記憶装置にインストールされる。プログラムは、通信インターフェースを通じてネットワークから、あるいは、着脱可能な記憶媒体からインストールされる。したがって、このプログラムは、ネットワークあるいは着脱可能な記憶媒体等を通じて流通される。
 また、メモリ22あるいは不図示の外部記憶装置に格納される対象情報(式)221は、位置情報が付加され、関連付けられたキー(Key)222とバリュー(Value)223とを含むKVS(Key Value Store)形式で保持される。なお、KVSは具体的な実現手段の一例であり、他の形式を用いるようにしてもよい。例えば、キーに位置情報を保持し、バリューに因子を保持するようにしてもよいし、キーに共通する因子を保持し、バリューに当該共通の因子と積演算子で結合される他の因子を和演算子で接続して保持するようにしてもよい。
(分割格納処理)
 図9は、情報処理装置100によって実行される対象情報の分割格納処理の一例を示す処理フロー図である。情報処理装置100は、メモリ12に実行可能に展開されたコンピュータプログラムを実行し、図9の処理を実行する。なお、図9の処理では、対象情報は式表現形で保持されているものとする。
 まず、情報処理装置100は、対象情報である式をメモリ12に読み出す(図9:D1)。ここでは、例えば各国ごとにデータ構造(式の構造)が異なる何らかの対象情報を扱うものとする。例えば、次のような式が読み出される。
(例)
ドイツ(式1)+フランス(式2)+日本(式3)+ドイツ(式4)+フランス(式5)+日本(式6)+ドイツ(式7)+フランス(式8)+日本(式9)+・・・
なお、式1、式2、・・・はそれぞれ本実施形態に係る式表現である。すなわち、和演算子、積演算子、順序因子構成演算子、集合因子構成演算子等を含み得る。また、各式の構造は積演算子で接続される国名ごとに異なっているものとする。
 次に、情報処理装置100は、対象情報を所定の位置で分割するとともに位置情報を付加する(D2)。対象情報は文字列であるため任意の位置で分割することができるが、本実施形態では式表現における項の間で分割する。項の間とは、式表現において和演算子で接続された箇所である。また、式表現は入れ子状に複数の式を含むが、本実施形態における第2の括弧(順序因子構成演算子)で区画された階層よりも上位の箇所(括弧で区画された式の外部)で分割するものとする。換言すれば、第2の括弧内では分割を行わない。第2の括弧で区画された階層に含まれる項は、順序を維持して扱わなければ整合性がとれなくなるおそれがあるところ、順序を維持して分割すれば分割後の式を用いて並列処理も可能となる。例えば次のような式を分割する場合について説明する。
(例)
A(B+C)+{D+E}{F+G}
この例では、A(B+C)と{D+E}{F+G}との間で分割することができる。なお、上述した分配律に基づき、A×BとA×C+{D+E}{F+G}とに分割するようにしてもよい。ただし、第2の括弧内であるDとEとの間、又はFとGとの間では分割を行わないものとする。そして、分割後の式の各々に対して並列に検索処理や集計処理を実行し、結果をさらに結合したり集計したりすることができる。すなわち、式表現で記述された対象情報を分散して保持し、並列処理が可能な形式に分割することができる。
 具体的な分割位置は、ユーザによる指定を受け付けるようにしてもよい。この場合、例えば上記の条件に基づき、式表現において「+」で接続された箇所のいずれかをユーザが指定する。そして、指定された箇所で複数の式(すなわち、対象情報の部分集合)に分割する。例えばユーザが項「フランス(式2)」と項「日本(式3)」との間を指定した場合、対象情報は次のような位置表現式で表される2つの部分集合に分割される。
(分割例1)
<1×1>(ドイツ(式1)+フランス(式2))、
<2×1>(日本(式3)+ドイツ(式4)+フランス(式5)+日本(式6)+ドイツ(式7)+フランス(式8)+日本(式9)+・・・)
 また、データサイズに基づいて分割後の部分集合が所定の容量以内となるように分割位置を決定してもよい。この場合、例えば先頭からのデータ量を計算し、所定の閾値を越える直前に存在する項の間で分割する。このようにすれば、分割後の式の容量が一定以下になるように対象情報を分割することができる。例えば先頭から式5の途中までで所定の容量を超え、さらに式4の後から式9の途中までで所定の容量を超える場合、対象情報は次のような3つ以上の部分集合に分割される。
(分割例2)
<1×1>(ドイツ(式1)+フランス(式2)+日本(式3)+ドイツ(式4))、
<2×1>(フランス(式5)+日本(式6)+ドイツ(式7)+フランス(式8))、
<3×1>(日本(式9)+・・・
 また、各項内において積演算子で接続された所定の因子を共通に含む項ごとに分割するようにしてもよい。このようにすれば、情報の意味や特徴に基づいて対象情報を分割することができる。上述の式表現の例を参照すると、各項内において国名である「ドイツ」、「フランス」、「日本」といった因子が積演算子で結合されている。よって、例えば各項において左側に積演算子で結合されている因子が共通する項ごとに分割すると、対象情報は次のような3つの部分集合に分割される。
(分割例3)
ドイツ(<1×2>(式1)+<4×2>(式4)+<7×2>(式7)+・・・)、
フランス(<2×2>(式2)+<5×2>(式5)+<8×2>(式8)+・・・)、
日本(<3×2>(式3)+<6×2>(式6)+<9×2>(式9)+・・・)
 その後、情報処理装置100は、分割後の対象情報の部分集合をサーバ装置200に分散して格納させる(D3)。本ステップでは、所定の規則に基づいて複数のサーバ装置200にデータを振り分け、ネットワークを介して送信する。一方、データを取得したサーバ装置200は、それぞれ記憶装置にデータを格納する。上述の分割例1の場合、2つのサーバ装置200は、それぞれ図10A及び図10Bに示すようにKVS形式でデータを保持する。図10A及び図10Bの例では、分割後の項ごとに、キーに位置情報が、バリューに式が対応付けられて格納されている。また、分割例2の場合、3つのサーバ装置200は、それぞれ図11A~図11Cに示すようにKVS形式でデータを保持する。図11A~図11Cの例でも、分割後の項ごとに、キーに位置情報が、バリューに式が対応付けられて格納されている。また、分割例3の場合、3つのサーバ装置200は、それぞれ図12A~図12Cに示すようにKVS形式でデータを保持する。図12A~図12Cの例では、分割後の項ごとに、キーには共通因子が、バリューには共通因子と積演算子で結合された位置表現式が対応付けられて格納されている。
 以上のような分割処理により、式で記述された対象情報を複数のサーバ装置200に分散配置することができる。また、上述の分割例1~3のように分割後の各項につきそれぞれに含まれる少なくとも1つの因子に位置情報を付加すれば、位置情報に基づいて各項を結合することで元の式に戻すことができる。このとき、各項に構造の異なる式が含まれていても処理が可能である。図10A~図12Cに示すように、分割は、順序因子構成演算子で包囲された式の外側であって、和演算子で接続された位置のいずれかで行われる。すなわち、式1、式2、式3、・・・といった対象情報の内容は、維持すべき構成要素(識別子等)の順序を保持しつつ分割される。よって、分割後のデータに対し並列処理を行うことができる。なお、同一の情報を複数のサーバ装置200で重複して保持することにより、可用性を向上させてもよい。
(結合処理)
 次に、分散配置した対象情報を結合(復元)してユーザに提示する処理を説明する。上述の分割処理によって生成された対象情報の部分集合は、位置情報に基づいて元の対象情報に戻すことができる。具体的には、各項のいずれかの因子に付加されている位置情報に基づいて、項の出現順位を示す値の小さい順、且つ因子の出現順位の小さい順に結合する。
 図13に、結合処理を実行するアプリケーションプログラムの処理例を示す。なお、分割処理によって生成された位置表現式が、複数のサーバ装置200において図10A及び図10B、図11A~図11C、又は図12A~図12CのKVS形式で保持されているものとする。
 まず、情報処理装置100は、ユーザから結合処理の実行指示を受け付ける(図13:C1)。また、情報処理装置100は、複数のサーバ装置200に分散して格納されている対象情報の部分集合を各サーバ装置200から取得する(C2)。
 その後、情報処理装置100は、取得した結果を結合する(C3)。サーバ装置200から取得した情報には位置情報が付加されているため、位置情報に基づいて項の出現順位を示す値の小さい順、且つ因子の出現順位の小さい順に結合することにより、もとの対象情報を生成することができる。本実施形態によれば各サーバ装置200が処理した結果を情報処理装置100は単純に結合することができるため、サーバ装置の数を増やすことで全体の処理速度を向上させることができる。
 その後、情報処理装置100は、結合した結果を出力する(C4)。ここでは、例えば位置情報を含む位置表現式として記述された対象情報を出力してもよいし、位置情報を削除して式表現で記述された対象情報を出力してもよい。以上で、結合処理を終了する。
(具体的なデータへの適用例)
 本実施形態に係る分割処理は、様々なデータを対象情報として扱うことができる。例えば、ビルディングのような建築物に設けられた設備、工業製品等のBOM(Bills of Materials:構成表)を式表現に変換して扱うことができる。一般的にBOMはメーカーごとに異なる形式で記述されている。そして、完成品である建築物や工業製品には複数の構成要素が含まれる。スキーマの統一されていないデータをそのまま結合したり、例えば建物や建設会社、設備機器メーカーを示す因子に基づいて、建物、建設会社又は設備機器メーカーごとに分割したりすることができる。また、分割後のデータを用いて並列に処理を行ってもよい。分散処理によって処理性能を向上させることができる。
 同様に、加工食品の原材料を対象情報としてもよい。食品は、生産から小売りまでの各段階において取引データの項目が異なる。また、卸業者の変更や品質検査ステップの追加等、流通フローが変化することもある。上記実施形態に係る処理によれば、スキーマの統一されていないデータを統合して扱うことができる。また、上記の分散処理によれば処理性能を向上させることができる。
 また、不動産の地番を対象情報としてもよい。土地は区画整理等による分割(分筆)や、統合(合筆)により地番が変更されたり、地名が変更されたりすることがある。このようなデータは、例えばポインタを用いることで閉路のない有向グラフ(DAG:Directed Acyclic Graph)として扱うことができる。式表現や位置表現式によれば、ポインタ属性を設けることで、地番が変わった場合であってもある土地の地目を容易に過去にさかのぼって参照可能なシステムを構築することができる。
 その他、人脈の接続関係(人材の交友関係)や、ソフトウェア開発における顧客要件と要件定義との関連付け、化学分野における化学式の原子の接続関係など、システムで関連付けが困難であった情報を処理可能とすることができ、さらに処理性能を向上させることができる。なお、各データを式表現や位置表現式に変換する処理は、具体的なデータ毎に定義することができる。
(その他の変形例)
 上記の例では1つの対象情報を分割する処理、及び復元(結合)する処理を説明したが、複数の対象情報を統合する処理、及び復元(分割)する処理を行うこともできる。図14は、複数の対象情報の統合及び復元(分割)を説明するための図である。上段に示すように、ドイツのDB(Database)、フランスのDB及び日本のDBに、それぞれ式1~式3、式4~式6及び式7~式9が登録されている。ここでは、例えば図2~図4に示したようなデータ構造の対象情報が式で記述され、各DBに登録されている。また、各DBは、例えば図示していない3つのサーバ装置にそれぞれ格納されている。なお、各DBは例えば国ごとにそれぞれスキーマが異なっていてもよい。
 次に、図14の中段では、3つの対象情報が統合されている。ここでは、国名を表す因子と当該国のDBに登録されていた式を記述した因子とが積演算子で接続された項を形成し、3つのDBぶんの項が和演算子で接続された式が、統合DBに登録されている。統合された式は、国名を表す因子をキーとし、当該国名と積演算子で接続された式をバリューとするKVS形式で保持するようにしてもよいし、例えばさらに各式にもとのDBにおける位置情報を付加しておいてもよい。このように、国名を表す因子は、統合前のDBを特定するための情報ともいえる。
 その後、図14の下段では、3つの対象情報が復元(分割)されている。分割は、例えば、各項の中において積演算子で接続された最も左の因子、又は各項の中において積演算子で接続された1つの識別子からなる因子に基づいて行う。そして、当該因子が示すDB(各国のDB)に分割して登録する。なお、式は1行のテキストで記述されるため、分割後はもとの対象情報が復元されるが、位置情報が付加されている場合には位置情報に基づいて分割するようにしてもよい。以上のような処理によれば、複数のサーバ装置で管理されている対象情報を統合して統合後のデータに様々な処理を行うことができるとともに、元の対象情報を復元することができる。なお、複数の対象情報はスキーマが統一されていなくてもよい。
 また、実施形態で述べた式表現を示す記号、位置表現式を示す記号は、一例である。したがって、例えば、和演算子、積演算子、集合因子構成演算子、順序因子構成演算子に代えて、他の記号を用いてもよい。また、位置表現<i×j>(i×j){i×j}に代えて、他の記号を用いてもよい。
 また、実施形態で述べた式表現、および位置表現式の適用対象は、KVSに限定される訳ではない。ただし、位置情報と識別子とをKVS形式で保持することにより、分散処理に好適なシステムを構築することができる。
 また、アプリケーションは、式表現で含まれる識別子に関連する関連情報法を取得する処理に限定される訳ではない。実施形態に示した情報処理装置100、サーバ装置200の機能は、これまで提案されていなかった新たなデータベースのデータ構造と、データ処理の手順を例示している。したがって、実施形態の技術は、利用者が取り扱う事物、組織、人などに関する情報、あるいは利用者が取り扱う概念などのコンピュータ上での処理に適用できる。そのようなコンピュータ上の処理としては、例えば、事物、組織、人などに関する情報、あるいは概念をコンピュータ上の情報として記述し、メモリ等の主記憶装置、ハードディスク等の外部記憶装置に格納し、データベースを構築し、格納した情報を抽出し、更新し、管理する技術一般に適用できる。すなわち、実施形態に係る情報処理装置100、サーバ装置200は、コンピュータ上の新たな情報の表現技術を例示する。
 11、21  入力部
 12、22  メモリ
 13、23  CPU
 14、24  出力部
 15、16、25、26 インターフェース
 100  情報処理装置
 200  サーバ装置

Claims (8)

  1.  記号によって形成される識別子と、1以上の前記識別子を含む因子を結合し、順序を有する因子の列を形成する積演算子と、1以上の前記因子を含む項を結合し、当該項の組み合わせである式を形成する和演算子とを用いて記述される対象情報を処理する情報処理装置であって、
     前記対象情報を所定の位置で複数の項に分割する分割部と、
     分割後の項に含まれる因子の少なくともいずれかに対し、前記対象情報内における項の出現順位と当該項内における当該因子の出現順位とを含む位置情報を付加し、前記分割後の項ごとに複数のサーバ装置のいずれかに保持させる送信部と、
     を含む情報処理装置。
  2.  前記対象情報は、順序を維持して前記項の組み合わせを関係付ける順序因子構成演算子、又は順序を維持せず前記項の組み合わせを関係付ける集合因子構成演算子によって区画された前記式を、前記因子として入れ子状に含む階層構造を有し、
     前記所定の位置は、前記対象情報を、前記順序因子構成演算子で区画された前記式の外側において前記和演算子で区画された箇所のいずれかである
     請求項1に記載の情報処理装置。
  3.  前記複数のサーバ装置からそれぞれ前記分割後の項を受信し、前記位置情報に基づいて、項の出現順位が小さい順且つ因子の出現順位が小さい順に各項を結合して前記対象情報を生成する結合部
     をさらに含む請求項1又は2に記載の情報処理装置。
  4.  前記サーバ装置がそれぞれ保持する前記位置表現式は、ユーザによって指定された位置において分割される
     請求項1から3のいずれか一項に記載の情報処理装置。
  5.  前記サーバ装置がそれぞれ保持する前記位置表現式は、分割後の部分集合が所定の容量以内となる位置において分割される
     請求項1から3のいずれか一項に記載の情報処理装置。
  6.  前記サーバ装置がそれぞれ保持する前記位置表現式は、前記積演算子で接続された所定の因子を共通に含む項ごとに分割される
     請求項1から3のいずれか一項に記載の情報処理装置。
  7.  記号によって形成される識別子と、1以上の前記識別子を含む因子を結合し、順序を有する因子の列を形成する積演算子と、1以上の前記因子を含む項を結合し、当該項の組み合わせである式を形成する和演算子とを用いて記述される対象情報を処理する情報処理装置が実行する情報処理方法であって、
     前記対象情報を所定の位置で複数の項に分割するステップと、
     分割後の項に含まれる因子の少なくともいずれかに対し、前記対象情報内における項の出現順位と当該項内における当該因子の出現順位とを含む位置情報を付加し、前記分割後の項ごとに複数のサーバ装置のいずれかに保持させるステップと、
     を含む情報処理方法。
  8.  記号によって形成される識別子と、1以上の前記識別子を含む因子を結合し、順序を有する因子の列を形成する積演算子と、1以上の前記因子を含む項を結合し、当該項の組み合わせである式を形成する和演算子とを用いて記述される対象情報を処理する情報処理装置によって実行されるプログラムであって、
     前記対象情報を所定の位置で複数の項に分割するステップと、
     分割後の項に含まれる因子の少なくともいずれかに対し、前記対象情報内における項の出現順位と当該項内における当該因子の出現順位とを含む位置情報を付加し、前記分割後の項ごとに複数のサーバ装置のいずれかに保持させるステップと、
     を含むプログラム。
PCT/JP2015/063390 2014-05-09 2015-05-08 情報処理装置、情報処理方法およびプログラム WO2015170770A1 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
EP15788652.4A EP3142013A4 (en) 2014-05-09 2015-05-08 Information processing device, information processing method, and program
CA2948447A CA2948447A1 (en) 2014-05-09 2015-05-08 Information processing device, information processing method, and program
JP2016518240A JP6542204B2 (ja) 2014-05-09 2015-05-08 情報処理装置、情報処理方法およびプログラム
US15/309,872 US9990415B2 (en) 2014-05-09 2015-05-08 Data structure for representing information using expressions
CN201580024644.7A CN106575255A (zh) 2014-05-09 2015-05-08 信息处理装置、信息处理方法以及程序

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2014-097501 2014-05-09
JP2014097501 2014-05-09

Publications (1)

Publication Number Publication Date
WO2015170770A1 true WO2015170770A1 (ja) 2015-11-12

Family

ID=54392618

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2015/063390 WO2015170770A1 (ja) 2014-05-09 2015-05-08 情報処理装置、情報処理方法およびプログラム

Country Status (6)

Country Link
US (1) US9990415B2 (ja)
EP (1) EP3142013A4 (ja)
JP (1) JP6542204B2 (ja)
CN (1) CN106575255A (ja)
CA (1) CA2948447A1 (ja)
WO (1) WO2015170770A1 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108776578B (zh) * 2018-06-01 2021-10-26 紫光西部数据(南京)有限公司 一种快速合并对象的方法和系统
CN112199370B (zh) * 2020-09-02 2024-01-26 安徽深迪科技有限公司 一种可有效提高结算效率的bom加速结算工方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007088982A2 (ja) * 2006-02-03 2007-08-09 Maeda Construction 情報処理装置、情報処理方法、プログラム、データ構造、および媒体
WO2012023192A1 (ja) * 2010-08-18 2012-02-23 前田建設工業株式会社 情報処理装置、情報処理方法、プログラム、および媒体

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8396712B2 (en) * 2004-08-26 2013-03-12 West Corporation Method and system to generate finite state grammars using sample phrases
US8863101B2 (en) * 2008-12-10 2014-10-14 International Business Machines Corporation Compiler generator
WO2013042230A1 (ja) * 2011-09-21 2013-03-28 前田建設工業株式会社 情報処理装置
JP5357286B2 (ja) 2011-09-21 2013-12-04 前田建設工業株式会社 情報処理装置、情報処理方法、およびプログラム
CN103475905B (zh) * 2013-09-25 2016-06-15 浙江大学 云环境下基于网络连接复用的影像数据块高效传输方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007088982A2 (ja) * 2006-02-03 2007-08-09 Maeda Construction 情報処理装置、情報処理方法、プログラム、データ構造、および媒体
WO2012023192A1 (ja) * 2010-08-18 2012-02-23 前田建設工業株式会社 情報処理装置、情報処理方法、プログラム、および媒体

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP3142013A4 *

Also Published As

Publication number Publication date
US9990415B2 (en) 2018-06-05
CN106575255A (zh) 2017-04-19
CA2948447A1 (en) 2015-11-12
JP6542204B2 (ja) 2019-07-10
EP3142013A4 (en) 2017-10-04
US20170270187A1 (en) 2017-09-21
JPWO2015170770A1 (ja) 2017-04-20
EP3142013A1 (en) 2017-03-15

Similar Documents

Publication Publication Date Title
Zakir et al. Big data analytics.
US9652559B2 (en) Managing information assets using feedback re-enforced search and navigation
Reis et al. Fundamentals of data engineering
JP2019512816A (ja) ページリソースの配置方法及び装置
US20050125463A1 (en) Business data migration using metadata
JP2013080375A (ja) 個人情報匿名化装置及び方法
US20210397601A1 (en) Enforcing path consistency in graph database path query evaluation
US20150379166A1 (en) Model compilation for feature selection in statistical models
US10586169B2 (en) Common feature protocol for collaborative machine learning
EP3499379B1 (en) Computer implemented and computer controlled method, computer program product and platform for manipulating data arranged for processing and storage at a data storage engine
US20210201345A1 (en) Solution graph for managing content in a multi-stage project
WO2015170770A1 (ja) 情報処理装置、情報処理方法およびプログラム
US11295273B2 (en) Normalized object exposure for collaborative platforms
JP5357286B2 (ja) 情報処理装置、情報処理方法、およびプログラム
US10248300B2 (en) Polymorph rendering for collaborative platforms
JP6682754B2 (ja) 情報処理装置、情報処理方法およびプログラム
US20200201610A1 (en) Generating user interfaces for managing data resources
Bardi et al. Coping with interoperability and sustainability in cultural heritage aggregative data infrastructures
JP5512817B2 (ja) 情報処理装置、情報処理方法、プログラム、および媒体
JP5764226B2 (ja) 情報処理装置、情報処理方法、プログラム、および媒体
JP2009110440A (ja) 情報処理装置、情報処理方法、プログラム、および媒体
Arévalo et al. Formal concept analysis-based service classification to dynamically build efficient software component directories
CN111737409B (zh) 辅助系统及存储介质
US11693878B2 (en) Generation of a dataset in the format of a machine learning framework
WO2013042230A1 (ja) 情報処理装置

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: 15788652

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2948447

Country of ref document: CA

Ref document number: 2016518240

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

WWE Wipo information: entry into national phase

Ref document number: 15309872

Country of ref document: US

REEP Request for entry into the european phase

Ref document number: 2015788652

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 2015788652

Country of ref document: EP