1

I have created a big Ontology (.owl) and I'm now in the reasoning step. In fact, the problem is how to ensure a scalable reasoning for my ontology. I have searched in literature and I found that Big Data can be an adequate solution for that. Unfortunately, I found that Map-reduce can't accept as input OWL file. In addition semantic language as SWRL, SPARQL can not be used.

My questions are:

should I change the owl file with others?

How to transform Rules (SWRL for example) in an acceptable format with Map-reduce?

Thanks

Talya
  • 19
  • 2
  • Please update your question with the kind of reasoning you need, https://www.w3.org/TR/owl2-profiles/#Introduction without that input it should be near from impossible to answer. You can also look here https://stackoverflow.com/questions/3346396/in-semantic-web-are-owl-el-rl-ql-all-instances-of-dl-what-is-the-difference. Your assertion on SPARQL against OWL is wrong; SPARQL can be used with OWL, sometime on bigdata too. Please provide the 'literature' you have found. – Galigator Oct 06 '17 at 11:31
  • Thanks for your answer. I want to execute (if--> then) rules in my ontology. but I found a problem of scalability. The reasoner indicates to me (out of memory) so I think to integrate Big data technologies. the problem that I don't have any idea on how to execute these rules in Map-reduce for example. A literature review that I read are: "Efficient SPARQL Query Processing in MapReduce through Data Partitioning and Indexing", "Scalable Distributed Reasoning using MapReduce", "RDFS/OWL reasoning using the MapReduce framework", "Parsing and Mapping of OWL Ontology Using MapReduce into Hadoop", – Talya Oct 06 '17 at 16:39
  • Please update you question, not the comment. From what I understand, you are looking for a way of applying SPARQL on big ontology; If so update your question, be extra-details or no one will answer. – Galigator Oct 06 '17 at 17:51

1 Answers1

1

"Big data can be an adequate solution to that" is too simple a statement for this problem.

Ensuring scalability of OWL ontologies is a very complex issue. The main variables involved are number of axioms and expressivity of the ontology; however, these are not always the most important characteristics. A lot depends also on the api used and, for apis where the reasoning step is separate from parsing, which reasoner is being used.

SWRL rules add another level of complexity, as they are of (almost) arbitrary complexity - so it is not possible to guarantee scalability in general. For specific ontologies and specific sets of rules, it is possible to provide better guesses.

A translation to a MapReduce format /might/ help, but there is no standard transformation as far as I'm aware, and it would be quite complex to guarantee that the transformation preserves the semantics of the ontology and of the rule entailments. So, the task would amount to rewrite the data in a way that allows you to answer the queries you need to run, but this might prove impossible, depending on the specific ontology.

On the other hand, what is the size of this ontology and the amount of memory you allocated to the task?

Ignazio
  • 10,504
  • 1
  • 14
  • 25
  • Thank you very much. my ontology count more than 30000 Axiom. But the size is not fixed, it can grow more. After reading your answer, can you please help to found answer in my questions: can I use OWL file with Mapreduce (or other Big data technologies). can I execute SWRL rules with big data technologies? as the SWRL rules add a level of complexity to my ontology, how may resolve this (should I choose another way of reasoning)? if it is the case what should I do? Thank you very much – Talya Oct 15 '17 at 11:02
  • What is the amount of memory you have allocated, and the expressivity of the ontology? – Ignazio Oct 15 '17 at 11:14
  • Short answer: this is not possible with existing libraries. Long answer: this touches on a number of open research problems, so there are strategies that might be useful but their feasibility is currently unknown. For example: atomic decomposition might help, but it needs to be incremental (Google for research papers on incremental atomic decomposition) and the reasoner used needs to support SWRL rules. And the ontology needs to be amenable to atomic decomposition - not all ontologies can be reduced in size that way. – Ignazio Oct 15 '17 at 11:18
  • Thank you. The expressivity of my ontology is ALE(D). And the allocated memory is 1GO. what about the distributed reasoning? – Talya Oct 15 '17 at 18:31
  • You should try ELK for your ontology - it's the fastest reasoner for that profile. Regarding distributed reasoning, I'm not aware of any implementation. – Ignazio Oct 15 '17 at 21:25
  • @Talya Distributed reasoning is a *research topic* . And using Hadoop doesn't make any sense here by the way. What should be the benefit here? You do you define the **map** and **reduce** tasks? Even if you have, there are usually inter-dependencies between the OWL axioms, thus, it's totally unclear how to handle this. – UninformedUser Oct 16 '17 at 05:27
  • Regarding distributed reasoning, there are some rule-based approaches, but there is nothing so far for SWRL. Ok, there is some Datalog based thing, (RDFox) and Jakobo Urbani is doing a lots of crazy thing in this field, but this is all about BigData with billions of triples, not regarding complex ontologies. 30000 axioms is a small ontology. By the way, 1G of memory nowadays, ehm that's tiny. – UninformedUser Oct 16 '17 at 05:30
  • Thank you very much for all these clarifications. Yes, 30000 axiom is small but the size is not fixed. So as conclusion Big Data with complex ontology is not yet resolved. and concerning ELK I will try with it but I worry when the size of the ontology is so big it does not work. – Talya Oct 16 '17 at 21:07