Re: multisets everywhere

And actually, that first one I'd probably simplify to:

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

Regards
Anthony


On Fri, Dec 31, 2021 at 3:07 PM Anthony Moretti <anthony.moretti@gmail.com>
wrote:

> 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 05:18:12 UTC