Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Uyarı
Bu özellik şu anda genel önizlemededir. Bu önizleme, hizmet düzeyi sözleşmesi olmadan sağlanır ve üretim iş yükleri için önerilmez. Bazı özellikler desteklenmiyor olabileceği gibi özellikleri sınırlandırılmış da olabilir. Daha fazla bilgi için bkz. Microsoft Azure Önizlemeleri için Ek Kullanım Koşulları.
Bu makale, GQL belgelerinde kullanılan sosyal ağ grafı türü için tam teknik belirtim sağlar. Bu şema, karmaşık grafiklerin birçok ortak özelliğini gösterir ve GQL dil belgelerindeki tüm sorgu örneklerinin temelini oluşturur.
Uyarı
Sosyal ağ, GDC (Graph Veri Konseyi) tarafından yayımlanan LDBC SNB'sinden (LDBC Sosyal Ağ Karşılaştırması) türetilmiştir. Diğer ayrıntılar için "LDBC Sosyal Ağ Karşılaştırması" makalesine bakın. Türetilmiş veri setinin bir kopyasını nasıl elde edeceğiniz için sosyal ağ örnek grafik veri setine bakınız.
Etki alanı belirtimi
Sosyal ağ etki alanı, aşağıdaki varlıklarla kapsamlı bir sosyal platform modeller:
- Demografik ve davranış özelliklerine sahip kişiler
- Eğitim kurumları (üniversiteler) ve işverenler (şirketler) dahil kuruluşlar
- Şehirlerden ülkelere/bölgelere ve kıtalara coğrafi hiyerarşi
- Forumlar, gönderiler ve yazışma açıklamaları içeren içerik sistemi
- Etiketler ve etiket sınıflandırmaları ile taksonomi sistemi
- İnsanlar ve kuruluşlar arasındaki sosyal ve profesyonel ilişkiler
Bu etki alanının varlıklarına daha ayrıntılı bir giriş için bkz. GQL dil kılavuzu.
Şema özellikleri gösterildi
Bu grafik türü gelişmiş GQL özelliklerini gösterir:
- Soyut temel türleri (,
Message,Organization) kullanarakPlace - Paylaşılan özellik tanımlarıyla birden çok devralma deseni
- Aynı ilişki etiketinin farklı düğüm türü birleşimlerini bağladığı kenar türü aileleri
- Temel kısıtlamalar aracılığıyla veri bütünlüğünü sağlayan kapsamlı kısıtlama sistemi
- Hiyerarşik kapsama, sosyal bağlantılar ve içerik etkileşimleri dahil karma ilişki desenleri
Şema tanımını tamamlama
Aşağıdaki grafik türü , GQL söz diziminde tam bir şema tanımı sağlar:
(:TagClass => { id :: UINT64 NOT NULL, name :: STRING, url :: STRING }),
CONSTRAINT tag_class_pk
FOR (n:TagClass) REQUIRE (n.id) IS KEY,
(:TagClass)-[:isSubclassOf]->(:TagClass),
(:Tag => { id :: UINT64 NOT NULL, name :: STRING, url :: STRING }),
(:Tag)-[:hasType]->(:TagClass),
CONSTRAINT tag_pk
FOR (n:Tag) REQUIRE (n.id) IS KEY,
ABSTRACT
(:Place => { id :: UINT64 NOT NULL, name :: STRING, url :: STRING }),
(:City => :Place),
(:Country => :Place),
(:Continent => :Place),
CONSTRAINT place_pk
FOR (n:Place) REQUIRE (n.id) IS KEY,
(:City)-[:isPartOf]->(:Country),
(:Country)-[:isPartOf]->(:Continent),
ABSTRACT
(:Organization => { id :: UINT64 NOT NULL, name :: STRING, url :: STRING }),
(:University => :Organization),
(:Company => :Organization),
CONSTRAINT organization_pk
FOR (n:Organization) REQUIRE (n.id) IS KEY,
(:University)-[:isLocatedIn]->(:City),
(:Company)-[:isLocatedIn]->(:Country),
(:Person => {
id :: UINT64 NOT NULL,
creationDate :: ZONED DATETIME,
firstName :: STRING,
lastName :: STRING,
gender :: STRING,
birthday :: UINT64,
browserUsed :: STRING,
locationIP :: STRING
}),
CONSTRAINT person_pk
FOR (n:Person) REQUIRE (n.id) IS KEY,
(:Person)-[:hasInterest]->(:Tag),
(:Person)-[:isLocatedIn]->(:City),
(:Person)-[:studyAt { classYear :: UINT64 }]->(:University),
(:Person)-[:workAt { workFrom :: UINT64 }]->(:Company),
(:Person)-[:knows { creationDate :: ZONED DATETIME }]->(:Person),
(:Forum => {
id :: UINT64 NOT NULL,
creationDate :: ZONED DATETIME,
title :: STRING
}),
CONSTRAINT forum_pk
FOR (n:Forum) REQUIRE (n.id) IS KEY,
(:Forum)-[:hasTag]->(:Tag),
(:Forum)-[:hasMember { creationDate :: ZONED DATETIME, joinDate :: UINT64 }]->(:Person),
(:Forum)-[:hasModerator]->(:Person),
ABSTRACT (:Message => {
id :: UINT64 NOT NULL,
creationDate :: ZONED DATETIME,
browserUsed :: STRING,
locationIP :: STRING,
content :: STRING,
length :: UINT64
}),
CONSTRAINT message_pk
FOR (n:Message) REQUIRE (n.id) IS KEY,
(:Post => :Message += {
language :: STRING,
imageFile :: STRING
}),
(:Person)-[:likes { creationDate :: ZONED DATETIME }]->(:Post),
(:Post)-[:hasCreator]->(:Person),
(:Post)-[:isLocatedIn]->(:Country),
(:Forum)-[:containerOf]->(:Post),
(:Comment => :Message),
(:Person)-[:likes { creationDate :: ZONED DATETIME }]->(:Comment),
(:Comment)-[:hasCreator]->(:Person),
(:Comment)-[:isLocatedIn]->(:Country),
(:Comment)-[:replyOf]->(<:Message),
(:Person)-[:likes { creationDate :: ZONED DATETIME }]->(<:Message),
(<:Message)-[:hasCreator]->(:Person),
(<:Message)-[:isLocatedIn]->(:Country),
(<:Message)-[:hasTag]->(:Tag)
Şema analizi
Düğüm türü hiyerarşisi
Şema üç devralma hiyerarşisi tanımlar:
Coğrafi hiyerarşi:
-
Place(soyut) →City, ,CountryContinent
Kuruluş hiyerarşisi:
-
Organization(soyut) →University,Company
İçerik hiyerarşisi:
-
Message(soyut) →Post,Comment
Kenar türü aileleri
Çeşitli kenar etiketleri, farklı düğüm birleşimlerini bağlayan tür aileleri oluşturur:
Konum ilişkileri (isPartOf):
- Şehirler ülkelere/bölgelere aittir:
(:City)-[:isPartOf]->(:Country) - Ülkeler/bölgeler kıtalara aittir:
(:Country)-[:isPartOf]->(:Continent)
İçerik etkileşimleri (likes):
- Gönderileri beğenen kişiler:
(:Person)-[:likes]->(:Post) - İnsanlar yorumları sever:
(:Person)-[:likes]->(:Comment) - İletileri beğenen kişiler:
(:Person)-[:likes]->(<:Message)
Coğrafi konum (isLocatedIn):
- İnsanlar şehirlerde yaşıyor:
(:Person)-[:isLocatedIn]->(:City) - Şehirlerde bulunan üniversiteler:
(:University)-[:isLocatedIn]->(:City) - Ülkelerde/bölgelerde bulunan şirketler:
(:Company)-[:isLocatedIn]->(:Country) - Ülkelerde/bölgelerde bulunan gönderiler:
(:Post)-[:isLocatedIn]->(:Country) - Ülkelerde/bölgelerde bulunan yorumlar:
(:Comment)-[:isLocatedIn]->(:Country)
Anahtar kısıtlamaları
Her düğüm türünün, özelliğe göre benzersiz tanımlamayı id sağlayan karşılık gelen bir anahtar kısıtlaması vardır:
-
tag_class_pk,tag_pk,place_pk, ,organization_pk,person_pk,forum_pk,message_pk