rdf

Chip 2023-08-12T01:07:27.072799Z

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

👍 1
tmprd 2023-08-12T03:52:49.828999Z

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 😄

1
tmprd 2023-08-12T04:13:06.250219Z

You can implement RDFS inference rules in datalog though, so it probably depends on how much reasoning you need

1
2023-08-14T23:33:10.797539Z

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.

2023-08-14T23:35:56.504269Z

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.

Chip 2023-08-14T23:36:01.216229Z

Exactly. It is indeed an event.

Chip 2023-08-14T23:36:45.769919Z

Thank you.

❤️ 1
Chip 2023-08-12T12:42:39.276349Z

Thank you. I don’t think I need more than what datalog can provide.