[Application-profiles-ig] Starting with a Simple Model for APs

Karen Coyle kcoyle at kcoyle.net
Thu Aug 1 18:00:31 BST 2019


Sorry for the delay. I've adding the steps as a github issue.[1] I wonder if we can't gain consensus on using key/value pairs as our base abstract model. Then we could create a simple csv file for the bare minimum and hash out the keys and values using that. kc [1]https://github.com/dcmi/dcap/issues/55On 7/12/19 7:42 AM, Thomas Baker wrote: >Karen writes:>>my inclination is to start with a very minimal design and then build on>>that and modify as needed. ... "minimal" could be just properties and>>values, each reduced to their basics. This would allow someone to define>>a flat vocabulary.>>Hi Karen,>>Starting with the bare minimum, which will I suspect already>cover quite a few use cases, seems like exactly the right>approach.>>I have gone through all of the requirements and grouped>the requirements according to whether (I think) they are>already met by the Simple Model, or could be expressed in>ShEx, or may or may not be expressible in ShEx.>>May I propose some next steps:>>* Define a spreadsheet template based on the Simple Model.>* Write a script to convert the Simple Model spreadsheet into>a draft ShEx schema.>* Test the spreadsheet + script with some simple profiles.>* For each requirement that is definitely doable in ShEx,>explain how to do it, perhaps in a primer.>* For each requirement that _may_ (or may not) be doable in>ShEx, have a closer look.>>If we could do at least the first three steps before the>Application Profile session and Hack Day at DC-2019 in>Seoul, we'd be in great shape.>>After that, we could consider making the Simple Model>more complex, but I'd rather get something working as>proof of concept before going too far down that road. (Or>is it more a slippery slope?)>>Tom>>---------------------------------------------------------->Simple Model - suitable for a spreadsheet template>>-- Properties>Property identifier (as a URI, if available)>Property name (as a controlled string, if available)>Property label (e.g., for display)>Definition>Cardinality => Min and Max>>-- Values>Value type (datatype)>>-- Covers requirements:>22 Include labels and descriptions>50 Include labels for entities and terms>51 Include definitions for terms (either as texts or as links)>24 Express cardinality of properties (how many times they may be used)>29 Specify the data type of values>>-- Assumptions and limitations of the simple model>* Assumes one value type per property>* Others?>>---------------------------------------------------------->Requirements that can (almost certainly) by covered by ShEx>>23 Limit values to specific vocabulary schemes>25 Limit values to one out of a list>26 Specify order of properties in data>27 Order data elements by data values>30 Specify values as a "pick list">32 Be machine-processable>33 Say whether the profile is open or closed with>respect to data not specified in the profile>37 Allow more than one value type for a property>38 Express dependencies between properties ("if A>then most also have B")>40 Combine entities, properties, and (possibly)>values with Boolean operators (AND, OR, NOT)>45 Define minimum and maximum values for a given>property (e.g., "age 8 to 10")>46 Express rules comparing values of two or more>properties (e.g., "date of birth must be less than or>equal to date of death")>48 List accepted languages (for entire profile?>individual property? individual entities?)>52 Say whether values should be text, links, or both>>---------------------------------------------------------->Unsure (some might be out of scope for profiles per se?)>>28 Specify hierarchy of entities>31 Specify length requirements on strings - both minimum and>maximum>34 Designate entities, properties, or value as "preferred">(where more than one option is allowed)>35 Where data is merged from multiple sources, identify>which data belongs to a given profile>36 Express mappings between data sources>39 Express "recommended" (because cardinality along only>expresses "required")>41 Describe the CSV scheme of tabular data>42 Mandate that values for specified fields be unique (e.g.,>"just one value per language tag")>47 Mandate that values for specified fields be unique (e.g.,>language tags)>53 Say whether instructions apply to all of a profile or>just part>54表达依赖性如何使用条款(如., "TermB>omitted if TermA used")>>---------------------------------------------------------->Out of scope?>>43 Express semantics such as classes and relationships>-- Karen Coylekcoyle at kcoyle.nethttp://kcoyle.netskype: kcoylenet


More information about the Application-profiles-ig mailing list