RDF veri modeli. RDF grafiği

Onlarca yıldır veri işleme teknolojisinin temelini oluşturan ilişkisel model artık baskın değil; çok daha fazla sayıda ilişkinin dikkate alınmasını ve tanımlanmasını gerektiren yeni görevler sahneye çıkıyor. Yeni yöntemler arasında RDF modeli de yer alıyor.

14.11.2012 Vladislav Golovkov, Andrey Portnov, Victor Chernov

Onlarca yıldır veri işleme teknolojisinin temelini oluşturan ilişkisel model artık baskın değil; çok daha fazla sayıda ilişkinin dikkate alınmasını ve tanımlanmasını gerektiren yeni görevler sahneye çıkıyor. Yeni veri işleme yöntemleri arasında RDF modeli öne çıkıyor: SQL veritabanlarından RDF sistemlerine geçiş, Cobol'dan SQL'e geçişle karşılaştırılabilecek bir teknolojik sıçrama vaat ediyor.

Şimdiye kadar en yaygın veri depolama modeli ilişkiseldi; 70'lerin sonlarından bu güne kadar yapılandırılmış verilerin depolanması için fiili standarttı ve SQL dili de bu verilerin işlenmesi için standarttı. Bununla birlikte, yapılandırılmış verilerin payı küçülüyor ve ilişkisel model, önemli miktarda veriyle çalışırken giderek daha fazla sorun yaşıyor - örneğin, uzun süredir, analitik işlemeyi çözerken ilişkisel DBMS'lerin performansındaki bozulma fark edildi. karakteristik özellikleri birden çok tablo ve çok sayıda toplamayla çalışan "uzun" SQL sorguları olan görevler.

Günümüzde, ilişkisel modelin ötesine geçen görevler genellikle NoSQL olarak sınıflandırılmakta olup, bunların her bir alt sınıfı, SQL kullanılarak kötü bir şekilde uygulanan belirli bir sorunu çözmektedir - örneğin, sütunlu veritabanları, belge odaklı, grafik, anahtar-değer veritabanları ve nesne veritabanları. Örneğin, anahtar/değer veritabanları son derece büyük hacimlerle, birleştirme işlemlerinin olmadığı ve sınırlı veri güncelleme gereklilikleriyle (örneğin yalnızca ekleme) karakterize edilen görevler için kullanılır. Hacimleri nedeniyle bu tür veritabanları kasıtlı olarak dağıtılır ve bu da işlemlerin tamamen reddedilmesi anlamına gelir - bu kadar basitleştirilmiş bir veri modeli, paralel mimarilerin yaygın kullanımı yoluyla üretkenliği artırmak için yeni fırsatlar sağlar.

İlişkisel model kullanarak çözülmesi zor olan diğer bir problem sınıfı, yüksek derecede ilişkili veri veya grafik problemlerini içeren problemlerdir. İlişkisel bir model kullanarak bu tür sorunları çözme girişimleri, sorgularda öngörülemeyen sayıda bağlantıya yol açar; bu nedenle, günümüzde grafik sorunlarının çözümünde en yaygın olarak kullanılanlar, temel avantajı iyi geliştirilmiş W3C komite standartlarının varlığı olan RDF depolarıdır. grafik tanımlama dili (Kaynak Açıklama Çerçevesi, RDF) ve grafik verilerinin işlenmesi için (SPARQL - özyinelemeli kısaltma: SPARQL Protokolü ve Rdf Sorgu Dili).

RDF modeli 1990'ların sonlarında ortaya çıktı ve 2001'de Scientific American, Tim Berners Lee'nin Anlamsal Web'in gelişini müjdeleyen ünlü bir makalesini yayınladı. O zamandan bu yana, 2004 yılında W3C komite standardı olarak kabul edilen RDF de dahil olmak üzere anlamsal işlemeyle ilgili her şeye olan ilgi, çevrimiçi toplulukta katlanarak artmaya başladı.

RDF'nin temeli, yapay zeka uzmanlarının iyi bildiği verilerin, özne-yüklem-nesne ifadeleri (üçlü) biçiminde, özneden nesneye yönlendirilmiş bir ilişkiyi tanımlayan temsilidir. Konuları, nesneleri ve yüklemleri tanımlamak için URL kavramının genelleştirilmiş hali olan Tekdüzen Kaynak Tanımlayıcısı (URI) kullanılır. Örneğin:

konu/nesne:

Yüklem:

URI'ler dışındaki nesneler de değişmez değerlerle temsil edilebilir; örneğin bir derginin adı: “Journal 1 (1940)”^^xsd:string.

Katı bir yapıya sahip olan ilişkisel modelden farklı olarak RDF modeli oldukça esnektir - her konu kendi yüklemlerini ve nesnelerini içerebilir, örneğin tek bir ürün veritabanında tüm ürünler "Fiyat" yüklemine sahiptir, ancak aynı zamanda Zaman zaman, buzdolapları “Hacim” dondurucu yüklemine ve televizyonlar ise “Ekran köşegeni” yüklemine sahip olabilir.

En iyi bilinen RDF temsil formatları XML, JSON, N-Triples, N3 ve Turtle metin dosyalarıdır. Örneğin, bazı verileri Turtle formatında temsil etmek:

@prefix xsd: . @prefix f: . xsd:tür ; f:isim “Galaktozemili çocuklar için özel tıbbi bakım standardı”; f:mkb; f:hizmet , ; f:ilaç; xsd:tür ; f:ad “Nöromiyelit optika [Devic hastalığı]”; xsd:tür ; f:isim “Genel nöropsikolojik muayene”; xsd:tür ; f:ad “Actovegin”;

Bu örnek, ICD 10 sınıflandırıcısına göre teşhis, ilgili tıbbi hizmetler ve ilaç tedavisi dahil olmak üzere, bir hastalığa yönelik tıbbi bakım standardını açıklayan bir grafiğin bir parçasını temsil etmektedir.

RDF modeli esasen yönlendirilmiş bir grafiği tanımlar (Şekil 1), burada her üçlü bir ilişkinin, yani iki düğüm arasındaki bir bağlantının açıklamasıdır.

