entity-lab / index.html
varhelyicsanad's picture
Update index.html
0e37aa3 verified
Raw History Blame Contribute Delete
39.6 kB
<!doctype html>
<!--
MIT License
Copyright (c) 2026 WikiAI.hu contributors
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
-->
<html lang="hu"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1">
<title>WikiAI Entity Lab — Magyar üzleti entitások</title>
<meta name="description" content="24 szintetikus magyar üzleti példa és böngészőben futó JSON-LD szerkezeti műhely.">
<style>
:root{color-scheme:dark;--bg:#0b1120;--panel:#121c2e;--line:#29364e;--muted:#b0bed3;--accent:#82baff;--pink:#f8a6d4}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:#edf3ff;font:15px/1.6 system-ui,sans-serif}a{color:var(--accent)}button,select,textarea,input{font:inherit}button,select{border:1px solid var(--line);border-radius:10px;background:#1a2840;color:#f4f7ff;padding:10px 14px}button{cursor:pointer}button:hover{border-color:var(--accent)}button:focus-visible,select:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid var(--pink);outline-offset:3px}header,main,footer{max-width:1220px;margin:auto;padding:28px}header{padding-top:36px;border-bottom:1px solid var(--line)}.brand{font-size:20px;font-weight:800;letter-spacing:-.5px}.brand span{color:var(--pink)}.eyebrow{text-transform:uppercase;letter-spacing:.13em;color:var(--accent);font-size:12px;margin:30px 0 8px}h1{font-size:clamp(32px,5vw,52px);line-height:1.12;letter-spacing:-1.7px;margin:8px 0 18px}h2{font-size:22px;line-height:1.3;margin:0 0 16px}h3{font-size:15px;margin:24px 0 10px}p{margin:8px 0 14px}.intro{max-width:820px;color:var(--muted)}.stats{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}.pill{padding:5px 12px;border:1px solid var(--line);border-radius:30px;color:var(--muted);font-size:13px}.nav{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:24px}.nav button[aria-pressed=true]{background:#234b78;border-color:var(--accent)}.layout{display:grid;grid-template-columns:285px minmax(0,1fr);gap:22px}.card{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:24px}.list{display:grid;gap:8px;max-height:680px;overflow:auto;margin-top:12px;padding:3px}.list button{text-align:left;width:100%;font-size:13px}.list button[aria-current=true]{border-color:var(--pink);background:#302338}.list small{display:block;color:var(--muted)}label{display:block;color:var(--muted);font-size:13px;margin:8px 0}select,input{width:100%}input{border:1px solid var(--line);border-radius:8px;padding:9px;background:var(--bg);color:white}.source{white-space:pre-wrap;overflow-wrap:anywhere;background:#0b1424;border-left:3px solid var(--accent);padding:18px;border-radius:6px;max-height:410px;overflow:auto}.note{border-left:3px solid var(--pink);padding:12px 16px;background:#211b32;border-radius:6px}.muted{color:var(--muted)}.fields{display:grid;grid-template-columns:145px minmax(0,1fr);gap:0;margin:0}.fields dt,.fields dd{padding:10px 0;border-bottom:1px solid var(--line);margin:0;overflow-wrap:anywhere}.fields dt{color:var(--muted);font-size:13px}.fields dd{padding-left:12px}textarea{width:100%;min-height:280px;resize:vertical;background:#080f1d;border:1px solid var(--line);border-radius:10px;color:#d5e7ff;padding:16px;line-height:1.55;font:13px/1.6 ui-monospace,monospace}.actions{display:flex;gap:10px;flex-wrap:wrap;margin:14px 0}.primary{background:#2866a7}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:22px}pre{white-space:pre-wrap;overflow-wrap:anywhere;font:13px/1.7 ui-monospace,monospace}.ok{color:#9ae6be}.warn{color:#ffd59a}ul{padding-left:22px}.error{color:#ffb8b8}.mini{font-size:12px;color:var(--muted)}[hidden]{display:none!important}footer{border-top:1px solid var(--line);color:var(--muted);font-size:13px}@media(max-width:800px){.layout,.grid2{grid-template-columns:1fr}.list{max-height:240px}.card{padding:18px}main,header,footer{padding:20px}.fields{grid-template-columns:110px 1fr}}
</style></head><body>
<header><div class="brand">Wiki<span>AI</span> / Entity Lab</div><div class="eyebrow">Nyílt fejlesztési pilot · v1.0.0</div><h1>Mit állít a forrás?<br>Mit tudunk belőle kiolvasni?</h1><p class="intro">Fedezd fel, hogyan válik egy magyar üzleti leírás strukturált adattá — és hol kell megállni a következtetéssel.</p><div class="stats"><span class="pill">24 szintetikus példa</span><span class="pill">16 szöveg + 8 JSON-LD</span><span class="pill">Nincs modellfuttatás</span><span class="pill">MIT licenc</span></div></header>
<main><nav class="nav" aria-label="Munkanézet"><button id="examplesTab" aria-pressed="true">Példatár</button><button id="labTab" aria-pressed="false">JSON-LD műhely</button><a href="https://huggingface.co/datasets/wikiaihu/hungarian-business-entity-interpretability-v1" target="_blank" rel="noopener">Adatkészlet és módszertan ↗</a></nav>
<section id="examples"><div class="layout"><aside class="card"><h2>Válassz egy esetet</h2><label for="filter">Bemenet típusa</label><select id="filter"><option value="all">Összes példa</option value="text">Magyar szöveg</option><option value="jsonld">JSON-LD</option></select><div class="list" id="list"></div></aside><article class="card"><div class="mini" id="meta"></div><h2 id="caseTitle"></h2><p class="mini">Kitalált vállalkozás. A referencia szerkesztett mintaválasz, nem modell eredménye.</p><h3>Bemenet</h3><div id="source" class="source"></div><h3>Elvárt strukturált kimenet</h3><dl id="fields" class="fields"></dl><h3>Miért ez a válasz?</h3><div id="notes" class="note"></div><div class="actions"><button id="toLab" class="primary">Megnyitás a műhelyben</button><button id="download">Példa letöltése</button></div><p class="mini">Az üres mező hiányzó vagy feloldatlan adatot is jelenthet. Nem bizonyítja, hogy az adott szolgáltatás vagy telephely nem létezik.</p></article></div></section>
<section id="lab" hidden><div class="note"><strong>Szabályalapú szerkezeti vizsgálat.</strong> Nem AI-modell, nem teljes Schema.org-validátor, nem tényellenőrzés. A jelenlévő adat még nem igazolt adat.</div><div class="grid2" style="margin-top:22px"><div class="card"><h2>Vizsgáld meg a JSON-LD-t</h2><label for="jsonInput">Nyers JSON-LD (script-címke nélkül)</label><textarea id="jsonInput" spellcheck="false"></textarea><div class="actions"><button id="inspect" class="primary">Szerkezet vizsgálata</button><button id="sample">Gráfpélda betöltése</button></div><p class="mini">A bemásolt tartalmat az alkalmazás nem küldi el és nem tárolja. Maximum 200 000 karakter. Távoli kontextusokat és @id-hivatkozásokat nem old fel.</p><p id="error" class="error" role="alert"></p></div><div class="card" aria-live="polite"><h2>Entitások és kapcsolatok</h2><label for="nodeSelect">Vizsgált csomópont</label><select id="nodeSelect"></select><div id="inspection"><p class="muted">Illessz be JSON-LD-t, majd indítsd el a vizsgálatot.</p></div></div></div></section>
</main><footer>WikiAI.hu · AI-segítséggel készült szintetikus példák, független annotátori ellenőrzés nélkül. <a href="https://huggingface.co/wikiaihu" target="_blank" rel="noopener">Szervezeti profil ↗</a></footer>
<script id="dataset" type="application/json">[{"example_id": "WAI-HU-001", "entity_id": "urn:wikiai:synthetic:001", "title": "Egyértelmű éttermi leírás", "language": "hu", "is_synthetic": true, "input_format": "text", "input_text": "A Szintetikus Mintaétterem 01 étterem Szegeden. Helyben fogyasztást és ételkiszállítást kínál.", "target_hint": "", "expected": {"entity_name": "Szintetikus Mintaétterem 01", "business_type": "étterem", "location": ["Szeged"], "services": ["helyben fogyasztás", "ételkiszállítás"], "schema_type": "Restaurant"}, "source_url": null, "evidence_status": "synthetic_not_real_world_verified", "challenge_tags": ["explicit"], "ambiguity_notes": "A Szegeden ragozott városnév Szeged alakra normalizálandó.", "evidence_quotes": ["étterem Szegeden", "Helyben fogyasztást és ételkiszállítást"], "annotation_origin": "AI-assisted authored reference; not independently adjudicated", "version": "1.0.0"}, {"example_id": "WAI-HU-002", "entity_id": "urn:wikiai:synthetic:002", "title": "Hiányzó telephely", "language": "hu", "is_synthetic": true, "input_format": "text", "input_text": "A Szintetikus Mintaműhely 02 autószerviz. Szolgáltatásai: olajcsere és gumicsere. Telephelyének városa nincs megadva.", "target_hint": "", "expected": {"entity_name": "Szintetikus Mintaműhely 02", "business_type": "autószerviz", "location": [], "services": ["olajcsere", "gumicsere"], "schema_type": "AutoRepair"}, "source_url": null, "evidence_status": "synthetic_not_real_world_verified", "challenge_tags": ["missing_location"], "ambiguity_notes": "Üres location: nincs megadott telephely; nem jelenti, hogy nincs telephely.", "evidence_quotes": ["autószerviz", "olajcsere és gumicsere"], "annotation_origin": "AI-assisted authored reference; not independently adjudicated", "version": "1.0.0"}, {"example_id": "WAI-HU-003", "entity_id": "urn:wikiai:synthetic:003", "title": "Tagadott szolgáltatás", "language": "hu", "is_synthetic": true, "input_format": "text", "input_text": "A Szintetikus Mintaszalon 03 fodrászat Pécsen. Hajvágást vállal. Hajfestést nem vállal.", "target_hint": "", "expected": {"entity_name": "Szintetikus Mintaszalon 03", "business_type": "fodrászat", "location": ["Pécs"], "services": ["hajvágás"], "schema_type": "HairSalon"}, "source_url": null, "evidence_status": "synthetic_not_real_world_verified", "challenge_tags": ["negation"], "ambiguity_notes": "A hajfestés nem vehető fel pozitív szolgáltatásként.", "evidence_quotes": ["fodrászat Pécsen", "Hajvágást vállal", "Hajfestést nem vállal"], "annotation_origin": "AI-assisted authored reference; not independently adjudicated", "version": "1.0.0"}, {"example_id": "WAI-HU-004", "entity_id": "urn:wikiai:synthetic:004", "title": "Múltbeli és jelenlegi telephely", "language": "hu", "is_synthetic": true, "input_format": "text", "input_text": "A Szintetikus Mintabolt 04 üzlet korábban Egerben működött. Jelenlegi és egyetlen telephelye Miskolc. Szolgáltatása: kerékpár-értékesítés.", "target_hint": "", "expected": {"entity_name": "Szintetikus Mintabolt 04", "business_type": "üzlet", "location": ["Miskolc"], "services": ["kerékpár-értékesítés"], "schema_type": "Store"}, "source_url": null, "evidence_status": "synthetic_not_real_world_verified", "challenge_tags": ["temporal"], "ambiguity_notes": "Eger történeti adat, nem jelenlegi telephely.", "evidence_quotes": ["Jelenlegi és egyetlen telephelye Miskolc", "kerékpár-értékesítés"], "annotation_origin": "AI-assisted authored reference; not independently adjudicated", "version": "1.0.0"}, {"example_id": "WAI-HU-005", "entity_id": "urn:wikiai:synthetic:005", "title": "Kiszolgálási terület nem telephely", "language": "hu", "is_synthetic": true, "input_format": "text", "input_text": "A Szintetikus Mintaszerviz 05 helyi vállalkozás. Telephelye Debrecen; Nyíregyháza területén is vállal munkát. Szolgáltatása: hálózatkarbantartás.", "target_hint": "", "expected": {"entity_name": "Szintetikus Mintaszerviz 05", "business_type": "helyi vállalkozás", "location": ["Debrecen"], "services": ["hálózatkarbantartás"], "schema_type": "LocalBusiness"}, "source_url": null, "evidence_status": "synthetic_not_real_world_verified", "challenge_tags": ["service_area"], "ambiguity_notes": "Nyíregyháza kiszolgálási terület, nem igazolt telephely.", "evidence_quotes": ["Telephelye Debrecen", "hálózatkarbantartás"], "annotation_origin": "AI-assisted authored reference; not independently adjudicated", "version": "1.0.0"}, {"example_id": "WAI-HU-006", "entity_id": "urn:wikiai:synthetic:006", "title": "Márkanév és jogi név", "language": "hu", "is_synthetic": true, "input_format": "text", "input_text": "A Szintetikus Mintapékség 06 márkanéven működő pékség Győrben található. Üzemeltetője a kizárólag e példához kitalált Mintaüzemeltető 06 Kft. Szolgáltatása: kenyérértékesítés.", "target_hint": "", "expected": {"entity_name": "Szintetikus Mintapékség 06", "business_type": "pékség", "location": ["Győr"], "services": ["kenyérértékesítés"], "schema_type": "Bakery"}, "source_url": null, "evidence_status": "synthetic_not_real_world_verified", "challenge_tags": ["brand_operator"], "ambiguity_notes": "A célentitás a nyilvános márkanév; a jogi üzemeltető nem átnevezés.", "evidence_quotes": ["Szintetikus Mintapékség 06 márkanéven", "pékség Győrben", "kenyérértékesítés"], "annotation_origin": "AI-assisted authored reference; not independently adjudicated", "version": "1.0.0"}, {"example_id": "WAI-HU-007", "entity_id": "urn:wikiai:synthetic:007", "title": "Két jelenlegi telephely", "language": "hu", "is_synthetic": true, "input_format": "text", "input_text": "A Szintetikus Mintaüzlet 07 üzlet. Két jelenlegi telephelye: Veszprém és Pápa. Szolgáltatása: bútorértékesítés.", "target_hint": "", "expected": {"entity_name": "Szintetikus Mintaüzlet 07", "business_type": "üzlet", "location": ["Veszprém", "Pápa"], "services": ["bútorértékesítés"], "schema_type": "Store"}, "source_url": null, "evidence_status": "synthetic_not_real_world_verified", "challenge_tags": ["multiple_locations"], "ambiguity_notes": "Mindkét telephely felveendő; a sorrend nem számít.", "evidence_quotes": ["Veszprém és Pápa", "bútorértékesítés"], "annotation_origin": "AI-assisted authored reference; not independently adjudicated", "version": "1.0.0"}, {"example_id": "WAI-HU-008", "entity_id": "urn:wikiai:synthetic:008", "title": "Feloldatlan forrásellentmondás", "language": "hu", "is_synthetic": true, "input_format": "text", "input_text": "A Szintetikus Mintaétterem 08 étterem, amely helyben fogyasztást kínál. A két azonos dátumú leírás az egyetlen jelenlegi telephelyet eltérően adja meg: az A leírás szerint Szolnok, a B leírás szerint Kecskemét. Nincs döntő forrás.", "target_hint": "", "expected": {"entity_name": "Szintetikus Mintaétterem 08", "business_type": "étterem", "location": [], "services": ["helyben fogyasztás"], "schema_type": "Restaurant"}, "source_url": null, "evidence_status": "synthetic_not_real_world_verified", "challenge_tags": ["conflict", "abstention"], "ambiguity_notes": "Egyetlen várost sem választunk önkényesen; az üres lista feloldatlan adatot jelöl.", "evidence_quotes": ["étterem", "helyben fogyasztást kínál", "Nincs döntő forrás"], "annotation_origin": "AI-assisted authored reference; not independently adjudicated", "version": "1.0.0"}, {"example_id": "WAI-HU-009", "entity_id": "urn:wikiai:synthetic:009", "title": "Pusztán online szervezet", "language": "hu", "is_synthetic": true, "input_format": "text", "input_text": "A Szintetikus Mintastúdió 09 online szervezet. Szolgáltatása: weboldalkészítés. Fizikai telephely vagy ügyfélfogadó hely nincs megadva.", "target_hint": "", "expected": {"entity_name": "Szintetikus Mintastúdió 09", "business_type": "szervezet", "location": [], "services": ["weboldalkészítés"], "schema_type": "Organization"}, "source_url": null, "evidence_status": "synthetic_not_real_world_verified", "challenge_tags": ["online_only", "missing_location"], "ambiguity_notes": "Fizikai telephelyet és LocalBusiness típust nem feltételezünk.", "evidence_quotes": ["online szervezet", "weboldalkészítés"], "annotation_origin": "AI-assisted authored reference; not independently adjudicated", "version": "1.0.0"}, {"example_id": "WAI-HU-010", "entity_id": "urn:wikiai:synthetic:010", "title": "Csonka bejegyzés", "language": "hu", "is_synthetic": true, "input_format": "text", "input_text": "Ez a bejegyzés egy név nélkül említett vállalkozásról szól. Telephely: Sopron. A tevékenység és a szolgáltatások nincsenek megadva.", "target_hint": "", "expected": {"entity_name": null, "business_type": null, "location": ["Sopron"], "services": [], "schema_type": null}, "source_url": null, "evidence_status": "synthetic_not_real_world_verified", "challenge_tags": ["missing_name", "missing_type", "abstention"], "ambiguity_notes": "Az ismeretlen név, üzlettípus és sématípus null; tevékenység nem következtethető.", "evidence_quotes": ["Telephely: Sopron"], "annotation_origin": "AI-assisted authored reference; not independently adjudicated", "version": "1.0.0"}, {"example_id": "WAI-HU-011", "entity_id": "urn:wikiai:synthetic:011", "title": "Partner szolgáltatása", "language": "hu", "is_synthetic": true, "input_format": "text", "input_text": "A Szintetikus Mintaétterem 11 étterem Egerben. Helyben fogyasztást kínál. A mellette megemlített partner rendezvényszervezést vállal; az étterem saját szolgáltatásai között ez nem szerepel.", "target_hint": "", "expected": {"entity_name": "Szintetikus Mintaétterem 11", "business_type": "étterem", "location": ["Eger"], "services": ["helyben fogyasztás"], "schema_type": "Restaurant"}, "source_url": null, "evidence_status": "synthetic_not_real_world_verified", "challenge_tags": ["entity_boundary"], "ambiguity_notes": "A partner szolgáltatását nem örökítjük az étteremre.", "evidence_quotes": ["étterem Egerben", "Helyben fogyasztást kínál"], "annotation_origin": "AI-assisted authored reference; not independently adjudicated", "version": "1.0.0"}, {"example_id": "WAI-HU-012", "entity_id": "urn:wikiai:synthetic:012", "title": "Jövőbeli szolgáltatás", "language": "hu", "is_synthetic": true, "input_format": "text", "input_text": "A Szintetikus Mintapékség 12 pékség Békéscsabán. Jelenlegi szolgáltatása: kenyérértékesítés. A tortakészítés bevezetése csak jövőbeli terv.", "target_hint": "", "expected": {"entity_name": "Szintetikus Mintapékség 12", "business_type": "pékség", "location": ["Békéscsaba"], "services": ["kenyérértékesítés"], "schema_type": "Bakery"}, "source_url": null, "evidence_status": "synthetic_not_real_world_verified", "challenge_tags": ["planned_service"], "ambiguity_notes": "A tervezett tortakészítés nem jelenleg elérhető szolgáltatás.", "evidence_quotes": ["pékség Békéscsabán", "Jelenlegi szolgáltatása: kenyérértékesítés"], "annotation_origin": "AI-assisted authored reference; not independently adjudicated", "version": "1.0.0"}, {"example_id": "WAI-HU-013", "entity_id": "urn:wikiai:synthetic:013", "title": "Ismételt szolgáltatás", "language": "hu", "is_synthetic": true, "input_format": "text", "input_text": "A Szintetikus Mintaszalon 13 fodrászat Tatabányán. Szolgáltatások: hajvágás, hajvágás, hajformázás.", "target_hint": "", "expected": {"entity_name": "Szintetikus Mintaszalon 13", "business_type": "fodrászat", "location": ["Tatabánya"], "services": ["hajvágás", "hajformázás"], "schema_type": "HairSalon"}, "source_url": null, "evidence_status": "synthetic_not_real_world_verified", "challenge_tags": ["duplicates"], "ambiguity_notes": "A szolgáltatáslista halmazként értékelendő.", "evidence_quotes": ["fodrászat Tatabányán", "hajvágás, hajvágás, hajformázás"], "annotation_origin": "AI-assisted authored reference; not independently adjudicated", "version": "1.0.0"}, {"example_id": "WAI-HU-014", "entity_id": "urn:wikiai:synthetic:014", "title": "Reklámállítás nem szolgáltatás", "language": "hu", "is_synthetic": true, "input_format": "text", "input_text": "A Szintetikus Mintaüzlet 14 üzlet Kaposváron. Saját reklámszövege szerint „a város legjobbja”. Szolgáltatása: könyvértékesítés.", "target_hint": "", "expected": {"entity_name": "Szintetikus Mintaüzlet 14", "business_type": "üzlet", "location": ["Kaposvár"], "services": ["könyvértékesítés"], "schema_type": "Store"}, "source_url": null, "evidence_status": "synthetic_not_real_world_verified", "challenge_tags": ["marketing_claim"], "ambiguity_notes": "A felsőfokú reklámállítás nem igazolt minőség és nem szolgáltatás.", "evidence_quotes": ["üzlet Kaposváron", "könyvértékesítés"], "annotation_origin": "AI-assisted authored reference; not independently adjudicated", "version": "1.0.0"}, {"example_id": "WAI-HU-015", "entity_id": "urn:wikiai:synthetic:015", "title": "Személy és vállalkozás", "language": "hu", "is_synthetic": true, "input_format": "text", "input_text": "A Szintetikus Mintaműhely 15 autószerviz Dunaújvárosban. Kapcsolattartója a kitalált Teszt Elek; ez nem a vállalkozás neve. Szolgáltatása: fékjavítás.", "target_hint": "", "expected": {"entity_name": "Szintetikus Mintaműhely 15", "business_type": "autószerviz", "location": ["Dunaújváros"], "services": ["fékjavítás"], "schema_type": "AutoRepair"}, "source_url": null, "evidence_status": "synthetic_not_real_world_verified", "challenge_tags": ["person_business"], "ambiguity_notes": "A kapcsolattartót nem keverjük össze a vállalkozással; személyadat nem célmező.", "evidence_quotes": ["autószerviz Dunaújvárosban", "fékjavítás"], "annotation_origin": "AI-assisted authored reference; not independently adjudicated", "version": "1.0.0"}, {"example_id": "WAI-HU-016", "entity_id": "urn:wikiai:synthetic:016", "title": "Visszavont szolgáltatás", "language": "hu", "is_synthetic": true, "input_format": "text", "input_text": "A Szintetikus Mintaszerviz 16 helyi vállalkozás Szekszárdon. Jelenleg számítógép-javítást vállal. A korábban kínált nyomtatójavítás megszűnt.", "target_hint": "", "expected": {"entity_name": "Szintetikus Mintaszerviz 16", "business_type": "helyi vállalkozás", "location": ["Szekszárd"], "services": ["számítógép-javítás"], "schema_type": "LocalBusiness"}, "source_url": null, "evidence_status": "synthetic_not_real_world_verified", "challenge_tags": ["discontinued_service"], "ambiguity_notes": "A megszűnt nyomtatójavítás kizárandó.", "evidence_quotes": ["helyi vállalkozás Szekszárdon", "Jelenleg számítógép-javítást vállal"], "annotation_origin": "AI-assisted authored reference; not independently adjudicated", "version": "1.0.0"}, {"example_id": "WAI-HU-017", "entity_id": "urn:wikiai:synthetic:017", "title": "JSON-LD: teljes alaprekord", "language": "hu", "is_synthetic": true, "input_format": "jsonld", "input_text": "{\"@context\": \"https://schema.org\", \"@id\": \"https://example.org/wikiai-synthetic/17#business\", \"@type\": \"Restaurant\", \"name\": \"Szintetikus Mintaétterem 17\", \"address\": {\"@type\": \"PostalAddress\", \"addressLocality\": \"Szeged\", \"addressCountry\": \"HU\"}, \"hasOfferCatalog\": {\"@type\": \"OfferCatalog\", \"itemListElement\": [{\"@type\": \"Offer\", \"itemOffered\": {\"@type\": \"Service\", \"name\": \"helyben fogyasztás\"}}]}}", "target_hint": "", "expected": {"entity_name": "Szintetikus Mintaétterem 17", "business_type": "étterem", "location": ["Szeged"], "services": ["helyben fogyasztás"], "schema_type": "Restaurant"}, "source_url": null, "evidence_status": "synthetic_not_real_world_verified", "challenge_tags": ["jsonld_explicit"], "ambiguity_notes": "A típus a kontrollált típusleképezésből származik.", "evidence_quotes": ["Restaurant", "Szeged", "helyben fogyasztás"], "annotation_origin": "AI-assisted authored reference; not independently adjudicated", "version": "1.0.0"}, {"example_id": "WAI-HU-018", "entity_id": "urn:wikiai:synthetic:018", "title": "JSON-LD: areaServed cím nélkül", "language": "hu", "is_synthetic": true, "input_format": "jsonld", "input_text": "{\"@context\": \"https://schema.org\", \"@id\": \"https://example.org/wikiai-synthetic/18#business\", \"@type\": \"LocalBusiness\", \"name\": \"Szintetikus Mintaszerviz 18\", \"hasOfferCatalog\": {\"@type\": \"OfferCatalog\", \"itemListElement\": [{\"@type\": \"Offer\", \"itemOffered\": {\"@type\": \"Service\", \"name\": \"hálózatkarbantartás\"}}]}, \"areaServed\": {\"@type\": \"City\", \"name\": \"Debrecen\"}}", "target_hint": "", "expected": {"entity_name": "Szintetikus Mintaszerviz 18", "business_type": "helyi vállalkozás", "location": [], "services": ["hálózatkarbantartás"], "schema_type": "LocalBusiness"}, "source_url": null, "evidence_status": "synthetic_not_real_world_verified", "challenge_tags": ["service_area", "missing_location"], "ambiguity_notes": "Az areaServed nem address; telephely nem állapítható meg.", "evidence_quotes": ["LocalBusiness", "areaServed", "hálózatkarbantartás"], "annotation_origin": "AI-assisted authored reference; not independently adjudicated", "version": "1.0.0"}, {"example_id": "WAI-HU-019", "entity_id": "urn:wikiai:synthetic:019", "title": "JSON-LD: name és legalName", "language": "hu", "is_synthetic": true, "input_format": "jsonld", "input_text": "{\"@context\": \"https://schema.org\", \"@id\": \"https://example.org/wikiai-synthetic/19#business\", \"@type\": \"Bakery\", \"name\": \"Szintetikus Mintapékség 19\", \"address\": {\"@type\": \"PostalAddress\", \"addressLocality\": \"Győr\", \"addressCountry\": \"HU\"}, \"hasOfferCatalog\": {\"@type\": \"OfferCatalog\", \"itemListElement\": [{\"@type\": \"Offer\", \"itemOffered\": {\"@type\": \"Service\", \"name\": \"kenyérértékesítés\"}}]}, \"legalName\": \"Szintetikus Üzemeltető 19 Kft.\"}", "target_hint": "", "expected": {"entity_name": "Szintetikus Mintapékség 19", "business_type": "pékség", "location": ["Győr"], "services": ["kenyérértékesítés"], "schema_type": "Bakery"}, "source_url": null, "evidence_status": "synthetic_not_real_world_verified", "challenge_tags": ["brand_operator"], "ambiguity_notes": "Az entity_name a name, nem a legalName mező.", "evidence_quotes": ["Bakery", "Szintetikus Mintapékség 19", "kenyérértékesítés"], "annotation_origin": "AI-assisted authored reference; not independently adjudicated", "version": "1.0.0"}, {"example_id": "WAI-HU-020", "entity_id": "urn:wikiai:synthetic:020", "title": "JSON-LD: személy és szervezet a gráfban", "language": "hu", "is_synthetic": true, "input_format": "jsonld", "input_text": "{\"@context\": \"https://schema.org\", \"@graph\": [{\"@context\": \"https://schema.org\", \"@id\": \"https://example.org/wikiai-synthetic/20#business\", \"@type\": \"HairSalon\", \"name\": \"Szintetikus Mintaszalon 20\", \"address\": {\"@type\": \"PostalAddress\", \"addressLocality\": \"Pécs\", \"addressCountry\": \"HU\"}, \"hasOfferCatalog\": {\"@type\": \"OfferCatalog\", \"itemListElement\": [{\"@type\": \"Offer\", \"itemOffered\": {\"@type\": \"Service\", \"name\": \"hajvágás\"}}]}}, {\"@id\": \"https://example.org/person20\", \"@type\": \"Person\", \"name\": \"Szintetikus Teszt Anna\", \"worksFor\": {\"@id\": \"https://example.org/wikiai-synthetic/20#business\"}}]}", "target_hint": "https://example.org/wikiai-synthetic/20#business", "expected": {"entity_name": "Szintetikus Mintaszalon 20", "business_type": "fodrászat", "location": ["Pécs"], "services": ["hajvágás"], "schema_type": "HairSalon"}, "source_url": null, "evidence_status": "synthetic_not_real_world_verified", "challenge_tags": ["graph", "person_business"], "ambiguity_notes": "Kizárólag a target_hint szerinti üzleti csomópont a cél.", "evidence_quotes": ["HairSalon", "Szintetikus Mintaszalon 20", "hajvágás"], "annotation_origin": "AI-assisted authored reference; not independently adjudicated", "version": "1.0.0"}, {"example_id": "WAI-HU-021", "entity_id": "urn:wikiai:synthetic:021", "title": "JSON-LD: címlista", "language": "hu", "is_synthetic": true, "input_format": "jsonld", "input_text": "{\"@context\": \"https://schema.org\", \"@id\": \"https://example.org/wikiai-synthetic/21#business\", \"@type\": \"Store\", \"name\": \"Szintetikus Mintaüzlet 21\", \"hasOfferCatalog\": {\"@type\": \"OfferCatalog\", \"itemListElement\": [{\"@type\": \"Offer\", \"itemOffered\": {\"@type\": \"Service\", \"name\": \"könyvértékesítés\"}}]}, \"address\": [{\"@type\": \"PostalAddress\", \"addressLocality\": \"Veszprém\"}, {\"@type\": \"PostalAddress\", \"addressLocality\": \"Pápa\"}]}", "target_hint": "", "expected": {"entity_name": "Szintetikus Mintaüzlet 21", "business_type": "üzlet", "location": ["Veszprém", "Pápa"], "services": ["könyvértékesítés"], "schema_type": "Store"}, "source_url": null, "evidence_status": "synthetic_not_real_world_verified", "challenge_tags": ["multiple_locations"], "ambiguity_notes": "A két cím két telephelyet jelöl; sorrendfüggetlen.", "evidence_quotes": ["Veszprém", "Pápa", "könyvértékesítés"], "annotation_origin": "AI-assisted authored reference; not independently adjudicated", "version": "1.0.0"}, {"example_id": "WAI-HU-022", "entity_id": "urn:wikiai:synthetic:022", "title": "JSON-LD: üres kínálat", "language": "hu", "is_synthetic": true, "input_format": "jsonld", "input_text": "{\"@context\": \"https://schema.org\", \"@id\": \"https://example.org/wikiai-synthetic/22#business\", \"@type\": \"Organization\", \"name\": \"Szintetikus Mintastúdió 22\", \"hasOfferCatalog\": {\"@type\": \"OfferCatalog\", \"itemListElement\": []}}", "target_hint": "", "expected": {"entity_name": "Szintetikus Mintastúdió 22", "business_type": "szervezet", "location": [], "services": [], "schema_type": "Organization"}, "source_url": null, "evidence_status": "synthetic_not_real_world_verified", "challenge_tags": ["missing_services", "abstention"], "ambiguity_notes": "Az üres kínálatból nem következik, hogy a szervezet semmilyen szolgáltatást nem végez.", "evidence_quotes": ["Organization", "itemListElement"], "annotation_origin": "AI-assisted authored reference; not independently adjudicated", "version": "1.0.0"}, {"example_id": "WAI-HU-023", "entity_id": "urn:wikiai:synthetic:023", "title": "JSON-LD: duplikált ajánlat", "language": "hu", "is_synthetic": true, "input_format": "jsonld", "input_text": "{\"@context\": \"https://schema.org\", \"@id\": \"https://example.org/wikiai-synthetic/23#business\", \"@type\": \"AutoRepair\", \"name\": \"Szintetikus Mintaműhely 23\", \"address\": {\"@type\": \"PostalAddress\", \"addressLocality\": \"Miskolc\", \"addressCountry\": \"HU\"}, \"hasOfferCatalog\": {\"@type\": \"OfferCatalog\", \"itemListElement\": [{\"@type\": \"Offer\", \"itemOffered\": {\"@type\": \"Service\", \"name\": \"olajcsere\"}}, {\"@type\": \"Offer\", \"itemOffered\": {\"@type\": \"Service\", \"name\": \"olajcsere\"}}]}}", "target_hint": "", "expected": {"entity_name": "Szintetikus Mintaműhely 23", "business_type": "autószerviz", "location": ["Miskolc"], "services": ["olajcsere"], "schema_type": "AutoRepair"}, "source_url": null, "evidence_status": "synthetic_not_real_world_verified", "challenge_tags": ["duplicates"], "ambiguity_notes": "Az azonos nevű szolgáltatások összevonandók.", "evidence_quotes": ["AutoRepair", "Miskolc", "olajcsere"], "annotation_origin": "AI-assisted authored reference; not independently adjudicated", "version": "1.0.0"}, {"example_id": "WAI-HU-024", "entity_id": "urn:wikiai:synthetic:024", "title": "JSON-LD: két üzleti entitás", "language": "hu", "is_synthetic": true, "input_format": "jsonld", "input_text": "{\"@context\": \"https://schema.org\", \"@graph\": [{\"@context\": \"https://schema.org\", \"@id\": \"https://example.org/wikiai-synthetic/24#business\", \"@type\": \"Restaurant\", \"name\": \"Szintetikus Mintaétterem 24A\", \"address\": {\"@type\": \"PostalAddress\", \"addressLocality\": \"Eger\", \"addressCountry\": \"HU\"}, \"hasOfferCatalog\": {\"@type\": \"OfferCatalog\", \"itemListElement\": [{\"@type\": \"Offer\", \"itemOffered\": {\"@type\": \"Service\", \"name\": \"helyben fogyasztás\"}}]}}, {\"@context\": \"https://schema.org\", \"@id\": \"https://example.org/wikiai-synthetic/24b#business\", \"@type\": \"Restaurant\", \"name\": \"Szintetikus Mintaétterem 24B\", \"address\": {\"@type\": \"PostalAddress\", \"addressLocality\": \"Sopron\", \"addressCountry\": \"HU\"}, \"hasOfferCatalog\": {\"@type\": \"OfferCatalog\", \"itemListElement\": [{\"@type\": \"Offer\", \"itemOffered\": {\"@type\": \"Service\", \"name\": \"ételkiszállítás\"}}]}}]}", "target_hint": "https://example.org/wikiai-synthetic/24#business", "expected": {"entity_name": "Szintetikus Mintaétterem 24A", "business_type": "étterem", "location": ["Eger"], "services": ["helyben fogyasztás"], "schema_type": "Restaurant"}, "source_url": null, "evidence_status": "synthetic_not_real_world_verified", "challenge_tags": ["graph", "entity_boundary"], "ambiguity_notes": "A 24B entitás városa és szolgáltatása nem keverhető a célentitáshoz.", "evidence_quotes": ["24A", "Eger", "helyben fogyasztás"], "annotation_origin": "AI-assisted authored reference; not independently adjudicated", "version": "1.0.0"}]</script>
<script>
'use strict';
const DATA=JSON.parse(document.getElementById('dataset').textContent), $=id=>document.getElementById(id);
let selected=DATA[0],nodes=[];
const labels={entity_name:'Név',business_type:'Vállalkozástípus',location:'Telephely városa',services:'Szolgáltatások',schema_type:'Schema.org típus'};
function put(tag,text,cls){const e=document.createElement(tag);e.textContent=text;if(cls)e.className=cls;return e}
function view(which){$('examples').hidden=which!=='examples';$('lab').hidden=which!=='lab';$('examplesTab').setAttribute('aria-pressed',which==='examples');$('labTab').setAttribute('aria-pressed',which==='lab')}
function fields(obj,host){host.replaceChildren();for(const[k,v]of Object.entries(obj)){host.append(put('dt',labels[k]||k),put('dd',Array.isArray(v)?(v.join(' · ')||'[] — nincs megállapítható adat'):v===null?'null — ismeretlen':String(v)))}}
function renderList(){const host=$('list');host.replaceChildren();DATA.filter(r=>$('filter').value==='all'||r.input_format===$('filter').value).forEach(r=>{const b=put('button',r.title);b.append(put('small',r.example_id+' · '+(r.input_format==='text'?'SZÖVEG':'JSON-LD')));b.setAttribute('aria-current',r.example_id===selected.example_id);b.onclick=()=>choose(r);host.append(b)})}
function choose(r){selected=r;$('meta').textContent=r.example_id+' / '+r.challenge_tags.join(' · ');$('caseTitle').textContent=r.title;$('source').textContent=r.input_format==='jsonld'?JSON.stringify(JSON.parse(r.input_text),null,2):r.input_text;fields(r.expected,$('fields'));$('notes').textContent=r.ambiguity_notes;$('toLab').hidden=r.input_format!=='jsonld';renderList()}
function inspect(){try{const raw=$('jsonInput').value;if(raw.length>200000)throw Error('Túl hosszú bemenet (maximum 200 000 karakter).');const obj=JSON.parse(raw);nodes=(Array.isArray(obj)?obj:obj&&Array.isArray(obj['@graph'])?obj['@graph']:[obj]).filter(x=>x&&typeof x==='object'&&!Array.isArray(x));if(!nodes.length)throw Error('Nincs vizsgálható objektum.');$('nodeSelect').replaceChildren();nodes.forEach((n,i)=>{const opt=put('option',(typeof n.name==='string'?n.name:'Névtelen csomópont')+' · '+(n['@type']||'típus nélkül'));opt.value=i;$('nodeSelect').append(opt)});$('error').textContent='';showNode()}catch(e){nodes=[];$('nodeSelect').replaceChildren();$('inspection').replaceChildren(put('p','A bemenet nem vizsgálható. Javítsd a JSON-t.','muted'));$('error').textContent=e.message}}
function showNode(){const n=nodes[Number($('nodeSelect').value)||0];if(!n)return;const host=$('inspection');host.replaceChildren();const checks=[['Név',typeof n.name==='string'&&!!n.name.trim()],['Deklarált típus',typeof n['@type']==='string'&&!!n['@type']||Array.isArray(n['@type'])&&n['@type'].length>0],['@id azonosító',typeof n['@id']==='string'&&!!n['@id']]];const ul=document.createElement('ul');for(const[label,ok]of checks)ul.append(put('li',(ok?'Jelen van: ':'Hiányzik: ')+label,ok?'ok':'warn'));host.append(ul);const addr=Array.isArray(n.address)?n.address:[n.address];const cities=[...new Set(addr.filter(x=>x&&typeof x==='object').map(x=>x.addressLocality).filter(x=>typeof x==='string'&&x.trim()))];const offers=n.hasOfferCatalog?.itemListElement;const services=Array.isArray(offers)?[...new Set(offers.map(o=>o?.itemOffered?.name).filter(x=>typeof x==='string'&&x.trim()))]:[];const dl=document.createElement('dl');dl.className='fields';fields({entity_name:typeof n.name==='string'?n.name:null,location:cities,services,schema_type:Array.isArray(n['@type'])?n['@type'].join(', '):typeof n['@type']==='string'?n['@type']:null},dl);host.append(dl);if(!cities.length)host.append(put('p','Nincs kiolvasható inline addressLocality. Ez nem bizonyítja, hogy nincs telephely.','warn'));if(n.areaServed)host.append(put('p','Az areaServed kiszolgálási terület; nem használtuk telephelyként.','note'));if(!services.length)host.append(put('p','Nincs kiolvasható inline ajánlatkatalógus. Más alakban megadott szolgáltatásokat ez a műhely nem bont ki.','mini'));const links=[];function walk(x,path,depth){if(depth>25)return;if(x&&typeof x==='object'){if(path&&typeof x['@id']==='string')links.push([path,x['@id']]);for(const[k,v]of Object.entries(x)){if(k!=='@context')walk(v,path?path+'.'+k:k,depth+1)}}}walk(n,'',0);host.append(put('h3','Közvetlen @id-hivatkozások'));if(!links.length)host.append(put('p','Nincs beágyazott @id-kapcsolat.','muted'));else{const list=document.createElement('ul');for(const[path,id]of links){const exists=nodes.some(x=>x['@id']===id);list.append(put('li',path+' → '+id+(exists?' (csomópont jelen van)':' (nincs a felső szintű csomópontok között)')))}host.append(list)}host.append(put('p','A mezők jelenléte nem igazolja a vállalkozás vagy az állítások valódiságát.','mini'))}
$('examplesTab').onclick=()=>view('examples');$('labTab').onclick=()=>view('lab');$('filter').onchange=()=>{const options=DATA.filter(r=>$('filter').value==='all'||r.input_format===$('filter').value);choose(options[0])};$('inspect').onclick=inspect;$('nodeSelect').onchange=showNode;$('toLab').onclick=()=>{$('jsonInput').value=JSON.stringify(JSON.parse(selected.input_text),null,2);view('lab');inspect();if(selected.target_hint){const idx=nodes.findIndex(x=>x['@id']===selected.target_hint);if(idx>=0){$('nodeSelect').value=idx;showNode()}}};$('sample').onclick=()=>{$('jsonInput').value=JSON.stringify(JSON.parse(DATA[19].input_text),null,2);inspect()};$('download').onclick=()=>{const url=URL.createObjectURL(new Blob([JSON.stringify(selected,null,2)],{type:'application/json'}));const a=document.createElement('a');a.href=url;a.download=selected.example_id+'.json';a.click();setTimeout(()=>URL.revokeObjectURL(url),1000)};choose(selected);$('jsonInput').value=JSON.stringify(JSON.parse(DATA[16].input_text),null,2);
</script></body></html>