IP Library Granted Patent US 9,158,599
Granted Patent B2
US 9,158,599 · App. 13/929,522 · Granted Oct 13, 2015

Programming framework for applications

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,158,599
App. No.
13/929,522
Granted
Oct 13, 2015
Kind
B2
Abstract

An application comprises program code that includes API tags, which during execution of the application may be resolved to reference-able data objects. The data objects may be objects in a knowledge base. The API tags decouple the program code from the specific data contained in the knowledge base, allowing for applications that access the knowledge base to be written independently of the knowledge base; even before the knowledge base is loaded with data.

Claims (46)

1. A computer-implemented method of decoupling an application from a knowledge base being accessed by the application, the computer-implemented method comprising:

receiving a user query to access a database;

using the user query to identify the application comprising a program code to be executed, wherein the application is written without having to know specifics of the database;

identifying one or more application programming interface (API) tags in the program code, wherein the API tags provide a link between the knowledge base and the application;

identifying at least one node from among a plurality of nodes comprising a graph;

for each identified API tag, resolving the identified API tag with a resolved data object by accessing the knowledge base, wherein resolving the identified API tag includes:

using the identified API tag to identify an attribute in the identified node; and

generating a reference to data that is associated with the identified attribute to produce a resolved data object; and

accessing the database by executing the program code, wherein resolved data objects are referenced during execution of the program code instead of the one or more API tags.

2. The computer-implemented method of claim 1 further comprising receiving a node identifier along with the application, wherein the identified node is identified based on the node identifier received with the application.

3. The computer-implemented method of claim 1 wherein the identified API tag comprises information that is associated with the identified attribute.

4. The computer-implemented method of claim 3 wherein the information comprising the identified API tag includes at least a portion of a name of the identified attribute.

5. The computer-implemented method of claim 1 wherein resolving the identified API tag with a resolved data object includes substituting the identified API tag in the program code with a reference to data object that is associated with the identified attribute.

6. The computer-implemented method of claim 1 further comprising identifying a data table associated with the identified node and substituting the identified API tag in the program code with a reference to the data table.

7. The computer-implemented method of claim 1 wherein the identified attribute is associated with a column in the data table and the identified API tag is substituted with a reference to the column in the data table.

8. The computer-implemented method of claim 1 wherein referencing the resolved data objects includes accessing one or more data tables associated with the identified node.

9. The computer-implemented method of claim 1 wherein the plurality of nodes comprises a plurality of first level nodes and a plurality of second level nodes, wherein the first level nodes represent classes of data and the second level nodes represent instances of the classes of data, wherein the identified node is either a first level node or a second level node.

10. A computer system comprising:

a computer processor; and

a data storage device having stored thereon computer program code which, when executed by the computer processor, causes the computer processor to decouple an application from a knowledge base being accessed by the application, wherein the computer processor operates to:

receive a user query to access a database;

use the user query to identify the application comprising program code to be executed, wherein the application is written without having to know specifics of the database;

identify one or more application programming interface (API) tags in the program code, wherein the API tags provide a link between the knowledge base and the application;

identify at least one node from among a plurality of nodes comprising a graph;

for each identified API tag, resolve the identified API tag with a resolved data object by accessing the knowledge base, wherein resolving the identified API tag includes:

using the identified API tag to identify an attribute in the identified node; and

generating a reference to data that is associated with the identified attribute to produce a resolved data object; and

access the database by executing the program code, wherein resolved data objects are referenced during execution of the program code instead of the one or more API tags.

11. The computer system of claim 10 wherein the computer program code, which, when executed by the computer processor, further causes the computer processor to receive a node identifier along with the application, wherein the identified node is identified based on the node identifier received with the application.

12. The computer system of claim 10 wherein the identified API tag comprises information that is associated with the identified attribute.

13. The computer system of claim 12 wherein the information comprising the identified API tag includes at least a portion of a name of the identified attribute.

14. The computer system of claim 10 wherein resolving the identified API tag with a resolved data object includes substituting the identified API tag in the program code with a reference to data object that is associated with the identified attribute.

15. The computer system of claim 10 wherein the identified attribute is associated with a column in the data table and the identified API tag is substituted with a reference to the column in the data table.

16. The computer system of claim 10 wherein referencing the resolved data objects includes accessing one or more data tables associated with the identified node.

17. A non-transitory computer readable storage medium having stored thereon program code, which, when executed by a computing device, cause the computing device to decouple an application from a knowledge base being accessed by the application, including:

receiving a user query to access a database;

using the user query to identify the application comprising a program code to be executed, wherein the application is written without having to know specifics of the database;

identifying one or more application programming interface (API) tags in the program code, wherein the API tags provide a link between the knowledge base and the application;

identifying at least one node from among a plurality of nodes comprising a graph;

for each identified API tag, resolving the identified API tag with a resolved data object by accessing the knowledge base, wherein resolving the identified API tag includes:

using the identified API tag to identify an attribute in the identified node; and

generating a reference to data that is associated with the identified attribute to produce a resolved data object; and

accessing the database by executing the program code, wherein resolved data objects are referenced during execution of the program code instead of the one or more API tags.

18. The non-transitory computer readable storage medium of claim 17 wherein the program code, which, when executed by a computing device, cause the computing device to receive a node identifier along with the application, wherein the identified node is identified based on the node identifier received with the application.

19. The non-transitory computer readable storage medium of claim 17 wherein the identified API tag comprises information that includes at least a portion of a name of the identified attribute.

20. The non-transitory computer readable storage medium of claim 17 wherein the identified attribute is associated with a column in the data table and the identified API tag is substituted with a reference to the column in the data table.

Assignments (2)
CHANGE OF NAME Recorded Aug 26, 2014
From: SAP AG
To: SAP SE
Reel/Frame 033625/0223 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 27, 2013
From: DOERPMUND, JENS; ASWANI, JITENDER; LEASK, RYAN
To: SAP AG
Reel/Frame 030703/0636 →