_images/cognipy_wide.png

CogniPy for Pandas

In-memory Graph Database and Knowledge Graph with Natural Language Interface

Whats in the box

Reasoning, exploration of RDF/OWL, [FluentEditor](https://www.cognitum.eu/Semantics/FluentEditor/) CNL files, with OWL/RL Reasoner (Jena) as well as SPARQL Graph queries (Jena) and visualization

  1. Write your graph/ontology in Controlled Natural Language or import it from RDF/OWL

  2. Add reasoning rules/T-Box in Controlled Natural Language

  3. Import data using Pandas/scrap them from the internet

  4. Draw the resulting, materialized graph

  5. Use SPARQL to execute graph query

  6. Use output Dataframe for further processing with Pandas

Installation

Prerequisites:

  • If you are on Mac or Linux You MUST have mono installed on your system.

  • Tested with Anaconda

  • Tested on MacOS, Winows and Linux (UBuntu)

Install cognipy on your system using

$ pip install cognipy

Open Source repository

Hello world program

In Jupyter you write

from cognipy.ontology import Ontology #the ontology processing class

%%writefile hello.encnl
World says Hello.
Hello is a word.

onto = Ontology("cnl/file","hello.encnl")
print(onto.select_instances_of("a thing that says a word")[["says","Instance"]])

Output (Pandas DataFrame):

says

Instance

0

Hello

World

How to cite CogniPy

We would be grateful if scientific publications resulting from projects that make use of CogniPy would include the following sentence in the acknowledgments section: “This work was conducted using the CogniPy package, which is an open-source project maintained by [Cognitum Services S.A.](https://www.cognitum.eu)”

https://www.cognitum.eu/img/logo.png

CogniPy:

Indices and tables