Sorgu dili

RDF modeli verileri tanımlamaya yarar ancak onu işlemeye yönelik yöntemleri açıklamaz. RDF verileri için çok sayıda sorgulama dili vardır: DQL, N3QL, R-DEVICE, RDFQ, RDQ, RDQL, SeRQL, vb. ancak en popüler olanı, W3C standardı olarak benimsenen SPARQL'dir. SPARQL dili, SQL'den farklı olarak (özellikle çapraz platform eksikliği, eksik verilerin işlenmesinde sorunlar, belirsiz dilbilgisi ve anlambilim nedeniyle eleştiriliyor) daha uyumlu bir yapıya ve güce sahip. SPARQL sorgusunun ana kısmı, genel grafikte bulunması gereken alt grafiği açıklayan bir şablondur. Şablon, değişkenlere sahip bir üçlü küme olarak temsil edilir - örneğin, belirli bir grafikte Peter adında bir kişiyi arama isteği:

Seçme? x nerede (? x: tür: kişi. ? x: ad "Peter")

Burada “select” bloğu sorgunun sonucunu görüntülemek için değişkenlerin bir listesini içerir; “?x”, arama sırasında bulunan nesnenin URI'sinin değerini alacak bir değişkendir. "Nerede" bloğu, sorgu şablonunu oluşturan bir dizi üçlü içerir. Arama sonucunda şablonu karşılayan bir alt grafik bulunacaktır (Şekil 2).

SQL'e aşina bir kişi için SPARQL dilini öğrenmek kolaydır; SPARQL'in çoğu ona tanıdık gelecektir. Örneğin dil UNION, ORDER BY, GROUP BY, DISTINCT, OFFSET ve LIMIT gibi yapıları içerir. SPARQL, günümüzde mevcut olan en etkileyici veri işleme dillerinden biridir. Sorgu diline ek olarak SPARQL standardı, veritabanıyla etkileşim protokolünü ve sonucun formatını da düzenler; bu, SQL'e kıyasla büyük bir adımdır.

RDF modelinin ve SPARQL dilinin avantajlarının yanı sıra dezavantajları da bulunmaktadır. Avantajlarla başlayalım.

Esneklik. RDF modeli üzerine kurulu bir bilgi sisteminin mimarisindeki değişiklikler, ilişkisel model üzerine kurulu bir sisteme göre daha kolay gerçekleşir ve kural olarak veritabanının yeniden yapılandırılmasını bile gerektirmez.

Modern mimari. RDF depolamaya yönelik istekler genellikle HTTP protokolü kullanılarak yapılır; bu da bunların, orta katmanlar oluşturmadan ve güvenilirlik ve performanstan ödün vermeden hizmet mimarilerine entegre edilmesini kolaylaştırır. RDF ve SPARQL, uluslararası içerikle SQL veritabanlarından daha iyi çalışır.

Standardizasyon. RDF ve SPARQL'in standardizasyon düzeyi SQL'den çok daha yüksektir - W3C komitesinin çabaları sayesinde standartlar yalnızca RDF modeli ve SPARQL dili için değil, aynı zamanda kaynak tanımlama (URI), bileşen etkileşim protokolü için de tanımlanmıştır. (HTTP), SPARQL erişim noktası vb. Standardizasyon sayesinde herhangi bir RDF deposundan indirilen veriler, farklı üreticilerin RDF mağazalarına yüklenebilmektedir. SPARQL'deki sorgular, farklı depolarda eşit olarak yürütülür; bu, veri ve sorguların bir veritabanından diğerine aktarılmasında sorunlarla karşılaşan geliştiriciler tarafından oldukça takdir edilmektedir.

Meta veriler. SPARQL herhangi bir veri parçasının kökeninin izlenmesini kolaylaştırır. RDF, çok çeşitli meta verileri depolamayı kolaylaştırır. Meta verilere dayalı, örneğin belirli kaynaklardan, belirli bir zaman aralığındaki vb. verileri seçerek karmaşık sorgular yapabilirsiniz.

RDF modelinin ilişkisel modele göre temel dezavantajı belki de “gençliğidir”. SQL, kritik uygulamalar da dahil olmak üzere uzun yıllara dayanan kurulum ve işletim deneyimine sahiptir; bu tür veritabanlarının işlevsel zenginliği hâlâ RDF'den önemli ölçüde üstündür. RDF depolarındaki işlem mekanizması, eğer uygulanırsa, kural olarak oldukça kabadır.

RDF Araç Takımı

Neredeyse tüm ilişkisel DBMS üreticileri, şu veya bu SQL araç seti üzerine inşa edilen konfigürasyon testlerinin sonuçlarının geniş çapta duyurulmasından kaçınır ve tek açık kaynak, sınırlı bir sınıftaki sorunları çözen pahalı, yüksek performanslı sistemler için TPC testleridir. RDF sistemleri dünyası araştırmaya, deneylere ve testlere açıktır; farklı görevlere ilişkin test sonuçlarını, farklı güç ve mimariye sahip bilgisayarlarda kolayca bulabilir ve en önemlisi, bir sorunu çözmek için RDF modeliyle çalışmak için en uygun aracı seçebilirsiniz. özel uygulama sorunu.

Berlin SPARQL Karşılaştırması (BSBM). Karşılaştırmalı değerlendirme (www4.wiwiss.fu-berlin.de/bizer/berlinsparqlbenchmark), farklı üreticilerin ürünleri, ürünlerin müşteri incelemeleri vb. dahil olmak üzere e-ticaretle ilgili verileri simüle eder. Bu kıyaslama, SPARQL sorgularını yürütme hızını değerlendirmek için tasarlanmıştır. . Model ilişkiselliğe yakındır, dolayısıyla SQL veritabanını RDF depolama alanıyla değiştirmenin ne kadar etkili olacağını değerlendirmek mümkündür. Test modeli ve sorgular çok düşünceli ve uygulamaya yakın. BSBM'nin en popüler testlerden biri olmasının nedeni bu olabilir. Test geliştiricilerinin web sitesinde Şubat 2011'de yayınlanan sonuçlarda, RDF için Virtuoso, 4Store, OWLIM ve Jena TDB gibi geliştirme araçları lider konumdadır.

