Giter Site home page Giter Site logo

cie / data-logic Goto Github PK

View Code? Open in Web Editor NEW

This project forked from arcadio/data-logic

1.0 2.0 0.0 75 KB

Logical knowledge base prototype implemented in Prolog. Includes deductive querying and verification of constraints expressed in natural language.

data-logic's Introduction

Data Logic

Problem

Given a small anatomy model that includes inheritance, parthood and ad hoc relations, the goal is to develop a Prolog system that incorporates the knowledge of the model. The system should provide deductive querying facilities and verification of model constraints expressed in a subset of natural language.

Solution

The anatomy model is formalised correcting some errors. During the process, different inheritance uses (generalization and specialization) and parthood relations (part for, has part and part of) are identified.

Furthermore, a domain specific language for encoding the model is developed taking advantage of the code-as-data nature of Prolog.

Finally, the natural language subset for expressing model constraints is turned into a definite clause grammar (DCG). The constraints are attached meaning by stepwise refinement of the formal definition of their semantics into executable Prolog code.

Git Repository

  • Knowledge Base/: this directory contains all the source code of the project

Downloads

  • Report: a 30 page long PDF document describing the problem and the solution in detail

Requirements

In order to run the knowledge base you only need a recent version of SWI-Prolog installed. Althought the project was developed using version 5.6, much older versions should work as well.

Additionally, the code should be easily portable to other Prolog distributions, as it largely complies with the ISO Prolog standard, although this fact has not been tested in practice.

License

data-logic's People

Contributors

arcadio avatar

Stargazers

 avatar

Watchers

 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.