3 ms·
TL; DR I think Jena, a free and open source RDF framework, has been around for the last 20 years, and still releases pretty often. If you are considering using
by emmanueloga_ 6y ago
TL; DR
I think Jena, a free and open source RDF framework, has been around for the last 20 years, and still releases pretty often. If you are considering using a graph database for your next project, you should give it a try! Here are some notes on how to get into RDF [1].
--
RDF is really at its core such a simple concept! What's built on top can go pretty deep though. RDF is a technology to describe graphs, with tools on top that allow querying, traversing, validating, and inferring information.
The way RDF describes graphs is with the use of a "triple". This triple has the form:
Subject -> Property -> Object
A sample triple could be: Tarantino Directed Kill-Bill.
The power of the model comes from the fact the elements of the triple use unique IDs by mean of URIs, so a more realistic triple could be:
<http://imdb.com/tt0266697> http://imdb.com/tt0266697> <http://movies.com/job/director> http://movies.com/job/director> "Kill Bill Vol. 1"@en.
In this example, the object is a literal instead of a entity with its own URI: the English title of a movie. As long as someone else uses the same subject URI, I may automatically discover new things about my own data by merging someone else triples into mine. There's also an extension that allows naming the graph where the triple lives: the triple becomes a "quad". The name of the graph should be an URI: <https://me.com/my-movies> https://me.com/my-movies>.
Through the years there's been more stuff built on top of the model: various serialization formats (most of them plain text based), a query language (SPARQL, similarities with Datalog), frameworks for "semantic inference" (OWL), schemata and constraints, asking the graph to be a certain shape (SPIN, SHEX, SHACL), an easy way to make statements about the triples, like "this triple was created on this date by this person" (RDF*), and I'm sure a lot more stuff I'm forgetting or I don't know about :-).
1: https://www.reddit.com/r/semanticweb/comments/fxtaxe/books_on_the_semantic_web/fppxi1l/ https://www.reddit.com/r/semanticweb/comments/fxtaxe/books_o...
- meej 6y agoThat Reddit link is a nice list of resources. I'd add http://workingontologist.org/ http://workingontologist.org/ to it. The second edition of this book is my #1 reference for learning the basics of RDF, OWL, and SPARQL.
- jbmsf 6y agoAt my last company, the system that eventually became our Knowledge Graph started out as RDF. It seemed like a great fit, but we didn't really have much luck. There was an unnecessarily complicated process for schema definition and the SPARQL engine we chose (on top of PostgreSQL) wasn't ready for a production load (e.g. was not performant). I really liked the concept and we borrowed the "triple" approach in our next iterations, but we really didn't get any benefit from using RDF. Quite possible it was our fault.
- sawaruna 6y agoWhat did you end up moving to?