- From: Gregg Kellogg <gregg@greggkellogg.com>
- Date: Thu, 14 Dec 2023 16:28:56 -0800
- To: Olaf Hartig <olaf.hartig@liu.se>
- Cc: Andy Seaborne <andy@apache.org>, RDF-star Working Group <public-rdf-star-wg@w3.org>
I’d say it can’t be a syntactic constraint but may be a semantic inconsistency due to open-world assumption. Gregg Kellogg Sent from my iPhone > On Dec 14, 2023, at 3:41 PM, Olaf Hartig <olaf.hartig@liu.se> wrote: > > Andy, > > Dec 12, 2023 21:59:24 Andy Seaborne <andy@apache.org>: >> [...] >> >> ## Turtle >> >> Add to Turtle a new statement (grammar rule 2): >> >> << occurrenceName | :s :p :o >> . >> >> This names an occurrence of the triple s p o. >> >> The triple is not asserted, keeping "assertion" and "occurrence" as orthogonal concepts even if they might commonly be used together. >> >> occurrenceName is a URI or blank node, including [] (the ANON terminal rule 47 in Turtle - no triples inside the []). >> >> It is better to have the name first to allow for split lines and modified annotation syntax below. >> >> >> ## N-Triples >> >> In N-Triples, reflecting the RDF abstract data model, there is a property to relate occurrence to a triple term. >> >> :occurrenceName rdf:occurrenceOf << :s :p :o >> . > > What should happen if someone writes the following two lines? > > :occurrenceName rdf:occurrenceOf << :s1 :p1 :o1 >> . > :occurrenceName rdf:occurrenceOf << :s2 :p2 :o2 >> . > > Should the abstract syntax contain a constraint by which such a multi-use of :occurrenceName is defined to be invalid? Or should this be treated as an inconsistency under whatever entailment regime that is concerned with such rdf:occurrenceOf statements? > > Thanks, > Olaf > > >> There are triples terms in the data model >> (RDF-Concepts - section 3.1 : editors draft [2]). >> >> Renaming "quoted triple" as "triple term" would be better because it has less implication of the usage. >> >> The NT syntax would be available in Turtle in the same way that rdf:first is available in Turtle - and with the same expectation that it would rarely be used. >> >> >> ## RDF Graph Merge >> >> Graph merge happens as before - blank nodes need to be kept apart. >> >> >> ## Annotation >> >> This gives the modified annotation syntax as per Thomas's email [1]: >> >>> :liz :spouse :dick { id:1 | :start 1964; :end 1974 |} . >>> :liz :spouse :dick { id:2 | :start 1975; :end 1976 |} . >> >> Slight syntax tweak: For SPARQL, reusing { has to be careful because { is a group start. >> >> :liz :spouse :dick {| id:1 | :start 1964; :end 1974 |} . >> :liz :spouse :dick {| id:2 | :start 1975; :end 1976 |} . >> >>> which would map to >>> id:1 rdfx:occurrenceOf << :liz :spouse :dick >> ; >>> :start 1964; :end 1974 . >>> id:2 rdfx:occurrenceOf << :liz :spouse :dick >> ; >>> :start 1975; :end 1976 . >> >> and asserting: >> >> :liz :spouse :dick . >> >> >> ## Named occurrences in term slots >> >> << occurrenceName | :s :p :o >> could also be used in a subject or object slot with the occurenceName being the RDF term for subject or object (c.f. RDF collections and predicate object lists) for use with unasserted triples: >> >> << [] | :s :p :o >> >> :start 1964 ; >> :end 1974 . >> >> Andy >> >> [1] >> https://lists.w3.org/Archives/Public/public-rdf-star-wg/2023Dec/0024.html >> >> [2] https://w3c.github.io/rdf-concepts/spec/#section-triples >> (as of 2023-12-10) > >
Received on Friday, 15 December 2023 00:29:15 UTC