- From: Jos De Roo <josderoo@gmail.com>
- Date: Mon, 22 Apr 2024 17:21:14 +0200
- To: Franconi Enrico <franconi@inf.unibz.it>
- Cc: "Lassila, Ora" <ora@amazon.com>, "Peter F. Patel-Schneider" <pfpschneider@gmail.com>, "public-rdf-star-wg@w3.org" <public-rdf-star-wg@w3.org>, "Thompson, Bryan" <bryant@amazon.com>
- Message-ID: <CAJbsTZc7yzepfshPXntTjt0w829jPLr4d3a4w6LD6RZ5f4W_Tw@mail.gmail.com>
On Mon, Apr 22, 2024 at 5:11 PM Franconi Enrico <franconi@inf.unibz.it> wrote: > > > On 22 Apr 2024, at 16:53, Jos De Roo <josderoo@gmail.com> wrote: > > On Mon, Apr 22, 2024 at 4:18 PM Lassila, Ora <ora@amazon.com> wrote: > >> Peter, >> >> this is good. I have some questions/observations, though: >> >> Option #1: On some level, we could say those examples are not RDF graphs, >> but the question in my mind is about how easy/possible is it to detect >> those cases? Detecting that "abc" :b :c is not an RDF graph is trivial, but >> the reification case maybe not so much (at least there is a very different >> implementation burden). >> > > I gave it a try in eye and it is pretty straightforward to detect and > throw an exception. > For instance uncommenting line 9 or line 16 in > > https://github.com/eyereasoner/eye/blob/4c35d85322ecfe6c5a71e9e60a3cbfd964f7e9b3/reasoning/temp/edge.ttl > throws a malformed_edge_extra_reifies/3 exception. > > > Mmmhhh. > Let’s first try to understand via some examples what is “illegality” of > “multiple reification”. > > Is this graph illegal? I would say yes. > << :r | :a :b 42 >> :c :d . > << :r | :a :b 43 >> :c :d . > > Agreed > Is this graph illegal? I would say no. > << :r | :a :b _:x >> :c :d . > << :r | :a :b _:y >> :c :d . > > Can live with that and implement tonight > Is this graph illegal? I would say no. > << :r | :a :b :e >> :c :d . > << :r | :a :b :f >> :c :d . > > Is this graph illegal? I would say no. > << :r | :g :h :e >> :c :d . > << :r | :m :n :f >> :c :d . > > I see your point but have a hard time to implement that without owl:differentFrom Kind regards, Jos > —e. > > Option #3: Saying "can cause problems" is somewhat vague. Again, when do >> you find out that there is a problem? What if we have an implementation >> that simply refuses to ingest the "single reifier multiple triples" -style >> graph? That would be a different kind of problem than the :range example >> you give (ingestion vs. reasoning). >> >> I really would like to see how far we could take the idea of >> "well-formedness". I understand it may not be easy to formalize, but I am >> sure we could do better than what people say about pornography ("I cannot >> define it but I know it when I see it"). Implementations could accept >> non-well-formed graphs, or reject them. In case they do accept them, >> outcomes could be unpredictable (ranging from practically nothing to >> annoying or worse). People building systems that rely on predictable >> behavior on non-well-formed graphs would be "on their own". >> >> Ora >> >> >> On 4/22/24, 9:22 AM, "Peter F. Patel-Schneider" <pfpschneider@gmail.com >> <mailto:pfpschneider@gmail.com>> wrote: >> >> >> CAUTION: This email originated from outside of the organization. Do not >> click links or open attachments unless you can confirm the sender and know >> the content is safe. >> >> >> >> >> >> >> I would find it useful to have an enumeration of the possible stances with >> respect to multiple reification. I see four: >> >> >> 1/ Multiple reification is completely illegal so >> << :r | :a :b 42 >> :c :d . >> << :r | :a :b 43 >> :c :d . >> is not an RDF graph, just as >> "abc" :b :c . >> is not an RDF graph. >> >> >> 2/ Multiple reification is possible but something to be avoided, like >> :l rdf:first "abc" . >> :l rdf:first "def" . >> :l rdf:next rdf:nil . >> is a valid RDF graph but is to be avoided or similar to >> :age rdfs:range xsd:int . >> :liz :age "abc" . >> is a valid RDF graph but is to be avoided. That is, these graphs do not >> make >> sense for any purpose. >> >> >> 3/ Multiple reification is possible but can cause problems and thus >> should not >> be encouraged, like >> :r rdfs:subPropertyOf rdfs:subPropertyOf . >> :r rdfs:subPropertyOf rdfs:subClassOf . >> is a valid RDF graph but can cause problems or >> :age rdfs:range xsd:int . >> :liz :age :f . >> is a valid RDF graph but can cause problems. That is, anyone who creates >> these graphs should understand the consequences of what they are doing. >> >> >> 4/ Multiple reification is possible and has no negative connotations, like >> :liz :married :dick . >> :liz :married :eddie . >> is a valid RDF graph and has no problems as far as RDF is concerned. >> >> >> >> >> I have a preferred stance here, a stance I cannot live with, one I can >> live >> with, and one I am uncertain about. >> >> >> peter >> >> > -- https://josd.github.io > > >
Received on Monday, 22 April 2024 15:21:24 UTC