| 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 |