Changes between Version 7 and Version 8 of ApertureRDF


Ignore:
Timestamp:
10/26/05 12:01:54 (19 years ago)
Author:
anonymous
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • ApertureRDF

    v7 v8  
    2222The concrete manifestation of these ideas can now be found in '''wiki:ApertureRDFMap'''. 
    2323 
    24 Unfortunately, Graph will soon be removed/is removed from the Rio library, meaning that we become dependent on the entire Sesame library. 
     24== Sesame 2 == 
    2525 
     26Some notes on the development of Sesame 2 and how it applies to Aperture. The Sesame guys are rounding up their last efforts for releasing an alpha version. This means the code is still under development, although core interfaces are stabilizing. 
     27 
     28One change is that the model and model.impl packages are removed from Rio. Furthermore, Graph and GraphImpl have been removed from these packages, as well as all methods that change something in the RDF structure (e.g. Resource.addProperty). 
     29 
     30Arjohn explained this decision to me as follows. Have a look at the architecture graphic on http://www.openrdf.org/doc/sesame2/system/ch02.html. The RDF Model at the bottom is the foundation for the rest of the system to manipulate RDF information. It is very awkward and may potentially result in problems when you are able to manipulate the RDF at the model level, as it bypasses the Sail stack and any inferencing, security restrictions, etc. that takes place in it. Therefore these interfaces from now on provide read-only information only. This way it is for example not possible to add properties to Resources obtained from a query result, which may result in indefined behaviour. 
     31 
     32If you want to manipulate statements, the Repository class is the way to go. It contains methods for adding triples as well as functionality for posing queries, extracting RDF, etc. Only drawback is that this resulted in quite a large class. Also, just creating a repository is not enough, it always operates on top of a Sail. This architecture provides great flexibility at the cost of more code complexity. 
     33 
     34Example: you want to create an in-memory RDF "container" that you can pass to an Extractor: 
     35 
     36Repository repository = new Repository(new MemoryStore()); 
     37repository.initialize(); 
     38extractor.doYourWork(repository); 
     39