- From: Holger Knublauch <holger@topquadrant.com>
- Date: Tue, 16 Aug 2022 20:59:22 +0200
- To: David Booth <david@dbooth.org>
- Cc: semantic-web@w3.org
- Message-Id: <862DA222-E1FD-4370-BE24-F65730FC681C@topquadrant.com>
> On 16 Aug 2022, at 8:20 pm, David Booth <david@dbooth.org> wrote: > > On 8/16/22 12:56, Holger Knublauch wrote: >> A next generation of RDF(-star) can hopefully get rid of rdf:Lists through reification with an index property. > > That sounds surprising, given the widespread dislike of reification. Do you have a pointer to an explanation? I mean RDF-star-type reification, which would allow values to be just normal triples, plus an index for the ordering. ex:Parent ex:child ex:Child1 {| rdf:index 0 |} ; ex:child ex:Child2 {| rdf:index 1 |} ; ex:child ex:Child3 {| rdf:index 2 |} ... would be the RDF-star annotation syntax, see https://w3c.github.io/rdf-star/cg-spec/editors_draft.html#annotation-syntax <https://w3c.github.io/rdf-star/cg-spec/editors_draft.html#annotation-syntax> While queries that don't care about the order can just be ex:Parent ex:child ?child. We support something like that in TopBraid already, using a property called dash:index, e.g. when users run a GraphQL query. Serializations like Turtle could provide a more user friendly syntax such as ex:Parent ex:child [[ ex:Child1, ex:Child2, ex:Child3 ]] ... or whatever. Every approach has some downsides though. Holger > > Incidentally, I personally think RDF should natively support lists, which David Wood and James Leigh proposed at the 2009 W3C RDF Next Steps workshop: > https://www.w3.org/2009/12/rdf-ws/papers/ws14 > > David Booth > >> Holger >>> On 16 Aug 2022, at 6:45 pm, Enrico Daga <enricodaga@gmail.com <mailto:enricodaga@gmail.com>> wrote: >>> >>> Hi all, >>> >>> I just stumbled upon this thread. Last year I co-authored a paper that analysed the impact of alternative design patterns for lists on the efficiency of list-relevant operations in SPARQL. OWL was not a topic of the paper, although we also considered OWL-compliant solutions, in the analysis. One conclusion was that the rdf:List model was very inefficient for many of the operations, and managing indexing in properties or using container membership properties was generally preferable. I am aware this goes against the OWL requirements but drop the ball nevertheless, in case this is useful. The article is [1]. >>> >>> Best wishes >>> >>> Enrico >>> >>> >>> [1] Daga, Enrico, Albert Meroño-Peñuela, and Enrico Motta. "Sequential linked data: The state of affairs." /Semantic Web/ Preprint (2021): 1-36. >>> -- >>> Enrico Daga >>> http://about.me/enridaga <http://about.me/enridaga> >>> >>> >>> On Mon, 15 Aug 2022 at 19:02, Balhoff, Jim <balhoff@renci.org <mailto:balhoff@renci.org>> wrote: >>> >>> I proposed a change to OWL API that would allow parsing certain >>> lists into Abox axioms: https://github.com/owlcs/owlapi/pull/1074 >>> <https://github.com/owlcs/owlapi/pull/1074> >>> >>> This would only be active if the ontology is specifically using >>> the RDF list predicates as object properties. That change would be >>> helpful for loading the proposed FHIR data model into Protégé and >>> then being able to access items in lists (assuming that OWL API >>> version makes its way into Protégé). >>> >>> I think outside of Protégé/OWL API, dealing with list data might >>> not be as much of a problem, like if using an RDF rule engine to >>> make inferences. >>> >>>> On Aug 12, 2022, at 8:25 AM, Eric Prud'hommeaux <eric@w3.org >>>> <mailto:eric@w3.org>> wrote: >>>> >>>> Molstly protégé, and other OWL-capable tools like StarDog. I'd >>>> like to >>>> figure out for FHIR whether to use RDF lists, but I think it's >>>> important for the SemWeb as a whole to solve this. As it stands, it >>>> looks like one should never use RDF lists. >>>> >>>> Given that way more RDF data processing happens with SPARQL than with >>>> OWL, and SPARQL *can* access lists (albeit awkwardly), it sounds >>>> crazy >>>> to forgo using lists just because someone someday might want to >>>> do OWL >>>> inference over the entities in the list. Voilà the dilema. >>>> >>>> It would also be really nice to understand if there is a fundamental >>>> reason for this limitation in OWL. I beleieve that Jim's research >>>> shows that at least OWL-API can be updated to allow lists. If this is >>>> the case, and this can be replicated in other OWL implementations, >>>> then perhaps the answer is a period of civil disobedience where folks >>>> violate the spec, use tools that support that violation, and >>>> eventually update the OWL spec. This interim solution could be made >>>> official with an OWL 1.1. errata stating that rdf:first/rest *can* be >>>> used in axioms. >>>> >>>> >>>> On Thu, Aug 11, 2022 at 08:47:27PM +0000, Mark Wallace wrote: >>>>> Eric, are you looking for a solution that runs Within protege? >>>>> Within a triple store? >>>>> >>>>> ________________________________ >>>>> From: Eric Prud'hommeaux <eric@w3.org <mailto:eric@w3.org>> >>>>> Sent: Thursday, August 11, 2022 8:26 AM >>>>> To: semantic-web@w3.org <mailto:semantic-web@w3.org> >>>>> <semantic-web@w3.org <mailto:semantic-web@w3.org>> >>>>> Cc: Jim Balhoff <balhoff@renci.org <mailto:balhoff@renci.org>>; >>>>> dbooth@dbooth.org <mailto:dbooth@dbooth.org> <dbooth@dbooth.org >>>>> <mailto:dbooth@dbooth.org>> >>>>> Subject: OWL and RDF lists >>>>> >>>>> RDF lists (technically "collections" ¹) have terse abbreviations in >>>>> Turtle/SPARQL and a "ladder" representation as triples. >>>>> >>>>> <https://en.wikipedia.org/wiki/Flag_of_France >>>>> <https://en.wikipedia.org/wiki/Flag_of_France>> :orderedColors _:1 . >>>>> _:1 rdf:first "blue" . >>>>> _:1 rdf:rest _:2 . >>>>> _:2 rdf:first "white" . >>>>> _:2 rdf:rest _:3 . >>>>> _:3 rdf:first "red" . >>>>> _:3 rdf:rest rdf:nil . >>>>> >>>>> The SPARQL 1.2 WG is wrestling with lists ², and JSON-LD 1.1 has >>>>> added >>>>> support for them ³. OWL however, specifically disables them by >>>>> prohibiting inferences across predicates in the rdf: namespace à la >>>>> Jim Balhoff's example ⁴; >>>>> [[ >>>>> :contains rdf:type owl:ObjectProperty ; >>>>> owl:propertyChainAxiom ( rdf:rest :contains ) . >>>>> ]] >>>>> >>>>> FHIR is a set of models for clinical record. It has >>>>> representations in >>>>> XML, JSON and RDF. There's a playground ⁵ to explore alternatives >>>>> which illustrates alternatives, including whether to use >>>>> rdf:Collections (see button at top-right). With collections turned >>>>> off, we have to roll our own order (fhir:index 0, 1, 2...), which >>>>> kinda goes against RDF standards. >>>>> >>>>> I put together a gist which illustrates three observations we might >>>>> encounter in a patient's record. The codes for the first two >>>>> appear in >>>>> a SNOMED hieararchy you might query for evidence of bone density >>>>> loss >>>>> (clinical example, balancing corticosteroids against osteoporosis). >>>>> >>>>> https://fhircat.github.io/fhir-rdf-playground/?axes=rdvCh&manifestURL=https://gist.githubusercontent.com/ericprud/8e53eef196ccdc2c43f40238fdd06691/raw/224261f5055a3980acd79570fe5caeaf4a4b2d84/osteo-manifest.json >>>>> <https://fhircat.github.io/fhir-rdf-playground/?axes=rdvCh&manifestURL=https://gist.githubusercontent.com/ericprud/8e53eef196ccdc2c43f40238fdd06691/raw/224261f5055a3980acd79570fe5caeaf4a4b2d84/osteo-manifest.json> >>>>> >>>>> >>>>> Solbrig et al demonstrate how the SNOMED hierarchy can be used for >>>>> valuable clinical insights ⁶ *iff* we can work write OWL axioms >>>>> which >>>>> simultaneously access the SNOEMD hierarchy and the codes in the >>>>> paitent data. But as Jim demonstrated, that requires OWL axioms that >>>>> reference the forbidden rdf: namespace. >>>>> >>>>> Thoughts? Advice? >>>>> >>>>> >>>>> ¹ https://www.w3.org/TR/rdf-primer/#collections >>>>> <https://www.w3.org/TR/rdf-primer/#collections> >>>>> ² https://github.com/w3c/sparql-12/issues/46 >>>>> <https://github.com/w3c/sparql-12/issues/46> >>>>> ³ >>>>> https://www.w3.org/TR/json-ld11/#example-82-specifying-that-a-collection-is-ordered-in-the-context >>>>> <https://www.w3.org/TR/json-ld11/#example-82-specifying-that-a-collection-is-ordered-in-the-context> >>>>> ⁴ >>>>> https://gist.github.com/balhoff/62fb8f2c1e29bc0d4d27c3df0d005154 >>>>> <https://gist.github.com/balhoff/62fb8f2c1e29bc0d4d27c3df0d005154> >>>>> ⁵ https://fhircat.github.io/fhir-rdf-playground/ >>>>> <https://fhircat.github.io/fhir-rdf-playground/> >>>>> ⁶ https://github.com/BD2KOnFHIR/BLENDINGFHIRandRDF >>>>> <https://github.com/BD2KOnFHIR/BLENDINGFHIRandRDF> >>>>> >>> >
Received on Tuesday, 16 August 2022 18:59:39 UTC