- From: Souripriya Das <souripriya.das@oracle.com>
- Date: Mon, 5 Aug 2024 22:37:50 +0000
- To: RDF-star WG <public-rdf-star-wg@w3.org>
- Message-ID: <BL3PR10MB60679BED0AB3F8A55D6DB619FABE2@BL3PR10MB6067.namprd10.prod.outlook.com>
There was a small typo in my last email [1]: changed "asserted" -> "stated" in the following sentence: The 4-tuple, id-s-p-o, must be unique in an RDF graph. If present, an id-s-p-o can either be "stated" or "reified". Thanks, Souri. [1] https://lists.w3.org/Archives/Public/public-rdf-star-wg/2024Aug/0010.html (Souri, Mon, 5 Aug 2024 19:29:29 +0000) ________________________________ From: Souripriya Das <souripriya.das@oracle.com> Sent: Monday, August 5, 2024 3:29 PM To: RDF-star WG <public-rdf-star-wg@w3.org> Subject: [External] : handling ("asserted") s-p-o triples and ("stated" or "reified") id-s-p-o 4-tuples in RDF/SPARQL Notations I am using below for the three proposed categories of tuples in RDF1.2: ============ - A: "Asserted" triples => present in graph as s-p-o - S: "Stated under id" 4-tuples => id rdf:states s-p-o - R: "Reified under id" 4-tuples => id rdf:reifies s-p-o Issue A: Handling "stated" vs. "reified" for a given id and s-p-o? ============================= I think it is better to stay within RDF for this and not involve RDFS rdfs:subPropertyOf. We can impose the following constraint on RDF graph content: The 4-tuple, id-s-p-o, must be unique in an RDF graph. If present, an id-s-p-o can either be "asserted" or "reified". SPARQL INSERT, upon successful completion, will have the following effect on the target RDF graph's content: - INSERT DATA { :id rdf:states <<( :s :p :o )>> } => the graph will contain id-s-p-o as "stated". - INSERT DATA { :id rdf:reifies <<( :s :p :o )>> } => the graph will contain id-s-p-o -- as "stated", if it was already present as "stated", and as "reified" otherwise. Issue B: Should presence of "stated" id-s-p-o guarantee presence of asserted" s-p-o? =================================== I do not think we should include such a guarantee. This is lossy unless an implementation handles it using reference counts. It is better to keep presence or absence of "asserted" s-p-o triple completely independent of the presence or absence of "stated" id-s-p-o 4-tuples (for one or more values of id). SPARQL: Combinations to match: =================== - A => ?s ?p ?o . # Asserted - S => ?id ~ ?s ?p ?o . # Stated - R => ?id || ?s ?p ?o . # Reified - AS => ?id @ ?s ?p ?o . # Asserted or Stated - AR => ?id |+| ?s ?p ?o . # Asserted or Reified - SR => ?id |~| ?s ?p ?o . # Stated or Reified - ASR => ?id |@| ?s ?p ?o . # Asserted or Stated or Reified Note: When "asserted" s-p-o is matched, the ?id variable (if any) will not have a binding. Thanks, Souri.
Received on Monday, 5 August 2024 22:37:59 UTC