Shortcut: Wikidata:Gentle Query

Vikiveri:SPARQL sorgu hizmeti/Vikiveri Sorgu Hizmeti'ne kolay bir başlangıç

From Wikidata
Jump to navigation Jump to search
Outdated translations are marked like this.

Vikiveri Sorgu Hizmeti'ne kolay bir başlangıç

Hiç şunun gibi soruları merak ettiniz mi?

  • Kadın belediye başkanı olan dünyanın en büyük şehirleri hangileridir?
  • Hangi havaalanları Berlin'e 100 km uzaklıktadır?
  • Cengiz Han'ın soyundan bilinen kimler var?

Vikiveri, bunlara cevap verir.

Vikiveri nedir?

Vikiveri, bir bilgi deposudur. Vikiveri'nin ardındaki fikir ve kavramları giriş sayfamızdan okuyabilirsiniz.

Nasıl soru sorabilirim?

Vikiveri'de buna benzer sorular sormak için kullanılan sorgu diline SPARQL denir. Bu sizin için çok teknik ve aşırı karmaşık geliyorsa endişelenmeyin. Bu nazik tanıtım için SPARQL'ı öğrenmek zorunda değilsiniz. Bunun yerine mevcut örnek sorgulara ve bunları nasıl düzenleyeceğimize bakacağız.

Sorgu nedir?

Bir sorgu, bilgisayar sistemlerinin anlayabileceği ve cevaplayabileceği özel bir soru şeklidir. Yapay Zeka ile etkileşime girmediğiniz sürece, sorularınızı belirli bir şekilde nasıl formüle edeceğinizi öğrenmeniz gerekir.

Bu verileri serbestçe kullanabilir miyim?

Ah, evet! Vikiveri, herkes tarafından her şey için kullanılabilir çünkü tüm veriler Kamu Malı (CC0) altındadır.

Şimdi ne var?

Size bu hizmeti nasıl kullanacağınızı göstermek için basit bir örnekle başlayacağız ve daha ayrıntılı örnekler oluştururken temel sorunun cevabını alacaksınız. Söz veriyoruz.

Basit bir sorgu için Vikiveri nasıl kullanılır

Dünyadaki bilinen tüm kedilerin bir listesinin nasıl alınacağını gösteren basit bir örnek verelim.

Dünyadaki tüm kedilerin bir listesini alın

Sorgu Hizmetine ulaşmak için bu URL'yi kullanın: https://query.wikidata.org

  1. Örneklere tıklayın
  2. Yeni pencerede görünen listeden Kediler'i seçin.
  3. Kod kutusunun hemen altındaki Çalıştır'ı tıklayın.

Bu, bize internetteki bütün ünlü ve kötü şöhretli kedilerin bir listesini verdi ya da en azından Vikiveri'nin bildiği kedileri. Bir kedi insanı olmanız ve bir köpek insanı olmamanız koşuluyla bu harika!

Peki ya köpekler?

Bunun yerine köpekleri listelemek istiyorsanız (veya bu konuda başka bir şey varsa), sorgunuzu düzenlemenin iki yolu var:

  1. Maddeyi kediden hayvanat bahçesine değiştirmek için Sorgu Yardımcısı kullanın
  2. Sorguyu el ile düzenleme Vikiveri'deki her öge benzersiz bir kod kullanılarak tanımlanır. “Kedi” için bu kod Q146'dır. “Köpek” ile ilgili kodu bulmak için Vikiveri'ye bakabilirsiniz:
  1. Otomatik tamamlamayı kullanın (sonunda ele alınacaktır)
  2. "Kedi" örneğiyle başla, "Q146"yı kaldır
  3. İmleci "wd:"den sonra yerleştir
  4. "Wd"den sonra "Köpek" yaz
  5. Ctrl+Space tuşuna bas
  6. Yukarı/aşağı okları kullanın; Enter tuşuna bastığınızda Q144 ile değiştirilecektir
    Not: Arama sonuçları arayüz diline göre değişir..
  1. https://www.wikidata.org sayfasına git
  2. Arama kutucuğuna “köpek” yaz
  3. Açılır menüden ilk sonucu tıkla
  4. Açılan Vikiveri sayfasından “köpek” için öge numarasını not al (Q144)

Sorgunuzu “kedi”den “köpek”e değiştirmek için SPARQL sorgu düzenleyicisindeki Q146'yı Q144 ile değiştirin.

Programı çalıştırın, internette tüm ünlü ve kötü şöhretli köpeklerin bir listesi sunulacaktır.

