Skip to content

Software implementation of semantic network storage and processing

License

Notifications You must be signed in to change notification settings

NikitaZotov/sc-machine

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

sc-machine

CI CI codecov license docker

Quick Start Docs Community

Short version: sc-machine is a software package that emulates semantic computer behavior by storing and processing knowledge in a semantic network. It uses agent-based approach to process knowledge graphs.

From the perspective of graph databases, sc-machine is a graph database management system designed to store / retrieve knowledge graphs and run tasks (agents) on them.

sc-machine stores and processes knowledge graphs represented in the SC-code (language of the universal knowledge representation). Theoretical basis of sc-machine is provided by the OSTIS Technology.

Both declarative (data, data structures, documentation, problems specification, etc.) and procedural (agents, programs, modules, systems, communication between systems) knowledge is represented using that same language.

Semantic network storage allows integrating problem solutions from different subject domains by using the same:

  • technology
  • programming and data representation language
  • software stack.

Getting started

To get started, check out our quick start guide.

This project contains:

  • sc-memory - semantic storage to store graph constructions;
  • sc-event-manager - event-based processing (async program workflow handling);
  • tools to communicate with sc-memory:
    • native C++ API;
    • sc-server - a Websocket server that provides a network API to communicate with storage using JSON;
    • sc-builder loads information from SCs files into the storage (SCs-code is one of the external representation languages of the SC-code).

Documentation

  • A brief user manual and developer docs are hosted on our GitHub Pages.

    • Build documentation locally
      # make sure you're using python 3.12
      pip3 install mkdocs mkdocs-material
      mkdocs serve
      # and open http://127.0.0.1:8000/ in your browser
  • Full documentation, including:

    • core concepts
    • rationale behind the sc-machine
    • system design
    • software interfaces
    • more rigorous theoretical calculations

    is redistributed in a form of the SCn-TeX document compiled in PDF format.

    Alternatively you can build sc-machine documentation yourself. To do that refer to the scn-latex-plugin documentation.

Feedback

Contributions, bug reports and feature requests are welcome! Feel free to check our issues page and file a new issue (or comment in existing ones).

License

Distributed under the MIT License. Check COPYING.MIT for more information.

This repository continues the development of ostis-dev/sc-machine from version 0.6.0.

About

Software implementation of semantic network storage and processing

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C++ 71.2%
  • C 25.7%
  • CMake 2.1%
  • ANTLR 0.4%
  • Shell 0.3%
  • Python 0.2%
  • Dockerfile 0.1%