W3C

- DRAFT -

FHIR/RDF

16 Jan 2020

Attendees

Present
Harold_Solbrig, David_Booth, EricP, Quoqian_Jiang, Andrea_Volxz, Bill_Duncan, Daniel_Stone, Davera_Gabriel, Dazhi_Jiao, fragosog, Gaurav_Vaidya, Haendel, Julie_McMurry, Lauren_Chan, Matthew_Brush, maura, Melissa_Cook, Milen_Nikolov, Peter_Robinson, RIchard_Z, Jsjjad, Anne_Thessen, Tom, Tricia
Regrets
Chair
David Booth
Scribe
dbooth_

Contents


Using JSON-LD 1.1 to turn FHIR/JSON to FHIR/RDF

<inserted> Harold's slides: https://lists.w3.org/Archives/Public/www-archive/2020Jan/att-0002/JSONLD11_early_draft_.pdf

(Harold presents slides)

(slide 2)

(slide 3)

(slide 4)

harold: Typically when you learn about JSON-LD, you start learning about the @context to turn JSON into JSON-LD, but today we're approaching it differently.

(slide 5)

harold: If I have JSON, what do I do to get RDF? Or how do I get from RDF to JSON? Then in part 2 (not today) we'll start adding the @context.

(slide 7)

harold: JSON-LD Playground is a wonderful tool. It's a reference implementation of JSON-LD 1.1.

(slide 8)

harold: First, how do we map the subject into RDF? In JSON the subject is not named, it is just indicated by curly braces. the properties are predicates.

(slide 11)

harold: First, we need to convert JSON property names to URIs.

(slide 13)

harold: For the moment, I am just assiging temporary URIs.
... The result is valid JSON-LD!

(slide 14)

harold: If I plug it into the JSON-LD Playground, I can see the resulting RDF triples.
... Another way to do this, in the Playground, if you had an @context, you could give a default URI prefix, such as the one for FHIR.
... You can see the RDF in the NQuads tab of the playground.

(slide 15)

harold: Also notice that JSON-LD maps some native types from JSON to RDF, such as boolean true.
... Also notice that by default it does not preserve JSON list order.

(slide 18)

harold: Next, we need to add subject URIs. We do this with @id.
... We can put them on any nodes we want.

(slide 20)

(slide 21)

harold: Next, we need to indicate data types.
... But at this point we need to add another triple for @type and @value.

(slide 23)

harold: There are 3 equivalent ways to indicate the same thing in JSON-LD.
... in Expanded format it gets rid of the @context.
... Not very useful for JSON traversal.
... The Compacted format is as terse as possible, but also still has no @context.

(slide 24)

s/Jssjad/Sajjad/

(slide 42)

harold: RDF needs URIs for datatypes. You can also add a language tag.

(slide 43)

(slide 44)

harold: You can also embed JSON as RDF literals.

(slide 24)

harold: Everything we can say in JSON, we can turn it into RDF.
... But there are things you can can in RDF that you cannot say in JSON.

(slide 26)

harold: What ive I have two unrelated subject? You can wrap the JSON inside an @graph.
... But you need to put them inside a JSON list "[...]" for the syntax to be allowed.

(slide 46)

harold: In JSON, lists are ordered. But in JSON-LD by default they are unordered.
... There are decorators that you can add. @set gives you the default -- a set. @list gives you an RDF list, which is not very useful in RDF because RDF lists are not SPARQL-friendly.
... The JSON-LD community considered a different list representation for RDF, but there was not RDF community consensus on which alternate list mechanism to use, so JSON-LD did not add anything.
... Right now, to create a usable ordered list, you need to edit the JSON. For this reason, we will have to pre-process to add an explicit list index.

(slide 62)

harold: One change we still have to make to the FHIR/JSON is to add a list index variable.

(slide 35)

(slide 36)

harold: Framing is interesting. JSON is a tree. But what if we have a non-tree RDF structure that we want?
... I have barely touched on the @context, because we first need to address all of the issues of getting into RDF, and then we can add the @context to help do it.

Feedback

David: suggestions?

___: Customize examples to FHIR.

ADJOURNED

Summary of Action Items

Summary of Resolutions

[End of minutes]

Minutes manually created (not a transcript), formatted by David Booth's scribe.perl version 1.154 (CVS log)
$Date: 2020/01/16 19:45:58 $

Scribe.perl diagnostic output

[Delete this section before finalizing the minutes.]
This is scribe.perl Revision: 1.154  of Date: 2018/09/25 16:35:56  
Check for newer version at http://dev.w3.org/cvsweb/~checkout~/2002/scribe/

Guessing input format: Irssi_ISO8601_Log_Text_Format (score 1.00)

FAILED: s/Jssjad/Sajjad/
Succeeded: i|Harold presents slides|Harold's slides: https://lists.w3.org/Archives/Public/www-archive/2020Jan/att-0002/JSONLD11_early_draft_.pdf
Present: Harold_Solbrig David_Booth EricP Quoqian_Jiang Andrea_Volxz Bill_Duncan Daniel_Stone Davera_Gabriel Dazhi_Jiao fragosog Gaurav_Vaidya Haendel Julie_McMurry Lauren_Chan Matthew_Brush maura Melissa_Cook Milen_Nikolov Peter_Robinson RIchard_Z Jsjjad Anne_Thessen Tom Tricia
No ScribeNick specified.  Guessing ScribeNick: dbooth_
Inferring Scribes: dbooth_

WARNING: No date found!  Assuming today.  (Hint: Specify
the W3C IRC log URL, and the date will be determined from that.)
Or specify the date like this:
<dbooth> Date: 12 Sep 2002

People with action items: 

WARNING: IRC log location not specified!  (You can ignore this 
warning if you do not want the generated minutes to contain 
a link to the original IRC log.)


[End of scribe.perl diagnostic output]