WikiDer > Tagistant - Vikipediya
![]() | The betaraflik ushbu maqolaning bahsli. (2012 yil oktyabr) (Ushbu shablon xabarini qanday va qachon olib tashlashni bilib oling) |
![]() | |
Tuzuvchi (lar) | Tx0 |
---|---|
Barqaror chiqish | 0.6 |
Yozilgan | C |
Operatsion tizim | Linux yadrosi |
Mavjud: | Ingliz tili |
Turi | Semantik fayl tizimi |
Litsenziya | GNU GPL |
Veb-sayt | http://www.tagsistant.net/ |
Tuzuvchi (lar) | Tx0 |
---|
Teg yordamchisi a semantik fayl tizimi uchun Linux yadrosi, yozilgan C va asoslangan FUSE. An'anaviylardan farqli o'laroq fayl tizimlari moslamalarni topish uchun kataloglar ierarxiyalaridan foydalanadigan, Tagistent tushunchasini taqdim etadi teglar.
Ierarxik fayl tizimlarining dizayni va farqlari
Hisoblashda, a fayl tizimi saqlash, olish va yangilash uchun ishlatilishi mumkin bo'lgan ma'lumotlar do'koni turi fayllar. Har bir fayl o'zgacha joylashishi mumkin yo'l. Faylga kirish uchun foydalanuvchi yo'lni oldindan bilishi kerak va yo'l fayl mazmuni haqida hech qanday ma'lumotni o'z ichiga olmaydi.
Tagsistant asosidagi qo'shimcha yondashuvdan foydalaniladi teglar. Foydalanuvchi teglar to'plamini yaratishi va ushbu teglarni fayllarga qo'llashi mumkin, kataloglar va boshqa narsalar (qurilmalar, quvurlar, ...). Keyin foydalanuvchi so'rov deb nomlangan teglar to'plamiga mos keladigan barcha moslamalarni qidirishi mumkin. Bunday yondashuv rasmlar, audio yozuvlar, filmlar va matn hujjatlari kabi foydalanuvchi tarkibini boshqarish uchun juda mos keladi, ammo tizimning fayllari (kutubxonalar, buyruqlar va konfiguratsiyalar kabi) mos kelmaydi; xavfsizlik noto'g'ri tarkibga kirishni oldini olish bo'yicha talab.
Teglar / katalog
Tagsistant fayl tizimida to'rtta asosiy katalog mavjud:
- Arxiv/
- munosabatlar/
- statistika /
- teglar /
Teglar. Ning pastki kataloglari sifatida yaratilgan teglar /
katalogi va ushbu sintaksisga mos keladigan so'rovlarda foydalanish mumkin:
teglar / subquery / [+ / subquery / [+ / subquery /]] / @ /
[1]
bu erda subquery - bu o'zboshimchalik bilan uzun kataloglar qatoriga qo'shilgan teglar ro'yxati:
tag1 / tag2 / tag3 /.../ tagN /
Yo'lning chegaralangan qismi teglar /
va @/
bu haqiqiy so'rov. The +/
operator turli xil sub-so'rovlar natijalarini bitta ro'yxatga qo'shadi. The @/
operator so'rovni tugatadi.
Quyidagi so'rov natijasida qaytarilishi kerak:
teglar / t1 / t2 / + / t1 / t4 / @ /
ob'ekt ikkalasi sifatida belgilanishi kerak t1 /
va t2 /
yoki ikkalasi kabi t1 /
va t4 /
. Belgilangan har qanday ob'ekt t2 /
yoki t4 /
, lekin shunday emas t1 /
olinmaydi.
So'rov sintaksisi ataylab buzadi POSIX fayl tizimining semantikasi, masalan, yo'l belgisining o'zi avlodlari bo'lishiga imkon berish orqali teglar / t1 / t2 / + / t1 / t4 / @
qayerda t1 /
ikki marta paydo bo'ladi. Natijada, Tagistant fayl tizimini rekursiv skanerlash xato yoki tugallanmagan tsikl bilan chiqadi. UNIX topmoq
:
~ / tagsistant_mountpoint $ teglar / teglar / teglar / hujjatlar teglari / hujjat / + teglar / hujjat / + / hujjatlar teglari / hujjat / + / hujjat / + teglar / hujjat / + / hujjat / hujjat / +[...]
Ushbu nuqson so'rov ichidagi teglarni istalgan tartibda ro'yxatlash imkoniyati bilan muvozanatlangan. So'rov teglar / t1 / t2 / @ /
ga to'liq tengdir teglar / t2 / t1 / @ /
va teglar / t1 / + / t2 / t3 / @ /
ga teng teglar / t2 / t3 / + / t1 / @ /
.
The @/
element POSIX semantikasini tiklashning aniq maqsadiga ega: yo'l teglar / t1 / @ / katalog /
an'anaviy katalogga ishora qiladi va ushbu yo'lning rekursiv tekshiruvi to'g'ri bajariladi.
Mulohaza yurituvchi va aloqalar / katalog
Tags bilan ishlaydigan xususiyatlar oddiy mulohaza yurituvchi so'rov natijalarini tegishli teglar bilan belgilangan ob'ektlarni qo'shib kengaytiradi. Ichida ikkita teglar orasidagi bog'liqlikni o'rnatish mumkin munosabatlar/
uch darajali naqsh bo'yicha katalog:
munosabatlar / tag1 / rel / tag2 /
The rel
element bo'lishi mumkin o'z ichiga oladi yoki tengdir. Qo'shish uchun tosh yorlig'i musiqa yorlig'i, UNIX buyrug'i mkdir
foydalanish mumkin:
mkdir -p munosabatlar / musiqa / o'z ichiga oladi / rok
Mulohaza murakkab tuzilmalarni yaratishga imkon beradigan munosabatlarni rekursiv ravishda hal qilishi mumkin:
mkdir -p munosabatlar / musiqa / o'z ichiga oladi / rok
mkdir -p munosabatlar / rock / o'z ichiga oladi / hard_rock
mkdir -p munosabatlar / rok / o'z ichiga oladi / grunge
mkdir -p munosabatlar / tosh / o'z ichiga oladi / og'ir_metal
mkdir -p munosabatlar / heavy_metal / o'z ichiga oladi / speed_metal
Ichida yaratilgan munosabatlar tarmog'i munosabatlar/
katalog asosiy shaklini tashkil etadi ontologiya.
Plaginlarni avtomatik yorliqlash
Tagsistant xususiyatlari avtogging fayl yoki symlink yozilganda chaqiriladigan plaginlar to'plami.[2] Har bir plagin e'lon qilingan taqdirda chaqiriladi MIME turi gugurt
Tagsistant 0.6 bilan chiqarilgan ishlaydigan plaginlar ro'yxati quyidagilar bilan cheklangan:
- text / html: faylni har bir so'z bilan teglar
<title>
va<keywords>
elementlari va bilan hujjat, veb sahifa va HTML ham - image / jpeg: faylni har biriga teglar qo'yadi Exif yorliq
Ombor
Har bir Tagsistant fayl tizimida tegishli anbar mavjud Arxiv/
ob'ektlar aslida saqlanadigan katalog va a tags.sql
sifatida etiketleme ma'lumotlarini ushlab turuvchi fayl SQLite ma'lumotlar bazasi. Agar MySQL ma'lumotlar bazasi dvigateli bilan ko'rsatilgan --db
argument, tags.sql
fayl bo'sh bo'ladi. Boshqa nomlangan fayl repository.ini
a GLib ombor konfiguratsiyasi bilan ini do'kon.[3]
Tagistant 0.6 yorliqlarni mulohaza qilish va belgilashga ruxsat berish uchun SQL-ning MySQL va Sqlite dialektlari bilan mos keladi. Uning mantig'ini boshqa SQL dialektlariga ko'chirish mumkin bo'lsa-da, asosiy konstruktsiyalardagi farqlarni (ayniqsa, INTERSECT SQL kalit so'zi) hisobga olish kerak.
Arxiv / va stats / kataloglar
The Arxiv/
katalog ob'ektlarga teglardan foydalanmasdan tezkor kirish usulini taqdim etish uchun kiritilgan. Ob'ektlar inode raqami prefiks bilan ro'yxatlangan.[4]
The statistika /
katalogda foydalanish statistikasini o'z ichiga olgan faqat o'qish uchun mo'ljallangan ba'zi fayllar mavjud. Fayl konfiguratsiya
kompilyatsiya vaqti va joriy ombor konfiguratsiyasiga ega.
Asosiy tanqidlar
Teglarni saqlash va ma'lumotni belgilash uchun tashqi ma'lumotlar bazasiga tayanish, ma'lumotlar bazasi buzilgan taqdirda metamalumotlarning to'liq yo'qolishiga olib kelishi mumkinligi ta'kidlangan.[5]
Yassi nom maydonidan foydalanish haddan tashqari ko'p bo'lishiga moyil ekanligi ta'kidlangan teglar /
katalog.[6] Buni kiritishni yumshatish mumkin uch teglar.
Shuningdek qarang
Adabiyotlar
- ^ "teglar / va munosabatlar / kataloglar".
- ^ "Tagistant uchun plaginni qanday yozish kerak?".
- ^ "Key-value faylni tahlil qiluvchi".
- ^ "Tagsistant 0.6 howto - Inodes".
- ^ "Kengaytirilgan atributlar va yorliqli fayl tizimlari".
- ^ "Ushbu yondashuvning asosiy muammosi - ko'lamini kengaytirish". https://news.ycombinator.com/item?id=2573318. Tashqi havola
| noshir =
(Yordam bering); Yo'qolgan yoki bo'sh| url =
(Yordam bering)