Fork me on GitHub
#rdf
<
2023-05-18
>
Takis_23:05:11

RDF-star seems natural, to have facts about nodes and facts about facts, i just found out about it. And nested facts and Clojure looks like natural fit.

Eric Scott23:05:04

I can see advantages to it, but I think there's a danger in that it will be tempting to ascribe to statements things that you should actually be ascribing to to the things that the statement is about. So say [<Harry> <hasSpouse> <Meghan>] <start> <2018>. Is it the statement that started in 2018 or the marriage? If the domain of <start> is <Event>, can we infer from that the the statement in question is an Event? If not, we'd have to be careful to use a property like <trueAsOf>, in the domain of Statements -- maybe just a little extra bit of discipline, but I think in practice this is the kind of punning that starts out harmless enough, and then starts to make things really sloppy as you knowledge base progresses. My feeling is that mostly things like this <hasSpouse> relation is really only suited to modeling 'snapshot' type graphs, and the temporal qualifications are better modeled by assigning them to the graph itself, along with other provenance information. Better to recognize early on that <hasSpouse> is really a summary of an N-ary relation you might call <Wedlock>, with beginning and ending dates, initiating and terminating events (death-doing part, one hopes), paperwork, Childbirth, etc.

quoll11:05:38

This would really be going in the wrong direction. The semantics of RDF* are about triples. So the domain of <start> is a triple. It brings reification into the language, and not just an imposed schema (as RDFS did). If you try to treat a triple as an event then you’ve implied new semantics, which is going to make a mess of your modeling and make it difficult to work with data from other people. Then again, maybe your point is that this is a mistake that others may be inclined to make, and if it’s an easy mistake then it could be made frequently. (RDF/OWL has been rife with this, especially with people not understanding the OWA, the implications of owl:sameAs, etc)

Eric Scott11:05:33

Yes that was my point. That we'd need to be careful to use a property named something like <trueAsOf> in the domain of <Statement>, but that people in practice are probably going to just use something like <start> and then conflate the semantics willy-nilly.

Eric Scott12:05:58

I personally think the best use of this would be use something like a <summarizes> property to link binary to nary relations. Like [<Harry> <hasSpouse> <Meghan>] : <summarizes> <Wedlock/id=UK2018yaddayadda>. That would make for fast queries but hold the actual content in the graph proper.

Takis_23:05:54

there are so many things that i don't know about RDF to have an opinion, but RDF-star i think gives a form of grouping, that makes things easier.