Re: multisets everywhere

Earlier Fabio wrote:

> All these contexts are used to create assertions that have the
> non-absolute statement as subject, and express conditions for their truth.
> Thus for instance:
>
> <<:napoleon :role :emperor>>
>         temporal:start "1804-05-18"^^xsd:Date;
>         temporal:end "1814-04-06"^^xsd:Date;
>         jurisdiction:country :FirstFrenchEmpire;
>         confidence:confidence "1.0".
>
> << :dihydrogen-monoxide :form :solid >>
>         physical:highTemp :0Centigrade.
>
> << :dihydrogen-monoxide rdfs:label "ice" >>
>         physical:highTemp :0Centigrade.
>
> << :dihydrogen-monoxide :form :liquid >>
>         physical:lowTemp  :0Centigrade;
>         physical:highTemp :100Centigrade;
>         physical:pressure :1atm.
>
> << :dihydrogen-monoxide rdfs:label "water" >>
>         physical:lowTemp  :0Centigrade;
>         physical:highTemp :100Centigrade;
>         physical:pressure :1atm.
>
> << :dihydrogen-monoxide :form :gas >>
>         physical:lowTemp  :100Centigrade.
>
> << :dihydrogen-monoxide rdfs:label "steam" >>
>         physical:lowTemp  :100Centigrade.

...

> GRAPH :ice {
>         :dihydrogen-monoxide :form :solid .
>         :dihydrogen-monoxide rdfs:label "ice" .
> }


> GRAPH :water {
>         :dihydrogen-monoxide :form :liquid.
>         :dihydrogen-monoxide rdfs:label "water".
> }


> GRAPH :steam {
>         :dihydrogen-monoxide :form :gas.
>         :dihydrogen-monoxide rdfs:label "steam".
> }



:ice   physical:highTemp :0Centigrade.
> :water physical:lowTemp  :0Centigrade;
> :water physical:highTemp :100Centigrade;
> :water physical:pressure :1atm.
> :steam physical:lowTemp  :100Centigrade.


> The problem is that named graphs give me no distinction between containers
> of absolute statements and containers of non.absolute ones. How I wish
> there was a symmetry between individual triples (rdf-star vs. rdf triples)
> and named graphs...


Hi Fabio, I think I see what you're doing now, forgive my mistake before.
You're using unasserted triples "<<>>" because you're trying to say those
triples should only be asserted within a certain context.

Using the pattern I've been describing, my attempt at restructuring these
(using pseudocode) would be something like:

:Napoleon :role :Emperor "1804-05-18"^^xsd:Date "1814-04-06"^^xsd:Date
:FirstFrenchEmpire

{
  :DihydrogenMonoxide :form :Solid,
  :DihydrogenMonoxide rdfs:label "Ice",
} _ _ _
  {
    physical:temperatureRange-C [_, 0],
  }

{
  :DihydrogenMonoxide :form :Liquid,
  :DihydrogenMonoxide rdfs:label "Water",
} _ _ _
  {
    physical:temperatureRange-C [0, 100],
    physical:pressure-Atm :1,
  }

{
  :DihydrogenMonoxide :form :Gas,
  :DihydrogenMonoxide rdfs:label "Steam",
} _ _ _
  {
    physical:temperatureRange-C [100, _],
  }

The "_ _ _" probably isn't even necessary, but I'll go with it for now. If
you wanted to add metadata it'd be put in the second set of annotations and
they'd be about the entire preceding statement:

{
  :DihydrogenMonoxide :form :Gas,
  :DihydrogenMonoxide rdfs:label "Steam",
} _ _ _
  {
    physical:temperatureRange-C [100, _],
  }
  {
    :statedIn :Wikipedia,
  }

Doing things like this I don't think you'd need to use "<<>>" unless you
were trying to say "this isn't being asserted at all in any context".

Regards
Anthony


On Tue, Dec 21, 2021 at 8:42 PM Fabio Vitali <fabio.vitali@unibo.it> wrote:

