Skip to content

Documentation

Welcome to the sc-machine documentation! This comprehensive guide is designed to help you navigate the features, functionalities, and applications of sc-machine, a C++ software package that emulates semantic computer behavior through the storage and processing of knowledge in a semantic network.

What is sc-machine?

At its core, sc-machine operates as a graph database management system, enabling users to efficiently store, retrieve, and manipulate knowledge graphs in common shared memory known as sc-memory. By leveraging an agent-based approach, it processes these graphs to facilitate complex tasks and workflows. The underlying technology is grounded in the OSTIS Technology, which allows for the representation of both declarative and procedural knowledge using a unified language known as SC-code (Semantic Computer code).

Table of contents:

  • Quick Start - get up and running with sc-machine quickly
  • Docker - get up and running with sc-machine in docker
  • User Guides - detailed instructions on implementing agents
  • API - comprehensive documentation for C++, Python, and TypeScript APIs
    • C++ API - detailed guides on using the core and extended APIs for interacting with sc-memory
      • C++ Core API - documentation of C++ core API for creating, retrieving and erasing sc-elements in sc-memory
      • C++ Extended API - documentation of C++ extended API for manipulating with system identifiers of sc-elements and sc-templates
        • C++ System Identifier API - documentation of C++ extended API for manipulating with system identifiers of sc-elements
        • C++ ScTemplate API - documentation of C++ extended API for creating and retrieving graphs (it is very useful when you want to work big sc-constructions)
        • C++ User Permissions API - documentation of handling users and their permissions in knowledge base
        • C++ Agents API - documentation of C++ Agents API for creating agents
          • C++ Events API - enables developers to create and manage events within the sc-machine, allowing agents to respond dynamically to various triggers
          • C++ Event Subscriptions API - details how agents can subscribe to specific events and receive notifications when those events occur
          • C++ Waiters API - allows developers to implement wait conditions that pause agent execution until specified conditions are met or events are triggered
          • C++ Keynodes API - provides functionality for creating, retrieving, and manipulating keynodes, which represent significant concepts within the knowledge graph
          • C++ Actions API - outlines how to define and initiate actions that agents can perform, detailing their arguments and results
          • C++ Agents API - focuses on agent creation and management
          • C++ Agent Context API - explains how to manage the context in which agents operate
          • C++ Modules API - describes how to register agents in an application
    • Python API - documentation on using the Python client for interacting with sc-memory
      • Python Core API - documentation of Python core API for creating, retrieving and erasing sc-elements and sc-events in sc-memory
      • Python Extended API - documentation of Python extended API for manipulating with large graphs
    • TypeScript API - documentation on using the TypeScript client for interacting with sc-memory
      • TypeScript Core API - documentation of TypeScript core API for creating, retrieving and erasing sc-elements and sc-events in sc-memory
    • sc-element Types - detailed description of supported element types
    • SCs-code - documentation on SCs Language with examples
  • Tools - information on various tools that enhance your experience with sc-machine
  • Build Instructions - guidelines for building the project, configuring settings
  • Development - guidelines for contributing to development
  • License
  • Changelog