SP²Bench SPARQL Performans Karşılaştırması. Test (dbis.informatik.uni-freiburg.de/index.php?project=SP2B), mantık programlama (Veri Tabanı sistemleri ve Mantık Programlama) üzerine iyi bilinen DBLP literatür kütüphanesinin modeline dayanmaktadır: yayınlar, makaleler, dergiler, kitaplar vb. Tıpkı BSBM gibi, bu test de SPARQL sorgularını yürütme hızını değerlendirmek için tasarlanmıştır, ancak gerçekçiliklerinden ödün vererek daha karmaşık sorgular kullanır. Bu test, birçok karmaşık birleştirme işlemi içerdiğinden sorgu iyileştiriciyi test etmek için iyidir. Yayınlanan sonuçlarda yerler şu şekilde dağıtıldı: Virtuoso, Susam, ARQ. RDF NitrosBase Storage sunucusunun SP2Bench testlerinde yakın zamanda yaptığımız karşılaştırmalı testi, onun Virtuoso'ya göre önemli performans üstünlüğünü gösterdi (isteğe bağlı olarak 10 ila 10 bin kat).

DBpedia SPARQL Karşılaştırması. DBPSB testi (svn.aksw.org/papers/2011/VLDB_AKSWBenchmark/public.pdf), Dbpedia bilgi tabanındaki gerçek sorgulara dayanmaktadır. Test geliştirme metodolojisi pratik olduğu kadar özgündür. Yazarlar, Dbpedia veritabanındaki gerçek kullanıcı isteklerinin günlüklerini analiz eder, bunları kümeler ve istatistiksel olarak en anlamlı istek gruplarını belirler ve bunlar daha sonra testin bir sonraki sürümüne dahil edilir. Dolayısıyla DBPSB hayata mümkün olduğunca yakın bir testtir. Virtuoso bu testi en hızlı gerçekleştiriyor, onu OWLIM, Susam ve Jena TDB izliyor.

Lehigh Üniversitesi Karşılaştırması. LUBM testi (swat.cse.lehigh.edu/projects/lubm/) anlamsal yetenekleri değerlendirmek için özel olarak tasarlanmıştır, dolayısıyla diğerleri kadar yaygın değildir. Belirli bir üniversiteye ilişkin ontolojik bilgi tabanına dayanmaktadır. Bu testin sonuçları öncelikle OWLIM, YarcData, Sesame vb. gibi mantıksal çıkarım araçlarına sahip sistemler için bilinmektedir.

Günümüzde RDF modeline dayalı geliştirme araçları pazarında hızlı bir büyüme var; bazı araçlar grafikleri işlemek için özel bir mimariye sahip, bazıları ise ilişkisel veritabanları üzerine inşa ediliyor.

Apache Jena - Anlamsal Web uygulamaları geliştirmek için Java API'si. Ürün birden fazla mağaza, yerel bir üçlü mağaza (Jena TDB), ilişkisel depolamaya yönelik bir arayüz (Jena SDB), bir bellek içi mağaza (In-Memory) ve yerel mağazaları destekleyen araçlar içerir. Jena'nın en büyük gücü zengin yazılım arayüzüdür. Birçok RDF deposu, kendi DBMS'lerine (IBM, OWLIM, vb.) erişmek için Jena API'sini kullanır. Zayıf nokta, yerel depolamada bile performansın düşük olmasıdır.

Ontotext OWLIM, RDFS (RDF Şeması) ve OWL'de anlambilim desteği ile Java'da uygulanan, kendi çekirdeğine sahip bir anlamsal depolar veya RDF DBMS ailesidir. OWLIM ürünü araştırma projelerinde ve yazılım sistemlerinde aktif olarak kullanılmaktadır. Aşağıdaki sürümlerde mevcuttur: 100 milyondan az üçlüyü destekleyen uygulamalar için OWLIM-Lite; OWLIM-SE (eski adıyla BigOWLIM), büyük sorgu akışlarıyla büyük hacimli verileri işlemek için tasarlanmıştır; OWLIM-Enterprise (eski adıyla BigOWLIM Replication Cluster), paralel işlemeye ve otomatik arıza korumasına dayalı ölçeklenebilir, üretken, güvenilir çözümler oluşturmak için tasarlanmıştır.

OpenLink Yazılımı Virtuoso - kendi güçlü RDF depolama alanına, SPARQL'in tam uygulamasına, XML ve Turtle dosyalarından RDF verilerini okuma yeteneğine sahiptir. Ayrıca veri güncellemeyi desteklemek için SPARQL'in bir uzantısı olan SPARQL/Update'i (SPARUL) de destekler. Ürün performansta liderlerden biridir.

IBM ve Oracle gibi büyük şirketler de kendi RDF çözümlerini geliştiriyorlar. İlki, DB2 DBMS'nin bir sonraki sürümüne, Jena API uzantısını temel alan bir arabirimle NoSQL Grafik Desteği adı verilen RDF modelinin bir çeşidini entegre etti. Yüksek performanslı RDF işlemlerine sahiptir. Oracle, artık Uzamsal ve Grafik Seçeneği olarak adlandırılan uzamsal veri ürünü Uzamsal Veri Seçeneğine RDF'yi ekledi.

Ayrıca grafik bilgileriyle çalışmaya odaklanan ve RDF modelini destekleyen özel bilgisayarlar geliştirilmektedir. Örneğin, 2012'nin başında Cray, anlamsal veritabanı pazarını hedefleyen yeni bir yüksek performanslı donanım ve yazılım kompleksi uRiKA'nın (evrensel RDF entegrasyonu Bilgi Cihazı) oluşturulduğunu duyurdu.

Görevler

