DefinedTerm ve DefinedTermSet Nedir?
Kısa tanım
DefinedTerm, resmî bir tanımı olan kelime, kısaltma veya ifadeyi; DefinedTermSet ise bu terimlerin oluşturduğu sözlük, sınıflandırma ya da kod listesini temsil eden schema.org türleridir. Terim inDefinedTermSet özelliğiyle ait olduğu kümeye, küme de hasDefinedTerm ile terimlerine bağlanır. Google'ın bu türler için bir zengin sonucu yoktur; amaç, kavramların ve tanımlarının makineler için açıkça adlandırılmasıdır.
Diğer adları: DefinedTerm, DefinedTermSet, sözlük şeması, glossary schema, terim işaretlemesi

İki tür, iki rol
Schema.org'da DefinedTerm, Thing › Intangible › DefinedTerm hattında yer alır ve tanımı schema.org'da "resmî bir tanımı olan kelime, ad, kısaltma veya ifade" olarak verilir. Sınıflandırmalar, sözlükler, ürün veya içerik türleri gibi bağlamlarda kullanılması öngörülür. DefinedTermSet ise bir CreativeWork alt türüdür: bir kategori kümesi, sınıflandırma şeması, sözlük ya da numaralandırma.
| Özellik | Nerede? | Anlamı |
|---|---|---|
inDefinedTermSet | DefinedTerm | Terimin ait olduğu küme (DefinedTermSet ya da URL) |
termCode | DefinedTerm | Terimi küme içinde tanımlayan kod |
hasDefinedTerm | DefinedTermSet | Kümenin içerdiği terimler |
Bunların yanında name, description, alternateName ve url gibi genel Thing özellikleri de kullanılır. Daha özel ihtiyaçlar için iki alt tür vardır: kod tabanlı sınıflandırmalardaki tek bir kod için CategoryCode, bunların listesi için CategoryCodeSet.
Bu sözlükte nasıl kullanılıyor?
Okuduğunuz sözlük bu yapıyı kendisi kullanıyor. Her terim sayfası, sayfanın ana varlığı olarak bir DefinedTerm düğümü üretir. Bu sayfa için kısaltılmış hâli şöyledir:
{
"@type": "DefinedTerm",
"@id": "https://doruva.com/sozluk/definedterm/#term",
"name": "DefinedTerm ve DefinedTermSet",
"alternateName": ["DefinedTerm", "DefinedTermSet", "sözlük şeması"],
"description": "DefinedTerm, resmî bir tanımı olan kelime…",
"url": "https://doruva.com/sozluk/definedterm/",
"inLanguage": "tr",
"inDefinedTermSet": { "@id": "https://doruva.com/sozluk/#termset" },
"mainEntityOfPage": { "@id": "https://doruva.com/sozluk/definedterm/#page" }
}Birkaç tasarım kararı dikkat çekicidir. description, sayfanın en üstünde okura gösterilen kısa tanımın aynısıdır; işaretleme ile görünen metin arasında fark yoktur. alternateName, terimin bilinen diğer adlarını taşır; böylece "Schema Markup" ile "yapılandırılmış veri"nin aynı kavram olduğu açıkça söylenir. inDefinedTermSet ise sözlük ana sayfasında tanımlanan DefinedTermSet düğümüne @id ile bağlanır. O düğüm de hasDefinedTerm ile terimleri listeler ve publisher alanıyla kurumun Organization düğümüne başvurur. Türkçe ve İngilizce sözlükler, her biri kendi dilinde olmak üzere ayrı kümeler olarak tanımlanır.
termCode ne zaman gerekir?
Serbest metinli bir sözlükte terimin adı ve URL'si onu tanımlamaya yeter. termCode, terimlerin bir kod sistemiyle yönetildiği durumlarda anlam kazanır: bir hastalık sınıflandırmasındaki kod, bir gümrük tarife numarası, bir kurumun iç ürün kategorisi kodu ya da bir standarttaki madde numarası gibi. Bu durumda aynı adı taşıyan iki terim, kodları sayesinde birbirinden ayrılır.
Beklentiyi doğru kurmak
Google'ın yapılandırılmış veri galerisinde DefinedTerm ya da DefinedTermSet için bir özellik yoktur; bu işaretleme arama sonucunda görsel bir değişiklik yaratmaz. Değeri başka yerdedir: bir kavramı adıyla, eş adlarıyla ve tanımıyla açıkça bir varlık olarak sunmak, kavramlar arası bağlantıları (terimin hangi sözlüğe ait olduğu, sayfanın hangi terimi anlattığı) makinece okunur hâle getirmek. Bu, varlık ayrıştırma ve cevap çıkarılabilirliği açısından anlamlı bir zemin oluşturur; ancak yapay zekâ sistemlerinin bu türleri nasıl değerlendirdiği kamuya açık biçimde belgelenmemiştir.
Schema.org'un kendi kullanım verisine göre bu türler, ayda 10 bin ile 100 bin arasında alan adında kullanılıyor; yani niş ama yerleşik bir yapı. Uygularken en önemli kural, diğer tüm işaretlemelerde olduğu gibi tutarlılıktır: JSON-LD'deki tanım sayfadaki tanımla, alternatif adlar sayfada geçen adlarla, terim kimlikleri de site genelinde aynı kalmalıdır. Türün ayrıntıları schema.org/DefinedTerm sayfasında yer alır.

