WikiDer > Тегсистент - Википедия
The бейтараптық осы мақаланың даулы. (Қазан 2012) (Бұл шаблон хабарламасын қалай және қашан жою керектігін біліп алыңыз) |
| Әзірлеушілер | Tx0 |
|---|---|
| Тұрақты шығарылым | 0.6 |
| Жазылған | C |
| Операциялық жүйе | Linux ядросы |
| Қол жетімді | Ағылшын |
| Түрі | Семантикалық файлдық жүйе |
| Лицензия | GNU GPL |
| Веб-сайт | http://www.tagsistant.net/ |
| Әзірлеушілер | Tx0 |
|---|
Tagistant Бұл семантикалық файлдық жүйе үшін Linux ядросы, жазылған C және негізделген ТЫҒЫНДАР. Дәстүрліден айырмашылығы файлдық жүйелер объектілерді орналастыру үшін каталогтар иерархиясын қолданатын, Tagistant деген ұғымды енгізеді тегтер.
Иерархиялық файлдық жүйелермен дизайны және айырмашылықтары
Есептеу кезінде а файлдық жүйе - сақтау, алу және жаңарту үшін пайдалануға болатын мәліметтер қоймасының түрі файлдар. Әрбір файл бірегей түрде орналасуы мүмкін жол. Пайдаланушы файлға қол жеткізу үшін жолды алдын-ала білуі керек және жол міндетті түрде файлдың мазмұны туралы ақпаратты қамтымайды.
Tagistant комплементарлы әдісті қолданады тегтер. Пайдаланушы тегтер жиынын құра алады және сол тегтерді файлдарға қолдана алады, анықтамалықтар және басқа нысандар (құрылғылар, құбырлар, ...). Содан кейін пайдаланушы сұраулар деп аталатын тегтер жиынтығына сәйкес келетін барлық нысандарды іздей алады. Мұндай тәсіл қолданушы мазмұнын суреттер, аудиожазбалар, фильмдер және мәтіндік құжаттар сияқты басқаруға өте ыңғайлы, бірақ жүйенің файлдарымен үйлесімді емес (кітапханалар, командалар мен конфигурациялар сияқты), егер жолдың бірлігі анықталса, қауіпсіздік қате мазмұнға қол жеткізуге жол бермеу туралы талап.
Тегтер / каталог
Tagistant файлдық жүйесі төрт негізгі каталогты ұсынады:
- мұрағат /
- қарым-қатынастар/
- статистика /
- тегтер /
Тегтер каталогтар ретінде жасалады тегтер / каталогы және осы синтаксиске сәйкес келетін сұрауларда қолданылуы мүмкін:
тегтер / ішкі сұрау / [+ / ішкі сұрау / [+ / ішкі сұрау /]] / @ /[1]
мұндағы ішкі сұраныс - бұл каталогтармен біріктірілген ерікті түрде ұзын тегтер тізімі:
tag1 / tag2 / tag3 /.../ tagN /
Шектелген жол бөлігі тегтер / және @/ нақты сұрау болып табылады. The +/ оператор әр түрлі ішкі сұраулардың нәтижелерін бір тізімге қосады. The @/ оператор сұранысты аяқтайды.
Келесі сұрау нәтижесінде қайтарылуға тиіс:
тегтер / t1 / t2 / + / t1 / t4 / @ /
нысан екеуі ретінде белгіленуі керек t1 / және t2 / немесе екеуі ретінде t1 / және t4 /. Ретінде белгіленген кез келген нысан t2 / немесе t4 /, бірақ олай емес t1 / алынбайды.
Сұраныс синтаксисі әдейі бұзады POSIX сияқты файлдық жүйенің семантикасы жол таңбалауышының өзінің ұрпағы болуына мүмкіндік беру арқылы тегтер / t1 / t2 / + / t1 / t4 / @ қайда t1 / екі рет пайда болады. Нәтижесінде, Tagistant файлдық жүйесінің рекурсивті сканерлеуі қатемен немесе шексіз циклмен шығады. UNIX табу:
~ / tagsistant_mountpoint $ тегтер / тегтер / тегтер / құжат тегтері / құжат / + тегтер / құжат / + / құжат тегтері / құжат / + / құжат / + тегтер / құжат / + / құжат / + / құжат тегтері / құжат / + / құжат / + табу / құжат / +[...]Бұл кемшілік сұраныстың ішіндегі тегтерді кез-келген ретпен тізімдеу мүмкіндігімен теңдестірілген. Сұрау тегтер / t1 / t2 / @ / толықтай тең тегтер / t2 / t1 / @ / және тегтер / t1 / + / t2 / t3 / @ / дегенге тең тегтер / t2 / t3 / + / t1 / @ /.
The @/ элемент POSIX семантикасын қалпына келтірудің нақты мақсаты бар: жол тегтер / t1 / @ / каталог / дәстүрлі каталогқа сілтеме жасайды және осы жолдың рекурсивті сканері дұрыс орындалады.
Себепші және қатынастар / каталог
Tagistant қарапайым дәлелдеу сұраныстың нәтижелерін байланысты тегтермен белгіленген нысандарды қосу арқылы кеңейтеді. Ішіндегі екі тегтің арасындағы байланысты орнатуға болады қарым-қатынастар/ үш деңгейлік үлгі бойынша келесі каталог:
қатынастар / tag1 / rel / tag2 /
The рел элемент болуы мүмкін кіреді немесе эквивалентті. Қосу үшін тау жынысы ішіндегі тег музыка белгісі, UNIX командасы mkdir пайдалануға болады:
mkdir -p қатынастары / музыка / қамтиды / рок
Ой қозғаушы күрделі құрылымдарды құруға мүмкіндік беретін қатынастарды рекурсивті түрде шеше алады:
mkdir -p қатынастары / музыка / қамтиды / рокmkdir -p қатынастары / рок / қамтиды / hard_rockmkdir -p қатынастары / рок / қамтиды / гранжmkdir -p қатынастары / рок / қамтиды / heavy_metalmkdir -p қатынастары / heavy_metal / қамтиды / speed_metal
Ішінде құрылған қатынастар торы қарым-қатынастар/ каталог негізгі форманы құрайды онтология.
Плагиндерді автоматты түрде белгілеу
Tagistant функциясының an автотегтау файл немесе символ сілтемесі жазылған кезде шақырылатын плагиндер стегі.[2] Әрбір плагин егер ол жарияланған болса деп аталады MIME түрі матчтар
Tagistant 0.6 көмегімен шығарылатын жұмыс плагиндерінің тізімі:
- text / html: файлды әрбір сөзбен белгілейді
<title>және<keywords>элементтерімен және құжат, веб парақ және HTML да - image / jpeg: файлды әрқайсысымен белгілейді Exif тег
Репозиторий
Әрбір Tagsistant файлдық жүйесінде an бар тиісті репозитарий бар мұрағат / объектілер нақты сақталатын каталог және a tags.sql ретінде белгілеу туралы ақпаратты ұстайтын файл SQLite дерекқор. Егер MySQL мәліметтер базасының қозғалтқышы көрсетілген --db дәлел tags.sql файл бос болады. Тағы бір файл репозиторий.ini Бұл GLib репозиторий конфигурациясы бар ini дүкені.[3]
Tagistant 0.6 тегтермен ойлау және белгілеуді шешу үшін SQL-тің MySQL және Sqlite диалектілерімен үйлесімді. Оның логикасын басқа SQL диалектілеріне көшіру мүмкін болғанымен, негізгі құрылымдардағы айырмашылықтарды ескеру қажет (әсіресе INTERSECT SQL кілт сөзі).
Мұрағат / және статистика / анықтамалықтар
The мұрағат / каталогтар объектілерге тегтерді қолданбай қол жеткізудің жылдам әдісін ұсыну үшін енгізілген. Нысандар префикстің инод нөмірімен тізімделеді.[4]
The статистика / каталогта пайдалану статистикасы бар тек оқуға арналған файлдар бар. Файл конфигурация компиляция уақыты туралы және ағымдағы репозитарийдің конфигурациясы бар.
Негізгі сындар
Тегтер мен ақпараттарды сақтау үшін сыртқы дерекқорға сүйену, егер мәліметтер қоры бүлінген болса, метадеректердің толық жоғалуына әкелуі мүмкін екендігі атап өтілді.[5]
Жазық атау кеңістігін пайдалану артық толып кетуге бейім екендігі атап өтілді тегтер / анықтамалық.[6] Мұны енгізу жеңілдетілуі мүмкін үштік тегтер.
Сондай-ақ қараңыз
Әдебиеттер тізімі
- ^ «тегтер / және қатынастар / анықтамалықтар».
- ^ «Tagistant үшін плагинді қалай жазуға болады?».
- ^ «Файлдың негізгі мәні».
- ^ «Tagsistant 0.6 howto - инодтар».
- ^ «Кеңейтілген атрибуттар және файлдық жүйелер».
- ^ «Бұл тәсілдің негізгі проблемасы - бұл масштабтау». https://news.ycombinator.com/item?id=2573318. Сыртқы сілтеме
| баспагер =(Көмектесіңдер); Жоқ немесе бос| url =(Көмектесіңдер)