Tim Berners Lee'nin makalesinden sonra RDF modeli kamuoyunda Semantik Web ile güçlü bir şekilde ilişkilendirilmeye başlandı ancak bu modelin potansiyeli çok daha yüksek. Örneğin, günümüzde ilişkisel modelde çözülen sorunların çoğu, RDF kullanılarak kolayca çözülebilir. Ek olarak, RDF depoları, çeşitli kaynaklardan veri toplamanıza, saklamanıza ve indekslemenize olanak tanır - özellikle, farklı ilişkisel veritabanlarını tek bir veritabanında birleştirme ve yarı veri işleme sorununa yol açan mevcut hizmet entegrasyonu sorununu çözerken. -yapılandırılmış veriler. Her veritabanındaki veriler, ilişkisel modelle çalışacak şekilde sıkı bir şekilde yapılandırılmıştır, ancak her veritabanı farklı şekilde yapılandırılmıştır; dolayısıyla bunları ilişkisel modele entegre etme görevi, tüm çözümün yeniden yapılandırılmasını gerektirir. Bu tür veritabanlarını bir RDF modeline dönüştürürseniz, entegrasyon, RDF grafiklerinin basit bir birleşimine ve sorguların SQL'den SPARQL'e yeniden yazılmasına indirgenecektir; bu, SPARQL'in SQL'e kıyasla çok daha fazla ifade gücü nedeniyle zor değildir.

RDF depoları, çok sayıda ilişkinin kaydedilmesini ve tanımlanmasını gerektiren görevler için idealdir. Anlamsal Web'in gelişimiyle ilgili en çok duyurulan sorunlara ek olarak, grafik yaklaşımlarının kullanılmasını gerektiren çok sayıda klasik sorun vardır:

  • metin analizi (özel analitik arama sistemleri, pazar analiz sistemleri, pazarlama araştırması, güvenlik sistemlerinde metin analizi vb.) sonucunda elde edilen anlamsal ağların (ve diğer grafik yapılarının) işlenmesi;
  • sosyal ağlardaki davranışların analizi için verilerin sunulması ve işlenmesi (pazar araştırması, örneğin bir alıcının portresinin oluşturulması; sosyal ağlarda bilgi yayma merkezlerinin analizi ve belirlenmesi; siyasi tercihlerin analizi);
  • büyük yazılım ve donanım sistemlerinin güvenilirliğini ve güvenliğini sağlamak için sistemler için çeşitli modüllerin ve alt sistemlerin (log analizi dahil) etkileşimine ilişkin verilerin analizi ve işlenmesi;
  • muharebe operasyonlarına yönelik planlama ve kontrol sistemlerinde heterojen bilgi içeren grafiklerin sunumu ve işlenmesi;
  • karmaşık bilimsel deneylerden elde edilen verilerin işlenmesi;
  • yeni nesil tıbbi sistemler, örneğin farklı hizmetlerin tanımları için farklı yapılar gerektirmesi ve bunun katı bir ilişkisel modele sığdırılmasının çok zor olduğu yeni nesil tıbbi sistemler. Tıbbi sistem yalnızca hizmetin gerçekliğini değil aynı zamanda ayrıntılarını da dikkate almaya başlar başlamaz, sistemin karmaşıklığı keskin bir şekilde artar - örneğin, "doktor muayenesi" hizmeti ve "klinik analiz" hizmeti ilişkisel model açısından tamamen farklı veri yapıları ve RDF, bu tür verilerin doğal bir şekilde işlenmesine olanak tanıyarak bu tür sistemlerin geliştirilmesi ve bakımı için işçilik maliyetlerini önemli ölçüde azaltır;
  • belirgin bir grafik yapısına sahip akıllı uyarlanabilir üretim yönetim sistemleri;
  • Piyasa katılımcılarının etkileşimini açıklayan grafiklerin modellenmesine ve işlenmesine dayalı finansal analiz, bağlı şirketlerin belirlenmesi, yolsuzluk analizi, yapı fonlarının hareketinin analizi vb.

Varlıklar arasındaki ilişki sayısının varlık sayısını aştığı veya asıl amacı ilişkilerin analizi olan hemen hemen tüm problemler, RDF sistemleri kullanılarak çözüme aday olarak değerlendirilebilir.

Vladislav Golovkov([e-posta korumalı]), Andrey Portnov([e-posta korumalı]), Viktor Çernov([e-posta korumalı]) - "Compile Group" (Moskova) şirketinin çalışanları.



Bu notta RDF modelinin önemli noktalarını açıklamaya ve avantajlarını gerekçelendirmeye çalışacağım.
RDF'nin de parçası olduğu Anlamsal Web kavramı 10 yılı aşkın süredir tartışma ve tartışma konusu olmuş ve günümüzde uygulamalarıyla toplum tarafından giderek daha fazla desteklenmektedir.

Ancak çoğu kişi için durum hala tam olarak net değil:

  • Bütün bunlar neden?
  • Bununla nasıl çalışılır?
  • Bu bana ne verecek?

Çoğu, en azından meşhur pastayı görmüştür:

Burada pek çok spesifikasyon, teknoloji, kavram var - şaşırtıcı... Alt seviye dünya kadar eski, akademisyenler üst seviyede mücadele ediyor, uygulamaları öğretmek için basit ve evrensel bir çözüm bulmaya çalışıyorlar. ağdan alınan mevcut bildirimlere güvenebilirler. Sıradan geliştiricilerin şimdilik bu konuda endişelenmesine ve bir 5 yıl daha beklemesine gerek yok. w3c'deki adamlar yorulmadan ortanın hemen üzerindeki standartları parlatıyor, bazıları zaten cilalanmış durumda, örneğin RDF ve bir sürü araç zaten yazılmış. onlar için tüm büyük platformlar ve diller için, böylece hemen gidip kullanabilirsiniz. Bunlar, başta RDF modeli olmak üzere, gerçek uygulamalarda giderek daha fazla karşılaştığımız şeylerdir.
Bunlara neden ihtiyaç duyulduğunu, ne sağladıklarını ve ontolojilerle nasıl çalışılacağını anlamak çok iyi olurdu - ancak bu seferkiyle ilgili değil.

Öyleyse modeli kullanarak ne elde ettiğimizi bulmaya çalışalım:

  • Yeni gerçeklerin mantıksal çıkarımı
  • Anlamsal arama sağlama
  • Veri modeli esnekliği
  • Sistemler arasında son derece kolay veri alışverişi

