Subject: Re: Meaning of RDF:Statement Resent-Date: Sat, 18 Dec 1999 08:51:12 -0500 (EST) Resent-From: www-rdf-interest@w3.org Date: Sat, 18 Dec 1999 14:50:21 +0100 From: Jonas Liljegren To: Dan Brickley , RDF Intrest Group References: 1 Dan Brickley wrote: > > On Mon, 13 Dec 1999, Pierre-Antoine CHAMPIN wrote: > > > [Stating] <--type-+[local-URI]--states--> [unique-URI]+-type--> [Statement] > > "12/13/99" <--date-+ +-subject--> [...] > > "champin" <--author--' +-object--> [...] > > `-predicate--> [...] > > > > Such a dichotomty between the unique universal "statement" > > and each local "stating" might be useful ; > > Yes. The latter being more of an 'event', and perhaps sharing structure > with other events (publications, agreements, properties of agents > etc)...? There should be a standard way to do this. If statements is unique, there would have to be something like the above. This is obvious, but I would like to clarify anyway: If there is only one URI for a specific statement, it could look like this: statement1 --attributedTo----> Person1 statement1 --attributedTime--> 19991101 statement1 --attributedTo----> Person2 statement1 --attributedTime--> 19991218 How do you tell which statement time belongs to which person? There would have to be a URI for each statement 'event' if you want to say more than one thing about a statement. With models, it may be common to group some statements to a model and say something about the statements as a group. Most things stated in the real world takes more than one triple to model. We have discussed this before. Should the model be modeled as a bag of statements or should every statement have a direct pointer to the model URI? I would like to be able to optimise the statment storage in the database. For every statement there could be a predicate, subject, object and a model. That would make it more efficient in handling diffrent models. And that would mean that there would be one URI for each statement, even if they were identical. And that would let you model the attributes about the statements in a more simple an efficient way, compared by what would be required if the statement were globaly unique, as described above by CHAMPIN. You would then have: statement1 --attributedTo----> Person1 statement1 --attributedTime--> 19991101 statement2 --attributedTo----> Person2 statement2 --attributedTime--> 19991218 ... rather than the more elaborate version. The equality of two statements could be determined by comparing their p, s and o attributes. The URI cold maby be generated by combining the triple with the model or the origin. A combination with the model would be hard if the model is generated by the triple URIs. A combination with the origin would implicitly also bind the model to a specific origin. With models; many attributions could go via the model: statement1 --model--> model1 --attributedTo--> person1 We would still have to encapsulate the attribution: statement1 --model--> model1 --states--> stateEvent --attributedTo--> person1 But if a statement only has one model, it would be a bit faster. That leads me to other optimizations. In my DB, every resource could have the type as a part of the record. But only if there's never more than one type per resource. -- / Jonas - http://paranormal.o.se/perl/proj/rdf/schema_editor/