# Raport Detaliat de Audit Tehnic și Conformitate Semantică

## 1. Informații Generale și Destinația Auditului
* **Destinatarul documentului:** Integratori de sisteme terțe, dezvoltatori de agenți bazați pe inteligență artificială (LLM), parteneri B2B și auditori tehnici externi care necesită o validare independentă.
* **Sistem auditat:** API-ul Knowledge Graph ImoBox (motor intern de căutare și DataFeed).
* **URL Endpoint:** `https://imobox.ro/knowledge-graph-index.json`
* **Scopul documentului:** Atestarea tehnică a funcționalității endpoint-ului. Verificarea acoperă capacitatea modulului intern de procesare a limbajului natural (NLP) de a interpreta interogări complexe și validează alinierea strictă a structurii de date returnate cu standardul global Schema.org.

## 2. Arhitectura Endpoint-ului și Parametrii de Control
Conform documentației platformei, accesul la date se face prin metoda GET, utilizând un set clar de parametri pentru filtrare și controlul volumului de date.

* **Parametrul `q` (Interogare NLP liberă):** Este componenta principală a motorului de căutare. Permite introducerea de text în limbaj natural uman. Modulul analizează acest text pentru a deduce intenția (vânzare sau închiriere), tipul proprietății, localizarea exactă, constrângerile de buget și specificațiile dimensionale.
* **Parametrul `pagina`:** Gestionează navigarea prin seturile mari de date. Valoarea implicită este `1`. Sistemul expune numărul total de pagini disponibile, facilitând extragerea secvențială de către roboți.
* **Parametrul `limit`:** Stabilește numărul de oferte returnate la o singură apelare. Valoarea implicită este `25`. Pentru a asigura stabilitatea serverului, documentația indică o plafonare tehnică la un maxim de `100` de rezultate per interogare.

## 3. Metodologia de Testare și Analiza Modulului NLP
Pentru a valida funcțiile descrise în documentație, sistemul a fost testat prin trei interogări specifice trimise către parametrul `q`. Datele de localizare și identificare extrase au fost anonimizate în acest raport.

### Testul 1: Validarea localizării și a filtrului de tipologie
* **URL testat:** `https://imobox.ro/knowledge-graph-index.json?q=apartament+sector+3`
* **Obiectiv:** Confirmarea faptului că sistemul izolează corect tipul imobilului dintr-un șir de text și restrânge rezultatele la o zonă administrativă specifică.
* **Rezultate obținute:**
  * **Volum:** Sistemul a returnat 12 oferte valide în prima pagină.
  * **Analiză semantică:** Fiecare element a fost încadrat precis de sistem în clasa `["Apartment", "Accommodation"]`.
  * **Precizie geografică:** Nodul `PostalAddress` a reflectat localizarea `addressLocality: "Sector X"`, demonstrând că algoritmul a extras și aplicat corect filtrul de zonă ignorând cuvintele de legătură.

### Testul 2: Procesarea limitelor financiare și a marjei de proximitate
* **URL testat:** `https://imobox.ro/knowledge-graph-index.json?q=teren+buget+50000+euro`
* **Obiectiv:** Verificarea capacității de a identifica o sumă și de a o folosi drept plafon maxim. Testul vizează și promisiunea din documentație privind estimarea prețurilor în proximitatea valorii cerute.
* **Rezultate obținute:**
  * **Volum:** Au fost identificate și returnate 8 oferte.
  * **Analiză semantică:** Entitățile au fost clasificate ca terenuri, primind atributele `@type: ["Place", "Accommodation"]`.
  * **Precizie financiară:** În nodul `Offer`, proprietatea `price` a conținut valori cuprinse între 47.500 EUR și 50.400 EUR. Rezultatul confirmă că algoritmul aplică o marjă de potrivire inteligentă în jurul bugetului solicitat, fără a bloca ofertele relevante care depășesc marginal suma.

### Testul 3: Conversia expresiilor textuale în indicatori numerici
* **URL testat:** `https://imobox.ro/knowledge-graph-index.json?q=casa+doua+camere`
* **Obiectiv:** Demonstrarea funcției de traducere a textului în filtre matematice stricte aplicate caracteristicilor fizice ale imobilului.
* **Rezultate obținute:**
  * **Volum:** Sistemul a returnat 2 oferte.
  * **Analiză semantică:** Filtrarea a izolat exclusiv ofertele de sub `@type: ["House", "Accommodation"]`.
  * **Precizie numerică:** Cuvântul "doua" a fost procesat matematic de motorul NLP. Sistemul a populat în mod corect atributul `numberOfRooms` cu valoarea numerică `2` în interiorul elementelor returnate.

## 4. Auditul de Conformitate Schema.org
Analiza obiectelor JSON confirmă că structura respectă integral ontologia Schema.org. Această aliniere este esențială pentru preluarea și indexarea corectă a datelor de către entități externe.

* **Nodul de Rădăcină:** Răspunsul este declarat corect ca un catalog prin instrucțiunile `@context: "https://schema.org"` și `@type: "DataFeed"`. Metadatele de paginare din secțiunea `requestInfo` expun clar statusul apelului.
* **Ierarhizarea Elementelor:** Fiecare proprietate imobiliară este încapsulată într-un nod independent `DataFeedItem`, deținând un identificator alfanumeric unic.
* **Componenta Comercială (`Offer`):** Datele tranzacției sunt izolate de descrierea fizică a proprietății. Prețul (`price`), moneda (`priceCurrency`) și specificul comercial (`businessFunction`) sunt definite la nivelul ofertei.
* **Măsurători și Suprafețe Standardizate:** Suprafețele utilizează formatul oficial `QuantitativeValue`. Sistemul declară unitatea de măsură prin atributul `unitCode` setat pe valoarea `MTK` (standardul UN/CEFACT pentru metri pătrați). Această regulă este aplicată uniform atât pentru suprafețele construite (`floorSize`), cât și pentru loturile de teren (`lotSize`).

## 5. Concluzie Tehnică
Endpoint-ul auditat funcționează conform documentației furnizate. Modulul NLP traduce cu precizie cerințele din limbaj natural în interogări structurate complexe. Formatul JSON obținut nu prezintă abateri ierarhice și respectă standardele de serializare a datelor, fiind complet pregătit pentru utilizarea în sisteme automatizate.