I'm introducing to the Natural Language Processing field and it's application. I'm planning to build a question answering system for a project, but some approaches are making me a bit confuse about the use of ontologies and it's application on the architecture of the system. I understand that an Ontology in definition is a way to represent concepts, relations about certain domains allowing semantic annotations also.

Some approaches uses an Ontology like a database, in which user's input (In natural language) is transformed to a SPARQL query by semantic parser and then the knowledge is retrieved of the ontology...But then, I asked my self if Ontology usually is a static knowledge that rarely changes and I want my system can increase knowledge of the domain with new instances or concepts because there are other systems (this is only a module of a big system) that probably are going to need data about instances present in the ontology to retrieved some specific attributes that could change over time... then, relational database comes to mind... And instead of using an ontology as a big database for whole project, why not to build a relational database with the instances of the domain where attributes can change dinamically and add new ones without make constantly in the ontology... So I could develop an ontology that represent the schema of the database, so I can map the natural language query of the user with the terms present in the ontology so I transform it to a SQL query which then I'm going to retrieved the answer in a relational database... I need to figured out how to parser instances of the ontology in the database with this approach.

Could this approach be correct ? I mean, using the ontology as a intermidiate between user query and relational database? , the only problem I see with this approach is that I need to figured out how to link instances of the database in the ontology ..

Thanks for your help, Greetings.

  • $\begingroup$ I'm not sure if this question is reasonably scoped, for this site. It seems like you request a review of a (very, very rough sketch of a) methodology. That's not really what this platform works well for. Can you formulate a specific question about your approach? $\endgroup$ – Raphael Apr 25 '17 at 16:05
  • $\begingroup$ Thanks for your comment, my question is if is it possible to use an ontology as an interface natural language with a relational database ? @Raphael $\endgroup$ – Jesus Herrera Apr 25 '17 at 16:23
  • $\begingroup$ You seem to be confused with basic concepts. There is a huge literature on using ontologies as a mediator for querying databases; simply look up for ontology-mediated query answering, or ontology based data access. For your application, you have to dig deeper into the topic... But, in principle, you can update the database as you wish and as long as the schema remains the same there is no need to change the ontology. Popular ontology languages are based on Description Logics, and extensions of Datalog. $\endgroup$ – Heyheyhey Apr 25 '17 at 19:50
  • $\begingroup$ Thanks for your comment @Heyheyhey . Yes, I'm a bit confused on the distint uses an ontology could have. The literature that I read , they retrieved information directly in ontologies. Now, I'm going to look up for those approaches in where ontology is the mediator for data access. That's what I'm looking for. Thanks again, Greetings. $\endgroup$ – Jesus Herrera Apr 26 '17 at 1:21

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.