SlideShare a Scribd company logo
 ARC2(Appmosphere RDF classes) vs RAP( RDF API for PHP)            ARC -  este o colecţie open-source de script-uri PHP optimizata pentru RDF, dezvoltare găzduită pe servere Web. În prezent, aceasta constă dintr-un parser RDF / XML, un N-Triples Serializer, şi o clasa Model Simplu, care furnizeaza metodele comune de lucru cu descrieri de resurse. Cele trei clase principale sunt de sine stătătoare, cu un singur fişier de script-uri, facilitând astfel gruparea   cu aplicaţii PHP existente. Prin parţial, utilizând arrays in loc de obiecte, ARC oferă îmbunătăţiri de viteză faţă de toolkit-uri care urmează abordări complet bazat pe obiecte PHP.    RAP - RDF API pentru PHP este un set de instrumente Semantic Web pentru dezvoltatorii de PHP. Acesta ofera functii pentru parsarea, manipularea, depozitarea, interogari, servire, precum şi serializari grafice RDF. RAP a fost început ca un proiect open source de către Freie Universität Berlin, în 2002 şi a fost prelungită cu codul de contribuţii din partea comunităţii de Semantic Web. Ultima versiune(v0.9.1) include printre altele: o declaraţie API pentru manipularea graficelor RDF ca un set de situaţii, o resursă API-centrice pentru manipularea grafice RDF ca un set de resurse cu proprietăţi, un up-to-date RDF / XML Parser şi serializer, sprijinul pentru alte tehnici de serializare (de exemplu, N-Triple , Notation3, RDF încorporat în XHTML,  suport pentru limbaj de interogare RDQL.     RAP este desfăşurat ca un API integrat, astfel că modificările de versiune necesită, de obicei să înlocuiască complet o instalare prealabilă. ARC1 foloseste clase mai usoare, de sine statatoare, în scopul de a permite utilizarea independenta şi pentru a facilita modernizarea sarcinii de lucru.    Cum spuneam in introducere ARC constă din trei clase de fişiere de bază pentru lucrul cu date Semantic Web: Un RDF / XML Parser, N-Triples Serializer, şi o clasa Model Simplu  care prevede metodele comune de lucru cu descrieri de resurse.  Aici putem detalia pentru fiecare situatie in parte:     RDF / XML Parser poate fi folosit pentru a analiza un şir de caractere, pentru a încărca şi analiza datelor de la maşina locală, sau pentru a încărca şi analiza datelor de pe Web. Built-in Web Reader nu urmeaza redirecţionările HTTP încă, dar acceptă difetii parametri pentru a lucra de exemplu, cu proxy-uri, trimite antetele HTTP custom, sau limiteaza numărul de linii de analizat. În plus, clasa pot fi configurata pentru a prelua content-negociated RDF/XML (prin intermediul unui header HTTP Accept).     Parser-ul nu verifică codul de analizat pentru validarea RDF, numai erorile XML şi unele erori de sintaxa RDF / XML sunt detectate. Rezultat al procesului de analiză este fie un mesaj de eroare sau o serie de triplete.   Clasa serializer generează un string N-Triples de la un array de triple. Structura de matrice a triplei date trebuie să fie conforme cu următoarele structura a matricei de tripla ARC:  Fiecare intrare este un tablou asociativ cu chei s, p, si o:  - S (o matrice de nod subiect)  - p (un şir de predicat URI)  - o (o matrice nod obiect) O matrice nod subiect poate avea următoarele chei:  - type (“uri” sau “bnode”)  - uri (dacă este de tip “uri”)  - bnode_id (dacă este de tip “bnode”)  Un array de noduri obiect poate conţine chei suplimentare perechi-valoare:  - type ( 
uri”, sau “bnode”, sau “literală”)  - uri (dacă este de tip “uri”)  - bnode_id (dacă este de tip “bnode”)  - Val (dacă este de tip “literal”)  - DT (datatype URI dacă este disponibil şi este de tip “literal”)  - Lang (codul de limbaj dacă este disponibil şi este de tip “literal”)      În Rap, graficele RDF sunt reprezentate ca instanţe ale clasei Model. Elemente într-un model sunt Statements; fiecare statement cuprinde trei Noduri: subiectul, predicatul şi obiectul. Un nod reprezintă o resursă(Resource) identificata de un URI, un BlankNode (de asemenea cunoscut ca nodul bNode sau anonim), sau un Literal.      RAP oferă trei interfeţe de programare pentru manipularea graficelor RDF: statement-centric Model API care permite manipularea unui graf RDF ca un set de declaraţii, resource-centric ResModel API pentru manipularea unui graf RDF ca un set de resurse având proprietăţi, precum şi ontology-centric OntModel API care oferă funcţionalităţi suplimentare pentru manipularea ontologiilor.    RAP suporta compararea şi combinaţia de grafice multiple. Fiecare din API-urile de mai sus pot verifica dacă sunt sau nu două grafice egale, sau au declaraţii comune. Mai mult decât atât, unind două grafice, scăzând un grafic din altul, precum şi crearea unei intersecţii dintre două grafice sunt de asemenea suportate. Nu există nici o restricţie în ceea ce priveşte mecanismul de stocare a graficelor, ceea ce înseamnă că se poate compara, de exemplu, şi de asemenea combina un in-memory grafic cu un grafic persistent.      Model API expune un grafic RDF ca un set de declaraţii RDF. Acest API este foarte asemănător cu structura de depozitare a declaraţiilor  şi conduce la un overhead scazut în accesarea graficului. Metodele de bază pentru modificarea graficelor RDF suporta adăugarea, ştergerea, şi înlocuirea declaratiilor unice în interiorul unui grafic. StatementIterators permite accesul secvenţial la toate declaratiile din grafic. Partea cea mai semnificativă din aceast API sunt metodele find() şi findAsIterator() care ofera un mod rapid şi uşor de interogare a declaraţiilor RDF.   Un alt exemplu de interogare simplu este metoda findRegex(), în care S / P / O din modelul triple sunt indicate folosind expresii regulate Perl-style. Input/Output     RAP ofera primitive de bază pentru citirea si scrierea graficelor RDF într-o gamă de limbi Semantic Web. Limbile suportate sunt RDF / XML , N3 (de asemenea cunoscut ca Notation3), şi N-Triple. În plus, parserul GRDDL al RAP-lui permite extragerea de date din documentele XHTML. GRDDL vine de la 
Gleaning Resource Description from Dialects of Languages; si utilizeaza XSLT pentru a extrage date RDF din XHTML.    RDF / XML- Serializer permite programatorilor de a alege între diferite moduri de output. Utilizatorii pot decide, de exemplu, dacă tripletele ar trebui să fie grupate în funcţie de subiect, entităţi folosite pentru URI-uri, nume calificate utilizate pentru elemente RDF rezervate.   RAP oferă de asemenea o metodă convenabilă pentru afişarea un model RDF într-o fereastra a browser-ului, în forma unui tabel HTML care conţine un set de triplete. Depozitare     Elementul central al RAP sunt două implementări de depozitare a statement-urilor, care tin graficele RDF fie în memorie sau într-un “magazin
 persistent.  Lucrul cu modele în memorie, cu toate acestea, are un singur dezavantaj major: după terminarea executării unui script PHP, toate modelele create şi manipulate se pierd, cu excepţia cazului în care sunt  salvate într-un fişier. Dar chiar dacă serializat intr-un fisier, documentul care conţine date RDF ar trebui să fie analizat în orice moment in care un script PHP. Ambele procese consuma destul de mult timp, mai ales în timp ce lucraţi cu modele în-memorie de mari dimensiuni. Pentru a rezolva această problemă, RDF API pentru PHP susţine depozitarea persistente de modele RDF într-o bază de date relationala. Stocarea modelelor într-o bază de date nu numai că economiseşte memorie principală, dar în plus permite accesul rapid la date RDF prin utilizarea indexarii interne şi a capacităţilor de interogare optimizate a bazei de date. Depozitare In-memory        Acest tip de depozitare tine un grafic RDF ca o colecţie de declaraţii într-o matrice în memoria de sistem. Pentru a îmbunătăţi performanţa interogării RAP creeaza  trei indici de cautare asupra  subiectului, predicatului, şi obiectului declaratiei. Cu toate acestea, programatorii pot personaliza, de asemenea, indicii de folosit, în concordanta cu querie-le lor.Imediat ce noi statements sunt adăugate sau  eliminate din deposit, indicele de statement-ului este instantaneu actualizat în scopul de a accelera interogările viitoare. Depozitare Persistenta         Nucleul bazei de date RAP este construit de două clase: DbStore şi DbModel. Former-ul este folosit pentru a stabili o conexiune la baza, precum şi pentru a crea, stoca, lista, şi prelua modele RDF, întrucât acestea din urmă oferă metode pentru manipularea fiecarui model. Pentru a asigura o portabilitate largă RAP utilizeaza ADOdb Database Abstraction Library for PHP, care suportă o mare varietate de baze de date diferite (inclusiv MySQL, Oracle, DB2, MS SQL Server, MS Access, ODBC) si permite conectarea la bazele de date multiple în acelaşi timp. Performanta                                            RAP                       SimpleRdfParser            ARC Processing (total)                2.921 s                       1.984 s                               0.834 s Triples/s (total)                   ~116                             ~170                                    ~405 Triples/s (excl. compiling) ~149                            ~265                                     ~431  Concluzii: ARC este o alternativă la  RAP-API atunci cand se cere numai o funcţionalitate limitată, cum ar fi parsarea sau afişarea. Fiind open source şi scrise în întregime în PHP, clasele RDF pot fi asociate cu framework-uri PHP şi utilizate în comun de mediile web care ofera hosting. Ideea de baza a ARC este de a oferi clase RDF simple, spre deosebire de RAP. Cu toate acestea, mai multe opţiuni au fost deja adăugate la ARC, care ar putea sa nu fie necesare in anumite cazuri. Este planificat a se construi un serviciu de parsare simplu, care va permite dezvoltatorilor sa adapteze script-uri ARC la nevoile lor.. Împreună cu alte opţiuni de configurare dimensiunea parser-ului ar putea fi redus la 20KB sau mai puţin. Cu toate acestea, momentan RAP reprezinta varianta mai matura in implementare, care ofera functionalitati multiple, cu toate ca si ARC detine o comunitate activa care este in continua crestere, ceea ce va duce implicit la dezvoltarea acestui Api.  Bibliografie         ADOdb Database Abstraction Library for PHP http://adodb.sourceforge.net ARC - appmosphere RDF classes. http://www.appmosphere.com/pages/en-arc  D. Beckett: RDF/XML Syntax Specification (Revised). W3C Recommendation. 10 February 2004. http://www.w3.org/TR/rdf-syntax-grammar G. Klyne, J. Carroll: Resource Description Framework (RDF): Concepts and Abstract Syntax, W3C Recommendation. 10 February 2004. http://www.w3.org/TR/rdf-concepts PHP XML Classes. http://phpxmlclasses.sourceforge.net  This work is in the Public Domain. To view a copy of the public domain certification, visit http://creativecommons.org/licenses/publicdomain/ or send a letter to Creative Commons, 171 Second Street, Suite 300, San Francisco, California, 94105, USA.
ARC vs RAP
ARC vs RAP
ARC vs RAP
ARC vs RAP
ARC vs RAP

More Related Content

Viewers also liked

클라우드 컴퓨팅에 따른 데이터센터의 변화
클라우드 컴퓨팅에 따른 데이터센터의 변화클라우드 컴퓨팅에 따른 데이터센터의 변화
클라우드 컴퓨팅에 따른 데이터센터의 변화
Fanny Lee
 
Cloud Computing Service & Market Trends in Korea
Cloud Computing Service & Market Trends in KoreaCloud Computing Service & Market Trends in Korea
Cloud Computing Service & Market Trends in Korea
Fanny Lee
 
CLOUD WIKI : 여러분이 궁금해 하는 클라우드의 모든 것!
CLOUD WIKI : 여러분이 궁금해 하는 클라우드의 모든 것!CLOUD WIKI : 여러분이 궁금해 하는 클라우드의 모든 것!
CLOUD WIKI : 여러분이 궁금해 하는 클라우드의 모든 것!
Fanny Lee
 
Sap pp shop floor control configuration
Sap pp   shop floor control configurationSap pp   shop floor control configuration
Sap pp shop floor control configurationVikranth Ikkalaki
 
N스크린 서비스에서의 클라우드컴퓨팅 서비스 현황 및 전략
N스크린 서비스에서의 클라우드컴퓨팅 서비스 현황 및 전략N스크린 서비스에서의 클라우드컴퓨팅 서비스 현황 및 전략
N스크린 서비스에서의 클라우드컴퓨팅 서비스 현황 및 전략
Fanny Lee
 
데이터센터의 그린화 그리고 클라우드 컴퓨팅
데이터센터의 그린화 그리고 클라우드 컴퓨팅데이터센터의 그린화 그리고 클라우드 컴퓨팅
데이터센터의 그린화 그리고 클라우드 컴퓨팅Fanny Lee
 
데이터센터 현황과 이슈
데이터센터 현황과 이슈데이터센터 현황과 이슈
데이터센터 현황과 이슈Fanny Lee
 

Viewers also liked (7)

클라우드 컴퓨팅에 따른 데이터센터의 변화
클라우드 컴퓨팅에 따른 데이터센터의 변화클라우드 컴퓨팅에 따른 데이터센터의 변화
클라우드 컴퓨팅에 따른 데이터센터의 변화
 
Cloud Computing Service & Market Trends in Korea
Cloud Computing Service & Market Trends in KoreaCloud Computing Service & Market Trends in Korea
Cloud Computing Service & Market Trends in Korea
 
CLOUD WIKI : 여러분이 궁금해 하는 클라우드의 모든 것!
CLOUD WIKI : 여러분이 궁금해 하는 클라우드의 모든 것!CLOUD WIKI : 여러분이 궁금해 하는 클라우드의 모든 것!
CLOUD WIKI : 여러분이 궁금해 하는 클라우드의 모든 것!
 
Sap pp shop floor control configuration
Sap pp   shop floor control configurationSap pp   shop floor control configuration
Sap pp shop floor control configuration
 
N스크린 서비스에서의 클라우드컴퓨팅 서비스 현황 및 전략
N스크린 서비스에서의 클라우드컴퓨팅 서비스 현황 및 전략N스크린 서비스에서의 클라우드컴퓨팅 서비스 현황 및 전략
N스크린 서비스에서의 클라우드컴퓨팅 서비스 현황 및 전략
 
데이터센터의 그린화 그리고 클라우드 컴퓨팅
데이터센터의 그린화 그리고 클라우드 컴퓨팅데이터센터의 그린화 그리고 클라우드 컴퓨팅
데이터센터의 그린화 그리고 클라우드 컴퓨팅
 
데이터센터 현황과 이슈
데이터센터 현황과 이슈데이터센터 현황과 이슈
데이터센터 현황과 이슈
 

Similar to ARC vs RAP

Procesarea RDF pentru platforma Java
Procesarea RDF pentru platforma JavaProcesarea RDF pentru platforma Java
Procesarea RDF pentru platforma JavaRalucaGheorghita
 
Procesare Rdf Sub .Net Framework
Procesare Rdf Sub .Net FrameworkProcesare Rdf Sub .Net Framework
Procesare Rdf Sub .Net Framework
dodoshelu
 
Fii linked data
Fii linked dataFii linked data
Fii linked datateodora001
 
Fii linked data
Fii linked dataFii linked data
Fii linked datateodora001
 
WADe 2017-2018 (6/12) RDF Data Management. Accessing RDF Data via SPARQL
WADe 2017-2018 (6/12) RDF Data Management. Accessing RDF Data via SPARQLWADe 2017-2018 (6/12) RDF Data Management. Accessing RDF Data via SPARQL
WADe 2017-2018 (6/12) RDF Data Management. Accessing RDF Data via SPARQL
Sabin Buraga
 
Proiect Programare WEB
Proiect Programare WEBProiect Programare WEB
Proiect Programare WEBPascu Catalin
 
WADe 2014—2015 (06/12): Semantic Web—Managementul datelor RDF. Interogarea da...
WADe 2014—2015 (06/12): Semantic Web—Managementul datelor RDF. Interogarea da...WADe 2014—2015 (06/12): Semantic Web—Managementul datelor RDF. Interogarea da...
WADe 2014—2015 (06/12): Semantic Web—Managementul datelor RDF. Interogarea da...
Sabin Buraga
 
Proiect Programare WEB
Proiect Programare WEBProiect Programare WEB
Proiect Programare WEBPascu Catalin
 
Dezvoltarea Aplicatiilor Web
Dezvoltarea Aplicatiilor WebDezvoltarea Aplicatiilor Web
Dezvoltarea Aplicatiilor Web
danielnastase
 
PW
PWPW
Proiect Programare Web
Proiect Programare WebProiect Programare Web
Proiect Programare Web
Ramona17Popa
 
Biblioteci JavaScript pentru Ajax.pptx
Biblioteci JavaScript pentru Ajax.pptxBiblioteci JavaScript pentru Ajax.pptx
Biblioteci JavaScript pentru Ajax.pptx
Costea112
 
WADe 2017-2018 (5/12) Data Modeling in RDF (Resource Description Framework)
WADe 2017-2018 (5/12) Data Modeling in RDF (Resource Description Framework)WADe 2017-2018 (5/12) Data Modeling in RDF (Resource Description Framework)
WADe 2017-2018 (5/12) Data Modeling in RDF (Resource Description Framework)
Sabin Buraga
 
Programarea aplicațiilor distribuite
Programarea aplicațiilor distribuiteProgramarea aplicațiilor distribuite
Programarea aplicațiilor distribuite
Dumitru Maros
 

Similar to ARC vs RAP (20)

Procesarea RDF pentru platforma Java
Procesarea RDF pentru platforma JavaProcesarea RDF pentru platforma Java
Procesarea RDF pentru platforma Java
 
Procesare Rdf Sub .Net Framework
Procesare Rdf Sub .Net FrameworkProcesare Rdf Sub .Net Framework
Procesare Rdf Sub .Net Framework
 
Fii linked data
Fii linked dataFii linked data
Fii linked data
 
Fii linked data
Fii linked dataFii linked data
Fii linked data
 
Fii linked data
Fii linked dataFii linked data
Fii linked data
 
Fii linked data
Fii linked dataFii linked data
Fii linked data
 
Fii linked data
Fii linked dataFii linked data
Fii linked data
 
WADe 2017-2018 (6/12) RDF Data Management. Accessing RDF Data via SPARQL
WADe 2017-2018 (6/12) RDF Data Management. Accessing RDF Data via SPARQLWADe 2017-2018 (6/12) RDF Data Management. Accessing RDF Data via SPARQL
WADe 2017-2018 (6/12) RDF Data Management. Accessing RDF Data via SPARQL
 
Irina Cureraru
Irina CureraruIrina Cureraru
Irina Cureraru
 
diSparql
diSparqldiSparql
diSparql
 
Proiect Programare WEB
Proiect Programare WEBProiect Programare WEB
Proiect Programare WEB
 
WADe 2014—2015 (06/12): Semantic Web—Managementul datelor RDF. Interogarea da...
WADe 2014—2015 (06/12): Semantic Web—Managementul datelor RDF. Interogarea da...WADe 2014—2015 (06/12): Semantic Web—Managementul datelor RDF. Interogarea da...
WADe 2014—2015 (06/12): Semantic Web—Managementul datelor RDF. Interogarea da...
 
Proiect Programare WEB
Proiect Programare WEBProiect Programare WEB
Proiect Programare WEB
 
Dezvoltarea Aplicatiilor Web
Dezvoltarea Aplicatiilor WebDezvoltarea Aplicatiilor Web
Dezvoltarea Aplicatiilor Web
 
PW
PWPW
PW
 
Proiect Programare Web
Proiect Programare WebProiect Programare Web
Proiect Programare Web
 
Webappdev
WebappdevWebappdev
Webappdev
 
Biblioteci JavaScript pentru Ajax.pptx
Biblioteci JavaScript pentru Ajax.pptxBiblioteci JavaScript pentru Ajax.pptx
Biblioteci JavaScript pentru Ajax.pptx
 
WADe 2017-2018 (5/12) Data Modeling in RDF (Resource Description Framework)
WADe 2017-2018 (5/12) Data Modeling in RDF (Resource Description Framework)WADe 2017-2018 (5/12) Data Modeling in RDF (Resource Description Framework)
WADe 2017-2018 (5/12) Data Modeling in RDF (Resource Description Framework)
 
Programarea aplicațiilor distribuite
Programarea aplicațiilor distribuiteProgramarea aplicațiilor distribuite
Programarea aplicațiilor distribuite
 

ARC vs RAP

  • 1. ARC2(Appmosphere RDF classes) vs RAP( RDF API for PHP) ARC - este o colecţie open-source de script-uri PHP optimizata pentru RDF, dezvoltare găzduită pe servere Web. În prezent, aceasta constă dintr-un parser RDF / XML, un N-Triples Serializer, şi o clasa Model Simplu, care furnizeaza metodele comune de lucru cu descrieri de resurse. Cele trei clase principale sunt de sine stătătoare, cu un singur fişier de script-uri, facilitând astfel gruparea cu aplicaţii PHP existente. Prin parţial, utilizând arrays in loc de obiecte, ARC oferă îmbunătăţiri de viteză faţă de toolkit-uri care urmează abordări complet bazat pe obiecte PHP. RAP - RDF API pentru PHP este un set de instrumente Semantic Web pentru dezvoltatorii de PHP. Acesta ofera functii pentru parsarea, manipularea, depozitarea, interogari, servire, precum şi serializari grafice RDF. RAP a fost început ca un proiect open source de către Freie Universität Berlin, în 2002 şi a fost prelungită cu codul de contribuţii din partea comunităţii de Semantic Web. Ultima versiune(v0.9.1) include printre altele: o declaraţie API pentru manipularea graficelor RDF ca un set de situaţii, o resursă API-centrice pentru manipularea grafice RDF ca un set de resurse cu proprietăţi, un up-to-date RDF / XML Parser şi serializer, sprijinul pentru alte tehnici de serializare (de exemplu, N-Triple , Notation3, RDF încorporat în XHTML, suport pentru limbaj de interogare RDQL. RAP este desfăşurat ca un API integrat, astfel că modificările de versiune necesită, de obicei să înlocuiască complet o instalare prealabilă. ARC1 foloseste clase mai usoare, de sine statatoare, în scopul de a permite utilizarea independenta şi pentru a facilita modernizarea sarcinii de lucru. Cum spuneam in introducere ARC constă din trei clase de fişiere de bază pentru lucrul cu date Semantic Web: Un RDF / XML Parser, N-Triples Serializer, şi o clasa Model Simplu care prevede metodele comune de lucru cu descrieri de resurse. Aici putem detalia pentru fiecare situatie in parte: RDF / XML Parser poate fi folosit pentru a analiza un şir de caractere, pentru a încărca şi analiza datelor de la maşina locală, sau pentru a încărca şi analiza datelor de pe Web. Built-in Web Reader nu urmeaza redirecţionările HTTP încă, dar acceptă difetii parametri pentru a lucra de exemplu, cu proxy-uri, trimite antetele HTTP custom, sau limiteaza numărul de linii de analizat. În plus, clasa pot fi configurata pentru a prelua content-negociated RDF/XML (prin intermediul unui header HTTP Accept). Parser-ul nu verifică codul de analizat pentru validarea RDF, numai erorile XML şi unele erori de sintaxa RDF / XML sunt detectate. Rezultat al procesului de analiză este fie un mesaj de eroare sau o serie de triplete. Clasa serializer generează un string N-Triples de la un array de triple. Structura de matrice a triplei date trebuie să fie conforme cu următoarele structura a matricei de tripla ARC: Fiecare intrare este un tablou asociativ cu chei s, p, si o: - S (o matrice de nod subiect) - p (un şir de predicat URI) - o (o matrice nod obiect) O matrice nod subiect poate avea următoarele chei: - type (“uri” sau “bnode”) - uri (dacă este de tip “uri”) - bnode_id (dacă este de tip “bnode”) Un array de noduri obiect poate conţine chei suplimentare perechi-valoare: - type ( uri”, sau “bnode”, sau “literală”) - uri (dacă este de tip “uri”) - bnode_id (dacă este de tip “bnode”) - Val (dacă este de tip “literal”) - DT (datatype URI dacă este disponibil şi este de tip “literal”) - Lang (codul de limbaj dacă este disponibil şi este de tip “literal”) În Rap, graficele RDF sunt reprezentate ca instanţe ale clasei Model. Elemente într-un model sunt Statements; fiecare statement cuprinde trei Noduri: subiectul, predicatul şi obiectul. Un nod reprezintă o resursă(Resource) identificata de un URI, un BlankNode (de asemenea cunoscut ca nodul bNode sau anonim), sau un Literal. RAP oferă trei interfeţe de programare pentru manipularea graficelor RDF: statement-centric Model API care permite manipularea unui graf RDF ca un set de declaraţii, resource-centric ResModel API pentru manipularea unui graf RDF ca un set de resurse având proprietăţi, precum şi ontology-centric OntModel API care oferă funcţionalităţi suplimentare pentru manipularea ontologiilor. RAP suporta compararea şi combinaţia de grafice multiple. Fiecare din API-urile de mai sus pot verifica dacă sunt sau nu două grafice egale, sau au declaraţii comune. Mai mult decât atât, unind două grafice, scăzând un grafic din altul, precum şi crearea unei intersecţii dintre două grafice sunt de asemenea suportate. Nu există nici o restricţie în ceea ce priveşte mecanismul de stocare a graficelor, ceea ce înseamnă că se poate compara, de exemplu, şi de asemenea combina un in-memory grafic cu un grafic persistent. Model API expune un grafic RDF ca un set de declaraţii RDF. Acest API este foarte asemănător cu structura de depozitare a declaraţiilor şi conduce la un overhead scazut în accesarea graficului. Metodele de bază pentru modificarea graficelor RDF suporta adăugarea, ştergerea, şi înlocuirea declaratiilor unice în interiorul unui grafic. StatementIterators permite accesul secvenţial la toate declaratiile din grafic. Partea cea mai semnificativă din aceast API sunt metodele find() şi findAsIterator() care ofera un mod rapid şi uşor de interogare a declaraţiilor RDF. Un alt exemplu de interogare simplu este metoda findRegex(), în care S / P / O din modelul triple sunt indicate folosind expresii regulate Perl-style. Input/Output RAP ofera primitive de bază pentru citirea si scrierea graficelor RDF într-o gamă de limbi Semantic Web. Limbile suportate sunt RDF / XML , N3 (de asemenea cunoscut ca Notation3), şi N-Triple. În plus, parserul GRDDL al RAP-lui permite extragerea de date din documentele XHTML. GRDDL vine de la Gleaning Resource Description from Dialects of Languages; si utilizeaza XSLT pentru a extrage date RDF din XHTML. RDF / XML- Serializer permite programatorilor de a alege între diferite moduri de output. Utilizatorii pot decide, de exemplu, dacă tripletele ar trebui să fie grupate în funcţie de subiect, entităţi folosite pentru URI-uri, nume calificate utilizate pentru elemente RDF rezervate. RAP oferă de asemenea o metodă convenabilă pentru afişarea un model RDF într-o fereastra a browser-ului, în forma unui tabel HTML care conţine un set de triplete. Depozitare Elementul central al RAP sunt două implementări de depozitare a statement-urilor, care tin graficele RDF fie în memorie sau într-un “magazin persistent. Lucrul cu modele în memorie, cu toate acestea, are un singur dezavantaj major: după terminarea executării unui script PHP, toate modelele create şi manipulate se pierd, cu excepţia cazului în care sunt salvate într-un fişier. Dar chiar dacă serializat intr-un fisier, documentul care conţine date RDF ar trebui să fie analizat în orice moment in care un script PHP. Ambele procese consuma destul de mult timp, mai ales în timp ce lucraţi cu modele în-memorie de mari dimensiuni. Pentru a rezolva această problemă, RDF API pentru PHP susţine depozitarea persistente de modele RDF într-o bază de date relationala. Stocarea modelelor într-o bază de date nu numai că economiseşte memorie principală, dar în plus permite accesul rapid la date RDF prin utilizarea indexarii interne şi a capacităţilor de interogare optimizate a bazei de date. Depozitare In-memory Acest tip de depozitare tine un grafic RDF ca o colecţie de declaraţii într-o matrice în memoria de sistem. Pentru a îmbunătăţi performanţa interogării RAP creeaza trei indici de cautare asupra subiectului, predicatului, şi obiectului declaratiei. Cu toate acestea, programatorii pot personaliza, de asemenea, indicii de folosit, în concordanta cu querie-le lor.Imediat ce noi statements sunt adăugate sau eliminate din deposit, indicele de statement-ului este instantaneu actualizat în scopul de a accelera interogările viitoare. Depozitare Persistenta Nucleul bazei de date RAP este construit de două clase: DbStore şi DbModel. Former-ul este folosit pentru a stabili o conexiune la baza, precum şi pentru a crea, stoca, lista, şi prelua modele RDF, întrucât acestea din urmă oferă metode pentru manipularea fiecarui model. Pentru a asigura o portabilitate largă RAP utilizeaza ADOdb Database Abstraction Library for PHP, care suportă o mare varietate de baze de date diferite (inclusiv MySQL, Oracle, DB2, MS SQL Server, MS Access, ODBC) si permite conectarea la bazele de date multiple în acelaşi timp. Performanta RAP SimpleRdfParser ARC Processing (total) 2.921 s 1.984 s 0.834 s Triples/s (total) ~116 ~170 ~405 Triples/s (excl. compiling) ~149 ~265 ~431 Concluzii: ARC este o alternativă la RAP-API atunci cand se cere numai o funcţionalitate limitată, cum ar fi parsarea sau afişarea. Fiind open source şi scrise în întregime în PHP, clasele RDF pot fi asociate cu framework-uri PHP şi utilizate în comun de mediile web care ofera hosting. Ideea de baza a ARC este de a oferi clase RDF simple, spre deosebire de RAP. Cu toate acestea, mai multe opţiuni au fost deja adăugate la ARC, care ar putea sa nu fie necesare in anumite cazuri. Este planificat a se construi un serviciu de parsare simplu, care va permite dezvoltatorilor sa adapteze script-uri ARC la nevoile lor.. Împreună cu alte opţiuni de configurare dimensiunea parser-ului ar putea fi redus la 20KB sau mai puţin. Cu toate acestea, momentan RAP reprezinta varianta mai matura in implementare, care ofera functionalitati multiple, cu toate ca si ARC detine o comunitate activa care este in continua crestere, ceea ce va duce implicit la dezvoltarea acestui Api. Bibliografie ADOdb Database Abstraction Library for PHP http://adodb.sourceforge.net ARC - appmosphere RDF classes. http://www.appmosphere.com/pages/en-arc D. Beckett: RDF/XML Syntax Specification (Revised). W3C Recommendation. 10 February 2004. http://www.w3.org/TR/rdf-syntax-grammar G. Klyne, J. Carroll: Resource Description Framework (RDF): Concepts and Abstract Syntax, W3C Recommendation. 10 February 2004. http://www.w3.org/TR/rdf-concepts PHP XML Classes. http://phpxmlclasses.sourceforge.net This work is in the Public Domain. To view a copy of the public domain certification, visit http://creativecommons.org/licenses/publicdomain/ or send a letter to Creative Commons, 171 Second Street, Suite 300, San Francisco, California, 94105, USA.