- From: Pierre-Antoine Champin <pierre-antoine@w3.org>
- Date: Wed, 8 Jan 2025 18:27:10 +0100
- To: Franconi Enrico <franconi@inf.unibz.it>
- Cc: Niklas Lindström <lindstream@gmail.com>, RDF-star Working Group <public-rdf-star-wg@w3.org>, Doerthe Arndt <doerthe.arndt@tu-dresden.de>
- Message-ID: <9b52f39a-450b-4105-9d7f-84a157c075cc@w3.org>
On 08/01/2025 17:35, Franconi Enrico wrote:
> Option 1 (the current option) adds metamodelling inference only for
> asserted triples.:
>
>
> Option 1 (shallow metamodelling)
>
>
> * ⏩ |<[I+A](r), [I+A](rdf:Proposition)> ∈
> IEXT([I+A](rdf:type))|
> if |r is a triple term and ∃ x,y . (<x,[I+A](r)>
> ∈ IEXT(y)) ⋁ (<[I+A](r),x> ∈ IEXT(y))|
> or if |∃ x . <x,[I+A](r)> ∈
> IEXT([I+A](rdf:reifies))| ⏪️
>
> Note that this is just wrong since in this case we have
> [I+A](rdfs:Resource) ≠ IR
> [I+A](rdfs:Property) ≠ IP
>
I assume that what you really mean is
{ x | (x, [I+A](rdfs:Resource)) ∈ IEXT(rdf:type) } ≠ IR
{ x | (x, [I+A](rdf:Property)) ∈ IEXT(rdf:type) } ≠ IP
but even then, I'm very confused.
Granted, the semantic constraint /alone/ does not entail those equalities.
But they are entailed by /other/ semantic constraints that are /already/
part of RDF(S) semantics!
So I don't think that you need the additional semantic constraints that
you propose below...
Entailment patterns, on the other hand, still need to take the recursion
into account...
pa
>
> Option 2 (true metamodelling)
>
>
> * ⏩ |<r, [I+A](rdf:Proposition)> ∈ IEXT([I+A](rdf:type))|
> if |r ∈ range(RE)| or
> if |∃ x,y . RE(x,[I+A](rdf:reifies),r)=y| ⏪️
> * ⏩ |<r, [I+A](rdfs:Resource)> ∈ IEXT([I+A](rdf:type))|
> if |r ∈ range(RE)| or
> if |∃ x,y,z . RE(x,z,r)=y| or
> if |∃ x,y,z . RE(r,z,x)=y| ⏪️
> * ⏩ |<r, [I+A](rdfs:Property)> ∈ IEXT([I+A](rdf:type))|
> if |∃ x,y,z . RE(x,r,z)=y| ⏪️
>
> Option 2 adds new metamodelling conditions, which implies that
>
> [I+A](rdfs:Resource) = IR
>
> [I+A](rdfs:Property) = IP
>
> as it should.
> The entailment pattern for option 2 will have "if the triple structure
> appears in S”.
>
> —e.
>
>> On 8 Jan 2025, at 17:17, Doerthe Arndt <doerthe.arndt@tu-dresden.de>
>> wrote:
>>
>> Dear Niklas,
>>
>>>
>>> I think that it should be derived. And I agree that the triple
>>> constituents are resources (due to transparency).
>>>
>>> I believe the following rule does that (given the existing RDF 1.1
>>> entailment):
>>>
>>> If S contains:
>>>
>>> sss aaa <<(xxx yyy zzz)>> .
>>>
>>> or S contains (in symmetric RDF):
>>>
>>> <<(xxx yyy zzz)>> aaa ooo .
>>>
>>> then S RDF(1.2)-entails (in symmetric RDF):
>>>
>>> <<(xxx yyy zzz)>> rdf:type rdf:Proposition .
>>> <<(xxx yyy zzz)>> rdf:propositionSubject xxx .
>>> <<(xxx yyy zzz)>> rdf:propositionPredicate yyy .
>>> <<(xxx yyy zzz)>> rdf:propositionObject zzz .
>>>
>>> Then define:
>>>
>>> rdf:propositionPredicate rdfs:range rdf:Property .
>>>
>>> To make yyy a property. (Which I think makes sense, even though
>>> weird triple terms misusing e.g. classes as properties would have
>>> weird consequences.)
>>>
>>>
>>
>> It is a little bit more complicated because of the nesting. We could have
>>
>> :a :b <<( :s :p <<( :x :y :z )>> )>>.
>>
>> we would want to derive that
>>
>> :y a rdf:Property.
>>
>> But that could still be done with a detailed version of Enrico’s
>> "triple structure appears in“ notation. We could still get your triples.
>>
>> Another problem I see with your approach here is that we depend on
>> RDFS while the properties are already derived in RDF and I assume
>> that we want to keep it that way.
>>
>> Another question is whether or not we want the proposition subject,
>> predicate and object, but they could serve the purpose.
>>
>> Kind regards,
>> Dörthe
>>
>>
>>
>
Received on Wednesday, 8 January 2025 17:27:18 UTC