In the field of Artificial Intelligence, There are many branches residing on learning based theories which may take large computation to solve a problem. The application of learning model, Semantic mapping between natural language questions and SQL queries uses SVM (support vector machine with kernel function) gives the solution with efficiency of 76%. Another system Text Understanding for Programming in Natural Language: Control Structures uses NLP to find solution, gives efficiency of 82% for extracting entities and 97% for detecting control structures. Hence instead of learning model we are going to design a knowledge based system that is an expert system. System Architecture:***Diagram***? Tokenization and sequence generationThis is the first phase of the system, where actual problem statement is processed. The problem statement is tokenized by sentence Tokenizer and further by word Tokenizer. Sentence Tokenizer generates sequence of operations and word Tokenizer generates list of classes, variables, functions, control structures and etc. All this makes use of NLP with the help of tool NLTK implemented in python. POS tagging is used to classify nouns, verb, noun phrases, verb phrases and etc. POS tagging make use of various parsers such as regression parser and corpus like Brown corpus and WordNet. All these lists are given as input to information retrieval phase to find classes, primitive data type, functions, and relative information best suited for individual token. Sequence of operations are stored in the form of expression tree, this may consist of control structures and other verbs denoting some operation. This will define the overall flow of solution. ? Ontology Building: An ontology defines a common vocabulary for researchers who need to share information in a domain. It includes machine-interpretable definitions of basic concepts in the domain and relationships among them.Today Ontology is gaining huge popularity as it has become an important part in semantic web. Ontology is used to define/describe concept of an entity and it’s relationships with other entities. Ontology gives us various options to describe the entity such as inserting object properties, data properties, annotation properties, disjoint classes, equivalent classes which helps to describe the entity in detail. Annotation properties again contains multiple options such as isDefinedBy, label, comment which helps to give very detailed view of any entity. The ontology is constructed using protégé software. Protégé is very user friendly software which helps to build ontology for any domain. Ontology is usually created for specific domain. Ontology defines the concepts, relationships and other distinctions that are relevant for modelling that specific domain. Here in this application ontology is built on java libraries, classes included in that library and the methods in those classes. This helps to retrieve information about the library which is to be imported in java code, class which is to be used and inbuilt method which will help to perform required operation. As ontology provides various options to describe the entity, we will use those options to describe the libraries, classes and functions in detail. Protégé software also helps to generate graph from the ontology. The graph generated from ontology will be look like following graph. In the graph Thing is superclass, java.util, java.lang and java.io are subclasses which are libraries in java. Classes in those libraries will be Children of libraries. And lastly methods included in classes will be children of classes. Here method length() considered as class and is described in detail. The code shows that length() is subclass of class String. In comment use of that method/class is written. Using isDefinedBy annotation property definition of that class is written. In seeAlso property one example of how method is used in practical is given.Querying Ontology:After tokenization phase semantic mapping will take place. Semantic mapping deals with data retrieval from ontologies. Querying Languages:Ontologies are nothing but directed and labelled graph data format for storing data. The project focuses on the evaluation of query languages that are designed for Semantic Web related knowledge representation rather than using traditional database and general-purpose query languages like SQL. RDF-enabled search technologies have the potential to provide a significant improvement over the current keyword-based engines especially when it comes to conceptual querying and browsing.Also the query language used to retrieve the data from models should not exploit the presence of ontology knowledge i.e., if the ancestor/descendant traversal of class/property hierarchies can be performed and what filtering conditions can be posted on class/property hierarchies. The basic criterion that Data Querying possess is the ability of the query language to provide constructs for calculating the extent of a property/class, i.e., the ability to find all the resources defined as instances of a particular property/class. Additionally in this category fall criteria such as the support of complete Boolean filters like negation, conjunction, disjunction, Set based operations such as union, intersection, difference and, Arithmetic operations on data values etc.RDF Schema Language provides a rich infrastructure for representing meaningful information in the form of ontologies.This specification defines the syntax and semantics of the SPARQL query language. SPARQL has ability to express queries across diverse data sources. It doesn’t matter whether the data is stored in RDF format or viewed as RDF via middleware. SPARQL can query optional and required graph patterns along with their conjunctions and disjunctions. SPARQL also supports extensible value testing and constraining queries by source RDF graph. The results of SPARQL queries can be results sets or RDF graphs.Apache Jena framework:Jena is a framework that provides collection of RDF tools written in Java. It includes:1. Java model/graph API.2. RDF Parser (N-Triples filter).3. A query system based on RDQL.4. Support classes for DAML ontologies.5. Persistent or in-memory storage or various other storage implementations.