OSLC4Net.Core.Query
0.6.0
dotnet add package OSLC4Net.Core.Query --version 0.6.0
NuGet\Install-Package OSLC4Net.Core.Query -Version 0.6.0
<PackageReference Include="OSLC4Net.Core.Query" Version="0.6.0" />
<PackageVersion Include="OSLC4Net.Core.Query" Version="0.6.0" />
<PackageReference Include="OSLC4Net.Core.Query" />
paket add OSLC4Net.Core.Query --version 0.6.0
#r "nuget: OSLC4Net.Core.Query, 0.6.0"
#addin nuget:?package=OSLC4Net.Core.Query&version=0.6.0
#tool nuget:?package=OSLC4Net.Core.Query&version=0.6.0
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.
Contributing
We welcome contributions! Please see our CONTRIBUTING.md file for details on how to contribute.
OSLC4Net License
OSLC4Net is licensed under the Eclipse Public License 1.0
Credits
- Steve Pitschke (IBM) did the majority of the initial implementation in 2012-2013.
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 | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
.NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
.NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
MonoAndroid | monoandroid was computed. |
MonoMac | monomac was computed. |
MonoTouch | monotouch was computed. |
Tizen | tizen40 was computed. 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.0
- Antlr3.Runtime (>= 3.5.1)
- CommunityToolkit.Diagnostics (>= 8.4.0)
- Meziantou.Analyzer (>= 2.0.202)
- OSLC4Net.Core (>= 0.6.0)
NuGet packages (1)
Showing the top 1 NuGet packages that depend on OSLC4Net.Core.Query:
Package | Downloads |
---|---|
OSLC4Net.Client
Package Description |
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last Updated |
---|---|---|
0.6.0 | 0 | 7/6/2025 |
0.6.0-preview.1 | 75 | 5/24/2025 |
0.5.0 | 227 | 4/13/2025 |
0.5.0-preview.1 | 146 | 4/13/2025 |
0.4.7-preview.4 | 67 | 12/7/2024 |
0.4.7-preview.3 | 64 | 12/6/2024 |
0.4.7-preview.2 | 61 | 12/6/2024 |
0.4.7-preview.1 | 63 | 12/6/2024 |
0.4.6 | 155 | 11/15/2024 |
0.4.5 | 156 | 10/19/2024 |
0.4.5-preview.3 | 72 | 10/19/2024 |
0.4.3 | 162 | 10/19/2024 |
0.4.2 | 150 | 10/9/2024 |
0.3.0-alpha | 162 | 4/29/2023 |