- From: Andy Seaborne <andy@apache.org>
- Date: Thu, 11 Jan 2024 10:32:05 +0000
- To: public-rdf-star-wg@w3.org
On 11/01/2024 08:19, Olaf Hartig wrote: > Hi Andy, > > Thanks for writing down this consolidation attempt! Unfortunately, > there seems to be a problem in there ... And thanks for reviewing it. It is a rough idea and will need refinement but I wanted to get the general idea out. To get a solid definition needs putting in terms for all parts of teh RDF specs and I'm not that much of an expert in the more theoretical areas. > > On Wed, 2024-01-10 at 22:46 +0000, Andy Seaborne wrote: >> [...] >> >> In this variation, the RDF abstract data model has "occurrences sets" >> as RDF terms. > > Given that you say "as RDF terms", I assume that each such "occurrences > set" may be used as subject or object of an RDF triple. Correct? Yes. We migh restruict that but that does lead to other problems. (c.f. rdfs:range which puts literals as subjects in rdfs3) https://www.w3.org/TR/rdf12-semantics/#rdfs_patterns I'm trying to not say "triple" because as soon as it is a triple, then all inferences from that triple apply (from our recent discussions). The idea is to have a concept that is the S-P-O actually used in the graph whether it is same graph as the occurrence data or making statement about a another graph. > Notice that this question is just asking for clarification, and it is > not actually relevant regarding the problem that I want to point out. > >> An "occurrence set" for S,P,O is the set of all named occurrences >> that have S,P,O in those positions. There is one occurrence set for >> every triple. > > I would have a question about the latter sentence but, since this is > also not relevant regarding the problem, I keep it for the moment. > > The relevant part is in the first sentence of this paragraph; namely, > by the definition that you give here, the kind of things that an > "occurrence[s] set" contains are "named occurrences", for which next > you define: > >> A named occurrences is a pair of (name, occurrence) where >> "occurrence" is member of an occurrence set. > > Here comes the crux of the problem. By this definition, a "named > occurrence" contains something called "occurrence" that "is member of > an occurrence set". If I combine this definition with your definition > of "occurrence set" as given above, I notice that such an "occurrence" > (within a "named occurrence") must be a "named occurrence" because, > according to your definition of "occurrence set", the elements/members > of occurrence sets are "named occurrences". In other words, by these > definitions, every "named occurrence" contains a "named occurrence", > which contains a "named occurrence", etc. Hence, there is an > unresolvable cycle in these definitions. > > Or did I misunderstand anything? No - it's a bad definition - thank you for pointing it out. We have "occurrences" (concept) in the data. An occurrence is a use of a triple in the graph. A named occurrence is a name for the occurrence as a resource. Can have multiple names - this give the different sets of statements about the occurrence. An "occurrence set" for SPO is the (infinite) set of possible named occurrences. Instead of of "occurrence set" a plain 3-tuple of SPO might work - it is not a triple. Andy > -Olaf > > >> Occurrence sets replace triple terms. >> https://lists.w3.org/Archives/Public/public-rdf-star-wg/2023Dec/0033.html >> >> Named occurrences are not part of the RDF data model (abstract >> syntax). >> >> The syntax <<[ ]>> is used below for now to be different to triple >> term >> <<( )>>. Had that not been used already, it would be better as <<( >> )>> >> because () is often used for tuples. >> >> An implementation that wishes have great named occurrence >> performance >> can have data structure for (n,s,p,o) with indexed lookup operations. >> >> ## Turtle and N-Triples. >> >> << _:n | s p o >> :q :z . >> >> is a syntax form and is equivalent to the N-triples: >> >> _:n rdf:occurrenceOf <<[ :s :p :o ]>> . >> _:n :q :z . >> >> "memberOf" or variants on "member" don't look good because >> rdfs:member >> already exists. >> >> Now given a name "n" (blank node or URI) found by some means, then >> >> _:n rdf:occurrenceOf ?X . >> >> finds the occurrence set term, which has the subject/predicate and >> object. >> >> Annotation syntax applies as before. >> >> An RDF graph is a set of triples. >> There is no need for a virtual property. >> >> It may work to have a class of occurrences for S/P/O where the >> occurrence set is the class extension. >> >> Andy >> >>
Received on Thursday, 11 January 2024 10:32:13 UTC