Vikiveri Sorgu Hizmeti/Kategoriler
Vikiveri Sorgu Hizmeti ayrıca tüm genel vikilerin (labswiki ve labtestwiki hariç) kategori grafiğine erişim sağlar.
Şu anda veriler en son haftalık döküm üzerinden güncellenmektedir. Güncellemeler her Pazartesi yapılır.
Verilere erişim
Veriler Blazegraph veritabanında categories
ad alanında saklanır.
Şu anda, kategori verilerine erişmek için GUI yoktur, ancak https://query.wikidata.org/bigdata/namespace/categories/sparql?query=SPARQL kullanılarak ad alanına karşı SPARQL sorguları yapılabilir.
Bu SPARQL uç noktası, ana WDQS SPARQL uç noktası ile aynı şekilde çalışır.
Her vikinin kendi veri kümesi olsa da, hepsinin aynı ad alanında saklandığını unutmayın.
Örnek sorgu, İngilizce Vikipedi'de Ducks kategorisinin alt kategorilerini sağlar:
PREFIX gas: <http://www.bigdata.com/rdf/gas#>
prefix mediawiki: <https://www.mediawiki.org/ontology#>
SELECT * WHERE {
SERVICE gas:service {
gas:program gas:gasClass "com.bigdata.rdf.graph.analytics.BFS" .
gas:program gas:linkType mediawiki:isInCategory .
gas:program gas:traversalDirection "Reverse" .
gas:program gas:in <https://en.wikipedia.org/wiki/Category:Ducks>. # bir veya daha fazla kez, başlangıç sınırını belirtir.
gas:program gas:out ?out . # tam olarak bir kez ziyaret edilen köşelere bağlanacaktır.
gas:program gas:out1 ?depth . # tam olarak bir kez ziyaret edilen köşelerin derinliğine bağlanacaktır.
gas:program gas:maxIterations 8 . # ilk genişleme için isteğe bağlı sınır.
}
} ORDER BY ASC(?depth)
Daha basit sorgu
Yukarıdaki sorgunun daha basit biçimine mediawiki:categoryTree
hizmetiyle erişilebilir:
SELECT ?out ?depth WHERE {
SERVICE mediawiki:categoryTree {
bd:serviceParam mediawiki:start <https://en.wikipedia.org/wiki/Category:Ducks> .
bd:serviceParam mediawiki:direction "Reverse" .
bd:serviceParam mediawiki:depth 5 .
}
} ORDER BY ASC(?depth)
Bu sorgu üç çıktı değeri üretir:
?out
— kategori bulundu?depth
— kategori için derinlik?predecessor
— üst kategori
Veri biçimi
Kategori hakkındaki veriler URL'sini ve adını açıklar, ör.
<https://test2.wikipedia.org/wiki/Category:Test> a mediawiki:Category ;
rdfs:label "Test" ;
mediawiki:pages "74"^^xsd:integer ;
mediawiki:subcategories "19"^^xsd:integer .
Kategoriler arasındaki bağlantılar mediawiki:isInCategory
ilişki olarak temsil edilir, örneğin:
<https://test2.wikipedia.org/wiki/Category:Test> mediawiki:isInCategory <https://test2.wikipedia.org/wiki/Category:Parent>
Gizli kategorilerin mediawiki:HiddenCategory
sınıfı vardır.
Önekler
mediawiki:
öneki, https://www.mediawiki.org/ontology olarak tanımlanır.
Tam ontoloji https://www.mediawiki.org/ontology/ontology.owl altında bulunabilir.
Döküm başlığı
Döküm başlığı, dökümle ilgili bilgileri içerir, örneğin:
<https://test2.wikipedia.org/categoriesDump> a schema:Dataset,
owl:Ontology ;
cc:license <https://creativecommons.org/licenses/by-sa/3.0/> ;
schema:softwareVersion "1.0" ;
schema:dateModified "2017-09-09T20:00:05Z"^^xsd:dateTime ;
schema:isPartOf <https://test2.wikipedia.org/> ;
owl:imports <https://www.mediawiki.org/ontology/ontology.owl> .
Veri dökümleri
Veri dökümleri https://dumps.wikimedia.org/other/categoriesrdf/ olarak saklanır. Tam dökümler haftalık olarak gerçekleştirilir. Her vikinin kendi döküm dosyası vardır.
https://dumps.wikimedia.org/other/categoriesrdf/lastdump/, gerçekleştirilen son dökümün zaman damgalarını depolar.
Güncelleme
Kategorileri güncellemek için aşağıdakiler kullanılabilir:
- Kategoriler ad alanı oluşturun:
bash createNamespace.sh categories
- Veri yükleme:
bash forAllCategoryWikis.sh loadCategoryDump.sh categories
Viki ekleme
Şimdilik, bir viki eklenmesini istiyorsanız, lütfen tartışma sayfasına yorum yapın. Commons, açık farkla en büyük kategori kümesine sahip olan ve bu nedenle, her şeyin planlandığı gibi daha küçük veri kümeleriyle çalışmasını sağlayana kadar bunu şimdilik kapsamamaya karar verdik.
Yapılacaklar
- Düzenli (günlük) güncellemeler: görev T173772
- GUI'den destek
- Daha fazla viki desteği
- Gizli kategori desteği: görev T173980