- From: Anthony Moretti <anthony.moretti@gmail.com>
- Date: Sat, 8 Jan 2022 20:10:14 +1030
- To: public-rdf-star@w3.org
- Message-ID: <CACusdfQHwPtEWWDGdki927yccMFQz_1nc6uj-bME682x8hNA7w@mail.gmail.com>
Hi I thought I'd put the ideas I shared during the longer discussion in one place to make it easier for people to read and give feedback. I love what's been achieved so far, I just want whatever is released to be the best possible thing that could be released. I'm not certain of any of the things in this email, they're just ideas. Any feedback at all is welcome and appreciated, even as little as "+1" or "-1". Summary: 1. Optional time, space, and certainty positions. 2. Separating additional data from metadata. 3. Simple, compound, and complex statements. - - - *1. Optional time, space, and certainty positions* We exist in time and space, and this type of modeling could possibly be easier. A statement would have four optional positions, leaving the time and space positions blank would mean "unbounded", and leaving the last position blank would mean 1.0: Subject Relation Object T1 T2 SpatialBound Certainty Examples: :RichardB :marriedTo :LizT 1964 1974 :RichardB :marriedTo :LizT 1975 1976 :BigMac :price-USD 7.30 T1 T2 :Switzerland :BigMac :price-USD 1.62 T1 T2 :India If anybody has worked with temporal databases they might see an analogy with "valid times". By extension, the spatial bound could be thought of as a "valid place". *2. Separating additional data from metadata* This would remove a lot of ambiguity and creates a clear order of assertion. It also seems to match the Wikidata data model. Example: :LizT :starredIn :JaneEyre { :role :HelenBurns, :pay-USD 10000, } {| :statedBy :Bob, :statedIn :Wikipedia, |} *3. Simple, compound, and complex statements* Taking inspiration from linguistics, there could be four different types of statements: 1. Simple statement 2. Compound statement 3. Complex statement 4. Compound-complex statement Simple statement (binary relationship): S R O T1 T2 SB C Compound statement (graph): { S R O T1 T2 SB C, S R O T1 T2 SB C, S R O T1 T2 SB C, } T1 T2 SB C Complex statement (n-ary relationship): S R O T1 T2 SB C { R O T1 T2 SB C, R O T1 T2 SB C, } Compound-complex statement (n-ary relationship): { S R O T1 T2 SB C, S R O T1 T2 SB C, S R O T1 T2 SB C, } T1 T2 SB C { R O T1 T2 SB C, R O T1 T2 SB C, } This creates consistency, and makes it easy to reason about the temporal/spatial validity of any graph. The existing RDF-Star "<<" and ">>" delimiters could be applied to statements of any type to say that a statement was "neutrally asserted", as I think Pat has described it before. Maybe for completeness, and based on something Pat published, other delimiters could be created that would mean "negatively asserted", something like "<!" and "!>" for example. The existing RDF-Star "{|" and "|}" delimiters could be applied to statements of any type to add metadata. The example in Section 2 of this email is an example of a complex statement with metadata. And I'm not sure, but it seems that nesting statements could be a general solution to contexts, the deepest nested statements would be in the most specific contexts. I haven't examined it properly though. If you've made it here thanks for reading! If you need more examples please ask and I'll do my best. I love everything done so far, I just want to bounce around these additional ideas with the hope that they're constructive. Please reply with any feedback at all, good and bad, it's all welcome! Regards Anthony
Received on Saturday, 8 January 2022 09:40:39 UTC