Re: OWL and RDF lists

Essentially, if you want to keep to the spirit of OWL design (in 
particular decidability), then you run into foundational problems.

See

Aaron Eberhart, David Carral, Pascal Hitzler, Hilmar Lapp, Sebastian 
Rudolph, Seed Patterns for Modeling Trees. In: Eva Blomqvist, Torsten 
Hahmann, Karl Hammar, Pascal Hitzler, Rinke Hoekstra, Raghava Mutharaju, 
Maria Poveda, Cogan Shimizu, Martin Skjaeveland, Monika Solanki, Vojtech 
Svatek, Lu Zhou (eds.), Advances in Pattern-based Ontology Engineering. 
Studies on the Semantic Web 51, IOS Press, Amsterdam, 2021, pp. 48-67.
https://people.cs.ksu.edu/~hitzler/pub2/2021-trees.pdf

- section 3, just keeping in mind that lists are special cases of trees.

Of course one can ask whether this strong emphasis on decidability is 
good or bad (or perhaps more astutely: for what is it good, for what is 
it bad) - but it explains why there are problems with list axiomatizations.

As mentioned, by Paula, there are good workarounds, even for those whose 
use case requires OWL reasoning (see the same paper).

Pascal.

On 8/30/2022 10:46 AM, Paula Gearon wrote:
> It would also be really nice to understand if there is a fundamental 
> reason for this limitation in OWL. I believe this is to help distinguish 
> the ABox from the TBox. I realize you know this, but I'll set it out for 
> clarity: ‍ ‍ ‍ ‍ ‍ ‍ ‍ ‍ ‍ ‍ ‍
> ZjQcmQRYFpfptBannerStart
> CAUTION: This Message Is From an External Sender
> Exercise caution when opening attachments or clicking links.
> ZjQcmQRYFpfptBannerEnd
> 
>     It would also be really nice to understand if there is a fundamental
>     reason for this limitation in OWL.
> 
> 
> I believe this is to help distinguish the ABox from the TBox.
> 
> I realize you know this, but I'll set it out for clarity:
> OWL is expressed in RDF using collections (owl:intersectionOf, 
> owl:unionOf, owl:oneOf, etc). If the rdf: namespace can be referenced in 
> OWL, then it becomes difficult for a reasoner to know the difference 
> between lists that are part of the ABox, which should be processed, and 
> the TBox, which shouldn't be. It may be possible for a reasoner to use 
> some analysis to identify triples that appear in the TBox and ignore 
> those, but it still gets difficult to do queries across a large ABox and 
> filter these out.
> 
> In practice, there can be workarounds for this, such as keeping the TBox 
> in a separate graph, but that sort of thing is not considered in the 
> standards.
> 
> If OWL collections had been done with predicates in the owl: namespace, 
> then this would have provided a solution, but that would not have worked 
> with any of the serialization formats. And OWL needs a list structure in 
> order to keep collections closed.
> 
> Paula
> 
> On Fri, Aug 12, 2022 at 8:31 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://urldefense.com/v3/__https://en.wikipedia.org/wiki/Flag_of_France__;!!On18fmf1aQ!06Z6U-EKPxst0PS7fw2HBJ0DHSBRVULd-CUBAJr1xi6aheKj7_CXbqbRzS12hADilU_IpIC1BN7YJyeNq1qkZA$>>
>     :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://urldefense.com/v3/__https://fhircat.github.io/fhir-rdf-playground/?axes=rdvCh&manifestURL=https:**Agist.githubusercontent.com*ericprud*8e53eef196ccdc2c43f40238fdd06691*raw*224261f5055a3980acd79570fe5caeaf4a4b2d84*osteo-manifest.json__;Ly8vLy8vLw!!On18fmf1aQ!06Z6U-EKPxst0PS7fw2HBJ0DHSBRVULd-CUBAJr1xi6aheKj7_CXbqbRzS12hADilU_IpIC1BN7YJycinofNig$>
>      >
>      >
>      > 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://urldefense.com/v3/__https://www.w3.org/TR/rdf-primer/*collections__;Iw!!On18fmf1aQ!06Z6U-EKPxst0PS7fw2HBJ0DHSBRVULd-CUBAJr1xi6aheKj7_CXbqbRzS12hADilU_IpIC1BN7YJydQaxSlQA$>
>      > ² https://github.com/w3c/sparql-12/issues/46
>     <https://urldefense.com/v3/__https://github.com/w3c/sparql-12/issues/46__;!!On18fmf1aQ!06Z6U-EKPxst0PS7fw2HBJ0DHSBRVULd-CUBAJr1xi6aheKj7_CXbqbRzS12hADilU_IpIC1BN7YJyft4vYunQ$>
>      > ³
>     https://www.w3.org/TR/json-ld11/#example-82-specifying-that-a-collection-is-ordered-in-the-context
>     <https://urldefense.com/v3/__https://www.w3.org/TR/json-ld11/*example-82-specifying-that-a-collection-is-ordered-in-the-context__;Iw!!On18fmf1aQ!06Z6U-EKPxst0PS7fw2HBJ0DHSBRVULd-CUBAJr1xi6aheKj7_CXbqbRzS12hADilU_IpIC1BN7YJyd_KD6xyg$>
>      > ⁴
>     https://gist.github.com/balhoff/62fb8f2c1e29bc0d4d27c3df0d005154
>     <https://urldefense.com/v3/__https://gist.github.com/balhoff/62fb8f2c1e29bc0d4d27c3df0d005154__;!!On18fmf1aQ!06Z6U-EKPxst0PS7fw2HBJ0DHSBRVULd-CUBAJr1xi6aheKj7_CXbqbRzS12hADilU_IpIC1BN7YJycNRNtX8w$>
>      > ⁵ https://fhircat.github.io/fhir-rdf-playground/
>     <https://urldefense.com/v3/__https://fhircat.github.io/fhir-rdf-playground/__;!!On18fmf1aQ!06Z6U-EKPxst0PS7fw2HBJ0DHSBRVULd-CUBAJr1xi6aheKj7_CXbqbRzS12hADilU_IpIC1BN7YJyfeoqaS8A$>
>      > ⁶ https://github.com/BD2KOnFHIR/BLENDINGFHIRandRDF
>     <https://urldefense.com/v3/__https://github.com/BD2KOnFHIR/BLENDINGFHIRandRDF__;!!On18fmf1aQ!06Z6U-EKPxst0PS7fw2HBJ0DHSBRVULd-CUBAJr1xi6aheKj7_CXbqbRzS12hADilU_IpIC1BN7YJycf1Gs1tg$>
>      >
> 

-- 
Pascal Hitzler
Lloyd T. Smith Creativity in Engineering Chair
Director, Center for AI and Data Science
Kansas State University   http://www.pascal-hitzler.de
http://www.daselab.org    http://www.semantic-web-journal.net

Received on Tuesday, 30 August 2022 16:08:23 UTC