Daha önce hiç biçimsel mantık üzerine çalışmadıysanız, gerçekleri resmi olarak tanımlayarak, açıkça tanımlanmayan bir dizi yeni gerçeği otomatik olarak elde edebileceğinizi unutmayın... bu konu özel bir ilgiyi hak ediyor, ancak biz ona değinmeyeceğiz.

Semantik arama, neden Google var diye?
Evet, girebilirsiniz ve bir dizi kullanıcı dışında her şeyi alırsınız. Neden? - çünkü Google, sorgudaki kelimeyi belgelerin metninde arayacak ve gerçekleri değil belgeleri döndürecektir.
Ve eğer "habr" kaynağının "kullanıcı" nesnelerine ihtiyacımız olduğunu anlasaydı ve bu nesnelerin resmi açıklamaları RDF modelinde indekslenmek üzere mevcut olacaktı (örneğin, sayfadaki bir RDFa kaydı biçiminde, böylece bir arama motoru onları indeksleyebilir), aradığımız bir dizi nesneyi elde ederdi.
Pek çok kişi itiraz ediyor: "Birkaç bağlantıyı takip edebiliyorum, birkaç açıklayıcı sorgu daha yapabiliyorum ve yine de ihtiyacım olanı bulabiliyorum, neden tüm bunlar?" – cevap şu ki, bugün kağıt dosya dolaplarını kullanmıyoruz, ancak arama çubuğuna birkaç anahtar kelime yazmayı ve elbette bilgiyi hemen almayı tercih ediyoruz. Nedense arabayla işe gidiyoruz ama daha uygun olduğu için atla gidiyoruz.

"RDF anlamsal aramayı nasıl etkinleştirir?" sorusuna - cevap: RDF modeli resmi açıklamalar sağlar. Resmi açıklamaların olduğu yerde, arama aracısı gerçekleri ve bilgiyi arayabilir.

Google bugün bunu aramıyor; neden şimdi bu konuda endişelenmem gerekiyor? Öncelikle aşağıda anlatılan faydaları elde etmek için, ikincisi ise “geç kalmamak” için -bizim sektörümüz böyle- “çabuk ol ya da öl”.

Diğer iki avantajı daha detaylı konuşalım; bana öyle geliyor ki, anlaşılması çok daha kolay. Ama önce birkaç noktayı daha açıklığa kavuşturalım.

RDF modeli nedir?

RDF'yi hemen anlamalısınız - bu soyut, çok basit bir model, biraz boşlukta. Sadece birkaç ekleme ve uyarı içeren yönlendirilmiş bir grafik. Ancak bunu farklı şekillerde yazabilirsiniz, genellikle seçim seçeneklerden birine düşer: N3, N-Üçlü, Turtle, RDF/XML, RDFa ve kullanılan spesifikasyonun incelenmesi gerekecektir.

Ne anlatılıyor: RDF'yi kullanarak hem belgeleri, hem bir belge içindeki bireysel bilgi parçalarını, hem de gerçek dünyadaki nesneleri, örneğin yaşayan belirli bir kişiyi tanımlayabilirsiniz. (Bazı BT çalışanlarının kafası burada karışıyor).
Her şey bir URI ile tanımlanır. Üstelik, URI normal bağlantı URL'lerine benzese de biraz farklıdır; örneğin, bir kaynağı - gerçek bir kişiyi tanımlayabilir ve bunun için URI'yi "http://example.org/people#Vasya Pupkin" olarak ayarlayabilirsiniz. .
Evet Unicode olduğu için Rusça yazabilirsiniz ama anlamanız gereken şey şu ki bu bir URL değil - tarayıcıya yapıştırıp bir kişiyi bulamazsınız- Bilim henüz bu noktaya ulaşmadı.

Modelin esnekliğinin ve sistemler arasındaki veri alışverişinin nerede olduğunu bulmaya çalışalım.

İnsanların nasıl iletişim kurduğunu görelim:

Düşüncelerini belirli bir dili kullanarak birçok yolla, yazılı, sözlü olarak kaydederler (resmileştirirler), daha sonra bilgi farklı sistemler aracılığıyla dolaşır, ağızdan ağza aktarılır, depolanır, bir araya toplanır vb. Ama sonuçta bu dili yorumlayabilen bir kişi tarafından okunur ve bir düşünce edinilir. Tanımlanan zincirde resmileştirilmiş bir düşüncenin bir düğümden diğerine tam olarak nasıl aktarıldığı sonuçta kimseyi ilgilendirmiyor.

Çince bilmiyorsanız bir yerden başka bir yere ctrl-c ctrl-v yapmanın size bir zararı olmaz.

RDF çok benzer şekilde çalışır.

Bilgilerin yalnızca RDF'deki uygulama tarafından resmileştirildiğinde ve diğer uçtaki aracı tarafından okunduğunda yorumlanması gerekir. Bu iki aşama arasında herkes, anlamın ne olduğunu hayal etmeye veya ifadelerin yalnızca bir kısmının anlamını anlamaya gerek kalmadan onu işleyebilir, herhangi bir şekilde değiştirebilir.

Örneğin, RDF ifadesi (özne-yüklem-nesne üçlüsü)

Bu şekilde, n+1 sistemle entegrasyon da dahil olmak üzere gereksiz hareketler yapmadan, web sitemizi n+1 kullanıcıya göstermek için gösterdiğimizden daha fazla çaba harcamadan herkesle alışveriş yapabiliriz! Bunun için hiçbir şey programlamanıza gerek yok. Bu sistemin sizinkinden ihtiyaç duyacağı tüm kavramları alıp yorumlayabilecektir.

Karşılaştırma yapmak gerekirse, bugün XML, XSLT veya API'den elde edilen alanları kullanarak bir sistemin alanlarını açıkça diğerine (genellikle her birine) bağlamanız gerekiyor ve çoğumuz hangisinin baş ağrısı olduğunu biliyoruz.

