- From: Anthony Moretti <anthony.moretti@gmail.com>
- Date: Fri, 31 Dec 2021 15:47:45 +1030
- To: Fabio Vitali <fabio.vitali@unibo.it>
- Cc: thomas lörtsch <tl@rat.io>, Laufer <carlos.laufer@gmail.com>, "public-rdf-star@w3.org" <public-rdf-star@w3.org>
- Message-ID: <CACusdfSHGfoycLr7ei+P-1wAzQVAtGMhYx7V-3i7psXVm6SOBg@mail.gmail.com>
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