OSLC4Net.Client
0.4.5-preview.3
See the version list below for details.
dotnet add package OSLC4Net.Client --version 0.4.5-preview.3
NuGet\Install-Package OSLC4Net.Client -Version 0.4.5-preview.3
<PackageReference Include="OSLC4Net.Client" Version="0.4.5-preview.3" />
<PackageVersion Include="OSLC4Net.Client" Version="0.4.5-preview.3" />
<PackageReference Include="OSLC4Net.Client" />
paket add OSLC4Net.Client --version 0.4.5-preview.3
#r "nuget: OSLC4Net.Client, 0.4.5-preview.3"
#addin nuget:?package=OSLC4Net.Client&version=0.4.5-preview.3&prerelease
#tool nuget:?package=OSLC4Net.Client&version=0.4.5-preview.3&prerelease
OSLC4Net, an OSLC SDK for .NET
What is OSLC4NET?
OSLC4Net is an SDK and sample applications that help the .NET community adopt Open Services for Lifecycle Collaboration (OSLC, homepage) and build OSLC-conformant tools.
The SDK allows developers to create OSLC servers and clients by adding OSLC annotations to .NET objects to represent them as OSLC resources. It includes a library based on the dotNetRDF package, which assists with representing these resources as RDF and helps parse Turle, RDF/XML, and JSON-LD documents into OSLC .NET objects.
The OSLC4Net.Client package can be used to help create consumer REST requests. On the server side, the project offers an RDF-specific MediaTypeFormatter
that can help process OSLC REST requests within an ASP.NET MVC 5 API. Join the discussion on the .NET Core migration.
Getting started
If you do not have a .NET development environment, start by downloading VS Code C# Dev Kit. Make sure to install .NET 8 SDK for development. Libraries target NETStandard 2.0 and should run on .NET Framework 4.8 or .NET 6+ (recommended).
A simple OSLC Client
Create a new console application targeting .NET 6+, add a NuGet dependency to OSLC4Net.Client
(make sure the Include prerelease is checked if you see an empty list) and add the following code:
private const string OSLC_SERVER_URI = "https://oslc.itm.kth.se/ccm";
static void Main(string[] args)
{
try
{
var helper = new JazzRootServicesHelper(OSLC_SERVER_URI, OSLCConstants.OSLC_CM_V2);
var catUri = helper.GetCatalogUrl();
Console.WriteLine($"The OSLC server has an OSLC Service Provider Catalog at the following URI:\n {catUri}");
} catch (RootServicesException e) {
Console.WriteLine($"Failed to fetch the OSLC RootServices document from:\n {OSLC_SERVER_URI}/rootservices");
}
Console.ReadLine();
}
This should give you a valid response.
Running the sample StockQuote provider
Sample StockQuote provider has not yet been migrated to .NET 6+.
Sample StockQuote provider is a toy implementation and does not correspond to any standards-track OSLC specifications.
OSLC4Net.StockQuoteSample
is a sample OSLC provider which implements one resource type, a StockQuote. This resource is not defined by an OSLC specification, it shows how OSLC4Net can be used to create an experimental OSLC provider.
- Build the
OSLC4Net_SDK\OSLC4Net.Core.sln
solution - Right click the
OSLC4Net.StockQuoteSample
project and run it via Debug->Start new instance
You'll see a web page created - that is currently just a skeleton provided by ASP.NET. Try performing a GET request using Postman (make sure to set the Accept
header to application/rdf+xml
:
- http://localhost:7077/api/stockquote - returns all StockQuotes
- http://localhost:7077/api/stockquote?getShape=true - returns the StockQuote OSLC resource shape
- http://localhost:7077/api/stockquote/nasdaq_goog - returns an individual StockQuote
A request to the first URL using Fiddler should have the following response:
More information on OSLC
- See the OSLC site for more details on OSLC specifications and community activities.
- See the Eclipse Lyo site for information on OSLC SDKs and samples for other technologies.
OSLC4Net License
OSLC4Net is licensed under the Eclipse Public License 1.0
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
.NET Core | netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
.NET Standard | netstandard2.1 is compatible. |
MonoAndroid | monoandroid was computed. |
MonoMac | monomac was computed. |
MonoTouch | monotouch was computed. |
Tizen | tizen60 was computed. |
Xamarin.iOS | xamarinios was computed. |
Xamarin.Mac | xamarinmac was computed. |
Xamarin.TVOS | xamarintvos was computed. |
Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.1
- Antlr3.Runtime (>= 3.5.1)
- dotNetRdf.Core (>= 3.3.0)
- log4net (>= 2.0.17)
- Microsoft.AspNet.WebApi.Client (>= 6.0.0)
- Newtonsoft.Json (>= 13.0.3)
- OSLC4Net.Core (>= 0.4.5-preview.3)
- OSLC4Net.Core.DotNetRdfProvider (>= 0.4.5-preview.3)
- OSLC4Net.Core.Query (>= 0.4.5-preview.3)
- System.Net.Http (>= 4.3.4)
- System.Text.RegularExpressions (>= 4.3.1)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last updated |
---|---|---|
0.6.0-preview.1 | 28 | 5/24/2025 |
0.5.0 | 199 | 4/13/2025 |
0.5.0-preview.1 | 139 | 4/13/2025 |
0.4.7-preview.4 | 66 | 12/7/2024 |
0.4.7-preview.3 | 58 | 12/6/2024 |
0.4.7-preview.2 | 66 | 12/6/2024 |
0.4.7-preview.1 | 57 | 12/6/2024 |
0.4.6 | 125 | 11/15/2024 |
0.4.5 | 128 | 10/19/2024 |
0.4.5-preview.3 | 66 | 10/19/2024 |
0.4.3 | 133 | 10/19/2024 |
0.4.2 | 111 | 10/9/2024 |
0.3.0-alpha | 162 | 4/29/2023 |