Re: use of multi-valued rdf:reifies removes ability to annotate individual triple-patterns

This modelling issue is not specific to :reifies.

Consider

:a :source :x .
:b :source :x .
:x :publication "NYT" .

This says that :a and :b have the same :source, whatever that means.  If you 
later want to add more information about :source, for example :year, then you 
can't put different :years for this :source.   You have to either have the 
same :year or make a change to something like:

:a :source :x .
:b :source :y .
:x :publication "NYT" .
:x :year 2023 .
:y :publication "NYT" .
:y :year 2022.

This says that :a and :b have the same value for the :date.

peter


On 4/14/24 14:37, Souripriya Das wrote:
> A shortcoming of using multi-valued rdf:reifies is that you lose the ability 
> to add statements about the individual triple-terms. I have tried illustrating 
> this with the following simple examples.
> 
> Example 1: using multi-valued rdf:reifies
> =========
> :e rdf:reifies <<( :s1 :p1 :o1 )>>, <<( :s2 :p2 :o2 )>> ; :source :src1 ; 
> :year 2023 .
> :f rdf:reifies <<( :s1 :p1 :o1 )>>, <<( :s3 :p3 :o3 )>> ; :source :src2 ; 
> :year 2024 .
> 
> What if we want to indicate that the <<(: s1 :p1 :o1 )>> triple-term in :e has 
> a different :month annotation than the one in :f? The following does not help 
> because we cannot specify that the one in :e is associated with :g and the one 
> in :f is associated with :h.
> 
> :g rdf:reifies <<( :s1 :p1 :o1 )>> ; :month 5 .
> :h rdf:reifies <<( :s1 :p1 :o1 )>> ; :month  12 .
> 
> Example 2: using single-valued rdf:reifies, along with rdfs:member (or some 
> similar) property
> =========
> 
> :e1 rdf:reifies <<( :s1 :p1 :o1 )>> .
> :e2 rdf:reifies <<( :s2 :p2 :o2 )>> .
> :e rdfs:member :e1, :e2 ; :source :src1 ; :year 2023 .
> 
> :f1 rdf:reifies <<( :s1 :p1 :o1 )>> .
> :f2 rdf:reifies <<( :s2 :p2 :o2 )>> .
> :f rdfs:member :f1, :f2 ; :source :src2 ; :year 2024 .
> 
> This is a multi-level structure that, although more verbose, allows 
> annotations at each level. So, the following achieves the objective.
> 
> :e1 :month 5 .
> :f1 :month 12 .
> 
> The second approach – using single-valued rdf:reifies and rdfs:member – 
>   allows one to use a uniform way to create multi-level structures (e.g., a 
> document with levels: chapter -> section-> paragraph -> sentence).
> 
> Thanks,
> Souri.
> 
> 
> 
> 

Received on Sunday, 14 April 2024 21:17:08 UTC