Spaces:
Runtime error
Runtime error
Update ontology_reasoner.py
Browse files- ontology_reasoner.py +8 -0
ontology_reasoner.py
CHANGED
|
@@ -43,6 +43,14 @@ class InfraOntology:
|
|
| 43 |
cls = getattr(self.onto, component_type.capitalize())
|
| 44 |
inferred = [str(i) for i in cls.instances()]
|
| 45 |
return {"inferred": inferred, "consistent": True}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 46 |
except Exception as e:
|
| 47 |
logger.error(f"Reasoning error: {e}")
|
| 48 |
return {"inferred": [], "consistent": False, "error": str(e)}
|
|
|
|
| 43 |
cls = getattr(self.onto, component_type.capitalize())
|
| 44 |
inferred = [str(i) for i in cls.instances()]
|
| 45 |
return {"inferred": inferred, "consistent": True}
|
| 46 |
+
except OSError as e:
|
| 47 |
+
# Check if error is due to missing Java (common in lightweight environments)
|
| 48 |
+
if "java" in str(e).lower():
|
| 49 |
+
logger.warning("Java not available, using mock reasoning")
|
| 50 |
+
return {"inferred": [], "consistent": True, "note": "Java required for full reasoning, using mock"}
|
| 51 |
+
else:
|
| 52 |
+
logger.error(f"Reasoning error: {e}")
|
| 53 |
+
return {"inferred": [], "consistent": False, "error": str(e)}
|
| 54 |
except Exception as e:
|
| 55 |
logger.error(f"Reasoning error: {e}")
|
| 56 |
return {"inferred": [], "consistent": False, "error": str(e)}
|