WikiDer > Tagistant - Vikipediya

Tagsistant - Wikipedia
Teg yordamchisi
Tagsistant logo.png
Tuzuvchi (lar)Tx0
Barqaror chiqish
0.6
YozilganC
Operatsion tizimLinux yadrosi
Mavjud:Ingliz tili
TuriSemantik fayl tizimi
LitsenziyaGNU GPL
Veb-saythttp://www.tagsistant.net/
Teg yordamchisi
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

  1. ^ "teglar / va munosabatlar / kataloglar".
  2. ^ "Tagistant uchun plaginni qanday yozish kerak?".
  3. ^ "Key-value faylni tahlil qiluvchi".
  4. ^ "Tagsistant 0.6 howto - Inodes".
  5. ^ "Kengaytirilgan atributlar va yorliqli fayl tizimlari".
  6. ^ "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)

Tashqi havolalar