See also: IRC log
harold: Nothing to report. Did not yet start the zulip discussion.
eric: Set one up for experimentation on horukuapp
<ericP> https://shexjs.herokuapp.com/
eric: A web hosting
service.
... Worked over curl
... Simpler to run it locally.
<ericP> npm install shex
<ericP> cd shex
<ericP> cd rest
<ericP> ./server.js
<ericP> ----------------------
<ericP> npm install shex
<ericP> cd node_modules/shex/rest/
<ericP> ./server.js
<hsolbrig> curl https://shexjs.herokuapp.com/validate -F "schema=@../test/cli/1dotOr2dot.shex" -F "start=http://a.example/S1" -F "data=@../test/cli/p2p3.ttl" -F "focus=x"
eric: Still causing an internal service error sometimes
dbooth: Should be fine to host on
yosemiteproject.org .
... Ready to put it there?
harold: close. next few days.
harold: Multiple codings issue is
still outstanding.
... Also he switched to xsd prefix
<hsolbrig> strictly bugs:
<hsolbrig> using "xs:" in body and "xsd:" in the header
dbooth: we decided to use xs: instead of xsd:
eric: I misled people on that. Should use xsd instead. xs implies the whole of xml schema
<hsolbrig> fhir:DomainResource.text has to have a fhir:Narrative.div -- lacking at the moment
dbooth: Any objections to using xsd: instead of xs: ? (None stated)
harold: Narrative datatype
requires a field called div .
... Don't know why grahame is not generating it. It is required
in the FHIR model.
... We've been putting together a paper on this, and i've
listed all of the additional validation things that should be
in shex.
... There's a series of other things that we should consider,
such as examples being fixed values, min/max values, etc.
... Some will fit into shex today.
<hsolbrig> missing slicing aspect
harold: Missing: slicing.
... If you take a FHIR def that includes slicing, we generate
an invalid definition.
... Wrote it as TBD in the paper we're writing.
<hsolbrig> type.aggregation
harold: There's field called type.aggregation.
<hsolbrig> pattern[x]
harold: Three possible values: contained, referenced or bundled.
https://hl7-fhir.github.io/elementdefinition-definitions.html and scroll down to "ElementDefinition.type.aggregation"
ISSUE: How to handle FHIR slicing?
<trackbot> Created ISSUE-29 - How to handle fhir slicing?. Please complete additional details at <http://www.w3.org/2014/HCLS/track/issues/29/edit>.
ISSUE: How to handle ElementDefinition.type.aggregation
<trackbot> Created ISSUE-30 - How to handle elementdefinition.type.aggregation. Please complete additional details at <http://www.w3.org/2014/HCLS/track/issues/30/edit>.
ISSUE: How to handle FHIR pattern[x]
<trackbot> Created ISSUE-31 - How to handle fhir pattern[x]. Please complete additional details at <http://www.w3.org/2014/HCLS/track/issues/31/edit>.
ISSUE: How to handle FHIR min/max value?
<trackbot> Created ISSUE-32 - How to handle fhir min/max value?. Please complete additional details at <http://www.w3.org/2014/HCLS/track/issues/32/edit>.
ISSUE: How to handle ElementDefinition.defaultValue[x]?
<trackbot> Created ISSUE-33 - How to handle elementdefinition.defaultvalue[x]?. Please complete additional details at <http://www.w3.org/2014/HCLS/track/issues/33/edit>.
ISSUE: How to handle ElementDefinition.meaningWhenMissing ?
<trackbot> Created ISSUE-34 - How to handle elementdefinition.meaningwhenmissing ?. Please complete additional details at <http://www.w3.org/2014/HCLS/track/issues/34/edit>.
ISSUE: How to handle ElementDefinition.fixed[x] ?
<trackbot> Created ISSUE-35 - How to handle elementdefinition.fixed[x] ?. Please complete additional details at <http://www.w3.org/2014/HCLS/track/issues/35/edit>.
How to handle ElementDefinition.pattern[x] ?
ISSUE: How to handle required/extensible/example in shex?
<trackbot> Created ISSUE-36 - How to handle required/extensible/example in shex?. Please complete additional details at <http://www.w3.org/2014/HCLS/track/issues/36/edit>.
eric: slicing was the most
interesting of these.
... In principle I think we can address it well in shex.
https://hl7-fhir.github.io/profiling.html#slicing
<scribe> ACTION: Harold to work on minValue/maxValue and other obvious fhir features that are missing from FHIR RDF [recorded in http://www.w3.org/2016/05/31-hcls-minutes.html#action01]
<trackbot> Created ACTION-58 - Work on minvalue/maxvalue and other obvious fhir features that are missing from fhir rdf [on Harold Solbrig - due 2016-06-07].
harold: next step is to get a batch validator working.
dbooth: I'm assuming that round-trip validation will be done in the FHIR build process for FHIR RDF
harold: We also need some failing shex test cases. Part of the rationale is to generate FHIR RDF as the initial source.
eric: This is a need for all of the formats. For passing test cases you can just load it into the ref impl, map it to another format. But for failing you cannot do that. We'll need to make one-off variants for each format. Should make the same (parallel) errors in all formats.
harold: I think they have it somewhere. When you write a profile you need to demonstrate that your inputs and responses are valid. They must have a way to test their validators.
<scribe> ACTION: Harold to check on validating the validators with failing test cases. [recorded in http://www.w3.org/2016/05/31-hcls-minutes.html#action02]
<trackbot> Created ACTION-59 - Check on validating the validators with failing test cases. [on Harold Solbrig - due 2016-06-07].
https://www.w3.org/2016/05/17-hcls-minutes.html
https://github.com/w3c/hcls-fhir-rdf/issues/30
<hsolbrig1> Grahame is generating a URL and that is what ShEx expects.
harold: We're generating it as a URL.
<hsolbrig1> fhir:link <http://hl7.org/fhir/Practitioner/f005>;
<hsolbrig1> ShEx: fhir:link IRI?;
<hsolbrig1> https://hl7-fhir.github.io/observation.shex.html
<hsolbrig1> http://hl7-fhir.github.io/observation-example-f005-hemoglobin.ttl.html
<hsolbrig1> fhir:Observation.performer [
an example:
fhir: Observation.performer
[
... index 0;
... link <http://hl7.org/fhir/Practitioner/f005>;
... Reference.reference [ fhir:value "Practitioner/f005"
];
... Reference.display [ fhir:value "A. Langeveld" ]
];
dbooth: Do we place any constraints on what the fhir:link URI must be?
harold: Eric suggested that we add one more line, but I'm not sure what to do about it in shex.
<hsolbrig1> <http://hl7.org/fhir/Practitioner/f005> a fhir:Practitioner.
harold: If we had a type arc like that, and we loaded the reference in, it would be a duplicate triple.
dbooth: But it would not be a duplicate if it were not loaded in.
<hsolbrig1> a fhir:PractitionerReference;
harold: We also discussed the idea of giving it a type fhir:PractitionerReference
<hsolbrig1> xsd:token
<hsolbrig1> xsd:anyURI
harold: When FHIR defines anyURI
we map it to a string. We map xsd:token to xsd:string in FHIR
RDF
... We also map xsd:anyURI to a string.
dbooth: In some cases we also map it to a URI, i.e., we do both.
harold: I liked fhir:PractitionerReference until eric suggested fhir:Practitioner .
dbooth: How would shex validate it, if it were declared to be a fhir:Practitioner but not loaded in?
harold: don't know.
ADJOURNED
grahame: Up to date on example
code
... In a bundle, I ignored the identity of resources in a
bundle. Fixed now.
... Can parse resource now. Updated to validate turtle
resources. Turtle syntax is not perfect.
eric: In shex validator, I wrote my own turtle parser also, because I also wanted line numbers.
grahame: My validation of the
turtle itself is weak, but it validates the FHIR.
... I read all the shex files from the build, but it does not
validate the shex yet.
... I only need to close the loop on the shex validation.
eric: Willing to use javascript?
grahame: I don't know how to invoke JS from my java code.
* rhausam (~rhausam@public.cloak) has joined #HCLS
eric: Call a shell script from java?
grahame: Yes, but want to allow multiple OSes.
eric: Is there a single command that you can run from java, that will run node.js on different OSes?
grahame: I'll try to run the scala version of shex first, which runs on the jvm.
dbooth: validating the examples from the build process, using shex?
grahame: yes
dbooth: round tripping?
grahame: no, because it involves canonicalization, which I dont' have in turtle.
dbooth: How about round tripping from xml/json to turtle, then back to xml/json, so that you can use your existing xml/json canonicalization?
eric: when you are invoking, do you know the focus node where you want to validate?
grahame: I could.
jose: Jena function: isIsomorphicWith
grahame: Need to know how to invoke shex, given some turtle
eric: Can you add a selection feature that allows the starting node to be identified by a predicate and object? x fhir:nodeRole fhir:treeRoot
(grahame shows his code)
grahame: I need the libraries for Jose's code
https://bintray.com/labra/maven/shexcala
jose: The prefixmap is in this jar: https://bintray.com/labra/maven/srdf-jena/view/files/es/weso/srdf-jena_2.11/0.0.2#files/es/weso/srdf-jena_2.11/0.0.6
https://github.com/labra/shexjava
https://github.com/labra/shexjava/blob/master/pom.xml
grahame: it still does not include the prefixmap
jose: I'll look into it.
* ericP apparently a paste of a paste of a paste, given the text "[11/05/2016 1:02:56] James Agnew:" in there
grahame: I'll talk to jose to
resolve this.
... Big task after this is to update the underlying turtle
file, to declare the relationships that we are using, such as
fhir:concept
... More resolution to do. Will join next week, same time.
grahame: We have a bunch of unit
tests. See test/validation/examples. Includes good and bad
examples.
... I will auto-convert as many as I can to turtle.
dbooth: Have a file naming convention for good/bad tests?
grahame: no, but I'll do that.
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) WARNING: Possible internal error: join/leave lines remaining: <dbooth> * rhausam (~rhausam@public.cloak) has joined #HCLS No ScribeNick specified. Guessing ScribeNick: dbooth Inferring Scribes: dbooth WARNING: Dash separator lines found. If you intended them to mark the start of a new topic, you need the -dashTopics option. For example: <Philippe> --- <Philippe> Review of Action Items Present: David_Booth Amol Chad_Albert Shahram Rob_Hausam Harold_Solbrig EricP Thomas Lukasik Grahame_Grieve Jose_Labra Wayne_Kubick Found Date: 31 May 2016 Guessing minutes URL: http://www.w3.org/2016/05/31-hcls-minutes.html People with action items: harold WARNING: Possible internal error: join/leave lines remaining: <scribe> * rhausam (~rhausam@public.cloak) has joined #HCLS WARNING: Possible internal error: join/leave lines remaining: <scribe> * rhausam (~rhausam@public.cloak) has joined #HCLS[End of scribe.perl diagnostic output]