Система атрибут–значение

Система атрибут–значение — это базовая структура представления знаний, представляющая собой таблицу, в которой столбцы обозначают «атрибуты» (также называемые «свойствами», «предикатами», «характеристиками», «измерениями», «полями», «заголовками» или «независимыми переменными» — в зависимости от контекста), а строки — «объекты» (также именуемые «сущностями», «экземплярами», «элементами», «записями» или «зависимыми переменными»). Каждая ячейка такой таблицы задаёт значение (также называемое «состоянием») конкретного атрибута конкретного объекта[1]. На международном уровне стандарты представления метаданных в формате атрибут-значение регулируются ISO/IEC 11179-3 и JSON-LD (W3C)[2].

Пример системы атрибут–значение

Ниже приведён пример системы атрибут–значение. Она содержит 10 объектов (строки) и пять признаков (столбцы). В данном примере таблица включает только целочисленные значения. В общем случае, система атрибут–значение может содержать данные любого типа, как числовые, так и нечисловые. Система атрибут–значение отличается от простого списка признаков тем, что каждый признак может принимать определённый набор значений (например, признак P1 в таблице ниже domain {0,1,2}), а не просто быть присутствующим или отсутствующим[3].

Пример системы атрибут–значение
Объект P1 P2 P3 P4 P5
O1 1 2 0 1 1
O2 1 2 0 1 1
O3 2 0 0 1 0
O4 0 0 1 2 1
O5 2 1 0 2 1
O6 0 0 1 2 2
O7 2 0 0 1 0
O8 0 1 2 2 1
O9 2 1 0 2 2
O10 2 0 0 1 0

Примером использования системы атрибут–значение для нечисловых данных может служить конфигурационный файл YAML, где ключи выступают атрибутами, а значения могут быть строками, числами, списками или логическими типами[4].

Пример конфигурационного файла YAML
Ключ (Атрибут) Значение Тип данных
server.port 8080 Число
tbe.deployment.url "https://TODO" Строка
tbe.db.host "postgresql:5432" Строка
tbe.storage.type s3 Строка
tbe.auth.root-admin-emails ['toolbox.admin@example.com'] Список
springdoc.api-docs.enabled true Логическое
logging.level.root INFO Строка

Другие термины для системы атрибут–значение

Системы атрибут–значение широко распространены в различных исследовательских направлениях и описаны под разными названиями:

  • Плоские данные
  • Таблица расчётов
  • Система атрибут–значение (Ziarko & Shan, 1996)
  • Информационная система (Павлак, 1981)
  • Система классификации (Ziarko, 1998)
  • Система представления знаний (Wong & Ziarko, 1986)
  • Информационная таблица (Yao & Yao, 2002)
  • Триплет (в контексте RDF и Semantic Web, где предикат соответствует атрибуту, а объект — значению)[5][6]
  • Класс, базовая линия конфигурации (Configuration Baseline) и снимок (Snapshot) (в методологии ITIL и системах CMDB)[7][8]

Применение в современных технологиях

Объектно-ориентированное программирование и ORM

В объектно-ориентированном программировании паттерн «атрибут-значение» часто применяется для гибкого хранения характеристик. Например, в модели товаров интернет-магазинов свойства могут задаваться динамически через коллекции вложенных объектов. В таком случае товар содержит список атрибутов, где каждый элемент определяет конкретную характеристику, её значение и единицу измерения[9]. Концепция атрибутов также лежит в основе механизмов метапрограммирования, позволяющих декларативно описывать поведение кода. В языке C# для связывания метаданных с элементами программы используются атрибуты, которые указываются в квадратных скобках перед объявлением сущности. В Python для добавления метаинформации и изменения поведения объектов применяются декораторы и аннотации[10].[11] В современных ORM-фреймворках (таких как Entity Framework и SQLAlchemy) атрибуты кода маппятся на колонки баз данных с помощью специальных аннотаций. В Entity Framework для этого используются атрибуты конфигурации, например, [Column] для переопределения имени колонки, [Key] для первичного ключа или [Required] для обязательных полей. В SQLAlchemy связь атрибутов класса с колонками таблицы осуществляется через объекты Column или автоматическое сопоставление по совпадающим именам[12].[13]

Управление ИТ-инфраструктурой

В контексте CMDB и ITSM система «атрибут–значение» играет ключевую роль в однозначной идентификации конфигурационных единиц (КЕ). Для точной идентификации используются уникальные идентификаторы, а также классы и конфигурационные модели, задающие набор изменяемых и неизменяемых атрибутов[14].[15]

Основные функции системы атрибутов включают:

  • Хранение характеристик КЕ: фиксация базовых параметров, таких как уникальный идентификатор, имя, тип, версия, статус, владелец и местоположение[14].
  • Управление взаимосвязями: описание критически важных зависимостей между КЕ (например, «зависит от», «размещено на»), что позволяет оценивать влияние сбоев или изменений на ИТ-услуги[14].[16]

Для обеспечения актуальности данных применяются следующие методы:

  • Автоматическое обнаружение (Discovery): использование инструментов сетевого сканирования и программных агентов, непрерывно собирающих данные об изменениях[14].[17]
  • Интеграция с рабочими процессами: автоматическая синхронизация CMDB с другими системами и обновление данных о КЕ в рамках процессов управления изменениями и инцидентами[14].[18]
  • Сверка состояний: регулярное сравнение планового и фактического состояния КЕ для поиска расхождений, а также ведение истории изменений[16].

Искусственный интеллект и анализ данных

