Entity Node היא מנת אורך קבוע בגודל 4 מילים (64 סיביות) המזהה ישויות (אנשים, מקומות, חפצים, ארגונים, מושגים ועוד) בזרימת GEUL.

מהות SIDX

מאפייןתיאור
Non-uniqueמספר ישויות יכולות לחלוק אותו SIDX
Multi-SIDXישות אחת יכולה להחזיק מספר SIDX (לפי זמן/תפקיד)
סיבית = משמעותמיקום הסיבית עצמו מייצג תכונה
רצף מופשט/קונקרטינקבע לפי Mode ומידת מילוי Attributes

דוגמאות:

  • טראמפ (יזם נדל"ן) → SIDX_A
  • טראמפ (נשיא) → SIDX_B (SIDX שונה)
  • “Human + Male + Israel” → “גבר ישראלי” מופשט
  • “Human + Male + Israel + 1946 + Business + …” → כמעט אדם ספציפי

עקרונות עיצוב

ויתור על הטמעת Q-ID:

  • השקעת כל הסיביות ביישור סמנטי טהור
  • מיקסום ביצועי סינון WMS SIMD
  • Q-ID מחובר בנפרד דרך שלישיות: (Entity_SIDX, P-ExternalID, "Q12345")

אין צורך בסיביות Serial:

  • שאילתת WMS פועלת בשני שלבים: צמצום טווח ב-SIMD → בדיקת פרטים בטווח
  • Serial הוא מספר חסר משמעות שאינו תורם ל-SIMD
  • השקעת אותן סיביות ביישור סמנטי מצמצמת יותר בשלב הראשון

פריסת סיביות (4 מילים = 64 סיביות)

1st WORD (16 bits)
┌─────────┬──────┬────────────┐
│ Prefix  │ Mode │ EntityType │
│  7bit   │ 3bit │   6bit     │
└─────────┴──────┴────────────┘

2nd WORD (16 bits)
┌─────────────────────────────┐
│   Attributes upper 16 bits  │
└─────────────────────────────┘

3rd WORD (16 bits)
┌─────────────────────────────┐
│   Attributes middle 16 bits │
└─────────────────────────────┘

4th WORD (16 bits)
┌─────────────────────────────┐
│   Attributes lower 16 bits  │
└─────────────────────────────┘
שדהסיביותגודלתיאור
Prefix1-770001001 (Entity Node)
Mode8-1038 מצבי כימות/מספר
EntityType11-16664 סוגים עליונים
Attributes17-6448סכמה משתנה לפי סוג

Mode (3 סיביות)

Mode מבטא כימות (Quantification) ומספר (Number) באופן מאוחד ב-3 סיביות.

קודבינארימשמעותדוגמה
0000ישות רשומהבן-גוריון, טבע, BTS
1001מוגדר יחיד“האדם ההוא”
2010מוגדר מועט“אותם מעטים”
3011מוגדר רבים“אותם אנשים”
4100כולל“כל ~”
5101קיומי“איזשהו ~”
6110בלתי מוגדר“כלשהו ~”
7111כללי“~ באופן כללי”

ישות רשומה (Mode=0)

  • ישות הממופה למזהה חיצוני כגון Q-ID של ויקינתונים או Synset של WordNet
  • Q-ID מחובר דרך שלישיות: (Entity_SIDX, P-ExternalID, "Q12345")
  • ללא קשר למושג מספר: טבע היא “אחת” אך קשה לכנותה יחיד, BTS היא קבוצה אך ישות אחת

כינויים/הפשטה (Mode=1~7)

  • טווח המשמעות נקבע באמצעות EntityType + Attributes
  • ככל שמתמלאות יותר סיביות, כך גדלה הספציפיות
  • דוגמה: Human(Type) + Male(Attr) + Israel(Attr) = “גבר ישראלי”

EntityType (6 סיביות = 64 סוגים)

64 סוגים עליונים מוקצים על בסיס סטטיסטיקת תדירות P31 (instance of) מוויקינתונים. סיווג מפורט מטופל באמצעות סיביות תת-סיווג בתוך Attributes.

טווחקטגוריהמספר סוגיםסוגים מייצגים
0x00-0x07יצורים/אישים8Human, Taxon, Gene, Protein
0x08-0x0Bכימיה/חומרים4Chemical, Compound, Mineral, Drug
0x0C-0x13גרמי שמיים8Star, Galaxy, Asteroid, Planet
0x14-0x1Bגיאוגרפיה/טבע8Mountain, River, Lake, Island
0x1C-0x23מקומות/מנהל8Settlement, Village, Street, Park
0x24-0x2Bמבנים8Building, Church, School, Bridge
0x2C-0x2Fארגונים4Organization, Business, PoliticalParty
0x30-0x3Bיצירות12Painting, Document, Film, Album
0x3C-0x3Fאירועים/אחר4SportsSeason, Event, Election, Other

טבלת קודים (64 מלאה)

קודסוגQ-IDמספר ישויות
0x00HumanQ512.5M
0x01TaxonQ165213.8M
0x02GeneQ71871.2M
0x03ProteinQ80541.0M
0x04CellLineQ21014462154K
0x05FamilyNameQ101352662K
0x06GivenNameQ202444128K
0x07FictionalCharacterQ1563261798K
0x08ChemicalQ1131451711.3M
0x09CompoundQ111731.1M
0x0AMineralQ794662K
0x0BDrugQ1214045K
0x0CStarQ5233.6M
0x0DGalaxyQ3182.1M
0x0EAsteroidQ3863249K
0x0FQuasarQ83373178K
0x10PlanetQ63415K
0x11NebulaQ120578K
0x12StarClusterQ1688455K
0x13MoonQ25373K
0x14MountainQ8502518K
0x15HillQ54050321K
0x16RiverQ4022427K
0x17LakeQ23397292K
0x18StreamQ47521194K
0x19IslandQ23442153K
0x1ABayQ3959425K
0x1BCaveQ3550920K
0x1CSettlementQ486972580K
0x1DVillageQ532245K
0x1EHamletQ5084148K
0x1FStreetQ79007711K
0x20CemeteryQ39614298K
0x21AdminRegionQ15284100K
0x22ParkQ2269845K
0x23ProtectedAreaQ47397235K
0x24BuildingQ41176292K
0x25ChurchQ16970286K
0x26SchoolQ9842242K
0x27HouseQ3947235K
0x28StructureQ811979216K
0x29SportsVenueQ1076486145K
0x2ACastleQ2341342K
0x2BBridgeQ1228038K
0x2COrganizationQ43229531K
0x2DBusinessQ4830453242K
0x2EPoliticalPartyQ727835K
0x2FSportsTeamQ84701795K
0x30PaintingQ33052131.1M
0x31DocumentQ4984845M
0x32LiteraryWorkQ7725634395K
0x33FilmQ11424335K
0x34AlbumQ482994303K
0x35MusicalWorkQ105543609195K
0x36TVEpisodeQ21191270177K
0x37VideoGameQ7889172K
0x38TVSeriesQ539842685K
0x39PatentQ43305660289K
0x3ASoftwareQ739713K
0x3BWebsiteQ3512712K
0x3CSportsSeasonQ27020041183K
0x3DEventQ165668210K
0x3EElectionQ4023111K
0x3FOther-להרחבה

Attributes (48 סיביות)

סכמה משתנה לפי סוג המתפרשת במשמעויות שונות עבור כל EntityType. סיביות רבות יותר מוקצות לתכונות בתדירות גבוהה, ומשמשות ישירות לסינון WMS SIMD.

Human (0x00) Attributes

┌──────────┬────────┬────────┬──────┬────────┬────────┬─────────┬──────────┬────────────┬──────────┐
│ SubType  │  Job   │ Nation │  Era │ Decade │ Gender │  Fame   │ Language │ BirthArea  │  Field   │
│  5bit    │  6bit  │  8bit  │ 4bit │  4bit  │  2bit  │  3bit   │  6bit    │   6bit     │   4bit   │
└──────────┴────────┴────────┴──────┴────────┴────────┴─────────┴──────────┴────────────┴──────────┘
offset:  0        5       11      19     23      27      29        32         38          44

Star (0x0C) Attributes

┌────────────┬────────────┬──────────┬──────────┬────────┬────────┬──────────┬──────────┬────────┬────────┐
│ Constell.  │  Spectral  │ LumClass │ AppMag   │   RA   │  Dec   │  Flags   │ RadVel   │Redshift│Parallax│
│   7bit     │    4bit    │   3bit   │  4bit    │  4bit  │  4bit  │   6bit   │   5bit   │  5bit  │  4bit  │
└────────────┴────────────┴──────────┴──────────┴────────┴────────┴──────────┴──────────┴────────┴────────┘

הגדרת סיביות דגלים:

  • bit0: IR (מקור אינפרא-אדום)
  • bit1: Radio (מקור רדיו)
  • bit2: X-ray (מקור רנטגן)
  • bit3: Binary (כוכב כפול)
  • bit4: Variable (כוכב משתנה)
  • bit5: HighPM (תנועה עצמית גבוהה)

פעולות

יצירת Entity

def make_entity(
    mode: int,           # 3 bits
    entity_type: int,    # 6 bits
    attrs: int           # 48 bits
) -> bytes:
    PREFIX = 0b0001001   # 7 bits (Entity Node)

    word1 = (PREFIX << 9) | (mode << 6) | entity_type
    word2 = (attrs >> 32) & 0xFFFF
    word3 = (attrs >> 16) & 0xFFFF
    word4 = attrs & 0xFFFF

    return (
        word1.to_bytes(2, 'big') +
        word2.to_bytes(2, 'big') +
        word3.to_bytes(2, 'big') +
        word4.to_bytes(2, 'big')
    )

פיענוח Entity

def parse_entity(data: bytes) -> dict:
    word1 = int.from_bytes(data[0:2], 'big')
    word2 = int.from_bytes(data[2:4], 'big')
    word3 = int.from_bytes(data[4:6], 'big')
    word4 = int.from_bytes(data[6:8], 'big')

    prefix = (word1 >> 9) & 0x7F
    mode = (word1 >> 6) & 0x7
    entity_type = word1 & 0x3F
    attrs = (word2 << 32) | (word3 << 16) | word4

    return {
        'prefix': prefix,
        'mode': mode,
        'entity_type': entity_type,
        'attrs': attrs
    }

דוגמאות

ישות רשומה: בן-גוריון

# בן-גוריון (Q37453)
ben_gurion = make_entity(
    mode=0,              # ישות רשומה
    entity_type=0x00,    # Human
    attrs=(
        (0x06 << 43) |   # SubType: Political
        (0x01 << 37) |   # Job: Prime Minister
        (0x52 << 29) |   # Nation: Israel
        (0x5 << 25) |    # Era: Modern
        (0x0 << 21) |    # Decade: 1880s
        (0x01 << 19) |   # Gender: Male
        (0x7 << 16)      # Fame: 1000+
    )
)
# חיבור Q-ID: Triple(ben_gurion_SIDX, P-ExternalID, "Q37453")

הפשטה: “כל גבר ישראלי”

all_israeli_men = make_entity(
    mode=4,              # כולל (כל)
    entity_type=0x00,    # Human
    attrs=(
        (0x52 << 29) |   # Nation: Israel
        (0x01 << 19)     # Gender: Male
    )
)

מיפוי תת-סוגים

סוגים רבים בוויקינתונים הם תת-סוגים של 64 EntityType. המקודד קורא את ערך P31 ומנתב לסוג העליון המתאים.

תת-סוג (P31)סוג עליוןמספר ישויות
Q13442814 (scholarly article)Document (0x31)45.2M
Q67206691 (infrared source)Star (0x0C)2.6M
Q13100073 (village of China)Village (0x1D)592K

כיסוי

פריטערך
סך ישויות ויקינתונים117,419,925
Wikimedia פנימי (לא נכלל)8,565,353 (7.3%)
יעד SIDX108,854,572 (92.7%)
כיסוי ישיר ב-64 סוגים36,295,074 (33.3%)
ספיגת תת-סוגים71,842,429 (66.0%)
נפילה ל-Other717,069 (0.7%)
כיסוי סופי100%
שיעור התנגשויות< 0.01%

חיבור Q-ID

Entity Node אינו מכיל Q-ID בתוכו, אלא מחבר אותו בנפרד דרך קשת שלישייה.

Subject:  Entity_SIDX (64 bits)
Property: P-ExternalID (e.g. P-Wikidata)
Object:   "Q12345" (string or integer)