Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I had a lot of interest in the semantic web when I first started learning about it.

However, the efforts I've seen seem to be missing some critical factors for longer-term success. I think we've got a lot of work to do with regards to knowledge representation in general.

One of the big things for me is that the context for any fact is critical for it to be true or not.

You can have a fact like "Tim Cook is the CEO of Apple", represented in a graph like you would expect. However, that is only true today. Ten years ago it was Steve Jobs. Without explicit context encoded in the information graph, this web of data isn't as useful as it could be.

Context is important for reasoning in all kinds of situations. "What if Steve Ballmer was CEO of Apple?", is a hypothetical context, where it may be useful to do reasoning about. The context of "Who is the most distinguished captain of the Enterprise?" could be about the real world US Navy, or a fictional Star Trek universe (of which there are multiple).



Checkout datomic, you can query for facts given a certain point in time. This is common among customer preference storage too, like, "what's your favorite song or movie can change easily over time." Being able to query the state at a certain date can be helpful. Some predictive analytics can also be done like people with these preferences, how did they change once they had a family, or moved to another "life stage".

Though you probably don't need datomic, it would be not too complicated to model this in neo4j or some other RDF graph that supports arbitrary sized tuples. Datomic just supports this feature as a first class value offering.


context-dependent, or "reified" assertions are a pain point for sure. I come from the perspective of cultural heritage data, where context is king. Which expert made this attribution for this painting? Who owned it _when_? According to which archival document? etc.

Almost all the engineering problems cited in the original post are still basically there, but graphical models are still the least painful way of doing this, particularly when trying to share data between institutions. Example: https://linked.art/model/assertion/


The OP mentions property graphs as a way around this problem. They can be seen as natural extensions of "RDF quads" which in turn are based on common RDF triples (Subject / Property / Object)


This isn't that difficult to deal with, though. Instead of linking a CEO to their company with a simple object property, explicitly reify the relationship as a class in the model that represents something like "employment". Then you can hang as many contextually relevant properties from the class instance as you need -- start date, end date, role, etc...

This is why much of the hubbub over property graphs puzzles me. If you need a relationship to have its own properties in an RDF graph, just turn it into a class. What's the big deal?




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: