Method and structure for unstructured domain-independent object-oriented information middleware
First Claim
Patent Images
1. A method of representing information, said method comprising:
- generating, using a processor on a computer, a first software object comprising a first node;
generating a second software object comprising a second node, using said processor;
generating a third software object comprising a nexus that connects said first node and said second node, using said processor, said nexus being a type of link or an extension of a hypergraph link;
performing at least one of the following, using said processor;
generating a fourth software object as a third node, said third node comprising said first node, said second node, and said nexus; and
generating a fifth software object as a fourth node, said fourth node comprising said nexus; and
directing said at least one of said fourth and fifth software objects to a memory for storage;
wherein said first node, said second node, and said third node serve as respective information containers directly addressable by a user and each of the nodes has a format as a tuple;
S=[Label], N, C>
, where the label comprises a name which is optional, and N and C comprise two collections of nexus representing, respectively, a neighborhood and a content of S.
1 Assignment
0 Petitions
Accused Products
Abstract
A structure and method are provided which can model and use information in a systematic, domain-independent manner, which can flexibly represent declarative data such as concepts, instances, relations and contexts and data views, and which may serve as a middleware module for user applications. The invention teaches a syntax and functionality of a set of software objects that represent, store and dynamically retrieve information on behalf of user applications.
19 Citations
18 Claims
-
1. A method of representing information, said method comprising:
-
generating, using a processor on a computer, a first software object comprising a first node; generating a second software object comprising a second node, using said processor; generating a third software object comprising a nexus that connects said first node and said second node, using said processor, said nexus being a type of link or an extension of a hypergraph link; performing at least one of the following, using said processor; generating a fourth software object as a third node, said third node comprising said first node, said second node, and said nexus; and generating a fifth software object as a fourth node, said fourth node comprising said nexus; and directing said at least one of said fourth and fifth software objects to a memory for storage; wherein said first node, said second node, and said third node serve as respective information containers directly addressable by a user and each of the nodes has a format as a tuple;
S=[Label], N, C>
,where the label comprises a name which is optional, and N and C comprise two collections of nexus representing, respectively, a neighborhood and a content of S. - View Dependent Claims (2, 3)
-
-
4. A computer comprising a processor executing a middleware module permitting said processor to represent and store information for a user application, said middleware module comprising:
-
a library having a module to generate an information-container, said module comprising a set of machine-readable instructions embodied on a machine-readable storage medium and allowing for; generating a first software object comprising a first node; generating a second software object comprising a second node; generating a third software object comprising a nexus that connects said first node and said second node, said nexus being a type of link or an extension of a hypergraph link; performing at least one of the following; generating a fourth software object as a third node, said third node comprising said first node, said second node, and said nexus; and generating a fifth software object as a fourth node, said fourth node comprising said nexus; and an Application Program Interface (API) comprising a set of machine-readable instructions embodied on a machine-readable storage medium to allow a user to fill in data for said information-container generated by said module, said middleware module being executed by said processor on said computer as a middleware module of computer instructions, meaning that said middleware module is supported by an operating system currently running on said computer and said middleware module supports an application program currently running on said computer, wherein said first node, said second node, and said third node serve as respective information containers directly addressable by a user and each of the nodes has a format as a tuple;
S=[Label], N, C>where the label comprises a name which is optional, and N and C comprise two collections of nexus representing, respectively, a neighborhood and a content of S. - View Dependent Claims (5, 6)
-
-
7. A data structure tangibly embodied in a computer-readable storage medium and representing information stored in a database, said data structure comprising:
-
a first software object comprising a first node; a second software object comprising a second node; a third software object comprising a nexus that connects said first node and said second node, said nexus being a type of link or an extension of a hypergarph link; and at least one of the following; a fourth software object generated as a third node, said third node comprising said first node, said second node, and said nexus; and a fifth software object generated as a fourth node, said fourth node comprising said nexus, wherein said first node, said second node, and said third node serve as respective information containers directly addressable by a user and each of the nodes has a format as a tuple;
S=[Label], N, C>where the label comprises a name which is optional, and N and C comprise two collections of nexus representing, respectively, a neighborhood and a content of S. - View Dependent Claims (8, 9)
where SE and TE are collections, optionally ordered, of containers (nexus and nodes), representing source ends and target ends, respectively, (collectively, “
ends”
), label is optional and comprises one of a string and a node, labelParam comprises an optional string that names the target ends and is used to name the members of TE when accessed through the nexus, map comprises a procedure that runs every time the nexus is referenced, and returns TE, mapParam comprises a list of containers (nexus and nodes) that are parameters to the map, ends comprises a multiset of nodes and/or raw data that is navigated, and said nexus may have an arbitrary number of ends.
-
-
9. The data structure of claim 7, further comprising:
a sixth software object comprising a nexus to connect said fourth node to another node or nexus.
-
10. An apparatus to represent and store information for a user application, said apparatus comprising:
-
a storage device containing a library having a module to generate an information-container, said module allowing for; generating a first software object comprising a first node; generating a second software object comprising a second node; generating a third software object comprising a nexus that connects said first node and said second node, said nexus being a type of link or an extension of a hypergraph link; performing at least one of the following; generating a fourth software object as a third node, said third node comprising said first node, said second node, and said nexus; and generating a fifth software object as a fourth node, said fourth node comprising said nexus; and a processor executing an Application Program Interface (API) to allow a user to fill in data for each said information-container generated by said library module, wherein said first node, said second node, and said third node serve as respective information containers directly addressable by a user and each of the nodes has a format as a tuple;
S=[Label], N, C>where the label comprises a name which is optional, and N and C comprise two collections of nexus representing, respectively, a neighborhood and a content of S. - View Dependent Claims (11, 12)
-
-
13. A network executing a method to represent and store information for a user application, said network comprising:
-
at least one computer executing a middleware module having the ability to do at least one of the following; generate an information-container using a format of representing information including; generating a first software object comprising a first node; generating a second software object comprising a second node; generating a third software object comprising a nexus that connects said first node and said second node, said nexus being a type of link or an extension of a hypergraph link; and performing at least one of the following; generating a fourth software object as a third node, said third node comprising said first node, said second node, and said nexus; and generating a fifth software object as a fourth node, said fourth node comprising said nexus; and allowing a user to fill in data for each said information-container generated by said method, wherein said first node, said second node, and said third node serve as respective information containers directly addressable by a user and each of the nodes has a format as a tuple;
S=[Label], N, C>where the label comprises a name which is optional, and N and C comprise two collections of nexus representing, respectively, a neighborhood and a content of S. - View Dependent Claims (14, 15)
-
-
16. A storage medium tangibly embodying a program of machine-readable instructions executable by a digital processing apparatus to perform a method of representing information, said method comprising:
-
generating a first software object comprising a first node; generating a second software object comprising a second node; and generating a third software object comprising a nexus that connects said first node and said second node, said nexus being a type of link or an extension of a hypergraph link, wherein said method further allows at least one of the following; a fourth software object to be generated as a third node, said third node comprising said first node, said second node, and said nexus; and said nexus to be included in a fifth software object generated to be a fourth node, wherein said first node, said second node, and said third node serve as respective information containers directly addressable by a user and each of the nodes has a format as a tuple;
S=[Label], N, C>where the label comprises a name which is optional, and N and C comprise two collections of nexus representing, respectively, a neighborhood and a content of S. - View Dependent Claims (17, 18)
-
Specification