Re: RDF Reification
Neil Stansbury <[email protected]> Tue, 03 Jan 2006 17:58:59 +0000
| Newsgroups | gmane.comp.mozilla.devel.rdf |
|---|---|
| Organization | Another Netscape Collabra Server User |
| Message-ID | <[email protected]> |
Harry, thanks for your thoughts. What's your thinking behind storing whether it's an assert/unassert/modify? What I was thinking was: For each reificated triple, a timestamp is used to uniquely identify the journaled triple itself: urn:undo:utc-timestamp => rdf:subject => urn:abc urn:undo:utc-timestamp => rdf:predicate => dc:Title urn:undo:utc-timestamp => rdf:object => "current-value" urn:undo:utc-timestamp => my:oldvalue => "old-value" This allows me to identify any specific triple. A NULL value asserted in the "my:oldvalue" predicate could equate to an unassert of the triple. A journalled action may comprise any number of actual underlying assertions therefore I also need to assert the journal action each entry belongs to: urn:undo:utc-timestamp => my:journal => "unique-journal-id" Then like you suggested the action string: unique-journal-id => dc:Title => "insert" Probably as a localisable string uri. Then I can call GetSources( "my:journal", "unique-journal-id" ); which will give me all subjects that belong to that journalled action. So I'd end up with: unique-journal-id => dc:Title => "insert" urn:undo:utc-timestamp => my:journal => "unique-journal-id" urn:undo:utc-timestamp => rdf:subject => urn:abc urn:undo:utc-timestamp => rdf:predicate => dc:Title urn:undo:utc-timestamp => rdf:object => "current-value" urn:undo:utc-timestamp => my:oldvalue => "old-value" Though that's still 5 journalled triples for each underlying triple :¬( Cheers, N