ARC
From ArgeoWiki
| ARC | |
| Web site | http://arc.web-semantics.org/home |
| All third party software | |
PHP library that allow integration of RDF/SPARQL features into a web mainstream project.
Contents |
[edit]
Purpose
- Provides a RDBMS-based storage for RDF-compliant documents
- Note: RDF is more a concept than a technology.
- Automatically transposes XML documents into the RDF model.
- In general use cases, you won't even have to know the w3c standard RDF syntax to make this work (known exception: collections description)
- Allows to run semantic queries against the stored RDF model using the SPARQL syntax.
[edit]
Technical Review
Benefits from RDF:
- In association with xml serialization (following w3c recommandation):
- provides standard transmission of entities' data from db to client with no or minimal transformation.
- does not bind to a specific xml structure (may be a drawback by not scaling with xpath/xsl techs: xpath and xsl are bound to the very structure of the underlying xml document, RDF is not bound by those rules)
Benefits from SPARQL:
- Many similarities with SQL, should be quick to learn.
- Improved simplicity to query the model according to business model. By design, SPARQL queries reflect directly the underlying RDF model.
- => improved maintainability for business requests
- Can query heterogenous resource types with a single request.
Benefits from ARC:
- Lightweight configuration
- Very simple to interact with database:
- feeds directly on RDF-compliant xml documents (easy to write and maintain, self-describing)
- multiple output formats (php arrays, xml, json for direct integration into javascript...)
- Less impact on resources model changes (ie: the db structures would not be affected only business layer wich would change anyway). Typically, upgrades to the model may only be driven by input forms design.
- Good average performances on different query types
ARC's Drawbacks:
- Builds a fully normalized relational physical model that maps RDF Nodes and Arcs.
- => Greater database size: growth factor depends mainly on internal IDs scheme.
- => Quasi impossible to maintain by hand, may require more efforts in administration interfaces.
[edit]
Important features yet to test
- Split store: allows to define several triple tables based on predicates to "increase query and insert speed" (dixit ARC's author). This could also reduce table/indices overload and response time.
[edit]
Performance Review & System Constraints
Still to be filled
Questions:
We would need to know the maximal allowed DB size by OVH to forecast criticity factor on database growth. Accortding to charles, OVH would limit us over 25MB.
[edit]
Usage
The Library is candidate for use as Persistence Layer Engine and Query engine in the following projects:
[edit]
References
[edit]
RDF
[edit]
