See also: IRC log
https://lists.w3.org/Archives/Public/www-archive/2016May/att-0007/RDF_ShEx.pdf
harold: We are incorporating the ShEx into the FHIR build. For example; http://hl7-fhir.github.io/allergyintolerance-
examples.html
scribe: Grahame is working on a
scala-based ShEx validator.
... I am encouraging EricP to put up his validator online also,
but he has not yet.
... Our primary goal is to represent FHIR data in RDF.
... slide 4 shows the FHIR allergyintolerance example
... slide 5. The group decided not to use RDF Lists, but
instead use a set of bnode elements, each with a fhir:index
.
... This mean that we needed to add this to every element that
we find, because ordering may be significant in FHIR, so we
need to retain the ordering in FHIR RDF.
... Because an identifier can occur multiple times, we need an
index on it.
... Should we require an index if there is only one in the
data?
... slide 6: because of extensibility we don't directly use the
XSD types except in the fhir:value properties. This causes
everything in FHIR to end up as a bnode.
... Because all FHIR properties allow extensions, and
extensions can be of any time, this effectively allows any
property to contain any type.
... FHIR has datatypes and primitive datatypes. @id is a
primitive datatype, which grounds in an XSD type.
... For us to validate any bit of FHIR schema, we need all of
the definitions to fit the schema reference, directly or
indirectly.
... So if the schema references a fhir boolean, then the shape
needs to include it.
... slide 7: _code shows up as xs:string+ in XML, but I suspect
that is a mistake.
... For ShEx I used the XML type definitions, but removed the
"+" and a few other changes.
... Slide 7 shows the valueString as type xs:token, but slide 8
generated this as an xs:token. But you can put in non-tokens
also, like something with a space.
... We either need a special rule saying that a code is not
really a token, or we shoudl put in a third entry along with
the XML and JSON types, for the RDF type.
... Slide 9 I need to parse the JSON list of types to an OR
expression in ShEx.
... Slide 10: I also want to represent URIs as URIs in RDF,
rather than as strings of type anyURI.
... Slide 11: 'a sct:34206005' should not be there.
dbooth: Agreed. I spoke to Grahame about that on Friday in Montreal, and he fixed it.
ISSUE: Concept code URI: Should we have one? What should it be?
<trackbot> Created ISSUE-25 - Concept code uri: should we have one? what should it be?. Please complete additional details at <http://www.w3.org/2014/HCLS/track/issues/25/edit>.
harold: We renamed fhir:reference
to fhir:link, but it isn't in Grahame's code.
... Slide 13, two things: 1. Represent the URI as an RDF URI
instead of as a string. 2. How would multiple identifiers be
represented?
dbooth: Maybe an additional blank node is missing.
harold: slide 14, still need to
decide whether the type arc on a reference is
required/optional/forbidden.
... And about @<Patient>, we'll end up having only one
fire ShEX schema.
... So we need to think about what to do about that fhir:link
-- pull the @ off and just say that it is an IRI, or what.
ISSUE: What should the fhir:link target be in the ShEx?
<trackbot> Created ISSUE-26 - What should the fhir:link target be in the shex?. Please complete additional details at <http://www.w3.org/2014/HCLS/track/issues/26/edit>.
harold: When I make the changes
described here, I'm able to validate AllergyIntolerance from
the FHIR github.
... The Shex demo has a butten that say 'closed shapes' --
lower right of https://www.w3.org/2013/ShEx/FancyShExDemo
... YOu need to check that. Should we put the word "closed" in
the shapes definitions themselve?
... Main next step with Grahame is primitive types.
... I think it will be cleaner to define and RDF primitive
type, like what was done for XML and JSON.
<scribe> ACTION: Harold to add his proposed fixes to his slides [recorded in http://www.w3.org/2016/05/17-hcls-minutes.html#action01]
<trackbot> Created ACTION-55 - Add his proposed fixes to his slides [on Harold Solbrig - due 2016-05-24].
harold: Michal Van Der Zel will be using the shex validator also
<hsolbrig> chat.fhir.org
amol: shex info on the w3c site?
harold: yes. we're using a limited set of the shex grammar.
https://www.w3.org/2013/ShEx/Primer
<hsolbrig> https://www.w3.org/2005/01/yacker/uploads/ShEx2/bnf?lang=perl
<hsolbrig> https://www.w3.org/2005/01/yacker/uploads/ShEx2
harold: If you poke around the fancy shex demo site, there are all sorts of interesting features.
james: Is the intent to never generate circular references or incremental resources?
harold: no. you can do individual PUT or POSTs of resources. But you can also submit a bundle also.
james: Does that preclude requiring the content instead of the IRI?
<hsolbrig> @<Patient>
<hsolbrig> :x fhir:patient _:n.
harold: @<Patient> does not mean that an in-line patient is required.
<hsolbrig> _:n a fhir:Patient;
<hsolbrig> _:n fhir:name "Joe".
<hsolbrig> @<Patient> OR IRI
<hsolbrig> Wow
<hsolbrig> They shut you down exactly at 11:00, eh?
harold: What I'm asserting is not in-line -- it is a reference. If I say @<Patient> OR IRI then it always be a reference, but the question is whether it is any IRI or somethign that is specifically a patient object.
<tlukasik> No way to recover?
<hsolbrig> david -- can we follow up on James' question on the mailer?
wow, that was abrupt.
<hsolbrig> Harsh.
<hsolbrig> We need to talk to Eric about this
<tlukasik> That has never happened before, has it?
maybe because eric was not on the call? idk
no, never had that happen before.
<tlukasik> Yeah, David.. thight might be why..
<hsolbrig> David - let us know if this afternoon is on and whether Grahame will be there.
I think we will just have to see who shows up.
<hsolbrig> Ok -- I'll be prepared.
I believe that's about the time when Grahame will just be waking up, so I don't think we'll be able to know in advance.
<hsolbrig> Grahame sleeps?
<tlukasik> Noooo.. that's just a rumoir, Harold.. ;-)
<hsolbrig> @tlukasik -- we need to talk about schema.org and FHIR on a separate thread.
ADJOURNED
<trackbot> Meeting: Semantic Web Health Care and Life Sciences Interest Group Teleconference
<trackbot> Date: 17 May 2016
Harold's slides: https://lists.w3.org/Archives/Public/www-archive/2016May/att-0009/RDF_ShEx_V2.pdf
https://lists.w3.org/Archives/Public/www-archive/2016May/att-0009/RDF_ShEx_V2.pdf
slide 7
harold: Jose's shex validator is
now in the build
... They'll check it by round tripping the example data from
the abstract model to RDF and back again.
... we've also been using EricP's fancy shex demo
slide 10
harold: Any shape that is a
member of a list must have a fhir:index on it.
... Even when there is a single element, there is a fhir:index
. Should there be?
dbooth: Yes, because the type is list -- not single element.
eric: You can handle that with an AND: first say that fhir:index is optional, then for lists say AND it is required.
slide 12
harold: there's both a JSON type and and XML type.
slide 13
harold: Propose using a regex instead of xs:token
slide 14
harold: Had to parse the
comma-separated types and turn it into a shex OR
expressinos.
... This will cause more exceptions than rules, so I suggest
coming up with RDF types instead.
slide 15
harold: Suggest an RDF IRI instead of anyURI.
xs: anyUri def:
https://www.w3.org/TR/xmlschema-2/#anyURI
dbooth: i don't think we can use
an RDF URI, because xs:anyURI may be relative, but RDF does not
have relative URIs.
... So we would be losing information by converting to an RDF
URI.
ISSUE: Can we use an RDF IRI when the FHIR spec says xs:anyURI?
<trackbot> Created ISSUE-27 - Can we use an rdf iri when the fhir spec says xs:anyuri?. Please complete additional details at <http://www.w3.org/2014/HCLS/track/issues/27/edit>.
harold: FHIR spec says that anyURI can be relative or absolute.
slide 16
eric: How bad is it to have fhir:Coding.system be a string, instead of being an RDF IRI? String allows OWL to validate it.
slide 17
harold: I think grahame already corrected this to fhir:link
slide 18
slide 19
harold: we already have an issue
about whether to include this type arc
... If I follow the closure of fhir:link in the reference, then
we'll have the entire shex schema in one.
... We want it closed for datatypes but open for fhir:link in a
reference.
slide 2
harold: This summarizes the recommended changes for grahame
eric: on #7, we already decided yes on that.
"AGREED: If we include a type arc on a reference (such as the object of fhir:AllergyIntolerance.patient) it should be specific to the target type, such as fhir:PatientReference instead of fhir:Reference" -- https://www.w3.org/2016/04/26-hcls-minutes.html#ResolutionSummary
harold: fhir:Reference.reference has type string -- not anyURI.
slide 3
harold: Suggest not using XML type, but more specific types for RDF, which are more restrictive, because anyURI is not really anyURI.
slide 4
harold: This is a question for grahame.
eric: I think that's correct as is. that's how we are doing lists.
slide 5
harold: This sct URI is wrong on this slide, but the intent is to do this for common terminologies.
eric: The pushback will be that
we cannot do it for everything.
... Some terminology publishers will want to own their URIs,
but some will not.
harold: we need a way to specify these URIs.
eric: mapping rules could be
provided on a per-terminology basis
... Also, what if the version is different?
harold: irrelevant. the only place where we care is in some outdated ICDs. WHO has published a scheme for dealing with that. Everywhere else you do not want to have to map between versions.
eric: The issue I've heard from lloyd is that potentially a clinician may want to find out what version they were using.
harold: the CD has already
expanded and covered that, if you care about them.
... There wasn't a single example in FHIR where version was
used.
eric: I'm sympathetic, but not sure it will work.
<hsolbrig> Eric: shut up
<hsolbrig> My mic has stopped working
<hsolbrig> Eric: There is no value sets. They are gone
<hsolbrig> They have already embraced this and are willing to embrace the URI's
dbooth: This whole FHIR RDF will be versioned as part of the regular HL7 release process anyway, so if this doesn't work out we can always change it in a future release.
harold: lloyd generated valueset
URIs for everything in the system, and it worked fine.
... if you don't put the URI in there then everybody who wants
to use RDF will have to generate the URI.
... They'll do it, so we might as well do it in a controlled
fashion.
rob: you mean implicit VS?
eric: yes
This is scribe.perl Revision: 1.144 of Date: 2015/11/17 08:39:34 Check for newer version at http://dev.w3.org/cvsweb/~checkout~/2002/scribe/ Guessing input format: RRSAgent_Text_Format (score 1.00) Succeeded: s/Marc,/MarcT/ No ScribeNick specified. Guessing ScribeNick: dbooth Inferring Scribes: dbooth Present: Harold_Solbrig MarcT_James_Anderson Darrell_Woelk Amol_Bhalla Shahram David_Booth Gopi Thomas_Lukasik EricP Rob_Hausam Found Date: 17 May 2016 Guessing minutes URL: http://www.w3.org/2016/05/17-hcls-minutes.html People with action items: harold[End of scribe.perl diagnostic output]