.NET Client (C#) for TerminusDB

I work in the area of Product Lifecycle Management (PLM) for large engineering companies. The de facto development environment is .NET. I am starting to do a POC using TerminusDB and would prefer to use .NET as the development environment.

Can you let me know if you have any plans for a .NET client (C#) or if not would it be possible to start one and I can take a look at migrating the current python client.

1 Like

Hi Richard,

C#.NET is one of our principle next targets for a client / sdk but it is currently beyond the resources of the core team - a migration of the python / js clients to C# would be great and we will definitely actively help out. Getting the basic API up and running will be fairly straightforward - just simple HTTP - the tricky bit is coming up with programmer-convenient methods of calling WOQL queries - the fluent style .triple(…).sub(…) that we use in the interpreted languages can be tricky to implement in compiled ones, but the overarching goal is to come up with methods that are convenient to the programmer so they don’t need to be the same language to language - whatever suits the idioms of the language.

1 Like

Thanks for the quick confirmation.

I will work with the Python client for now to get fully up to speed with TerminusDB and the start thinking about .NET (C#).

It looks like TerminusDB could solve some fundamental issues that we currently have in the PLM space. Really looking forward to getting stuck in.

1 Like

Great to hear - we’re happy to help as you develop the POC. We’d be really interested to hear how you get on and the problems you see TerminusDB addressing.

1 Like

This is a Hail Mary pass but just might work.

C# and F# as we know are both .NET. F# has Code quotations

code quotations , a language feature that enables you to generate and work with F# code expressions programmatically. This feature lets you generate an abstract syntax tree that represents F# code. The abstract syntax tree can then be traversed and processed according to the needs of your application. For example, you can use the tree to generate F# code or generate code in some other language.

In the land of F# you can hardly due better than a tutorial from Tomas Petricek

F# - Simple quotations transformation

While it has been quite some time since I used F#, if this were my project I would be taking a serious look at this, but remember it is a Hail Mary pass so it might not work at all. :slightly_smiling_face: