Re: voting against use of rdf:ReificationProperty

Hi Gregory,

Re your question on this during today's meeting. FWIW, my interpretation on the usefulness of ReificationProperty:

(1) Using any property (instead of just rdf:reifies/rdf:asserts) with a triple term object.
Souri mentioned in a prior message <https://lists.w3.org/Archives/Public/public-rdf-star-wg/2024Aug/0147.html> a need to distinguish between the "veracity" of the triples within triple terms; e.g., one is a hypothesis, another is truth; one is asserted, another is not; etc. 

If rdf:reifies is the only "reification property" available, then this requires something like (using Souri's example):

:id rdf:reifies <<( :s1 :p1 :o1 )>> ; a :Hypothesis .
:id rdf:reifies <<( :s2 :p2 :o2 )>> ; a :Truth .

I.e., multiple triples each time. If separate rdf:asserts (for hypothesis, non-asserted, etc) and rdf:reifies (for truth, asserted, etc.) are available, then this fits in a single statement:

:id rdf:reifies <<( :s1 :p1 :o1 )>> .
:id rdf:asserts <<( :s2 :p2 :o2 )>> .

Andy later pointed out <https://lists.w3.org/Archives/Public/public-rdf-star-wg/2024Aug/0148.html> that there are other possible meanings that can be associated. (I may be missing many, many messages and discussions before, in between, or after.) IMO, one can indeed say that "hypothesis", "unknown", "conflicting" all fit under rdf:reifies - i.e., one doesn't want to assert the triple of the triple term - but with different slightly semantics each time. Using only 1 property for all those cases would mean that one still needs multiple statements, e.g., 

:id rdf:reifies <<( :s2 :p2 :o2 )>> ; a :Hypothesis .
:id rdf:reifies <<( :s3 :p3 :o3 )>> ; a :Conflicting .

Etc. Instead of a limited set of properties (rdf:asserts, rdf:reifies), allowing custom properties there supports any type of nuanced meaning: 

:id rdf:hypothesis <<( :s2 :p2 :o2 )>> .
:id rdf:truth <<( :s3 :p3 :o3 )>> .

One can then have rules, queries, or application logic that assigns some custom semantics to these properties. 

I appreciate the flexibility this brings, while still allowing a 1-triple description (e.g., for easy mapping to a DB table). Right now I don't see how it makes it harder to implement RDF-star; it does allow people to shoot themselves in the foot a bit more (well, a lot of things do; this is a typical trade-off) but for that we have ReificationProperty:

- Inferring that a property with a triple term object has type ReificationProperty.
Looking at the inferences of your statements, rdf:hypothesis or rdf:truth (from the example above) will show up as instances of ReificationProperty. This may or may not be in line with your expectations. Someone may have wrongfully used foaf:name as a reification property; it will show up as such in your inferences, thus "flagging" the issue. You may even have explicit OWL constructs, rules, or application code in place to raise inconsistencies in those cases. As Enrico said, these inferences simply explicate what is already implicit in your data; but this explication can be quite useful.


Regards,

William

> On Aug 27, 2024, at 8:07 AM, William Van Woensel <william.vanwoensel@gmail.com> wrote:
> 
> Hi Souri,
> 
> Could you elaborate on how this would make it harder to implement RDF 1.2? (I was not at the semantics TF - it seems that rather important issues are discussed there, but I'm unsure how to join.)
> 
> I'm also not seeing how it could lead to people messing up their data.
> 
> 
> Thanks
> 
> William
> 
>> On Aug 26, 2024, at 9:02 AM, Souripriya Das <souripriya.das@oracle.com> wrote:
>> 
>> Although during our last Semantic TF meeting I had put +1 in the straw poll regarding allowing any property to have triple-term as value as long as the property is (or can be inferred to be) of rdf:type rdf:ReificationProperty, thinking about it a bit more I have changed my opinion. I think it is giving too much freedom to the user that may lead them to mess up their data more easily and it will make it harder to implement RDF1.2. So, I would now vote against the use of rdf:reificationProperty and instead, vote for allowing only pre-designated properties in RDF1.2 (like rdf:reifies, and, if deemed important, rdf:asserts) to have triple-term as their values.
>> 
>> Thanks,
>> Souri.
> 

Received on Thursday, 29 August 2024 18:30:54 UTC