2

I learned KRL (Knowledge Representation Language) recently in an AI course and found it fascinating that Description Logics is the family of formal Knowledge Representation Languages for the Semantic Web. Furthermore, in Description Logic, it is more simple and tractable to represent the knowledge than in First-Order predicate logic.

Does anyone know about a Java library available to process that Description Logic or First-Order Logic?

Evan Mulawski
  • 54,662
  • 15
  • 117
  • 144
gh10
  • 63
  • 5

2 Answers2

4

At least the two OWL-reasoners Pellet and HermiT are written in Java.

Rant

You can only represent some particular kind of knowledge with DL or logic in general - largely definitions and terminological knowledge.

But you cannot reasonably represent state of the real world. Logics cannot cope with uncertainty and they fail utterly if you introduce only a single flaw into your model, which will inevitably happen for larger models.

I also found first-order logics fascinating when I learned about them. But the real world cannot be modelled with logics, except at the most elementary level (laws of nature)...

Community
  • 1
  • 1
ziggystar
  • 28,410
  • 9
  • 72
  • 124
1

You can find a library that was built just for that in here:

LogicJava.wordpress.com

The code is open source on github and the library has no depandancies - just import its Jar

tobias_k
  • 81,265
  • 12
  • 120
  • 179