Giter Club home page Giter Club logo

effervex / cycdag Goto Github PK

View Code? Open in Web Editor NEW
18.0 6.0 3.0 332.7 MB

A lightweight reimplementation of the OpenCyc ontology system. This project aims to replicate most of OpenCyc's functionality and data while remaining reasonably simple to use, efficient, and with low-memory usage. This need came about to address issues with OpenCyc's stability, accessibility, memory usage, and perhaps speed (though it is not yet known if CycDAG is faster).

License: GNU General Public License v3.0

Java 100.00%

cycdag's Introduction

CycDAG

WHAT: A lightweight reimplementation of the OpenCyc ontology system. This project aims to replicate most of OpenCyc's functionality and data while remaining reasonably simple to use, efficient, and with low-memory usage. This need came about to address issues with OpenCyc's stability, accessibility, memory usage, and perhaps speed (though it is not yet known if CycDAG is faster).

WHY: As stated above, the CycDAG came about as a prototype to test if OpenCyc could be reimplemented into a faster, smaller, and more open form, while retaining most of the same operations. The reasoning is this: OpenCyc is built to do A LOT of heavy reasoning, but this is often not needed for simple projects. For this reason, CycDAG only aims to reimplement minor-mid level reasoning; complex backward chaining is not intended to be supported (but it can be with appropriate modules).

The open nature of CycDAG also gives a much clearer view of what the ontology is doing and how it is doing it. The modular add-ins allow users to add in their own chunks of code to the core system, expanding the number of uses for the system.

HOW: The first thing that needs to happen is the OpenCycAssertions.zip file needs to be unzipped. The file allAssertions.txt contains every direct assertion from OpenCyc (perhaps not the Horn clauses that form the rules OpenCyc uses). CycDAG will read this file on startup and create the ontology (this can take some time. Best to start it up overnight).

To run as a command-line interface, compile the java files and launch CycDAGCLI. Optional arguments include -p -r -n -e . The various config files define additional aspects such as which commands and modules are in use (many are defined within the java files).

Once started, CycDAGCLI either creates the ontology from file (allAssertions.txt), or loads up a pre-serialised ontology. The former process takes quite some time (20 minutes on some machines, half a day on others), whereas the latter should not take too long. During the former process, one can begin using the ontology as normal, though assertions may be missing throughout.

To connect to the ontology, run 'telnet localhost 2425' (or whatever port number is used). Type 'list' to see all available commands and type 'help ' to see more information on each command.

WHO & WHERE: The CycDAG was initially implemented by Dr Sam Sarjant at The University of Waikato, New Zealand. It attempts to reproduce many of the inference processes the OpenCyc ontology performs. It is built upon the DagYo framework (https://github.com/Effervex/DagYo).

All source code is copyright The University of Waikato, New Zealand (2013).

Contact: Sam Sarjant [email protected]

cycdag's People

Contributors

effervex avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.