Семантическая файловая система
Семантика | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
Семантика языки программирования | ||||||||
| ||||||||
Семантические файловые системы — это файловые системы, используемые для сохранения информации, которые структурируют данные в соответствии с их семантикой и назначением, а не местоположением, как в современных файловых системах. Это позволяет обращаться к данным по их содержимому (ассоциативный доступ). Традиционные иерархические файловые системы имеют тенденцию налагать бремя, например, когда структура подкаталогов противоречит восприятию пользователем того, где будут храниться файлы. Наличие интерфейса на основе тегов облегчает эту проблему иерархии и позволяет пользователям интуитивно запрашивать данные.
Семантические файловые системы создают проблемы технического проектирования, поскольку индексы слов, тегов или элементарных знаков того или иного вида должны создаваться и постоянно обновляться, поддерживаться и кэшироваться для обеспечения производительности, чтобы обеспечить желаемый случайный, многовариантный доступ к файлам в дополнение к базовому, в основном традиционная блочная файловая система.
Семантическую файловую систему можно представить как часть семантического рабочего стола .
История [ править ]
Понятие семантической файловой системы было предложено в 1991 году исследователями Массачусетского технологического института и Парижской горной школы . [1] Они предложили интегрированную систему, основной интерфейс запросов которой выглядел как традиционный интерфейс файловой системы через систему виртуальных каталогов, которая интерпретировала путь как конъюнктивный запрос . Их реализация предусматривала автоматическое извлечение соответствующих метаданных с помощью так называемых преобразователей, специфичных для типа файла .
Начиная примерно с 2004 года, новая волна внедрений была сосредоточена на ручном присвоении тегов файлам и папкам.
В 2008 году исследователи предложили интегрировать семантические файловые системы с технологиями Semantic Web . [2]
Типы метаданных [ править ]
Теги [ править ]
Теги можно использовать вместо папок, чтобы обойти ограничения иерархической модели.
В зависимости от типа файла [ править ]
Гиффорд и др. [1] предложил идею метаданных для конкретного типа файла , автоматически извлекаемых преобразователем для конкретного типа файла.
Например, для текстового файла исходного кода метаданные могут включать имена процедур, которые программа экспортирует или импортирует, типы процедур и файлы, включенные в программу. Для документа — его дата, автор, название и структура (разделы и подразделы). Для электронного письма укажите его отправителя, получателя и тему.
Родословная [ править ]
В научных рабочих процессах важно происхождение файла данных. Ученый может захотеть выбрать файл результатов, отфильтровав его по входному набору данных.
Архитектура [ править ]
Васудеван и Пазандак [3] ввести различие между интегрированным и расширенным подходами:
- В интегрированных подходах семантика является особенностью файловой системы.
- Тесно связанные системы реализуются внутри файловой системы.
- Слабосвязанные системы реализуются поверх классической файловой системы, но скрывают ее интерфейс.
- В расширенных подходах семантика представляет собой абстракцию поверх классической файловой системы. Доступ к классическому интерфейсу файловой системы сохраняется, пользователь может выбирать.
Они предполагают, что архитектура открытых систем хорошо адаптирована к реализациям семантических файловых систем.
Совместимость с иерархическими файловыми системами [ править ]
Даже интегрированные семантические файловые системы могут предоставить интерфейс для совместимости с существующими протоколами локальных или распределенных файловых систем . Например, реализация Гиффорда и др. в 1991 году была полностью совместима с NFS . [1]
Хранилище метаданных [ править ]
Расширенные атрибуты файла, предоставляемые файловой системой, могут быть способом хранения метаданных.
— Реляционная база данных еще один очень распространенный способ хранения метаданных.
Реализация исследований [ править ]
Имя | Тип | Метаданные | ТЫ | Дата | Комментарий |
---|---|---|---|---|---|
Файловая система Lineage [4] | Расширение файловой системы | Родословная | Линукс | 2005 | Изменяет ядро Linux для регистрации всех процессов создания процессов и системных вызовов, связанных с файлами. Использует базу данных MySQL. |
SemFS (ранее TagFS) [5] | Файловая система | Теги | Линукс , Винда | 2006 | В Windows можно смонтировать как диск WebDAV. В Linux на основе FUSE . Теги хранятся в формате RDF. Использует внутреннюю файловую систему, не открытую. |
СФС [1] | Расширение файловой системы | В зависимости от типа файла | Линукс | 1991 |
Реализации [ править ]
Имя | Тип | Метаданные | ТЫ | Лицензия | программирования Язык (и) | Последнее обновление | Комментарий |
---|---|---|---|---|---|---|---|
Быть файловой системой (BFS) | Файловая система | БеОС | Собственный; последняя версия бесплатная | Метаданные хранятся в расширенных атрибутах файла . Работает с файловым менеджером Tracker. | |||
Данталиан | Расширение файловой системы | Теги | Linux и смежные POSIX -совместимые файловые системы | Апач 2 | Питон | 2016 | Использует символические ссылки |
dhtfs | Расширение файловой системы пользовательского уровня | Теги | Линукс | BSD 3-пункт | Питон | 2009 | На основе предохранителя |
Элиза | Графический файловый менеджер | Теги | Windows и MacOS | Собственный, без затрат | 2021 | ||
Предохранитель::TagLayer | Расширение файловой системы | Теги | Линукс | GPL v3 / AL v2 | Перл | 2013 | На основе предохранителя |
Таблицы | Графический файловый менеджер | Теги | Windows Vista до 11 | Собственный, бесплатный | .NET Framework | Использует реляционную базу данных SQL Server . | |
Тег2Найти | Теги | Windows XP и Vista 32-битная | 2007 | ||||
ТегиДляВсех | Графический файловый менеджер | Теги | Windows х64 | Фримиум | 2014 | Ограничение на 70 тегов в бесплатной версии. Метаданные хранятся в двух местах: в файлах в виде ADS (альтернативный поток данных для NTFS ) и в локальной базе данных. | |
Тегипостоянный | Файловая система | Теги | Линукс | лицензия GPL | С | 2017 | На основе тегов, на основе FUSE |
ТегПространства | Графический файловый менеджер , веб- или настольный (использует Electron ) | Теги | Windows, macOS, Linux и Android . | AGPL (фримиум) | TypeScript , JavaScript , Java , Objective-C | Продолжается | |
тегxfs | Расширение файловой системы | Теги | Линукс | Лицензия на программное обеспечение Boost 1.0 | С++ | 2013 | Расширяет файловую систему пользовательского пространства до иерархии на основе тегов. |
ТМСУ | Виртуальная файловая система | Теги | 2022 | Использует SQLite реляционную базу данных . | |||
Прозрачный тег | Файловая система | Теги | Линукс, БСД | Лицензия GPL v2 | OCaml | 2013 | Данные и теги хранятся в виде обычных файлов. |
WinFS | Файловая система и менеджер | Любой тип | Windows ХР | Собственный | .NET Framework | 2006 | Использует реляционную базу данных |
xtagfs | Расширение файловой системы | Теги | macOS | Лицензия GPL v2 | Питон | 2009 | На основе предохранителя |
См. также [ править ]
- Контентно-адресуемое хранилище
- Логическая файловая система
- Семантический рабочий стол
- Семантическая сеть
Ссылки [ править ]
- ^ Jump up to: Перейти обратно: а б с д Гиффорд, Дэвид; Жувело, Пьер; Шелдон, Марк А.; О'Тул, Джеймс В. младший (1991). «Семантические файловые системы» (PDF) . Обзор операционных систем ACM . 25 (5): 16–25. дои : 10.1145/121133.121138 .
- ^ Фобель, Себастьян; Кушель, Кристиан (2008). «На пути к интерфейсам семантической файловой системы» (PDF) . ISWC (Плакаты и демонстрации) .
- ^ Васудеван, Вену; Пазандак, Пол (1997). «Семантические файловые системы» . Объект Сервисес энд Консалтинг, Инк . Проверено 5 марта 2024 г.
- ^ Сар, Кан; Цао, Пей (2005). «Файловая система Lineage» . Стэнфордский университет . Проверено 14 марта 2024 г.
- ^ Блодорн, Стефан; Фелькель, Макс (2006). «TagFS — семантика тегов для иерархических файловых систем» . Материалы конференции WWW – через CiteSeerX.
Внешние ссылки [ править ]
Исследования и спецификации
- Модель Силе. Инфраструктура семантической файловой системы для настольных компьютеров
- Семантическая FS @ Исследовательская группа систем программирования Массачусетского технологического института
- Launchpad Blueprints: файловая система на основе тегов для Ubuntu.
- Видение будущего ReiserFS
- внешний список сопутствующих работ по семантическим файловым системам @ semanticweb.org
- Подробная статья Наюки «Проектирование лучшей организации файлов на основе тегов, а не иерархий».
- Файловая система без каталогов