├── .gitignore ├── README.md ├── deploy.sh ├── docs ├── D2695955.json ├── D2695955.md ├── D2695955_to_md.py ├── Makefile ├── board.md ├── faq.md ├── img │ ├── favicon.ico │ ├── fork.jpg │ ├── ld4pe-290px.png │ └── pullrequest.jpg ├── index.md ├── process.md ├── structure.md └── style.md ├── mkdocs.yml └── todo.txt /.gitignore: -------------------------------------------------------------------------------- 1 | site/ 2 | NOTES/ 3 | 4 | # 2017-06-21: Below this line: added automatically for Python projects 5 | # Byte-compiled / optimized / DLL files 6 | __pycache__/ 7 | *.py[cod] 8 | *$py.class 9 | 10 | # C extensions 11 | *.so 12 | 13 | # Distribution / packaging 14 | .Python 15 | env/ 16 | build/ 17 | develop-eggs/ 18 | dist/ 19 | downloads/ 20 | eggs/ 21 | .eggs/ 22 | lib/ 23 | lib64/ 24 | parts/ 25 | sdist/ 26 | var/ 27 | wheels/ 28 | *.egg-info/ 29 | .installed.cfg 30 | *.egg 31 | 32 | # PyInstaller 33 | # Usually these files are written by a python script from a template 34 | # before PyInstaller builds the exe, so as to inject date/other infos into it. 35 | *.manifest 36 | *.spec 37 | 38 | # Installer logs 39 | pip-log.txt 40 | pip-delete-this-directory.txt 41 | 42 | # Unit test / coverage reports 43 | htmlcov/ 44 | .tox/ 45 | .coverage 46 | .coverage.* 47 | .cache 48 | nosetests.xml 49 | coverage.xml 50 | *.cover 51 | .hypothesis/ 52 | 53 | # Translations 54 | *.mo 55 | *.pot 56 | 57 | # Django stuff: 58 | *.log 59 | local_settings.py 60 | 61 | # Flask stuff: 62 | instance/ 63 | .webassets-cache 64 | 65 | # Scrapy stuff: 66 | .scrapy 67 | 68 | # Sphinx documentation 69 | docs/_build/ 70 | 71 | # PyBuilder 72 | target/ 73 | 74 | # Jupyter Notebook 75 | .ipynb_checkpoints 76 | 77 | # pyenv 78 | .python-version 79 | 80 | # celery beat schedule file 81 | celerybeat-schedule 82 | 83 | # SageMath parsed files 84 | *.sage.py 85 | 86 | # dotenv 87 | .env 88 | 89 | # virtualenv 90 | .venv 91 | venv/ 92 | ENV/ 93 | 94 | # Spyder project settings 95 | .spyderproject 96 | .spyproject 97 | 98 | # Rope project settings 99 | .ropeproject 100 | 101 | # mkdocs documentation 102 | /site 103 | 104 | # mypy 105 | .mypy_cache/ 106 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | ### Linked Data Competency Index 2 | 3 | This is the back-end repository used to generate a [documentation website](https://dcmi.github.io/ldci/) for the Linked Data Competency Index. The website also supports the maintenance of the index by crowdsourcing. 4 | 5 | #### Build the website using MkDocs 6 | 7 | * Install [mkdocs](http://mkdocs.org) on your machine (see [installation instructions](http://www.mkdocs.org/#installation). 8 | * Run the command `mkdocs gh-deploy` (or use [deploy.sh](https://github.com/dcmi/ldci/blob/master/deploy.sh)). 9 | * This command creates (or refreshes) the website at [https://dcmi.github.io/ldci/](https://dcmi.github.io/ldci/). 10 | * The command must be run from the root directory of this repo. 11 | * Behind the scenes, `mkdocs gh-deploy` builds HTML docs from the Markdown sources, uses the `ghp-import` tool to commit them to the `gh-pages` branch, and pushes the `gh-pages` branch to GitHub. 12 | 13 | -------------------------------------------------------------------------------- /deploy.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # This command creates (or refreshes) the website at https://dcmi.github.io/ldci/ 4 | # The command must be run from the root directory of the https://github.com/dcmi/ldci/ repo 5 | # MkDocs must be installed - see http://www.mkdocs.org/#installation 6 | # Behind the scenes, MkDocs will build your docs and use the ghp-import tool to commit them 7 | # to the gh-pages branch and push the gh-pages branch to GitHub. 8 | 9 | mkdocs gh-deploy 10 | -------------------------------------------------------------------------------- /docs/D2695955.md: -------------------------------------------------------------------------------- 1 | # Linked Data Competency Index 2 | 3 | Version: 2017-06-28 14:34:35
4 | View at: [https://dcmi.github.io/ldci/D2695955/](https://dcmi.github.io/ldci/D2695955/)
5 | 6 | | Code| Type | Definition | 7 | | --- | ------------- | --------------------------------------------------------------| 8 | | A | Topic Cluster | | 9 | | B | Topic | | 10 | | C | Competency | Tweet-length assertion of knowledge, skill, or habit of mind. | 11 | | D | Benchmark | Action demonstrating accomplishment in related competencies. | 12 | 13 | Note: Hover over a code to see its URI. Click on a code to visit its full definition on the [Achievement Standards Network](http://asn.desire2learn.com/resources/D2695955) website. 14 | 15 | 16 | 17 | ## [A:](http://asn.desire2learn.com/resources/S2695991) Fundamentals of Resource Description Framework 18 | * [B:](http://asn.desire2learn.com/resources/S2696001) Identity in RDF 19 | * [C:](http://asn.desire2learn.com/resources/S2731548) Knows that anything can be named with Uniform Resource Identifiers (URIs), such as agents, places, events, artifacts, and concepts. 20 | * [C:](http://asn.desire2learn.com/resources/S2742438) Understands that a "real-world" thing may need to be named with a URI distinct from the URI for information about that thing. 21 | * [C:](http://asn.desire2learn.com/resources/S2742439) Recognizes that URIs are "owned" by the owners of their respective Internet domains. 22 | * [C:](http://asn.desire2learn.com/resources/S2709286) Knows that Uniform Resource Identifiers, or URIs (1994), include Uniform Resource Locators (URLs, which locate web pages) as well as location-independent identifiers for physical, conceptual, or web resources. 23 | * [B:](http://asn.desire2learn.com/resources/S2696007) RDF data model 24 | * [C:](http://asn.desire2learn.com/resources/S2709296) Knows the subject-predicate-object component structure of a triple. 25 | * [C:](http://asn.desire2learn.com/resources/S2709295) Understands the difference between literals and non-literal resources. 26 | * [C:](http://asn.desire2learn.com/resources/S2709297) Understands that URIs and literals denote things in the world ("resources") real, imagined, or conceptual. 27 | * [C:](http://asn.desire2learn.com/resources/S2709298) Understands that resources are declared to be members (instances) of classes using the property rdf:type. 28 | * [C:](http://asn.desire2learn.com/resources/S2709299) Understands the use of datatypes and language tags with literals. 29 | * [C:](http://asn.desire2learn.com/resources/S2709997) Understands blank nodes and their uses. 30 | * [C:](http://asn.desire2learn.com/resources/S2710003) Understands that QNames define shorthand prefixes for long URIs. 31 | * [D:](http://asn.desire2learn.com/resources/S2710007) Uses prefixes for URIs in RDF specifications and data. 32 | * [C:](http://asn.desire2learn.com/resources/S2731549) Articulates differences between the RDF abstract data model and the XML and relational models. 33 | * [C:](http://asn.desire2learn.com/resources/S2731551) Understands the RDF abstract data model as a directed labeled graph. 34 | * [C:](http://asn.desire2learn.com/resources/S2731552) Knows graphic conventions for depicting RDF-based models. 35 | * [D:](http://asn.desire2learn.com/resources/S2731553) Can use graphing or modeling software to share those models with others. 36 | * [C:](http://asn.desire2learn.com/resources/S2709875) Understands a named graph as one of the collection of graphs comprising an RDF dataset, with a graph name unique in the context of that dataset. 37 | * [C:](http://asn.desire2learn.com/resources/S2731590) Understands how a namespace, informally used in the RDF context for a namespace URI or RDF vocabulary, fundamentally differs from the namespace of data attributes and functions (methods) defined for an object-oriented class. 38 | * [B:](http://asn.desire2learn.com/resources/S2696012) Related data models 39 | * [C:](http://asn.desire2learn.com/resources/S2731554) Grasps essential differences between schemas for syntactic validation (e.g., XML) and for inferencing (RDF Schema). 40 | * [C:](http://asn.desire2learn.com/resources/S2731555) Differentiates hierarchical document models (eg, XML) and graph models (RDF). 41 | * [C:](http://asn.desire2learn.com/resources/S2742440) Understands how an RDF class (named set of things) fundamentally differs from an object-oriented programming class, which defines a type of object bundling "state" (attributes with data values) and "behavior" (functions that operate on state). 42 | * [B:](http://asn.desire2learn.com/resources/S2696017) RDF serialization 43 | * [C:](http://asn.desire2learn.com/resources/S2709805) Understands RDF serializations as interchangeable encodings of a given set of triples (RDF graph). 44 | * [D:](http://asn.desire2learn.com/resources/S2731558) Uses tools to convert RDF data between different serializations. 45 | * [C:](http://asn.desire2learn.com/resources/S2731556) Distinguishes the RDF abstract data model and concrete serializations of RDF data. 46 | * [D:](http://asn.desire2learn.com/resources/S2731557) Expresses data in serializations such as RDF/XML, N-Triples, Turtle, N3, Trig, JSON-LD, and RDFa. 47 | 48 | ## [A:](http://asn.desire2learn.com/resources/S2695997) Fundamentals of Linked Data 49 | * [B:](http://asn.desire2learn.com/resources/S2696025) Web technology 50 | * [C:](http://asn.desire2learn.com/resources/S2742442) Knows the origins of the World Wide Web (1989) as a non-linear interactive system, or hypermedia, built on the Internet. 51 | * [C:](http://asn.desire2learn.com/resources/S2742443) Understands that Linked Data (2006) extended the notion of a web of documents (the Web) to a notion of a web of finer-grained data (the Linked Data cloud). 52 | * [C:](http://asn.desire2learn.com/resources/S2742444) Knows HyperText Markup Language, or HTML (1991+), as a language for "marking up" the content and multimedia components of Web pages. 53 | * [C:](http://asn.desire2learn.com/resources/S2742445) Knows HTML5 (2014) as a version of HTML extended with support for complex web and mobile applications. 54 | * [C:](http://asn.desire2learn.com/resources/S2742446) Knows Hypertext Transfer Protocol, or HTTP (1991+), as the basic technology for resolving hyperlinks and transferring data on the World Wide Web. 55 | * [C:](http://asn.desire2learn.com/resources/S2742447) Knows Representational State Transfer, or REST (2000) as a software architectural style whereby browsers can exchange data with web servers, typically on the basis of well-known HTTP actions. 56 | * [B:](http://asn.desire2learn.com/resources/S2696027) Linked Data principles 57 | * [C:](http://asn.desire2learn.com/resources/S2696031) Knows Tim Berners-Lee's principles of Linked Data: use URIs to name things, use HTTP URIs that can be resolved to useful information, and create links to URIs of other things. 58 | * [C:](http://asn.desire2learn.com/resources/S2742441) Knows the "five stars" of Open Data: put data on the Web, preferably in a structured and preferably non-proprietary format, using URIs to name things, and link to other data. 59 | * [B:](http://asn.desire2learn.com/resources/S2696036) Linked Data policies and best practices 60 | * [C:](http://asn.desire2learn.com/resources/S2731559) Knows the primary organizations related to Linked Data standardization. 61 | * [D:](http://asn.desire2learn.com/resources/S2731560) Participates in developing standards and best practice with relevant organizations such as W3C. 62 | * [B:](http://asn.desire2learn.com/resources/S2696039) Non-RDF linked data 63 | 64 | ## [A:](http://asn.desire2learn.com/resources/S2696018) RDF vocabularies and application profiles 65 | * [B:](http://asn.desire2learn.com/resources/S2696044) Finding RDF-based vocabularies 66 | * [C:](http://asn.desire2learn.com/resources/S2731567) Knows portals and registries for finding RDF-based vocabularies. 67 | * [D:](http://asn.desire2learn.com/resources/S2696094) Finds properties and classes in the Linked Open Vocabularies (LOV) observatory and explores their versions and dependencies. 68 | * [B:](http://asn.desire2learn.com/resources/S2731561) Designing RDF-based vocabularies 69 | * [C:](http://asn.desire2learn.com/resources/S2731562) Uses RDF Schema to express semantic relationships within a vocabulary. 70 | * [D:](http://asn.desire2learn.com/resources/S2731563) Correctly uses sub-class relationships in support of inference. 71 | * [D:](http://asn.desire2learn.com/resources/S2731564) Correctly uses sub-property relationships in support of inference. 72 | * [C:](http://asn.desire2learn.com/resources/S2731566) Reuses published properties and classes where available. 73 | * [C:](http://asn.desire2learn.com/resources/S2731568) Coins namespace URIs, as needed, for any new properties and classes required. 74 | * [D:](http://asn.desire2learn.com/resources/S2731569) Drafts a policy for coining URIs for properties and classes. 75 | * [D:](http://asn.desire2learn.com/resources/S2731570) Chooses "hash"- or "slash"-based URI patterns based on requirements. 76 | * [C:](http://asn.desire2learn.com/resources/S2742449) Knows Web Ontology Language, or OWL (2004), as a RDF vocabulary of properties and classes that extend support for expressive data modeling and automated inferencing (reasoning). 77 | * [C:](http://asn.desire2learn.com/resources/S2742450) Knows that the word "ontology" is ambiguous, referring to any RDF vocabulary, but more typically a set of OWL classes and properties designed to support inferencing in a specific domain. 78 | * [C:](http://asn.desire2learn.com/resources/S2742451) Knows Simple Knowledge Organization System, or SKOS (2009), an RDF vocabulary for expressing concepts that are labeled in natural languages, organized into informal hierarchies, and aggregated into concept schemes. 79 | * [C:](http://asn.desire2learn.com/resources/S2742452) Knows SKOS eXtension for Labels, or SKOS-XL (2009), a small set of additional properties for describing and linking lexical labels as instances of the class Label. 80 | * [C:](http://asn.desire2learn.com/resources/S2742453) Understands that in a formal sense, a SKOS concept is not an RDF class but an instance and, as such, is not formally associated with a set of instances ("class extension"). 81 | * [C:](http://asn.desire2learn.com/resources/S2742454) Understands that SKOS can express a flexibly associative structure of concepts without enabling the more rigid and automatic inferences typically specified in a class-based OWL ontology. 82 | * [C:](http://asn.desire2learn.com/resources/S2742455) Understands that in contrast to OWL sub-class chains, hierarchies of SKOS concepts are designed not to form transitive chains automatically because this is not how humans think or organize information. 83 | * [C:](http://asn.desire2learn.com/resources/S2731565) Knows the naming conventions for RDF properties and classes. 84 | * [B:](http://asn.desire2learn.com/resources/S2696051) Maintaining RDF vocabularies 85 | * [C:](http://asn.desire2learn.com/resources/S2731571) Understands policy options for persistence guarantees. 86 | * [D:](http://asn.desire2learn.com/resources/S2731572) Can draft a persistence policy. 87 | * [B:](http://asn.desire2learn.com/resources/S2696058) Versioning RDF vocabularies 88 | * [C:](http://asn.desire2learn.com/resources/S2731573) Knows technical options for the form, content, and granularity of versions. 89 | * [C:](http://asn.desire2learn.com/resources/S2742456) Understands the trade-offs between publishing RDF vocabularies in periodic, numbered releases versus more continual or incremental approaches. 90 | * [D:](http://asn.desire2learn.com/resources/S2731574) Can express and justify a versioning policy. 91 | * [B:](http://asn.desire2learn.com/resources/S2696061) Publishing RDF vocabularies 92 | * [C:](http://asn.desire2learn.com/resources/S2731575) Knows the typical publication formats for RDF vocabularies and their relative advantages. 93 | * [C:](http://asn.desire2learn.com/resources/S2731576) Understands the purpose of publishing RDF vocabularies in multiple formats using content negotiation. 94 | * [C:](http://asn.desire2learn.com/resources/S2742457) Understands that to be "dereferencable", a URI should be usable to retrieve a representation of the resource it identifies. 95 | * [D:](http://asn.desire2learn.com/resources/S2742458) Ensures that when dereferenced by a Web browser, a URI returns a representation of the resource in human-readable HTML. 96 | * [D:](http://asn.desire2learn.com/resources/S2742459) Ensures that when dereferenced by an RDF application, a URI returns representation of the resource in the requested RDF serialization syntax. 97 | * [B:](http://asn.desire2learn.com/resources/S2696065) Mapping RDF vocabularies 98 | * [C:](http://asn.desire2learn.com/resources/S2742460) Understands that the properties of hierarchical subsumption within an RDF vocabulary -- rdfs:subPropertyOf and rdfs:subClassOf -- can also be used to express mappings between vocabularies. 99 | * [C:](http://asn.desire2learn.com/resources/S2742461) Understands that owl:equivalentProperty and owl:equivalentClass may be used when equivalencies between properties or between classes are exact. 100 | * [C:](http://asn.desire2learn.com/resources/S2742448) Recognizes that owl:sameAs, while popular as a mapping property, has strong formal semantics that can entail unintended inferences. 101 | * [B:](http://asn.desire2learn.com/resources/S2696069) RDF application profiles 102 | * [C:](http://asn.desire2learn.com/resources/S2731577) Identifies real-world entities in an application domain as candidates for RDF classes. 103 | * [C:](http://asn.desire2learn.com/resources/S2731578) Identifies resource attributes and relationships between domain entities as candidates for RDF properties. 104 | * [C:](http://asn.desire2learn.com/resources/S2731579) Investigates how others have modeled the same or similar application domains. 105 | * [D:](http://asn.desire2learn.com/resources/S2731580) Communicates a domain model with words and diagrams. 106 | * [D:](http://asn.desire2learn.com/resources/S2731581) Participates in the social process of developing application profiles. 107 | 108 | ## [A:](http://asn.desire2learn.com/resources/S2696022) Creating and transforming Linked Data 109 | * [B:](http://asn.desire2learn.com/resources/S2696076) Managing identifiers (URI) 110 | * [C:](http://asn.desire2learn.com/resources/S2742462) Understands that to be "persistent", a URI must have a stable, well-documented meaning and be plausibly intended to identify a given resource in perpetuity. 111 | * [C:](http://asn.desire2learn.com/resources/S2742463) Understands trade-offs between "opaque" URIs and URIs using version numbers, server names, dates, application-specific file extensions, query strings or other obsoletable context. 112 | * [C:](http://asn.desire2learn.com/resources/S2742464) Recognizes the desirability of a published namespace policy describing an institution's commitment to the persistence and semantic stability of important URIs. 113 | * [B:](http://asn.desire2learn.com/resources/S2696080) Creating RDF data 114 | * [C:](http://asn.desire2learn.com/resources/S2731582) Generates RDF data from non-RDF sources. 115 | * [C:](http://asn.desire2learn.com/resources/S2742465) Knows methods for generating RDF data from tabular data in formats such as Comma-Separated Values (CSV). 116 | * [C:](http://asn.desire2learn.com/resources/S2742466) Knows methods such as Direct Mapping of Relational Data to RDF (2012) for transforming data from the relational model (keys, values, rows, columns, tables) into RDF graphs. 117 | * [B:](http://asn.desire2learn.com/resources/S2696082) Versioning RDF data 118 | * [B:](http://asn.desire2learn.com/resources/S2696083) RDF data provenance 119 | * [B:](http://asn.desire2learn.com/resources/S2696084) Cleaning and reconciling RDF data 120 | * [C:](http://asn.desire2learn.com/resources/S2731583) Cleans a dataset by finding and correcting errors, removing duplicates and unwanted data. 121 | * [B:](http://asn.desire2learn.com/resources/S2696085) Mapping and enriching RDF data 122 | * [C:](http://asn.desire2learn.com/resources/S2731584) Uses available resources for named entity recognition, extraction, and reconciliation. 123 | 124 | ## [A:](http://asn.desire2learn.com/resources/S2696023) Interacting with RDF data 125 | * [B:](http://asn.desire2learn.com/resources/S2709893) Finding RDF data 126 | * [C:](http://asn.desire2learn.com/resources/S2710042) Knows relevant resources for discovering existing Linked Data datasets. 127 | * [D:](http://asn.desire2learn.com/resources/S2710039) Retrieves and accesses RDF data from the "open Web". 128 | * [D:](http://asn.desire2learn.com/resources/S2710046) Monitors and updates lists which report the status of SPARQL endpoints. 129 | * [D:](http://asn.desire2learn.com/resources/S2710054) Uses available vocabularies for dataset description to support their discovery. 130 | * [D:](http://asn.desire2learn.com/resources/S2710057) Registers datasets with relevant services for discovery. 131 | * [B:](http://asn.desire2learn.com/resources/S2696086) Processing RDF data using programming languages. 132 | * [C:](http://asn.desire2learn.com/resources/S2742467) Understands how components of the RDF data model (datasets, graphs, statements, and various types of node) are expressed in the RDF library of a given programming language by constructs such as object-oriented classes. 133 | * [D:](http://asn.desire2learn.com/resources/S2742468) Uses an RDF programming library to serialize RDF data in available syntaxes. 134 | * [D:](http://asn.desire2learn.com/resources/S2742469) Uses RDF-specific programming methods to iterate over components of RDF data. 135 | * [D:](http://asn.desire2learn.com/resources/S2742470) Uses RDF-library-specific convenience representations for common RDF vocabularies such as RDF, Dublin Core, and SKOS. 136 | * [D:](http://asn.desire2learn.com/resources/S2742471) Programmatically associates namespaces to prefixes for use in serializing RDF or when parsing SPARQL queries. 137 | * [D:](http://asn.desire2learn.com/resources/S2742472) Uses RDF programming libraries to extract RDF data from CSV files, databases, or web pages. 138 | * [D:](http://asn.desire2learn.com/resources/S2742473) Uses RDF programming libraries to persistently stores triples in memory, on disk, or to interact with triple stores. 139 | * [D:](http://asn.desire2learn.com/resources/S2742474) Programatically infers triples using custom functions or methods. 140 | * [C:](http://asn.desire2learn.com/resources/S2742475) Understands how the pattern matching of SPARQL queries can be expressed using functionally equivalent constructs in RDF programming libraries. 141 | * [D:](http://asn.desire2learn.com/resources/S2742476) Uses RDF-specific programming methods to query RDF data and save the results for further processing. 142 | * [D:](http://asn.desire2learn.com/resources/S2742477) Uses utilities and convenience functions the provide shortcuts for frequently used patterns, such as matching the multiple label properties used in real data. 143 | * [D:](http://asn.desire2learn.com/resources/S2742478) Uses RDF libraries to process various types of SPARQL query result. 144 | * [B:](http://asn.desire2learn.com/resources/S2696087) Querying RDF data 145 | * [C:](http://asn.desire2learn.com/resources/S2708689) Understands that a SPARQL query matches an RDF graph against a pattern of triples with fixed and variable values. 146 | * [C:](http://asn.desire2learn.com/resources/S2708688) Understands the basic syntax of a SPARQL query. 147 | * [D:](http://asn.desire2learn.com/resources/S2708691) Uses angle brackets for delimiting URIs. 148 | * [D:](http://asn.desire2learn.com/resources/S2708692) Uses question marks for indicating variables. 149 | * [D:](http://asn.desire2learn.com/resources/S2708694) Uses PREFIX for base URIs. 150 | * [C:](http://asn.desire2learn.com/resources/S2708695) Demonstrates a working knowledge of the forms and uses of SPARQL result sets (SELECT, CONSTRUCT, DESCRIBE, and ASK). 151 | * [D:](http://asn.desire2learn.com/resources/S2708696) Uses the SELECT clause to identify the variables to appear in a table of query results. 152 | * [D:](http://asn.desire2learn.com/resources/S2708697) Uses the WHERE clause to provide the graph pattern to match against the graph data. 153 | * [D:](http://asn.desire2learn.com/resources/S2708698) Uses variables in SELECT and WHERE clauses to yield a table of results. 154 | * [D:](http://asn.desire2learn.com/resources/S2708699) Uses ASK for a True/False result test for a match to a query pattern. 155 | * [D:](http://asn.desire2learn.com/resources/S2708700) Uses DESCRIBE to extract a single graph containing RDF data about resources. 156 | * [D:](http://asn.desire2learn.com/resources/S2708701) Uses CONSTRUCT to extract and transform results into a single RDF graph specified by a graph template. 157 | * [D:](http://asn.desire2learn.com/resources/S2709273) Uses FROM to formulate queries with URLs and local files. 158 | * [C:](http://asn.desire2learn.com/resources/S2708702) Understands how to combine and filter graph patterns using operators such as UNION, OPTIONAL, FILTER, and MINUS. 159 | * [D:](http://asn.desire2learn.com/resources/S2708703) Uses UNION to formulate queries with multiple possible graph patterns. 160 | * [D:](http://asn.desire2learn.com/resources/S2708704) Uses OPTIONAL to formulate queries to return the values of optional variables when available. 161 | * [D:](http://asn.desire2learn.com/resources/S2708705) Uses FILTER to formulates queries that eliminate solutions from a result set. 162 | * [D:](http://asn.desire2learn.com/resources/S2708706) Uses NOT EXISTS to limit whether a given graph pattern exists in the data. 163 | * [D:](http://asn.desire2learn.com/resources/S2708707) Uses MINUS to remove matches from a result based on the evaluation of two patterns. 164 | * [D:](http://asn.desire2learn.com/resources/S2708708) Uses NOT IN to restrict a variable to not being in a given set of values. 165 | * [C:](http://asn.desire2learn.com/resources/S2708709) Understands the major SPARQL result set modifiers, e.g., to limit or sort results, or to return distinct results only once. 166 | * [D:](http://asn.desire2learn.com/resources/S2708711) Uses ORDER BY to define ordering conditions by variable, function call, or expression. 167 | * [D:](http://asn.desire2learn.com/resources/S2708712) Uses DISTINCT to ensure solutions in the sequence are unique. 168 | * [D:](http://asn.desire2learn.com/resources/S2708713) Uses OFFSET to control where the solutions processed start in the overall sequence of solutions. 169 | * [D:](http://asn.desire2learn.com/resources/S2708716) Uses LIMIT to restrict the number of solutions processed for query results. 170 | * [D:](http://asn.desire2learn.com/resources/S2708717) Uses projection to transform a solution sequence into one involving only a subset of the variables. 171 | * [C:](http://asn.desire2learn.com/resources/S2709147) Understands the use of SPARQL functions and operators. 172 | * [D:](http://asn.desire2learn.com/resources/S2709148) Uses the regular expression (regex()) function for string matching. 173 | * [D:](http://asn.desire2learn.com/resources/S2709157) Uses aggregates to apply expressions over groups of solutions (GROUP BY, COUNT, SUM, AVG, MIN) for partitioning results, evaluating projections, and filtering. 174 | * [D:](http://asn.desire2learn.com/resources/S2709160) Uses the lang() function to return the language tag of an RDF literal. 175 | * [D:](http://asn.desire2learn.com/resources/S2709164) Uses the langMatches() function to match a language tag against a language range. 176 | * [D:](http://asn.desire2learn.com/resources/S2709168) Uses the xsd:decimal(expn) function to convert an expression to an integer. 177 | * [D:](http://asn.desire2learn.com/resources/S2709174) Uses the GROUP BY clause to transforms a result set so that only one row will appear for each unique set of grouping variables. 178 | * [D:](http://asn.desire2learn.com/resources/S2709181) Uses the HAVING clause to apply a filter to the result set after grouping. 179 | * [C:](http://asn.desire2learn.com/resources/S2709246) Differentiates between a Default Graph and a Named Graph, and formulates queries using the GRAPH clause. 180 | * [D:](http://asn.desire2learn.com/resources/S2709260) Formulates advanced queries using FROM NAMED and GRAPH on local data. 181 | * [D:](http://asn.desire2learn.com/resources/S2709264) Formulates advanced queries using FROM NAMED on remote data. 182 | * [D:](http://asn.desire2learn.com/resources/S2708693) Formulates advanced queries on data containing blank nodes. 183 | * [D:](http://asn.desire2learn.com/resources/S2709265) Formulates advanced queries using subqueries. 184 | * [C:](http://asn.desire2learn.com/resources/S2709266) Uses a temporary variable to extend a query. 185 | * [C:](http://asn.desire2learn.com/resources/S2709267) Understands the role of Property Paths and how they are formed by combining predicates with regular expression-like operators. 186 | * [C:](http://asn.desire2learn.com/resources/S2709268) Understands the concept of Federated Searches. 187 | * [D:](http://asn.desire2learn.com/resources/S2709269) Formulates advanced queries on a remote SPARQL endpoint using the SERVICE directive. 188 | * [D:](http://asn.desire2learn.com/resources/S2709270) Uses federated query to query over a local graph store and one or more other SPARQL endpoints. 189 | * [D:](http://asn.desire2learn.com/resources/S2709271) Pulls data from a different SPARQL endpoints in one single query using the SERVICE directive. 190 | * [C:](http://asn.desire2learn.com/resources/S2709272) Converts/manipulates SPARQL query outputs (RDF-XML, JSON) to the exact format required by third-party tools and APIs. 191 | * [C:](http://asn.desire2learn.com/resources/S2709274) Reads and understands high-level descriptions of the classes and properties of a dataset in order to write queries. 192 | * [C:](http://asn.desire2learn.com/resources/S2709275) Uses available tools, servers, and endpoints to issue queries against a dataset. 193 | * [D:](http://asn.desire2learn.com/resources/S2709276) Execute SPARQL queries using the Jena ARQ command-line utility. 194 | * [D:](http://asn.desire2learn.com/resources/S2709277) Queries multiple local data files using ARQ. 195 | * [D:](http://asn.desire2learn.com/resources/S2709278) Uses ARQ to evaluate queries on local data. 196 | * [D:](http://asn.desire2learn.com/resources/S2709279) Uses Fuseki server to evaluate queries on a dataset. 197 | * [D:](http://asn.desire2learn.com/resources/S2709280) Queries multiple data files using Fuseki. 198 | * [D:](http://asn.desire2learn.com/resources/S2709281) Accesses DBPedia's SNORQL/SPARQL endpoint and issues simple queries. 199 | * [B:](http://asn.desire2learn.com/resources/S2696088) Visualizing RDF data 200 | * [C:](http://asn.desire2learn.com/resources/S2709282) Knows publicly available tools for visualizing data. 201 | * [D:](http://asn.desire2learn.com/resources/@@@) Creates a timeline representation from a large dataset. 202 | * [D:](http://asn.desire2learn.com/resources/@@@) Creates a map representation from a large dataset. 203 | * [B:](http://asn.desire2learn.com/resources/S2696089) Reasoning over RDF data 204 | * [C:](http://asn.desire2learn.com/resources/S2708690) Understands the principles and practice of inferencing. 205 | * [D:](http://asn.desire2learn.com/resources/S2709285) Uses common entailment regimes and understands their uses. 206 | * [C:](http://asn.desire2learn.com/resources/S2731586) Understands the role of formally declared domains and ranges for inferencing. 207 | * [C:](http://asn.desire2learn.com/resources/S2731587) Understands how reasoning can be used for integrating diverse datasets. 208 | * [C:](http://asn.desire2learn.com/resources/S2742479) Knows that Web Ontology Language (OWL) is available in multiple "flavors" that are variously optimized for expressivity, performant reasoning, or for applications involving databases or business rules. 209 | * [C:](http://asn.desire2learn.com/resources/S2742480) Understands that OWL Full supports all available constructs and is most appropriately used when reasoning performance is not a concern. 210 | * [B:](http://asn.desire2learn.com/resources/S2696090) Assessing RDF data quality 211 | * [B:](http://asn.desire2learn.com/resources/S2696091) RDF data analytics 212 | * [C:](http://asn.desire2learn.com/resources/S2709287) Uses available ontology browsing tools to explore the ontologies used in a particular dataset. 213 | * [B:](http://asn.desire2learn.com/resources/S2709897) Manipulating RDF data 214 | * [C:](http://asn.desire2learn.com/resources/S2709288) Knows the SPARQL 1.1 Update language for updating, creating, and removing RDF graphs in a Graph Store 215 | * [D:](http://asn.desire2learn.com/resources/S2709290) Uses INSERT/DELETE to update triples. 216 | * [D:](http://asn.desire2learn.com/resources/S2731588) Uses a CONSTRUCT query to preview changes before executing an INSERT/DELETE operation. 217 | * [C:](http://asn.desire2learn.com/resources/S2709289) Knows the SPARQL 1.1 Graph Store HTTP protocol for updating graphs on a web server (in "restful" style). 218 | * [D:](http://asn.desire2learn.com/resources/S2709291) Uses GET to retrieve triples from a default graph or a named graph. 219 | * [D:](http://asn.desire2learn.com/resources/S2709292) Uses PUT to insert set of triples into a new graph (or replace an existing graph). 220 | * [D:](http://asn.desire2learn.com/resources/S2709293) Uses DELETE to remove a graph. 221 | * [D:](http://asn.desire2learn.com/resources/S2731589) Uses POST to add triples to an existing graph. 222 | * [D:](http://asn.desire2learn.com/resources/S2709294) Uses proper syntax to request specific media types, such as Turtle. 223 | * [C:](http://asn.desire2learn.com/resources/S2709930) Understands the difference between SQL query language (which operates on database tables) and SPARQL (which operates on RDF graphs). 224 | 225 | ## [A:](http://asn.desire2learn.com/resources/S2696024) Creating Linked Data applications 226 | * [B:](http://asn.desire2learn.com/resources/S2696092) Storing RDF data 227 | -------------------------------------------------------------------------------- /docs/D2695955_to_md.py: -------------------------------------------------------------------------------- 1 | # coding: utf-8 2 | 3 | COMPINDEX_JSON = 'D2695955.json' 4 | 5 | def today(): 6 | from time import gmtime, strftime 7 | return strftime("%Y-%m-%d %H:%M:%S", gmtime()) 8 | 9 | def round_bracket(some_string): 10 | """Adds round brackets around a given string.""" 11 | from string import Template 12 | return Template('($phrase)').substitute(phrase=some_string) 13 | 14 | def json2ordict(json_filename): 15 | """Given a JSON file, returns its contents as a Python ordered dictionary.""" 16 | import json 17 | from collections import OrderedDict 18 | ord_dict = json.loads(open(json_filename).read(), object_pairs_hook=OrderedDict) 19 | return ord_dict 20 | 21 | def ordict2selectn(ordered_dict): 22 | statementLabel = 'http://purl.org/ASN/schema/core/statementLabel' 23 | dcdescription = 'http://purl.org/dc/terms/description' 24 | selected_fields = [] 25 | for item in ordered_dict: 26 | line = [] 27 | if statementLabel in ordered_dict[item].keys(): 28 | line.append(ordered_dict[item][statementLabel][0]["value"]) 29 | line.append(item) 30 | line.append(ordered_dict[item][dcdescription][0]["value"]) 31 | # line.append(item.replace("http://asn.desire2learn.com/resources/", "asn:")) 32 | selected_fields.append(line) 33 | return selected_fields 34 | 35 | def mkmarkdown(selected_fields): 36 | just_lines = [] 37 | prefix = """# LD4PE Competency Index 38 | 39 | Version: %s
40 | View at: [https://dcmi.github.io/ldci/D2695955/](https://dcmi.github.io/ldci/D2695955/)
41 | 42 | | Code| Type | Definition | 43 | | --- | ------------- | --------------------------------------------------------------| 44 | | A | Topic Cluster | | 45 | | B | Topic | | 46 | | C | Competency | Tweet-length assertion of knowledge, skill, or habit of mind. | 47 | | D | Benchmark | Action demonstrating accomplishment in related competencies. | 48 | 49 | Note: Hover over a code to see its URI. Click on a code to visit its full definition on the [Achievement Standards Network](http://asn.desire2learn.com/resources/D2695955) website. 50 | 51 | """ % today() 52 | just_lines.append(prefix) 53 | for line in selected_fields: 54 | line[1] = round_bracket(line[1]) 55 | if line[0] == 'Topic Cluster': 56 | line[0] = '\n## [A:]' 57 | if line[0] == 'Topic': 58 | line[0] = '* [B:]' 59 | if line[0] == 'Competency': 60 | line[0] = ' * [C:]' 61 | if line[0] == 'Benchmark': 62 | line[0] = ' * [D:]' 63 | line[0] = ''.join([line[0], line[1]]) 64 | del line[1] 65 | line = ' '.join(line) 66 | just_lines.append(line) 67 | return just_lines 68 | 69 | def main(): 70 | ordict = json2ordict(COMPINDEX_JSON) 71 | excerpt = ordict2selectn(ordict) 72 | lines = mkmarkdown(excerpt) 73 | with open('D2695955.md', 'w') as f: 74 | print("Writing", f) 75 | f.writelines("%s\n" % item for item in lines) 76 | 77 | if __name__ == "__main__": 78 | main() 79 | -------------------------------------------------------------------------------- /docs/Makefile: -------------------------------------------------------------------------------- 1 | D2695955.md: D2695955.json 2 | python3 D2695955_to_md.py 3 | -------------------------------------------------------------------------------- /docs/board.md: -------------------------------------------------------------------------------- 1 | ### Competency Index Editorial Board 2 | 3 | [Tom Baker](https://github.com/tombaker), chair
4 | [Debbie Maron](https://github.com/debbiem)
5 | [Kai Eckert](https://github.com/kaiec)
6 | [Magnus Pfeffer](https://github.com/mapfde)
7 | [Stuart Sutton](https://github.com/stuartasutton)
8 | 9 | Links 10 | * [Issues](https://github.com/dcmi/ldci/issues) 11 | * [Pull requests](https://github.com/dcmi/ldci/pulls) 12 | -------------------------------------------------------------------------------- /docs/faq.md: -------------------------------------------------------------------------------- 1 | ### Frequently Asked Questions 2 | 3 | 1. __How is the Linked Data Competency Index used in practice?__ In the LD4PE Project, the index had two primary uses. It provided a overview of the Linked Data field that teachers and learners could use to design university courses, training workshops, or self-directed learning programs. It also provided a set of URIs, for use in metadata, for [tagging tutorial resources](http://explore.dublincore.net/explore-learning-resources-by-competency/) in terms of topics or competencies covered. 4 | 5 | 2. __Why are the competencies not numbered for easy reference?__ The competency index will evolve over time. Topics, competencies, or benchmarks could, in principle, be added anywhere in the index, which would change the numbers of any sequential numbering system. Conceivably, we could decide to issue occasional stable releases. In this case, the [Python script for building the Markdown document](https://github.com/dcmi/ldci/tree/master/docs/D2695955_to_md.py) might then be modified to calculate item numbers on the model of x (clusters), x.x (topics), x.x.x (competencies), x.x.x.x (benchmarks). Moving to numbered releases would also help translators of the index (see the [translation in Chinese](http://explore.dublincore.net/wp-content/uploads/sites/2/2015/09/LD4PECompetencyIndex-chinese.pdf). If you feel strongly about this issue, please feel free to [open an issue](https://github.com/dcmi/ldci/issues) in the Github issue tracker. 6 | 7 | 3. __Are the URIs for competencies covered by the DCMI Namespace Policy?__ The [DCMI Namespace Policy](http://dublincore.org/documents/dcmi-namespace/) lists several namespaces for which the organization makes a long-term commitment to their persistence and semantic stability. Currently, all of those namespaces are managed under the [purl.org](http://purl.org) resolver service, where DCMI administers its own PURL subdomain. From the start of the LD4PE Project, the URIs for topics and competencies in the Linked Data Competency Index have been coined and managed under the [Achievement Standards Network](http://asn.desire2learn.com). The topic "Identity in RDF", for example, is identified with the URI [http://asn.desire2learn.com/resources/S2696001](http://asn.desire2learn.com/resources/S2696001). In order to extend its namespace policy to cover such URIs, DCMI would need to better understand ASN's policies with regard to persistence or, possibly, consider coining dublincore.org or PURL URIs under its own control. More fundamentally, we should ask ourselves how important is it that the things in the index have persistent identity and stable semantics? The answer should depend to an extent on how the competency index is used in practice. We might start by distinguishing between topics (and topic clusters), which change infrequently and can be used in metadata as broad subject headings, and competencies (and benchmarks), which will be coined and superseded more quickly as technology evolves. In the LD4PE Project, competency URIs were used to [tag tutorial resources for retrieval by competency](http://explore.dublincore.net/explore-learning-resources-by-competency/). Many of these materials, such as blog postings, will become superseded or unavailable. Do the competencies used as their tags really need to be more persistent than the described resources themselves? If you feel strongly about this issue, please feel free to [open an issue](https://github.com/dcmi/ldci/issues) in the Github issue tracker. 8 | 9 | -------------------------------------------------------------------------------- /docs/img/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dcmi/ldci/ed1ee8644b6112e921f8c105795ca910687188f7/docs/img/favicon.ico -------------------------------------------------------------------------------- /docs/img/fork.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dcmi/ldci/ed1ee8644b6112e921f8c105795ca910687188f7/docs/img/fork.jpg -------------------------------------------------------------------------------- /docs/img/ld4pe-290px.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dcmi/ldci/ed1ee8644b6112e921f8c105795ca910687188f7/docs/img/ld4pe-290px.png -------------------------------------------------------------------------------- /docs/img/pullrequest.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dcmi/ldci/ed1ee8644b6112e921f8c105795ca910687188f7/docs/img/pullrequest.jpg -------------------------------------------------------------------------------- /docs/index.md: -------------------------------------------------------------------------------- 1 | ![Logo](img/ld4pe-290px.png) 2 | ### About the Linked Data Competency Index (LDCI) 3 | 4 | The [Linked Data Competency Index](D2695955.md), or LDCI, is a set of topically arranged assertions of the knowledge, skills, and habits of mind required for professional practice in the area of Linked Data. The LDCI provides an overview, or map, of the Linked Data field both for independent learners who want to learn Linked Data methods and technology, and for professors or trainers who want to design and teach courses on the subject. 5 | 6 | The assertions enumerated in the LDCI are identified with unique, Web-based identifiers (URIs) that can be used to tag corresponding resources, from books or Web-based tutorials to YouTube videos, for indexing and retrieval. 7 | 8 | The LDCI is the product of two projects: the [Learning Linked Data Project](http://lld.dublincore.net/), twelve-month planning activity funded in 2011 and 2012 by the [Institute of Museum and Library Services (IMLS)](https://www.imls.gov/) to explore the creation of a software platform for learning to interpret and create Linked Data, and its follow-up project, [LD4PE](http://explore.dublincore.net/), or Linked Data for Professional Education, funded by IMLS from 2014 to 2017. 9 | 10 | To create this index, the LD4PE Competency Index Editorial Board devised its own [stylistic principles](style.md). The Board strove for stylistic coherence, consistent granularity, manageable length, and general readability. The goal was to formulate a Competency Index that could be printed out by interested learners and profitably be read from start to finish, with language evocative enough to convey the general drift of the subject matter even to newcomers. 11 | 12 | A living document, the index is now maintained by the Dublin Core Metadata Initiative through crowdsourcing. Interested users can contribute to its improvement by forking the [LDCI Github repository](https://github.com/dcmi/ldci), making edits to your copy of the index, and submitting those edits to the Competency Index Editorial Board as a pull request. Due to the excellent integration of [MkDocs](http://mkdocs.org), the software used to generate this website, with Github, this process is actually [much easier than it sounds](process.md)! 13 | 14 | -------------------------------------------------------------------------------- /docs/process.md: -------------------------------------------------------------------------------- 1 | ### Help us maintain the index 2 | 3 | Technology continually evolves, and the index is a living document. Do you see gaps in its coverage? Proposing new competencies or benchmarks, updates, or even just changes of wording to the Competency Index Editorial Board is a fully guided process that begins with a [single mouse click](https://github.com/dcmi/ldci/edit/master/docs/D2695955.md). 4 | 5 | Before making that mouse click, you must be logged into an account on [Github](https://github.com/), a superbly well-designed platform pioneered by developers of open-source software that increasingly is being used for collaboration on other types of project, such as this competency index. [Joining Github](https://github.com/join) is free; you will be in excellent company. 6 | 7 | If you [log into Github](https://github.com/login) and navigate to the [Linked Data Competency Index](D2695955.md), you will see, in the upper right, a button labeled __Edit on Github__. [Clicking this](https://github.com/dcmi/ldci/edit/master/docs/D2695955.md) will present you with the option to "fork" the [LDCI Github repository](https://github.com/dcmi/ldci). A copy of LDCI repository will be placed under your personal Github page and you will be placed directly into an editor where you can make changes to the competency index. 8 | 9 | Then type away! Add new competencies or tweak wordings. Don't worry about the format; you are editing your own copy, so nothing will break. When you are satisfied with your changes, give your suggestions a descriptive title, press the button to "commit" your changes. 10 | 11 | ![pull_request](img/pullrequest.jpg) 12 | 13 | Then follow the prompts to create a ["pull request"](https://github.com/articles/about-pull-requests/). This will post your proposal to the LDCI Github repository with a request for consideration by the Competency Index Editorial Board. The page created for your pull request may be used for follow-up questions and discussion. Comments posted there will also be sent to the email address associated with your Github account. 14 | 15 | If you merely want to raise issues related to the index, without proposing specific changes, you can do so by visiting the [issues page](https://github.com/dcmi/ldci/issues) and clicking on __New Issue__. This is the best way to raise general issues about the index, such as an extension of scope, or to put forward ideas that are not yet fully formed. 16 | 17 | Members of the Editorial Board (and others with write access to the LDCI repository) should propose changes by creating a new branch of the repository, editing there, then [issuing a pull request from the branch](https://help.github.com/articles/creating-a-pull-request/). 18 | -------------------------------------------------------------------------------- /docs/structure.md: -------------------------------------------------------------------------------- 1 | ### Structure of the Competency Index 2 | 3 | The Linked Data Competency Index exemplifies a broader class of documents for describing curriculum standards and learning objectives or outcomes. There is no one standard way to formulate a competency index -- or competency framework, as they are sometimes called. The range of subjects to be learned, and the requirements for learning, are too diverse to be normalized. For the purposes of this index, the Competency Index Editorial Board devised the following structure: 4 | 5 | __Topics__. A topic is a theme under which a set of competencies are grouped, such as _Designing RDF-based vocabularies_ and _Maintaining RDF vocabularies_. Topics are grouped under higher-level topic clusters, such as _RDF vocabularies and application profiles_. 6 | 7 | __Competencies__. A competency is a brief phrase characterizing knowledge (facts, insights, habits of mind, or skills) that may be learned. Competencies may be used as building blocks for constructing self-learning plans, university courses, or even entire curricula. Under the topic _Querying RDF Data_, for example, one finds two competencies: 8 | 9 | > _Understands that a SPARQL query matches an RDF graph against a pattern of triples with fixed and variable values._ 10 | 11 | > _Understands the basic syntax of a SPARQL query._ 12 | 13 | __Benchmarks__. A benchmark is a brief phrase describing an action that can demonstrate accomplishment in a given competency. If competencies are about learning, benchmarks are about doing. Benchmarks may be used for devising homework assignments, exam questions, or self-testing checklists. Under the competency _Understands the basic syntax of a SPARQL query_, for example, one finds three benchmarks: 14 | 15 | > _Uses angle brackets for delimiting URIs._ 16 | 17 | > _Uses question marks for indicating variables._ 18 | 19 | > _Uses PREFIX for base URIs._ 20 | 21 | By design, the index does not classify competencies or benchmarks by level of difficulty and makes no assumptions about the background knowledge or skill set of learners. This is because concepts that are comparatively easy for a library science student may be hard for a computer science student, and vice versa. The index should also not be taken to imply an inherent order to the topics. 22 | 23 | -------------------------------------------------------------------------------- /docs/style.md: -------------------------------------------------------------------------------- 1 | ### Writing effective competencies and benchmarks 2 | 3 | | Competencies (understanding) | Benchmarks (doing) | 4 | | ------------------- | --------------- | 5 | | Understands | Uses | 6 | | Knows | Expresses | 7 | | Recognizes | Demonstrates | 8 | | Differentiates ... | Converts ... | 9 | 10 | 1. Begin each competency or benchmark with an action verb. Competencies start with verbs related to understanding. Benchmarks start with verbs about doing. 11 | 12 | 1. Limit each competency or benchmark to one sentence of circa 140 characters, the length of a Twitter posting. If a thought seems to require more words, consider splitting it into two simpler thoughts. 13 | 14 | 1. Spell out acronyms at least once. Use your judgement. In a competency index about Linked Data, frequently used acronyms such as _OWL_ and _URI_ need only be spelled out once: _Knows Web Ontology Language, or OWL (2004), an RDF vocabulary of properties and classes that extend support for expressive data modeling and automated inferencing (reasoning)._ 15 | 16 | 1. Include historical context if possible. Linked Data technology has largely evolved over the past quarter century and continues to evolve. Knowing the year when a technology or concept was introduced helps readers, for example: _World Wide Web (1989)_, _HTTP (1991+)_, _URIs (1994)_, _OWL (2004)_, and _Linked Data (2006)_. 17 | 18 | 1. Include enough detail to characterize the nature of competency in a domain. Competencies and benchmarks should not aim at covering all features of a technology, in the manner of a reference manual. Attempts at comprehensiveness risk making the CI brittle in the face of inevitable change, and they risk making the CI boring to read. 19 | 20 | 1. Draw attention to ambiguity in the definition or use of terminology. For example, one competency reads: _Knows that the word "ontology" is ambiguous, referring to any RDF vocabulary, but more typically a set of OWL classes and properties designed to support inferencing in a specific domain_. 21 | 22 | 1. Enlarge the set of topics covered by the index with prudence, bearing in mind that adding high-level topic cluster will broaden the scope of the index as a whole. If new high-level topic clusters are proposed, however, consider whether they really fit into the scope of this particular competency index or, perhaps, imply the need for a second competency index with a different scope (for example, one focused on the design of Knowledge Organization Systems). 23 | -------------------------------------------------------------------------------- /mkdocs.yml: -------------------------------------------------------------------------------- 1 | site_name: Linked Data Competency Index 2 | pages: 3 | - About: 'index.md' 4 | - The Index: 'D2695955.md' 5 | - Structure of the Index: 'structure.md' 6 | - Style of the Index: 'style.md' 7 | - How to Contribute: 'process.md' 8 | - Editorial Board: 'board.md' 9 | - FAQ: 'faq.md' 10 | theme: 'readthedocs' 11 | repo_url: https://github.com/dcmi/ldci 12 | repo_name: 'Github' 13 | edit_uri: 'edit/master/docs/' 14 | site_description: 'For crowdsourcing the maintenance and evolution of the LD4PE Linked Data Competency Index' 15 | -------------------------------------------------------------------------------- /todo.txt: -------------------------------------------------------------------------------- 1 | To do (as of 2017) 2 | - Change LDCI URIs into PURLs 3 | - Continue testing the Github-pull-request-driven process for updating the LDCI. 4 | - Delete https://github.com/dcmi/ldci/blob/master/docs/D2695955.json - abandon this? 5 | - Use https://github.com/dcmi/ldci/blob/master/docs/D2695955.md - henceforth use only this? 6 | - Reconsider use of ASN? http://www.achievementstandards.org/resources/ASNJurisdiction/DCMI - Achieve Standards Network jurisdiction DCMI 7 | - Scripts to generate PDFs of Competency Framework (including one without benchmarks?) 8 | - Simplify https://github.com/dcmi/ldci/tree/master/README.md if JSON henceforth irrelevant 9 | - Test communicating changes to maintainers of https://dcmi.github.io/ldci-zh/ 10 | --------------------------------------------------------------------------------