The NASA Technology Transfer System (NTTS) is a NASA-created technology transfer workflow management system, a schema-less database management system used to track the life-cycle of NASA inventions. It is built on XDB, a NASA homegrown XML database. Because of its schema-less approach to store data, NTTS can host a cluster of distributed XDB nodes, referred to as GridXML data-storage framework (GDX). NTTS stores data associated with different modules like Invention Disclosures, Patent Applications, Contract Grants, and Partnership Agreements, etc. Different communities at NASA use a module or a group of modules to manage their domain workflow. With volumes of heterogeneous data stored in different modules on a schema-less storage framework, the challenge is to provide a flexible query Application Programming Interface (API) to perform traditional relational-model queries. This challenge is addressed by the NTTS Search API, the product of this invention.
NTTS Search API analyzes query-relevant data in real time to structure implicit relationships within a document. In this process, a record is characterized by a group of relationship-objects and associated data-objects within a document. Using these objects from multiple documents as parameters for query-criteria function, the Search API provides relational model query approaches on heterogeneous schema-less distributed data from multiple modules. Also, using the API, a user can formulate complex queries using relation-model operations like primary key-foreign key, inner joins, outer joins, unions, intersections, etc. in real time. This technology leverages the power of GDX that enables an unlimited number of desktops and distributed information sources to be linked seamlessly and efficiently into an information grid. Using XML, Web, and Excel spreadsheets as import/export formats, GXD has XML Hadoop-like type file management available over the net to tie these to the vertical applications.
The algorithm is capable of providing search results maintaining one-to-many relationships within XML documents. The output can be retrieved in XML or CSV (comma Separated Value) format.