[Nepomuk] [Soprano-devel] Refactoring for Soprano 3

Sebastian Trüg trueg at kde.org
Tue Oct 13 17:20:40 CEST 2009


I forgot the attachment. :/

On Tuesday 13 October 2009 16:57:58 Sebastian Trüg wrote:
> Hello,
> 
> Soprano 2 IMHO has a nice design. Backend, Model, and FilterModel suited my
> needs very well and were nice to use. But now it slowly reaches its limits.
> 
> With Virtuoso the introduction of transactions become very important. I
>  tried to stack them on top of Model as you can see in the experimental
>  branch[1] but the resulting design is flawed and cannot be any different
>  since we need to stay binary compatible for KDE.
> 
> Thus, it is time for a redesign and also time for you to state your needs
>  and ideas.
> 
> Attached you find a preliminary design in the form of a crude UML diagram.
>  It is based on the sesame2 idea of Respository vs. RespositoryConnection.
> 
> A few words of explanation:
> - Model is split into two classes Repository and RepositoryConnection.
>   Each RespositoryConnection represents its own transaction object, i.e.
>   can perform multiple transactions.
> - A Repository can create an arbitrary number of RespositoryConnection
>   objects.
> - Backend is now RepositoryFactoy (better name welcome). It is used to
>   create StorageRepositories which replace StorageModel and have settings
>   like storage dir and the like.
> - FilterRepository and FilterRepositoryConnection replace the current
>   FilterModel.
>   A FilterRepository would need to create its own connections which carry
>   as a member a parent connection created by the parent Repository.
> 
> This is the basis I would like to start the discussion from.
> Another issue is inference which I would like to integrate deeper into
> Soprano. The straight forward design would be to add a flags parameter to
> method like query() and listStatements() which can for example be
> EnableInference.
> 
> Please discuss.
> 
> Cheers,
> Sebastian
> 
> ---------------------------------------------------------------------------
> --- Come build with us! The BlackBerry(R) Developer Conference in SF, CA is
>  the only developer event you need to attend this year. Jumpstart your
>  developing skills, take BlackBerry mobile applications to market and stay
>  ahead of the curve. Join us from November 9 - 12, 2009. Register now!
>  http://p.sf.net/sfu/devconference
> _______________________________________________
> Soprano-devel mailing list
> Soprano-devel at lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/soprano-devel
> 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: class diagram.png
Type: image/png
Size: 49760 bytes
Desc: not available
Url : http://mail.kde.org/pipermail/nepomuk/attachments/20091013/0aa8bb77/attachment-0001.png 


More information about the Nepomuk mailing list