mdesalvo / RDFSharp

Lightweight and friendly .NET library for realizing Semantic Web applications
Apache License 2.0
118 stars 26 forks source link

Provide async counterparts for RDFGraph and RDFStore #291

Closed iskandersierra closed 1 year ago

iskandersierra commented 1 year ago

Is your feature request related to a problem? Please describe. I'm loving the library in a context of a PoC, but I'm missing async operations for most of the store functionality, so I cannot use it in the context of a highly available web API, because the blocking operations would block Task Pool threads.

Is there any interest/effort put into having async operations for all store operations (other parts of the library too)?

Describe the solution you'd like I would like to have access to async operations, like MergeGraphAsync, because currently, even if the implementation deals with network IO like SQL*, Azure Tables, the operation blocks current thread.

Also, a secondary API surface could be developed, like RDFAsyncStore, instead of merging both types together. That option is always better to me because you can force your developers to always use all async if you do not give access to sync operations.

Describe alternatives you've considered Considering other libraries, but this is simple enough and capable enough for our needs

Additional context None so far

mdesalvo commented 1 year ago

Hi, this is a nice feature. As you suggest, the solution will consist in the introduction of RDFAsyncGraph and RDFAsyncStore providing async functionalities for dealing with applications under UI. Expect this in the next release.

Thanks and regards, Marco