14:49:06 RRSAgent has joined #linkml-wot 14:49:10 logging to https://www.w3.org/2024/09/25-linkml-wot-irc 14:49:10 RRSAgent, do not leave 14:49:11 RRSAgent, make logs public 14:49:12 Meeting: One Year Update: Using LinkML in Web of Things Specifications 14:49:12 Chair: Ege Korkan, Mahda Noura 14:49:12 Agenda: https://github.com/w3c/tpac2024-breakouts/issues/23 14:49:12 Zakim has joined #linkml-wot 14:49:13 Zakim, clear agenda 14:49:13 agenda cleared 14:49:13 Zakim, agenda+ Pick a scribe 14:49:14 agendum 1 added 14:49:14 Zakim, agenda+ Reminders: code of conduct, health policies, recorded session policy 14:49:14 agendum 2 added 14:49:14 Zakim, agenda+ Goal of this session 14:49:15 agendum 3 added 14:49:15 Zakim, agenda+ Discussion 14:49:15 agendum 4 added 14:49:15 Zakim, agenda+ Next steps / where discussion continues 14:49:16 agendum 5 added 14:49:17 tpac-breakout-bot has left #linkml-wot 15:13:31 EgeKorkan has joined #linkml-wot 15:29:16 JKRhb has joined #linkml-wot 15:30:06 McCool has joined #linkml-wot 15:35:46 scribenick: McCool 15:36:29 anatoly-scherbakov has joined #linkml-wot 15:36:34 present 15:36:37 present+ 15:37:10 mahda has joined #linkml-wot 15:37:19 present+ Mahda_Noura 15:37:20 rrsagent, draft minutes 15:37:22 I have made the request to generate https://www.w3.org/2024/09/25-linkml-wot-minutes.html EgeKorkan 15:37:44 rrsagent, make minutes public 15:37:44 I'm logging. I don't understand 'make minutes public', EgeKorkan. Try /msg RRSAgent help 15:38:13 gkellogg has joined #linkml-wot 15:38:19 betehess has joined #linkml-wot 15:38:28 ege: two chairs, virtual 15:38:30 present+ Gregg_Kellogg 15:38:53 present+ Alexandre_Bertails 15:39:12 ... ege intro - at Siemens, with Mahda noura, also research scientist at Siemens 15:39:28 ... slides are public, also a link on event details in W3C system 15:39:49 dape has joined #linkml-wot 15:39:51 present+ Jan_Romann 15:40:05 present+ Daniel_Peintner 15:40:21 rrsagent, make logs public 15:40:34 rrsagent, draft minutes 15:40:36 I have made the request to generate https://www.w3.org/2024/09/25-linkml-wot-minutes.html JKRhb 15:41:22 ege: (policies and procedures review) 15:41:27 topic: agenda 15:41:48 ege: goal is to share our experiences with linkml, related to schemas 15:42:15 ... some previous presentations 15:42:16 new 15:42:20 ... (see slides) 15:42:52 ege: in TPAC 2023 explained this use case, in schemata discussion 15:44:03 ege: use case we have in WoT is managing spec documents, ontology documents, SHACL shapes, JSON Schemas, etc. 15:44:19 ... all need a publication procedure, and need to be synced 15:44:26 ... and will get worse, as we are adding a registry 15:44:42 ... and that will involve people outside of W3C 15:45:07 ... we had a custom-built tool but it is difficult to maintain 15:45:45 ege: Mahda has done an analysis of other tools - see link in slides 15:45:57 ... trying to understand options relative to requirements 15:46:09 ... but linkml had the best feature set 15:46:21 ... so we have been working on trying to use it for our use case 15:46:48 mahda: goal is to translate from multiple sources to a single source of truth 15:47:01 ... want automation with LinkML generators 15:47:16 ... want to avoid manually crafting various artifacts 15:47:31 ... simpler process with three main steps 15:47:47 ... starting with a LinkML schema and then a set of different generators 15:47:59 ... including generation of the standards document itself 15:48:37 ... have a repo, https://github.com/w3c/wot-thing-description-toolchain-tmp 15:48:53 ... install uv package manager, then "uv run wotis" 15:49:09 ... (see slides for CLI interface) 15:49:34 ... limitations: HTML generation does not use W3C style yet. Need to add customization 15:49:44 q+ 15:50:29 ack m 15:50:50 mm: will the HTML gen also include static export from ReSpec and linting etc? 15:51:38 mahda: first step is generating HTML sources, in particular aligning schemas and HTML 15:52:37 ... we also have a lot of test files to manage to check that schemas are valid 15:53:24 mm: just want to confirm that process will end at respec version and the rest of the steps will be manual 15:53:47 mahda: (demonstrates tool) 15:54:07 ... in WoT we have several different ontologies 15:54:31 ... linkml starts with the definition of set of prefixes, using an OO approach 15:54:58 ... three main concepts: classes, attributes, and types; there are also "slots" that can be reused across classes 15:55:01 VladimirAlexiev has joined #linkml-wot 15:55:30 ... can relate linkml classes to ontology definitions in RDF 15:55:37 very nice stuff. Electrical CIM/CGMES wants to transition from Enterprise Architect to LinkML, but just starting. Discussion at https://github.com/Sveino/Spec4CIM-KG/issues/9 15:56:05 ... can say whether slots are required, constraints, type (e.g. string) and so on 15:56:26 ... note also that linkml schema is specified in YAML 15:56:56 What SHACL can be generated from LinkML? Can I add my own constraints (eg SHACL SPARQL) and get them emitted together with simple SHACL generated from the schema? 15:56:58 ... then we can generate a set of resources 15:57:40 ... types can also relate to SHACL types 15:57:58 ... most of our testing has been in JSON Schema 15:58:01 can you configure the jsonld context not to use `@vocab` (some say that's "promiscuous") but a prefix `wot:` ? 15:58:03 rrsagent, draft minutes 15:58:04 I have made the request to generate https://www.w3.org/2024/09/25-linkml-wot-minutes.html JKRhb 15:58:10 q+ 15:58:46 q+ VladimirAlexiev 15:59:13 mahda: not all of these resources that we generated are fully tested 15:59:22 ... can also generate documentation 15:59:37 ... later plan to use jinja or bikeshed 15:59:44 ... to customize output 16:00:02 ... can also generate diagrams using mermaid 16:00:14 ... for relationships between classes 16:00:50 mahda: weaknesses - linkml schema is quite expressive, but... 16:01:10 ... post-processing is still needed, and need customizations to meet W3C requirements 16:01:22 q? 16:01:43 ... also need to fix up e.g. JSON-LD context document 16:02:19 ... unfortunately, linkml does not define all our requirements 16:02:39 mahda: in slides have a list of additional features we would need 16:02:55 ... one important thing is natively supporting JSON-LD multilanguage strings 16:03:49 ... if we explictly define all the language tags ourselves it makes the schema very large 16:04:06 ... next, missing scoped JSON-LD contexts 16:04:28 q+ to ask if LinkML is expressive enough to model itself in the LinkML, and then can be validated using let's say SHACL 16:04:47 ... e.g. in TD, properties has its own context 16:05:40 ... also require open mappings for context extensions 16:06:02 ... to integrate external vocabularies, e.g. for protocol bindings or security schemes 16:06:18 ... in SHACL, can use "closed: false" 16:07:12 ... still requires a fairly large effort to get everything to work well 16:07:28 ... once schema gets large, it can get verbose 16:07:40 Don't use native JSON numbers since it's unpredictable what datatype will be attached (eg 12345678901234567890 is `double`) and the number can be changed (approximated). Use JSON strings with `@type` 16:07:48 ... to control, need to define some intermediate classes 16:08:19 ... have tried to remove syntax of RDF, but mental model is similar 16:08:39 q- 16:08:42 q+ 16:08:51 q+ 16:09:17 vlad: there is desire to move to linkml in our community 16:09:32 ... had question about how shacl is generated 16:09:49 ... whether you can attach extra constraints and how those get combined 16:10:00 mahda: don't generate complex SPARQL 16:10:16 rrsagent, please set these logs world-visible 16:10:17 s/SPARQL/SHACL/ 16:11:13 vlad: on your slides I noticed some JSON-LD numbers without quotes, e.g. may get converted to double, e.g. 1.2 might get converted, might round things off, etc. 16:12:18 ege: do you mean example on slide 24? 16:12:42 vlad: yes, for example, could be converted to scientific notation 16:13:29 gk: work on JSON-LD 16:13:34 q? 16:13:49 ... JSON-LD does specify how to deal with numbers, but inherent representation of numbers in JSON is double 16:14:08 ... there are some other rules, but it's correct that numbers are not "stable" 16:14:34 ... whether you are testing your shapes as numbers or not, seems that is best after transformation to RDF 16:14:52 ... can set properties to treat a string as a number 16:15:02 q? 16:15:06 ack v 16:15:06 ack v 16:15:44 ege: would like to discuss how to continue discussion, we have a regular call, please contact me 16:16:03 bete: can I use linkML to validate linkML models? 16:16:28 mahda: linkml schema itself is written in linkml, and there are linters 16:16:39 q? 16:16:43 ack b 16:16:45 ack b 16:16:46 betehess, you wanted to ask if LinkML is expressive enough to model itself in the LinkML, and then can be validated using let's say SHACL 16:18:52 mm: how do we manage assertions, etc? 16:19:08 ack m 16:19:15 ege: will still have to embed in text, and use another tool to extract them from HTML for implementation report, etc. 16:19:30 gk: we are doing an update to support YAML and CBOr 16:19:40 ... do you have any input on things we should consider 16:20:28 mm: should discuss this in joint WoT/JSON-LD call later 16:20:39 ege: but for linkml, don't yet do that 16:21:01 mahda: do have one issue regarding round-tripping 16:21:21 ... conflict between at-type and json-schema type 16:21:39 ... our current solution does not work with framing 16:21:42 q? 16:22:17 ack g 16:22:17 gk: question was really if linkml is being used to work around issues that JSON-LD is not dealing with 16:22:49 mahda: lot of limitations in linkml right now, e.g. related to containers and sets 16:23:14 mm: limitations of linkml or json-ld? 16:23:21 mahda: linkml limitations 16:23:38 q? 16:23:55 q+ 16:24:48 mm: one comment is that we have an information model, then a serialization 16:25:22 ... but CBOR-LD is definitely interesting, but needs a registry of contexts that can be used 16:25:49 ege: we also want to have a registry and recommended prefixed 16:26:03 ege: have created a slide with a summary 16:26:14 ege: any other next steps? 16:26:42 mm: re CBOR, should we also be reaching out to IETF? 16:26:47 gk: yes, that would be good 16:27:27 mm: may also want to reach out to DID, they have similar requirements 16:28:31 mm: for later, we want to discuss canonicalization 16:28:56 ... rdf canonicalization is a bit heavyweight for our purposes 16:29:42 gk: although that is not JSON-LD per se 16:29:42 q? 16:29:52 mm: and also unrelated to linkml, probably 16:30:02 ege: thanks everyone, adjourn 16:34:33 gkellogg has joined #linkml-wot 16:51:24 gkellogg has joined #linkml-wot 17:01:44 gkellogg has joined #linkml-wot 17:01:47 JKRhb has joined #linkml-wot 17:02:32 betehess has joined #linkml-wot 17:27:42 gkellogg has joined #linkml-wot 17:43:17 betehess has joined #linkml-wot 18:08:12 gkellogg has joined #linkml-wot 18:09:44 gkellogg has left #linkml-wot 18:15:05 betehess has joined #linkml-wot 19:15:45 betehess has joined #linkml-wot 20:15:34 betehess has joined #linkml-wot 20:21:04 betehess has joined #linkml-wot 21:30:31 betehess has joined #linkml-wot 21:38:44 betehess has joined #linkml-wot 22:09:10 betehess has joined #linkml-wot 22:32:08 EgeKorka_ has joined #linkml-wot 22:44:14 betehess has joined #linkml-wot 22:52:05 betehess has joined #linkml-wot 22:55:19 EgeKorkan has joined #linkml-wot 22:55:44 EgeKorkan has joined #linkml-wot 22:58:09 EgeKorkan has joined #linkml-wot 23:00:52 betehess has joined #linkml-wot 23:03:15 EgeKorka_ has joined #linkml-wot 23:03:48 EgeKorka_ has joined #linkml-wot 23:55:30 betehess has joined #linkml-wot