Skip to content

wikibus/JsonLD.Entities

Repository files navigation

icon

JsonLD.Entities Build status NuGet version codecov.io codefactor

JsonLD.Entities is a small library for serializing and deserializing POCOs in JSON-LD.

What is JSON-LD?

If you are not familiar with JSON-LD you could first go to it's main website.

JSON-LD is the newest RDF serialization format. It means that serialized data has structure and unambiguous meaning. For example if there is a name property, it can be identified becasue the name relation itself can be identified by the use of URI (and usually URLs).

In general JSON-LD has a familiar json structure, which makes it best suited as the entrypoint to the Semantic Web at large. It works by simply extending the typical json document structure. In reality it gets a little bit more complex, because json has a tree structure, but RDF represents graphs. And it is possible to represent a graph as multiple equivalent trees.

To learn more about JSON-LD you should visit its formal specification and the playground, where you can experiment.

Getting JsonLD.Entities

The project's CI build creates nupkgs automatically and they are published on NuGet. To install use the below command in Package Manager Console.

install-package JsonLD.Entities

Prerelease builds are available on AppVeyor's project feed: https://ci.appveyor.com/nuget/jsonld-entities-aavhsnxi7xjp

Building

The project was created in VS 2010 and should build without problems on any VS 2010 and newer. Note that external packages aren't downloaded with NuGet, but rather with a new tool called Paket. For a better developer eperience there is a Visual Studio Extension. Otherwise run this in console from repository root:

> .paket\paket.bootstrapper.exe
> .paket\paket.exe restore

Usage examples

All usage samples are written in the Literate Programming manner and can be conveniently viewed on GitHub in the Documentation project

Graph image from W3C originally desgined by Bill Schwappacher.

Releasing

Use versionize totag the next release.

dotnet tool install --global Versionize
versionize
git push --follow-tags origin master