Is there any RDF serialization format (like Notation 3) that supports implicit reification for easily representing statements about statements?
For example, say I have the statement "Mary bought a house", which I would represent in N3 like:
:Mary :bought-a :house .
Now say I wanted to add meta-statements about this statement, such as "I heard this from Rob."
Intuitively, I'd like to be able to represent this by writing something like:
:Mary :bought-a :house .
:heard-by :me .
:heard-from :Rob .
However, I think the way this would "officially" be represented in N3 would be something like:
[ a rei:Statement;
rei:subject [rei:uri :Mary];
rei:predicate [rei:uri :bought-a];
rei:object [rei:value :house]
] [
:heard-by :me;
:heard-from :Rob;
] .
which is obviously a bit more complicated and harder to read. It gets even more complicated if I need to make statements about statements about statements. e.g. "I heard this from Rob, while Rob was walking down the street".
What would be the correct and simplest way to represent this in an RDF serialization format?