Re: OWL and RDF lists

A next generation of RDF(-star) can hopefully get rid of rdf:Lists through reification with an index property.

Holger


> On 16 Aug 2022, at 6:45 pm, Enrico Daga <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 16:56:56 UTC