Re: Presentation about reifiers and graphs

> On 20. Sep 2024, at 10:17, Franconi Enrico <franconi@inf.unibz.it> wrote:

> Again, the main point being: as such, rdf 1.2 is unable to capture named graphs in their generality, but only named graphs with union semantics.


"as such" indeed. But could something be done about that?

Let’s whip up a new property, 'rdfx:isNamedGraphOf', to implement named graphs via triple terms. A singleton graph suffices as example:

   _:ng rdfx:isNamedGraphOf <<( :s :p _:o )>> .

First thing we know is that we know nothing about the relation between the reifier and the triple term: just as with named graphs we can’t say if _:ng refers to the triple term or to something described by the triple term or is itself described by the triple term or whatever - see the RDF 1.1 Note on semantics of datasets for all the examples. More attributes may be added to _:ng to fix some of those loose ends.

Second thing is that it’s not standardized how named graphs contribute to the truth of a dataset. We can handle that because reifiers don’t assert. How to make them asserted - via adding them to the graph as proper statements, or e.g. via an rdfs:states property, etc - is an ongoing discussion.

Third thing is that per definition of triple terms the blank node '_:o' co-denotes with other triple terms, but in named graphs this would not necessarily be the case. Mapping our example

   _:ng rdfx:isNamedGraphOf <<( :s :p _:o )>> .

to Turtle-star reifiers could result in

    << :s :p _:o ~ _:ng >> .

or in

    << :s :p _:StandardizedApartO ~ _:ng >> .

So we actually need two properties:
- 'rdfx:isUnionedNamedGraphOf', behaving as triple terms are currently defined
- 'rdfx:isMergedNamedGraphOf', adding a mechanism to standardize apart blank nodes.

I can imagine that implementing 'rdfx:isMergedNamedGraphOf', i.e. standardizing apart "on the fly", might cause some headaches, but it doesn’t seem impossible.


Best,
Thomas

Received on Friday, 20 September 2024 09:48:46 UTC