Re: voting against use of rdf:ReificationProperty

Hi Gregory,

> On Aug 31, 2024, at 4:11 PM, Gregory Williams <greg@evilfunhouse.com> wrote:
> 
> Hi William,
> 
>> On Aug 29, 2024, at 11:30 AM, William Van Woensel <william.vanwoensel@gmail.com> wrote:
>> 
>> 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. 
> 
> I understand the value of using any property. Apologies if my comments on the call suggested otherwise. My ambivalence is about what value is had by entailing `P rdf:type rdf:reificationProperty`. I don’t feel strongly one way or the other about this, but I don’t see much value in doing this, and think it leads in strange directions when you either want to have such use either restrict how P can be used, or alternately have that entailment on properties that are used with both triple- and non-triple-terms (more on this below).
> 
> [snip]
> 
>> 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:
> 
> I’m hesitant to comment on difficulty of implementing the current RDF-star proposal in general. There are *many* ways RDF systems are implemented, and I think it’s risky to make assumptions about how easy or difficult integrating new features/expressivity is going to be in any given system.

Yes indeed and that is why I was asking for clarification from Souri :-)

> I will say that this approach probably does make it harder for (some) systems that were hoping to implement many-to-one “statements about statements” which we’ve discussed in the past, and which I think was one of the primary motivating ideas in the inputs to this WG. However, it seems pretty clear we’ve moved on from that, so it’s probably not germane to the ongoing discussion.
> 
>> - 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.
> 
> I think an example using foaf:name is obvious that there’s a modeling issue. I wonder what you think of my example about trying to mix in use of RDF 1.0 reification, though? If you end up with two statements like:
> 
> _:a rdf:object <<( :s2 :p2 :o2 )>> .
> _:b rdf:object “William” .
> 
> Would you agree that we can’t really say anything about whether there’s a modeling issue in the larger dataset?

I would say that it still depends on the dataset author (and, anyone using the dataset and its inferences). They will see "rdf:object" appearing as a ReificationProperty, and may have a problem with that, or not. If they happen to work with RDFS 1.1, then _:a and _:b would be flagged <https://www.w3.org/TR/rdf11-mt/#rdfs-interpretations> as as rdf:Statements, i.e., using the "old" reification properties. This may help with pointing out a problem, or not; it would certainly be against the properties' intended usage, and for me it would certainly point out a modeling issue. Btw, if it breaks the system they are using (i.e., if that system also supports the old way of reification), then they will more likely have a problem with it; and may want to rethink their approach (or, turn off backwards compatibility in the system :-).

(Detail - if these properties no longer exist in RDF 1.2 then they may feel the need to re-use them (or, end up using them purely by accident, if they don't care about "polluting" they're in the RDF namespace). Again, one can certainly argue against the suitability of this, but should it be prevented?) 

On a tangent here, Meusel et al. <https://dl.acm.org/doi/10.1145/2797115.2797124> found that actual metadata usage influences the evolution of schema.org in a bottom-up way; i.e., the usage of defined properties in unexpected contexts (e.g., with other domains and ranges than documented; such as rdf:object here) often led to future changes in the schema.

> Or does this approach sort of force us to restricting RDF usage of triple terms and/or reification properties (the opposite of which is something I’ve heard as a reason to prefer arbitrary reification properties – Dominik’s response to your email says they are "very much in line with the spirit of RDF”!).

If you mean with approach as in allowing any property to be used with a triple term object, then I'm unsure what you mean by restricting.


W

> .greg
> 

Received on Sunday, 1 September 2024 13:28:50 UTC