OSLC4Net.Client
0.6.0-preview.1
dotnet add package OSLC4Net.Client --version 0.6.0-preview.1
NuGet\Install-Package OSLC4Net.Client -Version 0.6.0-preview.1
<PackageReference Include="OSLC4Net.Client" Version="0.6.0-preview.1" />
<PackageVersion Include="OSLC4Net.Client" Version="0.6.0-preview.1" />
<PackageReference Include="OSLC4Net.Client" />
paket add OSLC4Net.Client --version 0.6.0-preview.1
#r "nuget: OSLC4Net.Client, 0.6.0-preview.1"
#addin nuget:?package=OSLC4Net.Client&version=0.6.0-preview.1&prerelease
#tool nuget:?package=OSLC4Net.Client&version=0.6.0-preview.1&prerelease
OSLC4Net<img src="doc/logo.svg" align="right" width="96px" height="96px">
OSLC4Net, an OSLC SDK for dotnet
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 (ASP.NET Core 8+ migration is
ongoing).
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/2.1 and should run on .NET 6+.
A simple OSLC Client
Create a new console application targeting .NET 8+, add a NuGet dependency to
OSLC4Net.Client
and add the following code:
var oslcClient = OslcClient.ForBasicAuth(username, password, loggerFactory.CreateLogger<OslcClient>());
var resourceUri =
"https://jazz.net/sandbox01-ccm/resource/itemName/com.ibm.team.workitem.WorkItem/1300";
OslcResponse<ChangeRequest> response = await oslcClient.GetResourceAsync<ChangeRequest>(resourceUri);
if (response.Resources?.SingleOrDefault() is not null)
{
var changeRequestResource = response.Resources.Single();
logger.LogInformation(
"{shortTitle} {title}", changeRequestResource.GetShortTitle(),
changeRequestResource.GetTitle());
}
else
{
var responseStatusCode = response.StatusCode is null ? -1 : (int)response.StatusCode;
logger.LogError("Something went wrong: {} {}", responseStatusCode,
response.ResponseMessage?.ReasonPhrase);
}
Replace resourceUri
with a valid OSLC resource URI. This should give you a
valid response. See full example
project for more details.
Use https://github.com/oslc-op/refimpl to quickly run a few conformant OSLC servers.
OSLC Server support
Server parts of the SDK have not yet been migrated from .NET Framework to .NET 8+.
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)
- CommunityToolkit.Diagnostics (>= 8.4.0)
- dotNetRdf.Core (>= 3.3.2)
- dotNetRdf.Inferencing (>= 3.3.2)
- log4net (>= 2.0.17)
- Meziantou.Analyzer (>= 2.0.201)
- Microsoft.AspNet.WebApi.Client (>= 6.0.0)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 9.0.4)
- Microsoft.Extensions.Logging.Abstractions (>= 9.0.4)
- Newtonsoft.Json (>= 13.0.3)
- OSLC4Net.Core (>= 0.6.0-preview.1)
- OSLC4Net.Core.DotNetRdfProvider (>= 0.6.0-preview.1)
- OSLC4Net.Core.Query (>= 0.6.0-preview.1)
- 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 | 30 | 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 | 58 | 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 |