O propunere pentru reprezentarea structurilor grafice in JSON.
Schimbari
Ianuarie 2020 – Actualizat la versiunea 2 de Travis Giggy
- Modificare majora – nodurile s-au schimbat dintr-o matrice / lista intr-o harta / dictionar
- Modificari minore – referinta JSONSchema actualizata, adaugat inapoi atributul id de nivel superior
- Am curatat definitiile JSONSchema profitand de actualizarile JSONSchema
Ianuarie 2021 – Actualizat cu suport hipergraf de mohawk2
- S-au adaugat hiperborduri la specificatii
Principii de proiectare
- Structura graficului documentului
- Utilizati nume de proprietati semnificative care reflecta tipul semantic al valorii.
- Numele proprietatilor nu trebuie sa fie excesiv de lungi.
- Numele proprietatilor ar trebui sa fie plural atunci cand valoarea este o matrice.
- Proprietatile care permit o valoare nula pot fi omise.
- Definiti o schema grafica JSON in scopul validarii continutului.
Prezentare generala a structurii (versiunea 2)
obiect noduri
Un obiect nod / harta reprezinta noduri intr-un grafic. Fiecare cheie din obiectul noduri este identificatorul unic pentru nod. Obiectul nod este valoarea cheii Harta.
proprietatile obiectului nodului
- proprietatea eticheta ofera un afisaj text pentru un obiect. Valoarea sa este definita ca un sir JSON .
- proprietatea metadate permite date personalizate despre un obiect. Valorile sale sunt definite ca un obiect JSON.
matrice de margine
Marginile sunt o serie de obiecte, fiecare dintre ele reprezentand o margine in grafic.
proprietati de margine
- proprietatea sursa face referire la valoarea cheie a sursei [obiect nod] (# obiect nod). Valoarea sa este definita ca un sir JSON .
- proprietatea relatiei ofera interactiunea intre nodurile sursa si tinta. Valoarea sa este definita ca un sir JSON .
- proprietatea tinta face referire la valoarea cheie a obiectului nod tinta. Valoarea sa este definita ca un sir JSON .
- proprietatea directionata ofera modul de margine (de exemplu, directionat sau nedirectionat). Valoarea sa este JSON adevarat pentru regizat si JSON fals pentru nedirectionat. Directia muchiei este determinata de proprietatea graph.directed daca nu este prezenta.
- proprietatea metadate permite date personalizate despre un obiect. Valorile sale sunt definite ca un obiect JSON.
matrice de hiperge
Hiperbordurile sunt fie nedirectionate – adica un set de noduri – fie directionate cu un set de noduri sursa si un set de noduri tinta
proprietati hiperge
- Proprietatea noduri este o matrice de valori cheie ale nodurilor din matricea nodurilor
- proprietatea sursa este o serie de valori cheie ale nodurilor sursa.
- proprietatea relatiei ofera interactiunea intre nodurile sursa si tinta. Valoarea sa este definita ca un sir JSON .
- proprietatea tinta este o serie de valori cheie ale nodurilor tinta.
- proprietatea metadate permite date personalizate despre un obiect.
videos de sexo gratis sexporno
vende a su novia por dinero michelle jenner desnuda
sexo gratis videos folladoras
porno gratis anal coños maduros
sexporno filme porno romanesti
gallega porno pornoo
porbo chupadas
casting porno español chochitos jovenes
shemalehd maduras tragando semen
cartoon xxx sexo español gratis
pajas caseras peludas españolas
coños gordos pajas en la playa
www rubias comiendo coño
scat lesbianas mujeres follando gratis
peliculas españolas porno moras follando
pornolesvianas porno del bueno
videos caserosxxx incesto subtitulado
forzada por el culo videosgay
castin porno yola berrocal follando
follando a mi hija videos incesto onlineValorile sale sunt definite ca un obiect JSON.
obiect grafic
Un obiect grafic reprezinta un singur grafic conceptual.
proprietatile graficului
- Proprietatea id (optionala) ofera un identificator pentru acest obiect grafic
- Proprietatea de tip ofera o clasificare pentru un obiect. Valoarea sa este definita ca un sir JSON .
- proprietatea eticheta ofera un afisaj text pentru un obiect. Valoarea sa este definita ca un sir JSON .
- proprietatea directionata ofera modul grafic (de ex. directionat sau nedirectionat). Valoarea sa este JSON adevarat pentru regizat si JSON fals pentru nedirectionat. Aceasta proprietate implicita este JSON true, indicand un grafic directionat.
- Proprietatea noduri furnizeaza nodurile din grafic. Valoarea sa este o harta / dictionar de obiecte nod – cheia harta fiind identificatorul nodului.
- proprietatea margini ofera marginile din grafic. Valoarea sa este o serie de obiecte de margine.
- proprietatea hyperedges ofera hipergetii din grafic. Valoarea sa este o serie de obiecte hiperge.
- proprietatea metadate permite date personalizate despre un obiect. Valorile sale sunt definite ca un obiect JSON.
Restrictie curenta asupra uneia dintre margini, hiperborduri nedirectionate sau hiperborduri directionate. Daca aceasta nu este o restrictie utila, va rugam sa postati un caz de utilizare in Probleme.
obiect grafice
Un obiect grafic grupeaza zero sau mai multe obiecte graf intr-un singur document JSON.
- Obiectul grafic este definit ca o matrice JSON .
Exemple
Exemple suplimentare
grafic unic gol
gol multi grafic
grafic unic numai pentru noduri
noduri / margini grafic unic
hiperborduri grafic unic
grafic unic complet
grafic complet multi
Schema
Schema graficului JSON (versiunea 2) este furnizata pentru formatul graficului JSON.
Tipul suportului
Tipul de suport pentru descrierea formatului graficului JSON este application / vnd.jgf + json . Abordarea de a utiliza un sufix de tip media ca + json este descrisa de RFC 6839.
In plus fata de tipul de suport, un parametru de tip suport de profil TREBUIE sa fie setat la o adresa URL care anuleaza referinta la schema JSON pentru JSON Graph Format. Utilizarea asteptata a parametrului de tip media de profil este definita de RFC 6906. De exemplu, pentru a comunica continut simplu in format JSON Graph, antetul Content-Type ar putea fi setat ca:
O schema copil al JSON Graph Format poate comunica schema sa JSON folosind suplimentare ale profilului parametri de tip media. Fiecare parametru de tip de suport de profil TREBUIE sa derespere o schema JSON. De exemplu, formatul de grafic BEL JSON ar putea fi comunicat ca:
Suport NPM
Puteti importa schema in proiectele dvs. JS instaland-o prin NPM si solicitand-o.
Clienti
- jay-gee-eff – Un pachet npm pentru manipularea fisierelor JGF din nodejs.
- jay-gee-eff-for-web – Un pachet npm pentru utilizarea graficelor JGF cu OOP in web, adica browsere web, fara capacitati de gestionare a fisierelor, dar un set de caracteristici JGF complet.
Teste de proiect
Vezi TESTARE.
Standarde conexe {#links}
Datele grafice in JSON sunt de obicei modelate in formate ad-hoc specifice aplicatiei. In plus, exista mai multe formate de grafice bazate pe text:
- Limbajul de modelare a graficelor (GML)
- DOT (sintaxa graphviz)
- Formatul Pajekt NET
- Netdraw format VNA
- Format UCINET DL
- Trivial Graph Format (TGF)
- Format GUESS (GDF)
- Format Tulip TLP
si formate grafice bazate pe XML:
- Limbaj de marcare a graficelor directionate (DGML)
- Format XML de schimb de grafice (GEXF)
- Limba eXchange Graph (GXL)
- GraphML
- DotML (reprezentare XML a DOT)
- XGMML (reprezentare XML a GML)
Mai multe formate de grafice semi-standardizate bazate pe JSON se gasesc in aplicatii, de exemplu Cytoscape JSON. Graficele simple pot fi exprimate si in format CSV.
Link-uri
- Schema JSON