> Hello,
>
> >  - Start time (assumption if blank: unbounded)
> >  - End time (assumption if blank: unbounded)
> >  - Location (assumption if blank: unbounded)
> >  - Certainty (assumption if blank: 1.0)
> >
>
> In my research team we call them contexts, i.e., conditions that make true
> a non-absolute statement. We have identified at least seven contexts:
>
> - Temporal context (a temporal interval within which the statement is
> true);
> - Spatial context (or, better, jurisdictional context, which allows us to
> distinguish between, say, the Roman Empire, the Church State, the Italian
> Kingdom and the current Italian Republic, all of which share at least in
> part the same location;
> - Part-whole context (e..g. when recording facts about individual pages of
> a ancient manuscript, then creation date, author and ownership apply to the
> whole book, and not individual pages);
> - Object-subject context: e.g. when recording facts about a depiction,
> i.e. a painting or a photograph, being able to distinguish facts about the
> painting vs. about the subject of the painting (pretty tricky when you have
> a painting of a painting, or even a photograph of a painting of a painting,
> ecc.);
> - Provenance context (when you have competing and reciprocally
> incompatible statements from different sources);
> - Confidence context (when you yourself are considering different and
> reciprocally incompatible statements with different degrees of confidence
> about their truth);
> - Physical context (wee later for an example).
>
> All these contexts are used to create assertions that have the
> non-absolute statement as subject, and express conditions for their truth.
> Thus for instance:
>
> <<:napoleon :role :emperor>>
>         temporal:start "1804-05-18"^^xsd:Date;
>         temporal:end "1814-04-06"^^xsd:Date;
>         jurisdiction:country :FirstFrenchEmpire;
>         confidence:confidence "1.0".
>
> << :dihydrogen-monoxide :form :solid >>
>         physical:highTemp :0Centigrade.
>
> << :dihydrogen-monoxide rdfs:label "ice" >>
>         physical:highTemp :0Centigrade.
>
> << :dihydrogen-monoxide :form :liquid >>
>         physical:lowTemp  :0Centigrade;
>         physical:highTemp :100Centigrade;
>         physical:pressure :1atm.
>
> << :dihydrogen-monoxide rdfs:label "water" >>
>         physical:lowTemp  :0Centigrade;
>         physical:highTemp :100Centigrade;
>         physical:pressure :1atm.
>
> << :dihydrogen-monoxide :form :gas >>
>         physical:lowTemp  :100Centigrade.
>
> << :dihydrogen-monoxide rdfs:label "steam" >>
>         physical:lowTemp  :100Centigrade.
>
> I find this approach much cleaner and easier to explain to domain experts
> than requiring them to create an instance of an n-ary relationship relying
> on some abstract concept, or to invent a new OWL class which is a subclass
> of some other class, etc. The list can be further and easily expanded to
> other contexts, if and when we find out we need them.
>
> Having rdf-star statements available is extremely important because it
> allows to clearly separate non-absolute statements (that are only true
> within a given context) from absolute statements (that do not need contexts
> to be true). And for this purpose, rdf-star is simply perfect: rdf-star
> triples are non-absolute statements, and plain RDF triples are absolute
> statements.
>
> My only problem, as you can see, is that sometimes we need to collect
> multiple individual statements and associate them to the same context.
>
> For instance, I want to associate both the form :liquid and the label
> "water" for the compound :dihydrogen-monoxyde to the conditions "physical
> temperature between 0 and 100 Centigrades and pressure 1 atmosphere". Right
> now I had to duplicate the conditions to each of the two non-absolute
> statements.
>
> I wish there was a construct in RDF that acts sort of like a... like a
> container of individual triples! This container could then become the
> subject of our contexts. Ideally such container would allow us to
> distinguish between non-absolute statements (that are only true within a
> given context) from absolute statements (that do not need contexts to be
> true).
>
> Oh wait: but one such structure exists in RDF 1.1, it is called named
> graph, and it provides everything that I need except the distinction
> between non-absolute and absolute statements!
>
> GRAPH :ice {
>         :dihydrogen-monoxide :form :solid .
>         :dihydrogen-monoxide rdfs:label "ice" .
> }
>
> GRAPH :water {
>         :dihydrogen-monoxide :form :liquid.
>         :dihydrogen-monoxide rdfs:label "water".
> }
>
> GRAPH :steam {
>         :dihydrogen-monoxide :form :gas.
>         :dihydrogen-monoxide rdfs:label "steam".
> }
>
> :ice   physical:highTemp :0Centigrade.
> :water physical:lowTemp  :0Centigrade;
> :water physical:highTemp :100Centigrade;
> :water physical:pressure :1atm.
> :steam physical:lowTemp  :100Centigrade.
>
> The problem is that named graphs give me no distinction between containers
> of absolute statements and containers of non.absolute ones. How I wish
> there was a symmetry between individual triples (rdf-star vs. rdf triples)
> and named graphs...
>
> Ciao
>
> Fabio
>
> --
>
> > More generally, basic temporal logic says that the bounds on any event
> are the bounds for its subevents and the subevents can be explicitly
> bounded further. If statements represent relationships and relationships
> are events then the statement is a subevent of the existence event of both
> the subject and object, therefore any statement can leave those positions
> blank but still have bounds, temporal and spatial.
> >
> >
> > > The positions can be left blank if
> > >current assumptions are maintained so that would probably mean most
> > >statements can be left untouched, and if the assumptions are different
> for
> > >the entire graph they could be stated at the graph level.
> >
> > I don't understand. If they can be left blank and consequently not
> asserted, how are they defaults?
> >
> > Any reasoner would assume "unbounded" if no values are provided.
> >
> >
> > >Better to start from a principled approach and then see how hard it has
> to
> > >> be tweaked to arrive at a practical solution, accomodate corner cases
> etc.
> > >>
> > >
> > >Feel like that's what I'm doing, haha.
> >
> > If you propose to solve a problem that I describe as a very general one
> by some examples of seemingly common cases you narrow the scope. That
> narrowing has to be well understood. Maybe my perspective clouds my
> judgement but my feeling is that your proposal narrows the scope in quite
> ad hoc ways that might solve the problem for some special cases (and even
> there I have my doubts as mentioned above) but leaves a lot or most of them
> (even equally general ones like authorship) unresolved.
> >
> > If I'm understanding you correctly, I agree that a referentially opaque
> relation such as "statementOf" is still needed for provenance use cases
> etc., is that what you mean when you're talking about authorship? But the
> need for a referentially transparent relation, and the subsequent confusion
> that ensues, would be greatly reduced if statements could have start and
> end time positions.
> >
> > It also addresses the multiset problem because statements with the same
> subject, object and relation but different start and end times etc. are
> different statements.
> >
> > Regards
> > Anthony
> >
>
>

Received on Friday, 31 December 2021 04:37:49 UTC