Hello, Missed something regarding the design...
in the RDFModel interface, i think there should be another query method having just the query string, without queryLang. As people mostly use just SPARQL, it makes life easier. For inferencing, i think that EnableInference should be member of RepositoryConnection, instead of adding it for each query. It is ideally set per connection and can always be disabled by the setting the member temporarily Though the RepositoryConnection can be closed in the destructor, i think having an explicit Close/ Dispose method makes sense. As inference is planned to be integrated deep, i think Soprano::Statement should be changed to incorporate 2 things 1. inferred flag - whether the statement has been inferred or is new 2. referenceStatements - for inferred statements , this list contains all the parent statement from which the inference was reached. For others , this is null And, regarding the "dirty reads" proposed by Leo, I am not sure whether i understand their significance. I suppose transactions cover "what if" scenarios sufficiently Let me try to understand the nice guis showing the results "as if commited" that Leo was suggesting... Consider an app which shows a list of customers who have balance less than zero and an inference which shows defaulted customers (with balance < 0).... you can just start a transaction, change some balances and see how the inference changes on the fly. if you are satisfied, you then commit, else just close the app and it automatically rolls back. Am I missing something ? Cheers, Hari _______________________________________________ Nepomuk mailing list [email protected] https://mail.kde.org/mailman/listinfo/nepomuk
