Skip to content

Triple‐Edge subgroup proposals

Andy Seaborne edited this page Jan 5, 2024 · 4 revisions

https://github.com/w3c/rdf-star-wg/wiki/Semantics:-Andy's-proposal rename wiki page for shared ownership or copy here and unlink

Intro

Key concepts / new RDF terms

"What's new?"

Motivating factors / technical use case

  • Unasserted triples, quotation - talking about something that is not asserted (not a triple in the graph)

annotation (talking about something asserted) and quoting (talking about something not asserted) — see near the end of https://www.w3.org/2023/11/16-rdf-star-minutes.html

  • Talking about talking about something that is asserted.

Quotation implies??

Motivating example

Based on annotation syntax? Alternative? Assertion and "occurrence" written explicitly

"Unasserted"

RDF Data Model

Terminology

? Occurrence ? Named Occurrence ? Occurrence of what?

RDF 1.2 Concepts changes

Semantics

Derived from https://github.com/w3c/rdf-star-wg/wiki/Semantics:-Andy's-proposal

Concrete Syntax

Turtle

A named occurrence is written in Turtle as

<< 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 []).

The occurrence name can be repeated with it being the same named occurrence term:

It can be used with a predicateObjectList (rule [14] in RDF 1.1 Turtle)

<< _:a | :s :p :o >>
   :starts 1999 ;
   :finishes 2000 .

or repeated (it's the same RDF term)

<< _:a | :s :p :o >> :starts 1999 .
<< _:a | :s :p :o >> :finishes 2000 .

The name can be omitted - a blank node is generated by the parser.

<< :s :p :o >> :q 123 .

<< :s :p :o >> :starts 1983 ; :finishes 1985 .

N-Triples

In N-Triples, reflecting the RDF abstract data model, there is a new syntax form for a named occurrence term:

<< _:a | :s :p :o >> :q 123 .

In N-triples, the name is required. There are no shorthand forms.

RDF Graph Merge

Graph merge happens as before - blank nodes need to be kept apart.

Annotation Syntax

Input material from email:

Annotation syntax is Turtle/TriG syntax that both asserts a triple, and uses an occurrence of that triple.

:liz :spouse :dick {| id:1 | :start 1964; :end 1974 |} . :liz :spouse :dick {| id:2 | :start 1975; :end 1976 |} .

which would generate to 6 triples and there are 5 unique triples - the RDF graph does not have a duplicate asserted triple.

:liz :spouse :dick .
 << id:1 | :liz :spouse :dick >> ;
      :start 1964;
      :end 1974 .
 << id:2 | :liz :spouse :dick >> ;
      :start 1975;
      :end 1976 .

SPARQL

Assumption: The RDF 1.2 features map into SPARQL.

Test: SPARQL syntax "Turtle+variables"

Named occurrences

Syntax

New type of patterns? New functions? Accessors and creators

Consequences on property paths

Evaluation

?? Simple entailment consequences??

Items to discuss

Unordered

  • Graphs, graph terms, named graphs, graph occurrences.
  • Terminology "Edges"? "occurrences"? "usage"?
  • Do occurrences "infer"?
  • Name sharing (one name, two occurrences) Exactly one? Relationship to merge?
  • type, instance, occurrence
Clone this wiki locally