В машинном обучении концепция «атрибут-значение» эволюционировала от ручного конструирования признаков к их автоматизированному извлечению. В современных системах традиционные атрибуты вытеснены эмбеддингами — плотными многомерными векторами, которые модель формирует самостоятельно. Эти векторы продолжают выполнять роль атрибутов объекта, представляя данные в числовом формате для алгоритмов[19].

В архитектурах искусственного интеллекта и графах знаний система «атрибут-значение» используется для детализации узлов (сущностей) и рёбер (связей). Такой подход позволяет хранить метаданные, веса и оценки уверенности, обеспечивая переход от жёстких плоских таблиц к гибким семантическим сетям[20].[21]

Государственные информационные системы

Примером использования системы атрибутов в государственных информационных системах является система маркировки «Честный ЗНАК», где она применяется для фиксации данных о товарах. Информация представляется в форматах JSON и XML, а ключевым идентификатором выступает GTIN (или good_id)[22].

Примечания

  1. Barsalou, Lawrence W. Components of conceptual representation: From feature lists to recursive frames // Categories and Concepts: Theoretical Views and Inductive Data Analysis : [англ.] / Lawrence W. Barsalou, Christopher R. Hale. — Academic Press, 1993. — P. 97–144. — ISBN 9780127141756.
  2. Information technology — Metadata registries (MDR) — Part 3: Registry metamodel and basic attributes — Amendment 1. ITEH Standards. ISO/IEC (1 февраля 2026). Дата обращения: 26 августа 2026.
  3. Barsalou, Hale, 1993.
  4. Set up server. JetBrains Documentation. JetBrains. Дата обращения: 26 августа 2026.
  5. RDF для начинающих: что это, основы и как использовать. Sky.pro. Дата обращения: 26 августа 2026.
  6. Структура RDF моделей. Studopedia. Дата обращения: 26 августа 2026.
  7. Что такое CMDB? Atlassian. Дата обращения: 26 августа 2026.
  8. Service Configuration Management. Giva. Дата обращения: 26 августа 2026.
  9. MongoDB Model for E-commerce Catalog. OneUptime Blog (31 марта 2026). Дата обращения: 26 августа 2026.
  10. Reflection and attributes (C#). Microsoft Learn. Дата обращения: 26 августа 2026.
  11. Python Metaprogramming: Decorators and Annotations. PhiloDev (1 мая 2025). Дата обращения: 26 августа 2026.
  12. Entity Types and Properties. Microsoft Learn. Дата обращения: 26 августа 2026.
  13. SQLAlchemy Mapping Table Columns. GeeksforGeeks. Дата обращения: 26 августа 2026.
  14. 1 2 3 4 5 CMDB Guide: What is a Configuration Management Database? Sobrii.io. Дата обращения: 26 августа 2026.
  15. Расширение CMDB классами и моделями. SimpleOne Documentation. Дата обращения: 26 августа 2026.
  16. 1 2 CMDB-системы: обзор и функционал. Picktech. Дата обращения: 26 августа 2026.
  17. Актуальность данных в CMDB. ITSM Forum. Дата обращения: 26 августа 2026.
  18. Что такое CMDB? Admin24. Дата обращения: 26 августа 2026.
  19. Инженерия признаков (Feature Engineering). Ultralytics. Дата обращения: 26 августа 2026.
  20. Графы знаний и ИИ. RouterAI. Дата обращения: 26 августа 2026.
  21. Граф знаний (Knowledge Graph). Ultralytics. Дата обращения: 26 августа 2026.
  22. Описание формата данных. Документация ЦРПТ. ЦРПТ. Дата обращения: 26 августа 2026.

Литература

  • Barsalou, Lawrence W. Components of conceptual representation: From feature lists to recursive frames // Categories and Concepts: Theoretical Views and Inductive Data Analysis : [англ.] / Lawrence W. Barsalou, Christopher R. Hale. — Academic Press, 1993. — P. 97–144. — ISBN 9780127141756.
  • Pawlak, Zdzisław. Rough sets: Theoretical Aspects of Reasoning about Data : [англ.]. — Kluwer, 1991.
  • Ziarko, Wojciech; Shan, Ning (1996). “A method for computing all maximally general rules in attribute–value systems”. Computational Intelligence [англ.]. 12 (2): 223—234. DOI:10.1111/j.1467-8640.1996.tb00260.x. S2CID 7200948.
  • Pawlak, Zdzisław; Shan, Ning (1981). “Information systems: Theoretical foundations”. Information Systems [англ.]. 6 (3): 205—218. DOI:10.1016/0306-4379(81)90023-5. Дата обращения 2024-06-12.
  • Wong, S. K. M.; Ziarko, Wojciech; Ye, R. Li (1986). “Comparison of rough-set and statistical methods in inductive learning”. International Journal of Man-Machine Studies [англ.]. 24: 53—72. DOI:10.1016/S0020-7373(86)80033-5.
  • Yao, J. T.; Yao, Y. Y. (2002). “Induction of classification rules by granular computing”. Proceedings of the Third International Conference on Rough Sets and Current Trends in Computing (TSCTC'02) [англ.]. London: Springer-Verlag. pp. 331—338.
  • Watanabe, Satosi. Pattern Recognition: Human and Mechanical : [англ.]. — John Wiley & Sons, 1985.
  • Ziarko, Wojciech (1998). “Rough sets as a methodology for data mining”. In Polkowski, Lech; Skowron, Andrzej. Rough Sets in Knowledge Discovery 1: Methodology and Applications [англ.]. Heidelberg: Physica-Verlag. pp. 554—576.

Категории