15:06:21 RRSAgent has joined #hcls 15:06:21 logging to http://www.w3.org/2016/03/15-hcls-irc 15:06:23 RRSAgent, make logs world 15:06:23 Zakim has joined #hcls 15:06:25 Zakim, this will be HCLS 15:06:25 I do not see a conference matching that name scheduled within the next hour, trackbot 15:06:26 Meeting: Semantic Web Health Care and Life Sciences Interest Group Teleconference 15:06:26 Date: 15 March 2016 15:07:10 hsolbrig has joined #hcls 15:07:32 http://w3c.github.io/hcls-fhir-rdf/spec/rdf#rdf-data-for-codeable-concept-instance 15:07:38 Topic: Recording RDF syntax decisions 15:08:44 Tony has joined #HCLS 15:08:58 eric: suggest recording RDF syntax decisions using ShEx 15:09:00 http://w3c.github.io/hcls-fhir-rdf/spec/rdf#rdf-data-for-codeable-concept-instance 15:09:02 like that 15:10:05 that's an example of how it would be written 15:10:30 eric: advantages: it is testable and specifies general case, not just one example 15:10:57 tony: We should have an example also, not only shex 15:11:17 dbooth: agreed 15:14:01 Sajjad has joined #hcls 15:15:26 (eric walks us through the example at http://w3c.github.io/hcls-fhir-rdf/spec/rdf#rdf-data-for-codeable-concept-instance ) 15:22:04 { 15:22:04 a [fhir:CodingBase]?, 15:22:04 fhir:CodingBase.code @?, 15:22:04 fhir:CodingBase.system @?, 15:22:04 fhir:CodingBase.display @? 15:22:06 } 15:22:09 { fhir:value LITERAL } 15:24:13 harold: fhir:codeBase should be fhir:code 15:25:48 harold: if extensibleLiteral is extended, how do I say what type it is? 15:26:12 eric: We don't do a type code for the extension 15:26:25 fhir:CodingBase.code [ my:someExtension [ fhir:value "another turtle" ] ; fhir:value "90614001" ] ; 15:26:25 dbooth: it will only have the extension URI? 15:26:27 eric: yes 15:28:02 dbooth: my:someExtension needs to have some marking from the standard FHIR namespace to be recognizable for round tripping 15:28:30 harold: what came of version and userSelected attributes? 15:28:34 eric: Haven't looked at them. 15:29:22 harold: They're mandating a version when using SNOMED-CT 15:29:51 eric: people using SNOMED are expected to keep track of versinos 15:30:19 harold: no, it says "note that the following systems SHOULD have the version specified . . . " 15:31:26 ... And userSelected has an intent that says it was the one that the user actually put in. 15:32:00 ... "if a userSelected exists, it is *the* code preferred" which implies that cardinality is max 1 15:33:56 http://w3c.github.io/hcls-fhir-rdf/spec/rdf#rdf-data-for-codeable-concept-instance 15:34:46 eric: Should we use a generic extensibleLiteral, or specific kinds, or should it be specifically typed? 15:35:04 ... My preferences is generic because it's simpler, and we can infer their type from context. 15:39:20 dbooth: so the choice is in the ShEx schema for something like fhir:CodingBase.code, should it have a specific name for each type or be generic? 15:39:24 example: 15:39:24 { 15:39:24 a [fhir:CodingBase]?, 15:39:24 fhir:CodingBase.code @?, 15:39:24 fhir:CodingBase.system @?, 15:39:25 fhir:CodingBase.display @? 15:39:26 } 15:42:21 harold: We would have to do that for every variable in the system! 15:43:39 Generic Approach: { a [fhir:CodingBase]?, fhir:CodingBase.code @?, fhir:CodingBase.system @?, fhir:CodingBase.display @? } 15:44:44 RESOLVED: We will use the generic extensibleLiteral construct in ShEx unless/until we discover it does not work 15:46:46 RESOLVED: We will write our RDF syntax decisions both as examples and in ShEx 15:47:49 Topic: How should the root node be designated in RDF? 15:47:56 rhausam has joined #HCLS 15:48:38 Related to https://github.com/w3c/hcls-fhir-rdf/issues/18 15:49:39 https://hl7-fhir.github.io/allergyintolerance-example.ttl.html 15:51:40 tony: In that example, it has a fhir:Resource.id (with a value of "example") then the RDF resource root node needs to be a URI 15:52:39 tony: I tried that example in protege and it loads fine, but you cannot reference it from elsewhere. 15:54:53 ... There are two options: 1. Instead of _:example you make it a URI; or 2. a prefixed URI . 15:55:34 eric: When this is in use, a system could easily serve things that say <> (relative URI), so it would be easy to not have to figure out a full URI for that document. 15:56:45 ... RDF only has blank nodes or absolute URIs. But serializations can have relative URIs, in which case the base URI does not need to be included in the document because the Turtle parser will fill it in. 15:57:15 ... In common usage, most FHIR engines won't need any base URI embedded. 16:01:40 tony: Relative URI would mean that the identity of the resource changes from place to place. 16:01:46 harold: agree 16:02:07 dbooth: Concerned about round tripping. Grahame very clearly said that the resource will not always have an identity: https://lists.w3.org/Archives/Public/public-semweb-lifesci/2016Mar/0010.html 16:05:26 tony: if the resource root is a blank node then you cannot have closure when graphs are loaded into protege 16:05:40 eric: i think you mean unification 16:05:48 tony: I mean the loading logic. 16:07:26 The blank node identifiers are only limited in scope to a serialization of a particular RDF graph. So, as long as the whole RDF serialization is 'one' RDF graph, we should be ok with a blank-node 16:07:29 eric: If you have an identifier in two graphs, and they both talk about a patient . . . if you have an identifier then you want to name the patient by that ID, and the ID is repeated: the resource root and the ID property of that resource root. 16:07:58 ... Or we could reference the root node indirectly through its ID property. 16:09:14 tony: but each resource is a different graph 16:09:17 rhausam has joined #HCLS 16:12:06 eric: We need an absolute identifier somewhere -- not necessarily the resource root, but it requires chained properties. 16:12:29 two blank-nodes in two different RDF grahs are actually two different entities (even though both have same properties and objects). One can still work around it, by establisting a owl:sameAs between the two blank-nodes 16:16:40 tony: In some cases FHIR defines a URI for the resource root node, and in other cases it is anonymous -- a blank node. 16:19:22 ... In the case where FHIR defines a URI for the resource, the question is, what should the RDF rresource root node be called? 16:20:40 https://hl7-fhir.github.io/allergyintolerance-example.ttl.html 16:21:20 dbooth: is that the one that you loaded into protege? 16:22:01 ... Did it start with '_:example a fhir:AllergyIntolerance;' ? Tony: yes. 16:22:45 tony: It loaded properly, but i could not reference it from another graph because it is a blank node. 16:23:36 tony: If it has a fhir:Resource.id then it should instead be a URI, so that it can be referenced from elsewhere 16:24:25 dbooth: when trying to reference it from elsewhere, what are you trying to do? 16:24:45 tony: I want to make a FHIR reference to it. 16:25:44 dbooth: so you want to do something like this? fhir:Reference.reference [ fhir:value "Practitioner/example" ] 16:26:33 tony: actually it's a fhir:Reference.link 16:28:38 https://hl7-fhir.github.io/patient-example-a.ttl.html 16:29:12 Just FYI: one can use e:tuple builtin, using the EYE engine, to obtain a so called 'named entity' as a unique skolem-funtion drives the blank-node 16:29:19 e:tuple a rdf:Property, e:Builtin; rdfs:comment "built-in skolem function generator typically used with a subject that will get bound to a unique blank node which is a function of the object tuple"; rdfs:domain rdfs:Resource; rdfs:range rdf:List. 16:30:52 sajjad: Two blank nodes in different graphs are different, but you can reference between them if you use skolem URIs 16:31:34 rhausam_ has joined #HCLS 16:36:23 dbooth: We need a concise example showing the exact problem. 16:36:33 ADJOURNED 16:39:00 github: http://w3c.github.io/hcls-fhir-rdf/spec/ 16:39:36 https://github.com/w3c/hcls-fhir-rdf 16:39:59 https://github.com/w3c/hcls-fhir-rdf/tree/gh-pages/spec 16:42:12 http://w3c.github.io/hcls-fhir-rdf/spec/rdf.html 16:45:56 chair: David Booth 16:46:03 rrsagent, draft minutes 16:46:03 I have made the request to generate http://www.w3.org/2016/03/15-hcls-minutes.html dbooth 16:50:30 Present: David Booth, EricP, Rob Hausam, Sajjad Hussain, Thomas Lukasik, Harold Solbrig, Tony Mallia 16:50:34 rrsagent, draft minutes 16:50:34 I have made the request to generate http://www.w3.org/2016/03/15-hcls-minutes.html dbooth