Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Binary file added docs/assets/samples/foaf.jelly
Binary file not shown.
189 changes: 189 additions & 0 deletions docs/assets/samples/foaf.jelly.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,189 @@
# Frame 0
rows {
options {
physical_type: PHYSICAL_STREAM_TYPE_TRIPLES
max_name_table_size: 4000
max_prefix_table_size: 150
max_datatype_table_size: 32
logical_type: LOGICAL_STREAM_TYPE_FLAT_TRIPLES
version: 1
}
}
rows {
prefix {
value: "https://neverblink.eu/example#"
}
}
rows {
name {
value: "Piotr"
}
}
rows {
prefix {
value: "http://www.w3.org/1999/02/22-rdf-syntax-ns#"
}
}
rows {
name {
value: "type"
}
}
rows {
prefix {
value: "http://xmlns.com/foaf/0.1/"
}
}
rows {
name {
value: "Person"
}
}
rows {
triple {
s_iri {
prefix_id: 1
}
p_iri {
prefix_id: 2
}
o_iri {
prefix_id: 3
}
}
}
rows {
prefix {
value: "https://schema.org/"
}
}
rows {
triple {
o_iri {
prefix_id: 4
name_id: 3
}
}
}
rows {
name {
value: "givenName"
}
}
rows {
triple {
p_iri {
prefix_id: 3
}
o_literal {
lex: "Piotr"
}
}
}
rows {
name {
value: "familyName"
}
}
rows {
triple {
p_iri {
}
o_literal {
lex: "Sowi\305\204ski"
}
}
}
rows {
name {
value: "homepage"
}
}
rows {
prefix {
value: "https://"
}
}
rows {
name {
value: "ostrzyciel.eu"
}
}
rows {
triple {
p_iri {
}
o_iri {
prefix_id: 5
}
}
}
rows {
name {
value: "Organization"
}
}
rows {
triple {
s_bnode: "0000"
p_iri {
prefix_id: 2
name_id: 2
}
o_iri {
prefix_id: 4
name_id: 8
}
}
}
rows {
name {
value: "name"
}
}
rows {
triple {
p_iri {
}
o_literal {
lex: "NeverBlink"
}
}
}
rows {
name {
value: "url"
}
}
rows {
name {
value: "neverblink.eu"
}
}
rows {
triple {
p_iri {
}
o_iri {
prefix_id: 5
}
}
}
rows {
name {
value: "worksFor"
}
}
rows {
triple {
s_iri {
prefix_id: 1
name_id: 1
}
p_iri {
prefix_id: 4
name_id: 12
}
o_bnode: "0000"
}
}
13 changes: 13 additions & 0 deletions docs/assets/samples/foaf.ttl
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
PREFIX schema: <https://schema.org/>
PREFIX : <https://neverblink.eu/example#>

:Piotr a foaf:Person , schema:Person ;
foaf:givenName "Piotr" ;
foaf:familyName "Sowiński" ;
foaf:homepage <https://ostrzyciel.eu> ;
schema:worksFor [
a schema:Organization ;
schema:name "NeverBlink" ;
schema:url <https://neverblink.eu>
] .
5 changes: 5 additions & 0 deletions docs/use-cases.md
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,11 @@

Below listed are some example datasets available in the Jelly format. All of these are in the [delimited format](user-guide.md#delimited-vs-non-delimited-jelly). The licenses for these datasets are specified on the linked documentation pages.

- Toy dataset (starting example – `foaf.jelly`):
- [:octicons-download-24: foaf.jelly](assets/samples/foaf.jelly)
- [:octicons-download-24: foaf.ttl](assets/samples/foaf.ttl) – same file in the Turtle format.
- [:octicons-download-24: foaf.jelly.txt](assets/samples/foaf.jelly.txt) – text representation of the Jelly file, for debugging purposes.

- Large datasets (millions of triples/quads):
- [:octicons-download-24: ASSIST-IoT weather measurements](https://w3id.org/riverbench/datasets/assist-iot-weather/1.0.3/files/jelly_full.jelly.gz) ([documentation](https://w3id.org/riverbench/datasets/assist-iot-weather/1.0.3)) – 80 million triples.
- [:octicons-download-24: 5 million nanopublications](https://w3id.org/riverbench/datasets/nanopubs/1.0.3/files/jelly_full.jelly.gz) ([documentation](https://w3id.org/riverbench/datasets/nanopubs/1.0.3)) – 171 million quads.
Expand Down
10 changes: 10 additions & 0 deletions docs/user-guide.md
Original file line number Diff line number Diff line change
Expand Up @@ -444,6 +444,16 @@ You can read more about how this works in the [serialization format specificatio
- [Jelly-JVM]({{ jvm_link() }}) supports both variants, but uses them in different contexts. When writing to a Java byte stream (typically a file) with Apache Jena RIOT or RDF4J Rio, the delimited variant is used. However, the RIOT/Rio integrations can parse either delimited or non-delimited Jelly data. In the gRPC protocol, the non-delimited variant is used.
- [RiverBench](http://w3id.org/riverbench) publishes its RDF metadata and datasets as Jelly files. These files are always written using the delimited variant.

## Sample files

`foaf.jelly` is a simple Jelly file that may be useful when trying to understand how the format works. You can download it here:

- [:octicons-download-24: foaf.jelly](assets/samples/foaf.jelly)
- [:octicons-download-24: foaf.ttl](assets/samples/foaf.ttl) – same file in the Turtle format.
- [:octicons-download-24: foaf.jelly.txt](assets/samples/foaf.jelly.txt) – text representation of the Jelly file, for debugging purposes.

You can find more example datasets (including ones with millions of triples) **[on this page](use-cases.md#example-datasets-in-the-jelly-format)**. The [conformance test cases](conformance/rdf-test-cases.md) contain dozens of valid Jelly files testing all features of the format.

## Implementing Jelly

!!! note
Expand Down