Verilerin herhangi bir uygulamanın modelinden bağımsız olabileceğini anladık. Onlar. bir takım gerçekler kendi başına yaşar. Bunları ekleyebilir, silebilir, sorgulayabilir, yorumlayabiliriz ama bunlar mantıksal olarak bağımsızdır.

Bu gerçeğin şu önemli avantajı vardır: modeli değiştirme kolaylığı.

İlişkisel modele dayanan bir uygulamada ne yapmanız gerektiğini hayal edelim. İşleri dramatik hale getirmek için, örneğin yeni bir varlığı bir kullanıcı nesnesiyle, örneğin bir adresle (bu arada, bu bir adres değil) ilişkilendirmek için veri modelini değiştirmeniz gerekiyorsa bunun lansmandan sonra yapılması gerektiğini düşünelim. satır, ancak ev, şehir, cadde vb. için ayrı alanlar içerir d.). Veritabanıyla ne yapmanız gerekecek? Birkaç tableti doğru şekilde düzeltin, belki yenilerini oluşturun, aralarına bağlantı ekleyin, verilere erişim prosedürlerini değiştirin, web hizmetini düzeltin ve işiniz bitti. Ve elbette kullanıcı arayüzünü de değiştirmemiz gerekiyor.

Bunu yapmak biraz rahatsız edici, öyle değil mi?

Ve tek yapmanız gereken arayüze birkaç alan eklemek ve her yeni alan için yeni bir ifade ekleme eylemini gerçekleştirmek olsaydı ne kadar daha kolay olurdu (bazen daha fazla alan varsa bu minimumdan uzaklaşabilirsiniz). evrensel olarak tasarlanmış arayüz)? birkaç satır kod...
Arkanızda RDF modeli varken operasyon böyle görünecek. Sonuçta, depolanan tek şey çok sayıda özne-yüklem-nesne ifadesidir. Böylece veri modelini değiştirmek, düşündüğünüz anda ruh halinizi bozan bir şey olmaktan çıkıyor, harika değil mi?

Kaynak Açıklama Çerçevesi (RDF, “Kaynak Açıklama Çerçevesi”), World Wide Web Konsorsiyumu tarafından verileri, özellikle meta verileri temsil etmek için geliştirilen bir modeldir. RDF temsil eder ifadeler O kaynaklar makinede işlemeye uygun formdadır. RDF, Anlamsal Web konseptinin bir parçasıdır.

RDF'deki bir kaynak, bilgi amaçlı (örneğin, bir web sitesi veya görsel) veya bilgilendirici olmayan (örneğin, bir kişi, bir şehir veya bazı soyut kavramlar) herhangi bir varlık olabilir. Bir kaynak hakkında yapılan açıklama “özne – yüklem – nesne” biçimindedir ve denir. üçlü . RDF terminolojisinde “gökyüzü mavidir” ifadesi şu şekilde temsil edilebilir: özne “gökyüzü”, yüklem “renkli”, nesne “mavi”. URI'ler RDF'deki konuları, ilişkileri ve nesneleri temsil etmek için kullanılır.

Bir dizi RDF ifadesi, köşelerin özneler ve nesneler olduğu ve kenarların ilişkileri temsil ettiği yönlendirilmiş bir grafik oluşturur.

Hikaye

RDF'nin geçmişi, Tim Berners-Lee'nin otomatik işlemeyi kolaylaştırmak için belgeler arasındaki bağlantı türlerini işaretlemeyi önerdiği 1990 yılına kadar uzanır. Ancak bağlantı türleri ilk HTML spesifikasyonuna dahil edilmedi, ancak fikir MCF meta veri açıklama sisteminde benimsendi. Meta verilerin genelleştirilmiş bir temsili, 1999 yılında RDF için W3C tavsiyesine yansıtılmıştır. O zamandan beri RDF standartları gelişti ve RDF ile çalışmaya yönelik yeni araçlar ortaya çıktı.

Standartlar seti

  • 2015:
    • Bağlantılı Veri Platform 1.0(İngilizce) - Bağlantılı Verilere Giriş, İnternette RDF kullanımına yönelik önerilen yaklaşımların açıklaması.
    • RDFa temsil formatı
      • RDFa Core 1.1 - Üçüncü Baskı(İngilizce) - RDF 1.1 için "RDFa" temel sözdiziminin açıklaması
      • RDFa Lite 1.1 - İkinci Baskı(İngilizce) - RDF 1.1 için "RDFa Lite" hafif sözdiziminin açıklaması
      • HTML+RDFa 1.1 - İkinci Baskı(İngilizce) - RDF 1.1 için HTML'deki “RDFa” sözdiziminin özellikleri
      • XHTML+RDFa 1.1 - Üçüncü Baskı(İngilizce) - RDF 1.1 için XHTML'deki “RDFa” sözdiziminin özellikleri
  • 2014:
    • RDF 1.1 veri modeli:
      • RDF 1.1 Kavramlar ve Soyut Söz Dizimi(İngilizce) - RDF 1.1'in kavramları ve özet sözdizimi
      • RDF Şema 1.1(İngilizce) - RDF Sözlüğü 1.1
      • RDF 1.1 Anlambilim(İngilizce) - RDF 1.1 Anlambilimi
    • Sunum formatları:
      • RDF 1.1 XML Sözdizimi(İngilizce) - RDF 1.1 için “RDF/XML” sözdiziminin açıklaması
      • RDF 1.1 Kaplumbağa(İngilizce) - RDF 1.1 için "Kaplumbağa" sözdiziminin açıklaması
      • RDF 1.1 N-Üçlü(İngilizce) - RDF 1.1 için “N-Üçlü” sözdiziminin açıklaması
      • RDF 1.1 N-Dörtlüler(İngilizce) - RDF 1.1 için “N-Quads” sözdiziminin açıklaması
      • RDF 1.1 TriG(İngilizce) - RDF 1.1 için "TriG" sözdiziminin açıklaması
      • JSON-LD 1.0(İngilizce) - “JSON-LD” sözdiziminin açıklaması, RDF verilerinin JSON formatında gösterimi
      • JSON-LD 1.0 İşleme Algoritmalar ve API(İngilizce) - “JSON-LD” biçiminde sunulan RDF verileri için işleme algoritmalarının ve bunların API'lerinin açıklaması
    • Uygulamalı sözlükler ve ontolojiler
      • Veri Katalog Kelime Listesi (DCAT)(İngilizce) - İnternette yayınlanan bir bilgi kataloğunu ve içerdiği veri kümelerini tanımlama alanındaki kavramların ontolojisi
      •  RDF Veri Küp Kelimeleri(İngilizce) - çok boyutlu veri kümelerinin tanımlanması alanındaki kavramların ontolojisi
      • Organizasyonun Ontolojisi(İngilizce) - kuruluşların yapısını tanımlama alanındaki kavramların ontolojisi
  • 2013:
    • Kural Değişim Biçimi
      • RIF RDF ve OWL Uyumluluk (İkinci Baskı)(İngilizce) - RDF ile kuralların tanımlanması ve yürütülmesi için W3C tarafından önerilen yaklaşımın kullanılması
    • İlgili standartlar
      • Uluslararasılaştırma Etiket Set (ITS) Sürüm 2.0(İngilizce)
  • 2012:
    • rdf:PlainLiteral: A Veri türü for RDF Plain Literals (İkinci Baskı)(İngilizce)
    • İlişkisel verileri RDF'ye yansıtma:
      • Aİlişkisel Verilerin RDF ile Doğrudan Eşleştirilmesi(İngilizce) - doğrudan
      • R2RML: RDB to RDF Haritalama Dil(İngilizce) - esnek
      • RDF'ye İlişkisel Veritabanlarını Eşleme için Kullanım Örnekler ve Gereksinimler (İngilizce) - ilk uygulama örnekleri ve gereksinimleri, 2010
    • (İngilizce) - medya kaynaklarını tanımlamak için ontoloji
  • 2008:
  • 2004:
    • (İngilizce) - RDF 1.0'ın kavramları ve özet sözdizimi
    • RDF Anlambilim(İngilizce) - RDF 1.0 Anlambilimi
    • RDF Test Olayları(İngilizce) - RDF test veri seti
    • RDF Astar(İngilizce) - RDF'ye Giriş