Sorguyu bozma

Şimdi bunu genelleştirmek için kodu analiz edelim; böylece herhangi bir nesneyi arayabiliriz (örneğin, köpekler, gezegenler, ülkeler, şarkılar):

#Cats
SELECT ?item ?itemLabel
WHERE
{
	?item wdt:P31 wd:Q146 . 
	SERVICE wikibase:label { bd:serviceParam wikibase:language "en" }
}
  • SELECT Bir sorgu bir şey SEÇER.Tam olarak seçmek ve görüntülemek istediğiniz şey daha sonra açıklanacak, ancak şu an için sadece yer tutucularını (veya değişkenlerini) belirtin. Burada ?item ve ?itemLabel olarak belirtilmiştir. Soru işareti ile başlayan bir şeyin değişken olduğunu söyleyebiliriz.
  • ?item Bu aradığımız ögelerin (item) listesidir. Bizim durumumuzda bu ünlü kediler olurdu. Vikiveri'deki ögeler, neredeyse 300 tanesi olmak üzere, birçok dilde çalışır. Dünyadaki her şeyin İngilizce olduğunu ve diğer tüm dillerin yalnızca İngilizcenin özel hâli olduğunu düşünmüyoruz, ögeler diller arasında çalışacak şekilde saklanır. Her kavram bir numara alır. Q146 bir kedinin konseptidir, Q64 Almanya'daki Berlin'dir, Q42 ise yazar Douglas Adams içindir vs. İpucu: ?item, sadece sorgumuzda kullanmaya karar verdiğimiz değişken bir isimdir. Herhangi bir şey olabilir, örneğin: ?hayvan.
  • ?itemLabel İnsan, isimleri bir insan dilinde sayılardan çok daha iyi sindirebilir. Bir etiket (label), bir insan dilindeki bir öğenin adıdır; İngilizce (veya Esperanto veya Japonca veya Zulu…). Sorgumuzda gösterilen etiketlerin Q1371145'in “Socks” (Bill Clinton ve ailesine ait kedi) olarak gösterilmesini istiyoruz. Kullanım kılavuzunda etiket servisi ile ilgili kesin ayrıntılar mevcuttur.
  • WHERE {  Bu sorgu yan tümcesinin NEREDE (WHERE) olduğunu gösterir. Bir WHERE yan tümcesi bir açılış küme paranteziyle { başlar ve bir kapanış küme parantezi } ile biter.
  • ?item Bu doldurmak istediğimiz yer tutucudur. Hakkında bir şeyler bilmek istediğimiz konu budur.
  • wdt:P31 Bu konunun göstergesidir. Üzerine gelindiğinde, bunun örneğini olduğunu göreceksiniz.

What exactly you want to select and display is described later, but for the time being you just state the placeholders (or variables). Here they are called ?item and ?itemLabel. You can tell that something is a variable if it starts with a question mark.

  • ?item This is the list of items we are looking for.

In our case that would be the famous cats. Items on Wikidata work in many different languages, almost 300 of them. Because we don’t think that everything in the world is English and all the other languages are just special cases of English, items are stored in a way that works across languages. Every concept gets a number. Q146 is the concept of a cat, Q64 is Berlin in Germany, Q42 is the writer Douglas Adams and so on. Tip: ?item is just a variable name that we decided to use in our query. It could be anything, for example: ?animal.

  • ?itemLabel Humans can digest names in a human language much better than numbers.

A label is the name of an item in a human language, e.g. English (or Esperanto, or Japanese, or Zulu…). We want the labels displayed in our query so that Q1371145 gets displayed as “Socks” (the cat belonging to Bill Clinton and family). Precise details about label service in User manual.

  • WHERE {   This is the WHERE clause of the query.

Here we define what goes in the placeholders. A WHERE clause starts with an opening curly bracket { and ends with a closing curly bracket }.

  • wdt:P31 This is the predicate of the subject.

If you hover over it, you’ll see that it stands for instance of.

  • wd:Q146 . Aranan nesne budur. Üzerine gelindiğinde bunun kedinin kısaltılmışı olduğunu göreceksiniz.

If you hover over it, you’ll see that it stands for cat.

Bütün bunları söylemesi zor. Sorguyu doğal dilde ifade etmek yardımcı olabilir:

“Ögelerin kedi örnekleri olduğu bir öge ve öge etiketi listesi verin. Ardından, İngilizce ögelere etiketler oluşturun.”

Örneklerimizde kullandığımız kod ile size internetteki bütün ünlü ve kötü şöhretli kedilerin bir listesini gösterdik. Bu sorgu, örneğin köpekler için benzer bir liste göstermek üzere kolayca değiştirilebilir.

SPARQL'ın izleneceği metin

Aşağıdaki animasyonlar üçlemelerin doğal dilde nasıl yazılacağını ve bunları SPARQL sorgularına nasıl dönüştürebildiğini göstermektedir.

? ile başlayan önek değişkenleri, wd: ile başlayan ögeler ve wdt: ile başlayan özellikler anahtardır, ve ardından klavyede Ctrl+Space tuşlarını, son ikisini Vikiveri tanımlayıcıları ile değiştiren otomatik tamamlama özelliğini etkinleştirmek için kullanın.

Kullanıcı arayüzüne dalış

Sonuçların görüntülendiği dil nasıl değiştirilir?

Bu arama sorgusu aracıyla, yalnızca basit veya toplu, bileşik, iç içe ve karmaşık sorguları özelleştiremez ve arayamazsınız; aynı zamanda HERHANGİ bir dilde de arama yapabilir ve herhangi bir dilde sonuç alabilirsiniz.

  • Varsayılan dil kodunu “en” (İngilizce) dilinden başka bir dil koduna değiştirin; mesela Türkçe için “tr” yazın, Japonca için “ja” yazın.
#Cats  
SELECT ?item ?itemLabel WHERE
{
     ?item wdt:P31 wd:Q146 .
     SERVICE wikibase:label { bd:serviceParam wikibase:language "ja" }
}

Görüntülenen sonuçların sıralama düzeni nasıl değiştirilir?

Görüntülenen ögelerin sırası, arayüzde kolayca değiştirilebilir. Sıralama düzenini özelleştirmek için arama sonuçlarının ilgili sütunlara tıklamanız yeterlidir:

Kullanıcı arabiriminin dili nasıl değiştirilir?

İngilizce kelimesine tıklayın ve görüntülenen listeden dili seçin:

UI'nin seçilen dilde değiştiğine dikkat edin:

Ama kedilerin fotoğraflarını istiyorum! Resimler nasıl aranır?

Şimdiye kadar, tablo olarak görüntülenen sorguların çıktısını gördük. Bunu bazı resimler için deneyelim:

“Örnekler” düğmesine tıklayın ve “Resimlerle daha da fazla kedi” örneğini seçin. Sorguyu çalıştırın ve kedi görüntüleri ekranın alt yarısında görünmelidir.

Sonuç, tablo yerine resim olarak gösterilir. Sonucun sağ alt köşesindeki “Ekran” menüsünü kullanarak verilerin nasıl görüntülendiğini manuel olarak değiştirebilirsiniz. Aynı sonucu tablo görünümünde görmek için menüyü “Tablo” olarak değiştirmeyi deneyin.

Önceki bölümdeki sorguya kıyasla, sorgudaki yeniliklere bir göz atalım. Sade İngilizceyle yazılmış sorgu, “Bana kedilerle ilgisi olan tüm ögeleri ver. Ayrıca bana her ögenin resmini ver. Bu arada, sonucu bir tablo olarak değil, bir görüntü ızgarası olarak görüntüleyin.” şeklinde okur.

  • #defaultView:ImageGrid Yoruma benzeyen, aslında sorgu sonucunu tablo yerine resim olarak gösterme talimatıdır.
  • ?x1 Bu, herhangi bir yüklemeyi sorguladığımız anlamına gelir. Sorguda başka bir yerde ?x1 kullanılmıyor, bunun anlamı yer tutucunun “Tahminin ne olduğu umurumda değil, bana bir şekilde konu olarak bir kedinin olduğu tüm sonuçlarını ver” anlamına geliyor.
  • OPTIONAL Kıvrımlı parantezlerin içinde, sonuca isteğe bağlı veri ekleyen başka bir ifade görürsünüz.

Sorguyu değiştirmeyi deneyin:

  • Kediler yerine köpekleri arayın. İpucu: WHERE'deki ilk ifadenin Object bölümünü değiştirin.
  • Yalnızca kedileri “tasvir eden” öğeleri gösterin (resim alacaksınız). İpucu: ?x1 başka bir şeyle değiştirin.
  • OPTIONAL kısmını kaldır.

Verilerinizi göstermenin başka yolları da vardır, ancak hepsi her zaman uygulanabilir değildir, bu yüzden bazıları menüde grileşmiştir. “Görüntü eşlemesi” yalnızca sonuç verileri gerçekte görüntü URL’leri içeriyorsa seçilebilir. Aşağıdaki bölümlerden birinde öğelerin haritada nasıl nokta olarak gösterileceğini öğreneceksiniz.

Sorgunuzu başkalarının kullanması için nasıl paylaşabilirsiniz?

Sorgunuzu başka biriyle paylaşmak istiyorsanız - örneğin sosyal medyada - sorgunuz için kısa bir bağlantı oluşturabilirsiniz.

  • Sorgunuzu tamamlayın
  • Bağlantı simgesine tıklayın:
  • Burada listelenen URL'yi kopyalayın. Bu, sorgunun URL’sidir.

Haritalarda bir şeyler bulma

Sorgu sonuçlarını görselleştirmenin daha fazla yolu var. Sorgu coğrafi koordinatlar isterse sonuçlar bir harita üzerinde gösterilebilir.

bu deniz feneri örneğine bakın. Sorguyu çalıştırdığınızda, Norveç kıyılarındaki deniz fenerlerinin yerini belirten kırmızı noktalar göreceksiniz.


Explorer İletişim Kutusunu kullanma

Bir sorgunun sonuçları yüklendikten sonra, her sonuçta bir büyüteç simgesi görebilirsiniz. Bu simgeye tıklamak Explorer Dialog'u açar.

Clicking this icon opens the Explorer Dialog.

Explorer iletişim kutusu varsayılan olarak, bu belirli sonucu temsil eden tek bir düğümü görüntüler. Düğümün altında, ‘Outgoing’ olarak varsayılan bir geçiş görebilirsiniz. Bu, herhangi bir düğüme tıklamak, söz konusu düğümün tüm özelliklerini, tüm Vikiveri bilgi tabanından genişleteceği anlamına gelir. Bunu ‘Incoming’ olarak değiştirmek, düğüme işaret eden tüm gelen bağlantıları veya özellikleri görmenizi sağlar. Bu, Vikiveri'yi kullanarak çeşitli ögeler ve özellikleri arasındaki tüm ilişkileri keşfetmenin bir yoludur.

This means that clicking on any node will expand all the properties of that node, from the entire Wikidata knowledge base. Toggling this to ‘Incoming’ allows you to see all the incoming links or properties that point to the node. This is a way to explore all the relationships between the various items and their properties using Wikidata.

Aynı anda birden fazla tarayıcı iletişim kutusu açarak birden fazla sorgunun sonuçlarını bir kerede karşılaştırabilirsiniz. Gezgin iletişim kutusunun ayrıca sağ alt köşesinde, Grafik, Ağaç, Harita, Tablo vb. gibi birden çok görünüm arasında geçiş yapmak için kullanılan bir araç çubuğu vardır.

The explorer dialog also has a toolbar at the bottom right corner which is used to switch between multiple views like Graph, Tree, Map, Table etc.

Dahası da var

Keşfetmeniz için daha fazla görselleştirme mevcut:

Sorgu örneklerine bakın ve deneyin!

Otomatik tamamlama

Editörde, sorguda herhangi bir noktada Ctrl+Space tuşlarına basabilir ve uygun olabilecek kod için öneriler alabilirsiniz; yukarı/aşağı ok tuşlarıyla doğru öneriyi seçin ve seçmek için Enter'a basın.

For example, instead of writing out SERVICE wikibase:label { bd:serviceParam wikibase:language "en". } every time, you can just type SERV, hit Ctrl+Space, and the first suggestion will be that complete label service incantation, ready for use! Just hit Enter to accept it. (The formatting will be a bit different, but that doesn’t matter.)

And autocompletion can also search for you. If you type one of the Wikidata prefixes, like wd: or wdt:, and then just write text afterwards, Ctrl+Space will search for that text on Wikidata and suggest results. wd: searches for items, wdt: for properties. For example, instead of looking up the items for Johann Sebastian Bach (Q1339) and father (P22), you can just type wd:Bach and wdt:fath and then just select the right entry from the autocompletion. (This even works with spaces in the text, e. g. wd:Johann Sebastian Bach.)

Buradan nereye

Muhtemelen Vikiveri Sorgu Hizmeti'nde yolunuzu şimdi bulabilirsiniz. Arabirimi keşfetmek ve sorgulardaki değerleri değiştirmek, Vikiveri'de kendi sorularınızı nasıl soracağınızı öğrenmenin iyi bir yolu olabilir.