working out how to annotate triples from other graphs

Discussions in the semantics task force would benefit from a fully worked-out 
use case.   In the absence of working group approval of the use case process I 
decided to augment some existing annotation-related use cases.

I ran into some problems.  Suggestions on how to proceed are welcome.

peter




Use Cases Related to Annotation of Triples or Statements from other graphs

1.3.11 Annotation of statements from other named graphs and datasets

As a knowledge worker
I want to annotate statements from other named graphs and datasets where I 
might not even have write access so that I can make statements about 
statements on the web of data like about any other entity.

1.3.17.1 Annotations of triples that are not in the graph

I want to be able to annotate triples that are not in the graph
As an web user, I want to be able to annotate any triples, regardless of 
whether they are in the same graph or not. Then I can annotate triples in a 
graph elsewhere on the we

1.3.17.2 Annotations of triples where the triples are in another graph of the 
same RDF Dataset

As an information engineer, I want to be able to manage annotation triples 
separately from the data triples themselves. I wish to have a separategraph in 
the same RDF dataset. This will make data management more convenient - e.g. 
publishing without annotations; e.g. querying the data without the annotations 
visible.

1.3.17.3 Combination of RDF-star and graph-level metadata (named graphs)

I want to use an RDF-star triple to capture something like, e.g., "the graph 
denoted by IRI ex:mygraph contains the edge/triple (ex:Bob, foaf:knows, 
ex:Alice)."


Requirements:

- ability to precisely prepresent triples/statements in other graphs in the 
same dataset
- ability to precisely prepresent triples/statements in other graphs not in 
the same dataset
- ability to agument these representations with additional information


Proposed Representation:

- class for RDF graphs - annotation:RDFGraph
- relationship between RDF graphs and statings - annotation:contains
- relationship between statings and triples - annotation:stating_of
   - this is not required if triples are not unique
- relationships for source and date - annotation:source, annotation:date

Issues:

- need to stand off from quoted triples because of uniqueness
   - solvable
- how to distinguish between blank nodes in the graph where the 
triples/statements are
   - suggestions welcome



Example:

RDF Graph ex:g1
ex:Bob foaf:knows ex:Alice .
ex:Bob foaf:knows _:a .
   _:a foaf:name "Carol" .
ex:Bob foaf:knows _:b .
   _:b foaf:name "Ted" .
  ex:Bob foaf:knows _:c .
   _:c foaf:name "Ted" .

RDF Graph ex:g2
ex:Bob foaf:knows ex:Alice .
ex:Bob foaf:knows _:a .
   _:a foaf:name "Carol" .
ex:Bob foaf:knows _:b .
   _:a foaf:name "Theodore" .
ex:Bob foaf:knows _:c .
   _:a foaf:name "Ted" .

RDF Graph ex:annotations
ex:g1 rdf:type annotation:RDFGraph .
ex:g1 annotation:contains [ annotation:stating_of << ex:Bob foaf:knows 
ex:Alice >> ;
       annotation:source ex:nyt ;
         annotation:date "2022-09-09"^^xsd:date ] .
ex:g1 annotation:contains [ annotation:stating_of << ex:Bob foaf:knows _:b >> ;
          annotation:source ex:nyt ;
         annotation:date "2022-09-10"^^xsd:date ] .
ex:g1 annotation:contains [ annotation:stating_of << ex:Bob foaf:knows _:c >> ;
              annotation:source ex:nyt ;
         annotation:date "2022-09-11"^^xsd:date ] .
ex:g2 rdf:type annotation:RDFGraph .
ex:g2 annotation:contains [ annotation:stating_of << ex:Bob foaf:knows 
ex:Alice >> ;
              annotation:source ex:wp ;
         annotation:date "2022-09-09"^^xsd:date ] .
ex:g2 annotation:contains [ annotation:stating_of << ex:Bob foaf:knows _:a >> ;
              annotation:source ex:wp ;
         annotation:date "2022-09-12"^^xsd:date ] .
ex:g2 annotation:contains [ annotation:stating_of << ex:Bob foaf:knows _:c >> ;
              annotation:source ex:wp ;
         annotation:date "2022-09-13"^^xsd:date ] .

Consequences

What are the desired consequences and non-consequences?
- suggestions welcome

Received on Friday, 7 April 2023 18:36:30 UTC