A hybrid knowledge representation language extending C# with ontology-based features for the Microsoft .NET platform. Bridging knowledge engineering and software engineering.
Гибридный язык представления знаний, расширяющий C# средствами онтологий для платформы Microsoft .NET. Объединение инженерии знаний и программной инженерии.
A complete toolkit for creating, editing, extracting, and converting knowledge bases on the .NET platform.
Полный набор инструментов для создания, редактирования, извлечения и конвертации баз знаний на платформе .NET.
A visual tool for creating and editing knowledge bases. Design ontologies, define concepts, relations, and rules through an intuitive graphical interface.
Визуальный инструмент для создания и редактирования баз знаний. Проектирование онтологий, определение концептов, отношений и правил через интерактивный графический интерфейс.
Visual IDEAutomatically extracts structured knowledge from Internet resources. Discovers concepts, relationships, and facts from unstructured web content.
Автоматическое извлечение структурированных знаний из Интернета. Обнаружение концептов, отношений и фактов из неструктурированного веб-контента.
Web MiningConverts knowledge bases to the Knowledge Interchange Format (KIF), enabling interoperability with other knowledge-based systems and standards.
Конвертация баз знаний в формат KIF (Knowledge Interchange Format), обеспечивающая совместимость с другими системами представления знаний.
InteroperabilityAn extension of C# with first-class knowledge engineering constructs: ontology definitions, concept hierarchies, inference rules, and knowledge queries.
Расширение C# конструкциями для инженерии знаний: определения онтологий, иерархии концептов, правила вывода и запросы к базам знаний.
C# ExtensionKnowledge.NET is a research project focused on bridging the gap between knowledge engineering and modern software development. It provides a hybrid knowledge representation language built as an extension of C#.
The language supports ontology-based modeling, allowing developers to define concepts, taxonomies, properties, and inference rules directly within the familiar .NET ecosystem. Knowledge bases can be compiled and executed alongside conventional C# code.
By integrating expert systems, ontologies, and semantic reasoning into a mainstream programming platform, Knowledge.NET makes knowledge engineering accessible to a wider audience of software developers and researchers.
Knowledge.NET — исследовательский проект, направленный на преодоление разрыва между инженерией знаний и современной разработкой программного обеспечения. Система предоставляет гибридный язык представления знаний, построенный как расширение C#.
Язык поддерживает моделирование на основе онтологий, позволяя разработчикам определять концепты, таксономии, свойства и правила вывода непосредственно в экосистеме .NET. Базы знаний могут компилироваться и выполняться совместно с обычным кодом на C#.
Интегрируя экспертные системы, онтологии и семантические рассуждения в основную платформу программирования, Knowledge.NET делает инженерию знаний доступной для широкого круга разработчиков и исследователей.
Knowledge engineering originated in the 1950s as a branch of artificial intelligence, focusing on the development of languages, methods, and systems for representing and processing knowledge on computers. The primary knowledge representation methods include productions (IF-THEN rules for inference), frames (hierarchical structures for representing concepts), semantic networks (directed multigraphs for concepts and their relationships), and ontologies.
Expert systems became widely popular in the 1970s as intelligent programs built upon separately stored knowledge bases about specific domains. Today, knowledge representation methods have gained renewed importance due to the need for improved information retrieval on the web, particularly through web ontologies and semantic technologies.
A key challenge remains the semantic gap between traditional programming languages (Java, C#) and knowledge engineering languages (LISP, Prolog). These worlds use different terminology, tools, and approaches. Integrating knowledge engineering into mainstream software development platforms is essential for making these techniques broadly accessible.
The Knowledge.NET language is based on the ontology concept developed at Stanford University in the 1990s. It extends C# with knowledge representation constructs using Concept-Property-Individual terminology instead of the traditional frame-based Frame-Slot-Instance terminology. The ontology semantics in Knowledge.NET are similar to OWL (Web Ontology Language) developed by W3C.
Инженерия знаний (knowledge engineering) — одно из важных направлений современного программирования, занимающееся развитием языков, методов и систем представления и обработки знаний на компьютерах. Оно возникло в 1950-х гг. как один из разделов искусственного интеллекта.
Основными методами представления знаний являются: продукции (правила вида ЕСЛИ-ТО для продукционного вывода), фреймы (иерархические структуры для представления знаний о концепциях), семантические сети (ориентированные мультиграфы для представления концепций и их взаимоотношений).
Начиная с 1970-х гг. получили распространение экспертные системы — интеллектуальные программы, основанные на отдельно хранимой базе знаний о предметной области. В настоящее время методы представления знаний приобрели особую актуальность в связи с необходимостью улучшения качества информационного поиска в Интернете.
Язык Knowledge.NET является расширением C# средствами представления гибридных знаний, основанными на концепции онтологии. В Knowledge.NET используется терминология Concept-Property-Individual вместо терминологии фреймовых систем Frame-Slot-Instance. Семантика онтологии Knowledge.NET схожа с языком OWL, разработанным W3C.
IF-THEN rules for forward and backward chaining inference
Hierarchical structures representing concepts and their properties
Directed multigraphs modeling relationships between concepts
Formal specifications of shared conceptualizations (Concept-Property-Individual)
W3C Web Ontology Language for semantic web applications
Knowledge Interchange Format for system interoperability
Правила вида ЕСЛИ-ТО для прямого и обратного вывода
Иерархические структуры для представления концепций и их свойств
Ориентированные мультиграфы для моделирования связей между концепциями
Формальные спецификации общих концептуализаций (Concept-Property-Individual)
Язык веб-онтологий W3C для семантического веба
Формат обмена знаниями для совместимости систем
Research papers, presentations, and source code packages.
Научные статьи, презентации и пакеты с исходным кодом.
"Knowledge.NET ontology-based knowledge management toolkit for Microsoft.NET" — .NET Technologies 2006, Plzen, Czech Republic
"Knowledge.NET ontology-based knowledge management toolkit" — .NET Technologies 2006
Интеграция методов инженерии знаний и инженерии программ (2005)
Научно-технический отчет
Дипломная работа: C# Expert
Latest source code on Исходный код на GitHub
Source archive (May 2007)Архив исходного кода (май 2007)
Knowledge.NET (May 2007)
Examples (May 2007)Примеры (май 2007)
Related projects, standards, and references.
Связанные проекты, стандарты и справочные материалы.
Information about KIF format and formal logic research.
Информация о формате KIF
W3C specification of the OWL ontology language.
Спецификация языка OWL
Smirnov Scientific Research Institute of Mathematics and Mechanics (closed in 2011).
Институт, в котором разрабатывался проект (закрыт в 2011 году)
Research at the laboratory of Java-technologies, Smirnov Scientific Research Institute of Mathematics and Mechanics, St. Petersburg State University.
Разработка в лаборатории Java-технологий НИИ математики и механики СПбГУ под руководством проф. В.О. Сафонова.
Professor, Scientific Advisor
Научный руководитель
Language Design & Implementation
Разработка языка
KIF Converter
Конвертер KIF
Knowledge Prospector
Knowledge Prospector
Knowledge Editor
Редактор знаний