top | item 32037744

(no title)

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

discuss

order

rpac0|3 years ago

Thank you. Honestly, working with GraphDB and SPARQL inspired me to create this. I did consider if I could create a "real" knowledge graph and even went as far as searching for in-memory graphdb that lives in client browser (maybe one that's built on top of IndexDB. I thought, hey if in-mem RDBMS like H2 exists, is there an in-mem GraphDB available? :D) so that I can query it using SPARQL, but couldn't find anything on it. I wanted to do this without any infrastructure while keeping the bundle sizes low but yes, the way you explained is how it should have actually been done.

jimmySixDOF|3 years ago

I recommend implementing this in a 3D WebXR AR/VR experience for immersive navigation or look at your data through Flow Immersive. Seeing your data in free space arround you is a great way to gain insights.