Skip to content

Commit 2b570c0

Browse files
committed
Add some flair to the README
1 parent 3690cca commit 2b570c0

File tree

1 file changed

+9
-9
lines changed

1 file changed

+9
-9
lines changed

README.md

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ For an idea of what JSONoid does, you can view [example schemas with their corre
2222
- [Objects](#objects)
2323
- [Strings](#strings)
2424
- [Equivalence relations](#equivalence-relations)
25-
- [Transformers](#transformers)
25+
- [Transformers](#transformers) :robot:
2626
- [`DefinitionTransformer`](#definitiontransformer)
2727
- [`DisjointObjectTransformer`](#disjointobjecttransformer)
2828
- [`DynamicObjectTransformer`](#dynamicobjecttransformer)
@@ -37,7 +37,7 @@ For an idea of what JSONoid does, you can view [example schemas with their corre
3737
</details>
3838
<!-- END doctoc generated TOC please keep comment here to allow auto update -->
3939

40-
## Input/Output Format
40+
## Input/Output Format :clipboard:
4141

4242
JSONoid accepts [newline-delimited JSON](http://ndjson.org/) either from standard input or a file.
4343
This means there should be exactly one JSON value per line in the input.
@@ -48,7 +48,7 @@ The generated schema will be printed [JSON Schema](https://json-schema.org/) as
4848
Note that depending on the configuration, JSONoid will add additional properties which are not part of the JSON Schema standard.
4949
The format is described in the [JSON Schema Profile](https://github.com/dataunitylab/json-schema-profile) draft and is subject to change..
5050

51-
## Running
51+
## Running :running:
5252

5353
To quickly run jsonoid, you can use the Docker image which is built from the latest commit on the `main` branch.
5454
Note that by default, jsonoid accepts [newline-delimited JSON](http://ndjson.org/) on standard input, so it will hang waiting for input.
@@ -61,14 +61,14 @@ To simplify, you may wish to add a shell alias so `jsonoid` can be run directly
6161
alias jsonoid='docker run -i --rm michaelmior/jsonoid-discovery'
6262
jsonoid --help
6363

64-
## Compiling
64+
## Compiling :construction_worker:
6565

6666
To produce a JAR file which is suitable for running either locally or via Spark, run `sbt assembly`.
6767
This requires an installation of [sbt](https://www.scala-sbt.org/).
6868
Alternatively, you can use `./sbtx assembly` to attempt to automatically download install the appropriate sbt and Scala versions using [sbt-extras](https://github.com/dwijnand/sbt-extras).
6969
This will produce a JAR file under `target/scala-2.13/` which can either be run directly or passed to `spark-submit` to run via Spark.
7070

71-
## Schema monoids
71+
## Schema monoids :heavy_multiplication_x:
7272

7373
In JSONoid, the primary way information is collected from a schema is using [monoids](https://en.wikipedia.org/wiki/Monoid).
7474
A monoid simply stores a piece of information extracted from a JSON document along with information on how to combine together information from all documents in a collection in a scalable way.
@@ -108,7 +108,7 @@ For each primitive type, the following monoids are defined.
108108
- `LengthHistogram`, `MaxLength`, `MinLength` - Both the minimum and maximum length of strings as well as a histogram of all string lengths will be included.
109109
- `Format` - This attempts to infer a value for the [`pattern`](https://json-schema.org/understanding-json-schema/reference/string.html#regular-expressions) keyword. A pattern is a regular expression which all string values must match. Currently this property simply finds common prefixes and suffixes of strings in the schema.
110110

111-
## Equivalence relations
111+
## Equivalence relations :left_right_arrow:
112112

113113
The concept of equivalence relations was first introduced by Baazizi et al. in [Parametric schema inference for massive JSON datasets](https://link.springer.com/article/10.1007/s00778-018-0532-7.)
114114
The idea is that some JSON Schemas may contain some level of variation such as optional values and multiple possible types for a given key.
@@ -185,20 +185,20 @@ The result of the reduction will be a `JsonSchema` object.
185185
Tests can be run via [ScalaTest](https://www.scalatest.org/) via `sbt test`.
186186
It is also possible to run fuzz tests via [Jazzer](https://github.com/CodeIntelligenceTesting/jazzer) with `./run-fuzzer.sh`.
187187

188-
## Reporting issues
188+
## Reporting issues :triangular_flag_on_post:
189189

190190
If you encounter any issues, please open an issue on the [GitHub repository](https://github.com/dataunitylab/jsonoid-discovery).
191191
Any potential security vulnerabilities should be [reported privately](https://github.com/dataunitylab/jsonoid-discovery/security/advisories/new).
192192

193-
## Datasets
193+
## Datasets :file_folder:
194194

195195
* [GDP](http://api.worldbank.org/countries/USA/indicators/NY.GDP.MKTP.CD?per_page=5000&format=json)
196196
* [Nobel Prize](http://api.nobelprize.org/v1/prize.json)
197197
* [USGS - Earthquakes](https://earthquake.usgs.gov/earthquakes/feed/v1.0/summary/all_hour.geojson)
198198
* [Rick and Morty characters](https://rickandmortyapi.com/api/character/)
199199
* [TVmaze](https://api.tvmaze.com/singlesearch/shows?q=mr-robot&embed=episodes)
200200

201-
## Validation
201+
## Validation :white_check_mark:
202202

203203
JSONoid also contains a partial implementation of a JSON Schema validator.
204204
More details on validation can be found [in this repository](https://github.com/dataunitylab/jsonoid-bowtie).

0 commit comments

Comments
 (0)