Ayrıca birçok taslak ve not da bulunmaktadır. Bağlantılı Veri Sözlüğü(İngilizce) - RDF ile ilgili tüm kavramların sözlüğü.

Sunum Formatları

RDF'yi kaydetmek ve iletmek için aşağıdakiler dahil çeşitli formatlar kullanılır:

Anlambilim

RDF, bilgi modelleri oluşturmak için araçlar sağlar, ancak anlatılanların anlambilimiyle ilgilenmez. Tek başına ele alındığında, bir RDF grafiği yalnızca bir grafik olarak anlaşılabilir. Anlamın yorumlanması, RDF kullanıcılarının bireysel URI'leri, dize değişmezlerini ve grafik yapısını yorumlama ve bunlardan diğer URI'leri ve veri anlambilimini yorumlama becerisine dayanır.

Anlambilimi ifade etmek için gereklidir sözlükler(İngilizce kelimeler), taksonomiler(İngilizce taksonomiler) ve ontolojiler (İngilizce ontolojiler) ve söz konusu grafikte bunlarla bağlantıların varlığı.

  • Sözlük, bu sözlüğün tüm kullanım bağlamlarında aynı anlama gelen terimlerin bir koleksiyonudur.
  • Taksonomi: sözlük hiyerarşik olarak düzenlenmiş terimler.
  • Ontoloji önceden tanımlanmış bir ayrılmış sözlük Belirli bir konu alanı için kavramları ve aralarındaki ilişkileri tanımlamak için kullanılan terimler. Ontolojiler kelime terimlerinin anlamlarını, ilişkilerini ve kullanım bağlamlarını ifade etmek için kullanılabilir.

Açıklanan konulara ilişkin çoğu sözlük yalnızca yüklemleri ve nesneleri içermekle kalmaz, aynı zamanda onlar için genellikle sözlüğün gerçek RDF temsiline uymayan bir veya başka anlamsal yükü de ima eder. Bunlar, belirli belirli konuları kullanma yolları, kurallar, kısıtlamalar, tavsiyeler, bunları kullanma ihtiyacının gerekçesi vb. olabilir. Kural olarak, bu, sözlüğün beraberindeki belgelerde açıklanmaktadır.

RDF Şeması

RDF Şeması, RDF için öncelikle diğer sözcükleri tanımlamak için kullanılan bir sözcük dağarcığı sağlar. RDF Şeması:

  • dili belirten dizeler, XML veya HTML işaretlemeli dizeler dahil olmak üzere, farklı veri türlerindeki değişmez değerleri ayrı ayrı tanımladığı kaynakların varlığını beyan eder;
  • kaynak sınıflarının ve alt sınıflarının varlığını bildirir;
  • belirli bir sınıfın kaynaklarıyla ilgili özelliklerin varlığını beyan eder, nesneler olarak belirli sınıfların kaynaklarına sahip olabilir ve daha genel bir özelliğin daha dar anlamda tasarlanmış bir versiyonu olabilir;
  • “isim”, “açıklama”, “kaynak-eş anlamlı” ve diğerleri gibi sık kullanılan özelliklerin varlığını beyan eder;
  • RDF modelinde üç tür listeyi düzenlemenize olanak tanıyan sınıfları ve özellikleri açıklar;
  • şeyleşme için gerekli sınıfları ve özellikleri açıklar (İngilizce şeyleşmeden, düzenlemeden) - nesnesi ve konusu üçlü olan üçlü yazma yeteneği sağlar.

Bu sözlüğün ek anlamsal yükünün bir açıklaması, üç ana RDF standardının hepsinde bulunur - RDF kavramlarının açıklamasında (İngilizce), sözlüğün kendisinin açıklamasında (İngilizce) ve RDF anlambiliminin açıklamasında (İngilizce) .

