One kind of "occurs" relation or many?

That triggered a question:

Is rdf:occurenceOf , or whatever we name it, the only relationship 
between an occurrence/token in the domain, and a triple type/term?

Are there useful subproperties of rdf:occurenceOf?

While these could be by (rdf:)typing the occurrence separately, 
subproperties can be clearer and don't "loose" the type when looking at 
just the occurrence-term triple.

     Andy

On 18/12/2023 14:24, Pierre-Antoine Champin wrote:
>
> Hi all,
>
> Andy's proposal below (which I have to say I like very much) gave me 
> an additional idea:
> if we were to follow it, we could consider introducing a third profile 
> that would sit between Basic (no triple terms) and "Full" (no 
> restrictuon), by allowing triple terms /only/ as the object of 
> rdf:occurrenceOf (in an asserted triple).
>
> A working title for this intermediate profile could be "RDFn" profile, 
> because my intuition is that this profile covers most of what RDFn 
> aims to do, and could be implemented in the same ways as RDFn (i.e. by 
> adding a 4th column to triples, the 4th column being the identifier).
>
> I see how more profile could mean more fragmentation of the 
> ecosystem... but it could also mean that more people find an option 
> they are happy with in RDF 1.2, and it is better if those options are 
> clearly laid out in the spec than "improvised" by each unhappy 
> implementer.
>
>   best
>
> On 12/12/2023 21:59, Andy Seaborne wrote:
>> Here is an attempt to write out the details of what I think has been 
>> said recently.
>>
>> It is addressing "publishing information about multi-edges".
>> (Ideas here are from WG members - the mistakes are mime.)
>>
>>
>> Multiple edges with the same label are handled as multiple 
>> occurrences - the predicate URI of the RDF triple is thought as a 
>> conceptual relationship - with multiple sets of annotations.
>>
>> This preserves the uniqueness of triples in a graph, and allows 
>> independent collections of assertions about a relationship. Such 
>> collections of assertions do not get entangled on merge.
>>
>>
>> ## 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 >> .
>>
>> 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 Monday, 18 December 2023 21:09:00 UTC