Cross posting here. Forgive me if I shouldn’t or there’s a better way to do it. https://clojurians.slack.com/archives/C053AK3F9/p1691801848781149
I think you need reification so maybe RDF-Star might work? https://clojurians.slack.com/archives/C09GHBXRC/p1686243641289829 I haven't used it myself. The other option might be too complicated if you're relying on reasoners, though I haven't tried that yet either 😄
You can implement RDFS inference rules in datalog though, so it probably depends on how much reasoning you need
Depending on your implementation, this may also be a sign that what you thought you might model with a triple might better be modeled as an event.
Maybe instead of myguy said something, it might make more sense to do:
mystatement a SayingSomething;
speaker myguy;
spoken "something";
time "2023-08-14"^^xsd:date;
Later on you might find the need for 'usingMedium' 'inResponseTo' 'inConversation', etc. and you'd be well positioned to do that.
Again, I'm not clear on the details of what you're doing, so this may be totally inappropriate to your needs.One disadvantage is that you'd have to mint a URI for mystatement. That's fairly easy to do using sparql URI(...) and maybe a hashing function like MD5.
Exactly. It is indeed an event.
Thank you.
Thank you. I don’t think I need more than what datalog can provide.