MetaData

In this section, we are going to illustrate how to extract the metadata of the book.

Extraction of MetaData

To extract the metadata of the book, we use the API extract(MetaData, text). So that, the following will download the Muslim Sahih (shamela) book:

julia> using Kitab
julia> muslimsahih = "https://raw.githubusercontent.com/OpenITI/0275AH/master/data/0261Muslim/0261Muslim.Sahih/0261Muslim.Sahih.Shamela0001727-ara1.mARkdown";
julia> get(OpenITIDB, muslimsahih)┌ Info: Downloading │ source = "https://raw.githubusercontent.com/OpenITI/0275AH/master/data/0261Muslim/0261Muslim.Sahih/0261Muslim.Sahih.Shamela0001727-ara1.mARkdown" │ dest = "/home/runner/work/Kitab.jl/Kitab.jl/src/../db/0275AH/data/0261Muslim/0261Muslim.Sahih/0261Muslim.Sahih.Shamela0001727-ara1.mARkdown.txt" │ progress = 1.0 │ time_taken = "0.22 s" │ time_remaining = "0.0 s" │ average_speed = "20.911 MiB/s" │ downloaded = "4.705 MiB" │ remaining = "0 bytes" └ total = "4.705 MiB" "/home/runner/work/Kitab.jl/Kitab.jl/src/../db/0275AH/data/0261Muslim/0261Muslim.Sahih/0261Muslim.Sahih.Shamela0001727-ara1.mARkdown.txt"
julia> list(OpenITIDB)1×4 DataFrame Row │ AH Author Book Version ⋯ │ String String String String ⋯ ─────┼────────────────────────────────────────────────────────────────────────── 1 │ 0275AH 0261Muslim 0261Muslim.Sahih 0261Muslim.Sahih.Shamela0001727-… ⋯
julia> text = load(OpenITIDB, 1)54111-element Vector{String}: "######OpenITI#" "#META# 001.AuthorNAME :: مسلم بن الحجاج أبو الحسن القشيري النيسابوري" "#META# 002.AuthorSHORTNAME :: مسلم" "#META# 003.AuthorSHORTNAMEtrans :: Muslim" "#META# 004.AuthorBORN :: 206" "#META# 005.MULTIPLEBIRTHDATES: False" "#META# 006.AuthorDIED :: 261" "#META# 007.MULTIPLEDEATHDATES :: False" "#META# 008.LEGALSCHOOL :: الشافعي" "#META# 009.LEGALSCHOOLtrans :: al-Shāfiʿī" ⋮ "# (3033) حدثنا عمرو بن زرارة، حدثنا هشيم، عن أبي هاشم، عن أبي مجلز، عن" "~~قيس بن عباد، قال: سمعت أبا ذر، يقسم قسما: إن {هذان خصمان اختصموا في" "~~ربهم} [الحج: 19] «إنها نزلت في الذين برزوا يوم بدر، حمزة، وعلي، وعبيدة" "~~بن الحارث، وعتبة، وشيبة ابنا ربيعة، والوليد بن عتبة»، PageV00P000" "### \$ 34 -" "# حدثنا أبو بكر بن أبي شيبة، حدثنا وكيع، ح وحدثني محمد بن المثنى، حدثنا" "~~عبد الرحمن، جميعا عن سفيان، عن أبي هاشم، عن أبي مجلز، عن قيس بن عباد،" "~~قال: سمعت أبا ذر يقسم لنزلت: {هذان خصمان} [الحج: 19] بمثل حديث هشيم" "~~PageV00P000 ms1663"
julia> extract(MetaData, text)MetaData("مسلم بن الحجاج أبو الحسن القشيري النيسابوري", "مسلم", "Muslim", "206", "False", "261", "False", "الشافعي", "al-Shāfiʿī", "صحيح مسلم", "صحيح مسلم", "Ṣaḥīḥ Muslim", "n.d. ,دار احياء التراث العربي، بيروت", "5", "حديث", "Ḥadīth", "Ḥadīth collections", "n/a", "Shamela_0001727")