Özellikle, RDF anlambiliminin açıklaması, sözlüklerin, sözlük için tanımlanmış bir dizi resmi kuralın anlambiliminden kaynaklanan bir dizi resmi kuralın yürütülmesiyle sözlüğün geri kalan üçlülerinden elde edilebilecek üçlüleri yalnızca ima edebileceğini, ancak açıkça içeremeyeceğini belirtir. sözlüğün kullandığı kavramlar. Ve RDF Şeması sözlüğünün ima ettiği kuralların bir listesi sağlanır.

BAYKUŞ

Ontolojilerdeki çeşitli konu alanlarının açıklanan kaynaklarının daha karmaşık mantıksal ilişkilerini kaydetmek için OWL dili kullanılır.

RDF depolama

RDF verilerini depolamak için kullanılan iki ana depolama türü vardır: uzmanlaşmış (yerli, “yerli”, “yerli”) ve uzman değil (yerli değil). Özel depolar daha yüksek derecede optimizasyona izin verir, ancak RDF ile çalışmak üzere özel olarak oluşturuldukları için tasarım açısından daha yoğun emek gerektirirler. Diğer depolama tesislerinin tasarımı daha basittir (örneğin, ilişkisel DBMS mekanizmalarının veya NoSQL çözümlerinin kullanılması yoluyla), ancak RDF ile çalışmak için daha az optimize edilmiştir. Özel depolar, tamamen RAM'de (bellek içi) bulunan verilerle çalışma yeteneklerine göre veya harici belleği de (örneğin bir sabit sürücü) kullanabilenlere göre bölünmüştür.

RDF sistemleri hem araştırma hem de üretim kullanımı için geliştirilmektedir. Üretim kullanımına uygun başlıca özel depolama tesisleri şunları içerir:

Başvuru

Birçok enstitü, üniversite ve diğer kuruluşlarda çeşitli projeler çerçevesinde bilgi tabanlarının tasarlanması veya verilerinin sunulması. Esas olarak araştırma amaçlı.

Arama motorları, web yöneticilerini, arama sonuçlarında sitelerine verilen bağlantıların bilgi içeriğini iyileştirmek için RDF ve benzeri sayfa işaretleme dillerini kullanmaya teşvik eder.

RSS 1.0 biçimindeki RDF formatı, bloglar, haber akışları veya çevrimiçi dergiler gibi periyodik olarak güncellenen sitelerdeki yeni girişlerin bir listesini kısa ve öz bir şekilde sunmak için yaygın olarak kullanılır.

Yukarıdakilere ek olarak RDF formatı, kurumsal bilgi sistemlerinde analiz ve/veya entegrasyon için verileri temsil eder; bu, bunların SPARQL (örneğin D2RQ projesi) kullanılarak ve örneğin ISO gibi bir endüstri standardına dayalı olarak incelenmesini mümkün kılar. 15926, endüstri düzeyinde çeşitli kuruluşlardan birleşik veri alışverişine olanak tanır.

RDF'nin JSON-LD temsilinin ortaya çıkması ve Bağlantılı Verilerin yükselişiyle RDF kullanımı arttı. Örneğin Google, RDF formatlarından birinde (ve Schema.org sözlüğünü kullanarak) sayfanın anlamsal açıklamasını dikkate alır ve arama sonuçlarını daha ayrıntılı açıklamak için bunu kullanır.

Kaynak Açıklama Çerçevesi (RDF), sayfa başlığı, yazar, değiştirilme tarihi, içerik ve telif hakkı bilgileri gibi çevrimiçi kaynakları açıklamaya yönelik bir W3C standardıdır.

Temel bilgiye sahip olmalısınız

Devam etmeden önce, aşağıdaki anlayışa ilişkin temel bilgilere sahip olmalısınız:

  • XHTML
  • XML Ad Alanları

Öncelikle bu konuları incelemek istiyorsanız lütfen ana sayfamızı ziyaret edin.

RDF nedir?

  • RDF, Kaynak Açıklama Çerçevesini ifade eder
  • RDF, Web için bir kaynak tanımlama çerçevesidir
  • RDF, bu tür bağımsız grupların verileri paylaşması ve kullanması için bir model ve dilbilgisi sağlar
  • RDF bir bilgisayar tarafından okunacak ve anlaşılacak şekilde tasarlanmıştır
  • RDF'nin amacı insanlara görünmek değildir.
  • RDF, yazmak için XML kullanır
  • RDF, W3C Anlamsal Web Etkinliğinin ayrılmaz bir parçasıdır
  • RDF bir W3C önerisidir

RDF - Uygulama Örnekleri

  • Fiyat ve stok durumu gibi mülkün satış noktalarının açıklaması
  • Programın açıklaması Web etkinliği
  • İçerik, yazar ve oluşturulma veya değiştirilme tarihi gibi sayfa bilgilerini tanımlamak için
  • Ağ içerik derecelendirmesinin fotoğrafları ve açıklaması
  • Arama motorları için açıklama
  • Açıklama Elektronik kütüphane

RDF bir bilgisayar tarafından okunacak şekilde tasarlanmıştır

RDF, bilgiyi bilgisayarlar tarafından okunabilecek ve anlaşılabilecek şekilde tanımlamanın ortak bir yolunu sağlamayı amaçlamaktadır.

Açıklama RDF'nin web'de görüntülenmesi amaçlanmamıştır.

RDF, yazmak için XML kullanır

RDF belgeleri XML'de yazılır. RDF tarafından kullanılan XML diline RDF/XML denir.

XML kullanılarak RDF bilgileri, çeşitli uygulama dilleri kullanılarak işletim sistemi ile bilgisayar arasında kolaylıkla değiş tokuş edilebilir.

RDF ve Anlamsal Web

RDF dili, W3C Anlamsal Web Etkinliğinin ayrılmaz bir parçasıdır. W3C Konsorsiyumunun "Semantik Web Vizyonu" Hedefleri:

  • Web bilgilerinin kesin anlamı vardır
  • Web bilgilerinin bilgisayar tarafından anlaşılabilmesi ve işlenebilmesi
  • Bilgisayarlar internetten gelen bilgileri entegre edebilir

RDF bir W3C standardıdır

RDF, Şubat 2004'te W3C standartları haline geldi.



Makaleyi beğendin mi? Arkadaşlarınızla paylaşın!