Recent submissions

Comment · 4 years ago
Nice graph, have you considered making it a directed graph, and also assigning more explicit semantic meaning to the edges?

So for example, using turtle syntax [1], instead of

<https://engineering.zalando.com/posts/2022/04/functional-tes...> <http://example.com/graph-edge> <https://www.testcontainers.org/>

have

<https://engineering.zalando.com/posts/2022/04/functional-tes...> <http://purl.org/dc/terms/subject> <https://www.testcontainers.org/>

The semantics of http://purl.org/dc/terms/subject is given at the url itself, but in brief:

> A topic of the resource.

> Recommended practice is to refer to the subject with a URI. If this is not possible or feasible, a literal value that identifies the subject may be provided. Both should preferably refer to a subject in a controlled vocabulary.

This would be similar to how wikidata expresses knowledge [2]:

<http://www.wikidata.org/entity/Q28315661> <http://www.wikidata.org/prop/direct/P921> <http://www.wikidata.org/entity/Q750997>

Or in English:

"Go To Statement Considered Harmful"(Q28315661)'s "main subject"(P921) is "goto"(Q750997)

This also makes it easier to query [4], for example, you could get all articles covering a "goto" with the following SPARQL[5] query:

SELECT ?item WHERE { ?item <http://www.wikidata.org/prop/direct/P921> <http://www.wikidata.org/entity/Q750997> }

May help to read the RDF primer [3] also.

[1]: https://www.w3.org/TR/turtle/

[2]: https://www.wikidata.org/wiki/Q28315661

[3]: https://www.w3.org/TR/rdf11-primer/

[4]: https://w.wiki/5RW2

[5]: https://docs.stardog.com/tutorials/learn-sparql

Comment · 4 years ago
This is an incredibly useful swiss-army-knife like tool. I have similarly found rclone to be quite useful. I'm wondering if people know of more tools of similar nature than rclone and/or benthos.
Comment · 4 years ago
Comment · 4 years ago
Comment · 4 years ago
Comment · 4 years ago
To pile on a bit here, JSON-LD is based on RDF, which is an abstract syntax for data as semantic triples (i.e. RDF statements), there is also RDF* which is in development which extends this basic data model to make statements about statements.

RDF has concrete syntaxes, one of them being JSON-LD, and it can be used to model relational databases fairly well with R2RML (https://www.w3.org/TR/r2rml/) which essentially turns relation databases into a concrete syntax for RDF.

schema.org is also based on RDF, and is essentially an ontology (one of many) that can be used for RDF and non RDF data, but mainly because almost all data can be represented as RDF - so non RDF data is just data that does not have a formal mapping to RDF yet.

Ontologies is a concept used frequently in RDF but rarely outside of it, it is quite important for federated or distributed knowledge, or descriptions of entities. It focuses heavily on modelling properties instead of modelling objects, and then whenever a property occurs that property can be understood within the context of an ontology.

An example is the age of a person (https://schema.org/birthDate)

When I get a semantic triple:

<example:JohnSmith> <https://schema.org/birthDate> "2000-01-01"^^<https://schema.org/Date>

This tells me that the entity identified by the IRI <example:JohnSmith> is a person - and their birth date is 2000-01-01. I however don't expect that i will get all other descriptions of this person at the same time, I won't necessarily get their <https://schema.org/nationality> for example, even though this is a property of a <https://schema.org/Person> defined by schema.org

I can also combine https://schema.org/ based descriptions with other descriptions, and these descriptions can be merged from multiple sources and then queried together using SPARQL.

Comment · 5 years ago
Comment · 5 years ago
Comment · 5 years ago

Live from the official Hacker News API

A modern reader for Hacker News · SvelteKit + Skeleton