Deploying to gh-pages from @ p2p-ld/docs@c782ee8ba9 🚀

This commit is contained in:
sneakers-the-rat 2023-07-01 06:59:21 +00:00
parent 141be9d9b1
commit 3d527c0427
65 changed files with 3050 additions and 946 deletions

View file

@ -1,11 +0,0 @@
# Adapter
Interfaces to other protocols and formats
- Files
- hdf5
- json
- csv
- mat
- HTTP
- S3

View file

@ -0,0 +1,15 @@
# HDF5
We are starting with hdf5 because our initial test case is the [NWB](https://www.nwb.org/) format for neurophysiology data. This is a challenging initial test case because the data is heterogeneous, large, and the specification is written in an idiosyncratic format specification.
HDF has three primary types of objects:
- Groups
- Datasets - contain the raw values in the file
- Attributes - metadata about groups or datasets.
Datasets have additional properties:
- Datatypes: binary representation of the data
- Dataspaces: Layout of individual data elements
- Properties: Additional information about the representation of the dataset, eg. chunked or contiguous
These map naturally onto triplets, where each group or dataset is a subject, attributes are properties and objects.

View file

@ -0,0 +1,20 @@
# Codecs
Interfaces to file formats
We want to support three kinds of interaction with files:
- **References** - treat files like abstract binary with some metadata indicating file type and a hash tree for the file
- **Introspection** - Export some metadata from the file that indicates components of the file along with byte ranges. We want to be able to know what is inside the file without downloading it, but we keep the file separate as an out of protocol entity.
- **Ingestion** - Export the metadata and the data contained within the file to triples. We also store some translation between the original binary file and the resulting triple through translation schema that allows us to update our triples if the files change and otherwise keep a strong link to the source, but otherwise enable forking/querying/etc. as if the data does not have an underlying file.
This is a challenging design balance, where we don't want clients to need to implement a large number of codecs for different files - so they can fall back to the reference strategy as needed - but we also want people to be able to interact and import their files without needing to abandon longstanding practices or other infrastructure they might already have for using/creating them.
```{toctree}
hdf5
```
- Files
- json
- csv
- mat

View file

@ -0,0 +1,15 @@
```{index} DataLad
```
# DataLad
DataLad is a tool for managing datasets! It is built on top of {index}`git` and {index}`git-annex <git; annex>` for storage, and is capable of integrating with external hosting providers (through git annex)
It has a number of interesting extensions that we can learn from
- [crawler](https://docs.datalad.org/projects/crawler/en/latest/) allows you to archive web pages
- [OSF Remote](https://github.com/datalad/datalad-osf/blob/main/datalad_osf/annex_remote.py) - example of an extension for interacting with OSF
## References
- DataLad repositories: https://github.com/datalad
- Docs: https://docs.datalad.org/en/latest/

View file

@ -4,6 +4,7 @@
:caption: Data Structures
:maxdepth: 1
eris
datalad
dmc
eris
```

View file

@ -0,0 +1,123 @@
```{index} Linked Data; HDT
```
(hdt)=
# HDT
Like [Linked Data Fragments](ld_fragments), [HDT](https://www.rdfhdt.org/) is a transport and query format for linked data triples.
It is a compressed format that preserves headers to enable query and browsing without decompression.
## Format
It has [three components](https://www.rdfhdt.org/technical-specification/):
{attribution="https://www.rdfhdt.org/technical-specification/"}
> - **Header:** The Header holds metadata describing an HDT semantic dataset using plain RDF. It acts as an entry point for the consumer, who can have an initial idea of key properties of the content even before retrieving the whole dataset.
> - **Dictionary:** The Dictionary is a catalog comprising all the different terms used in the dataset, such as URIs, literals and blank nodes. A unique identifier (ID) is assigned to each term, enabling triples to be represented as tuples of three IDs, which reference their respective subject/predicate/object term from the dictionary. This is a first step toward compression, since it avoids long terms to be repeated again and again. Moreover, similar strings are now stored together inside the dictionary, fact that can be exploited to improve compression even more.
> - **Triples:** As stated before, the RDF triples can now be seen as tuples of three IDs. Therefore, the Triples section models the graph of relationships among the dataset terms. By understanding the typical properties of RDF graphs, we can come up with more efficient ways of representing this information, both to reduce the overall size, but also to provide efficient search/traversal operations.
### Header
A header contains
- At least one resource of type `hdt:Dataset`, which has
- Publication metadata - Where and when the dataset was published
- Statistical metadata - Number of triples, number of terms, etc.
- Format metadata - Encoding of dataset, which must have
- `hdt:dictionary`
- `hdt:triples`
- Additional metadata - uh idk anything?
````{dropdown} HDT Header Example
```turtle
@prefix void: <http://rdfs.org/ns/void#>.
@prefix dc: <http://purl.org/dc/terms/>.
@prefix foaf: <http://xmlns.com/foaf/0.1/>.
@prefix hdt: <http://purl.org/HDT/hdt#>.
@prefix xsd: <http://www.w3.org/2001/XMLSchema#>.
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#>.
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>.
@prefix swp: <http://www.w3.org/2004/03/trix/swp-2/>.
<http://example.org/ex/DBpediaEN>
a hdt:Dataset ;
a void:Dataset ;
hdt:publicationInformation :publication ;
hdt:statisticalInformation :statistics ;
hdt:formatInformation :format ;
hdt:additionalInformation :additional ;
void:triples "431440396" ;
void:properties "57986" ;
void:distinctSubjects "24791728" ;
void:distinctObjects "108927201" .
:publication dc:issued "2012-11-23T23:17:50+0000" ;
dc:license <http://www.gnu.org/copyleft/fdl.html> ;
dc:publisher [ a foaf:Organization ;
foaf:homepage <http://www.dbpedia.org>] ;
dc:source <http://downloads.dbpedia.org/3.8/en> ;
dc:title "DBpediaEN" ;
void:sparqlEndpoint <http://www.dbpedia.org/sparql> .
:statistics hdt:originalSize "110630364018" ;
hdt:hdtSize "3082795954" .
:format hdt:dictionary :dictionary ;
hdt:triplesBitmap :triples .
:dictionary dc:format hdt:dictionaryFour ;
hdt:dictionaryNamespaces [hdt:namespace [hdt:prefixLabel "dbpedia" ;
hdt:prefixURI "http://dbpedia.org/resource/"]] ;
hdt:dictionarynumSharedSubjectObject "22762644" ;
hdt:dictionarysizeStrings "1026354060" ;
hdt:dictionaryBlockSize "8" .
:triples dc:format hdt:triplesBitmap ;
hdt:triplesOrder "SPO" ;
hdt:triplesnumTriples "431440396" .
:additional swp:signature "AZ8QWE..." ;
swp:signatureMethod "DSA" .
```
````
### Dictionary
The dictionary replaces all terms in the dataset with short, unique IDs to make the dataset more compressible. Oddly, rather than being a simple lookup table, it splits the dictionary into four sections: a "shared" section that includes subjects and objects, and predicates are separated. Terms are lexicographically ordered and [front coded](https://en.wikipedia.org/wiki/Incremental_encoding) to additionally aid compression.
Separating encoding information into a header dictionary is a straightforwardly good idea, and an argument for distributing linked data in 'packetized' forms rather than as a bunch of raw triples, as we do here.
### Triples
Triples are encoded as a tree, where each subject forms a root, with each predicate as children, and likewise for objects. Since the dictionary is ordered such that the subjects are the lowest IDs, it is possible to use an implicit representation of each subject (ie. subjects are not encoded). The predicate and object layers are each encoded with two parallel bit streams: Each predicate or object entry has one `Sp` entry for its dictionary ID, and one `Bp` "bitsequence" entry which is `1` if the entry is the first child of its parent and `0` otherwise.
## Querying
The dictionary being uncompressed allows for the dataset to be indexed at a vocabulary level - it is possible to eg. 'find all datasets that use this set of terms,' as well as slightly more refined queries like 'find datasets that use this term as both subject and object.'
Lookup is fast for subject-based queries, but predicate and object queries are slower because of the bitmap triple encoding.
## Lessons
First, there are good strategies here for practical compression and serialization of RDF triples!
The most interesting thing for p2p-ld here is the header: we are also interested in making it possible to do restricted queries and indexing over containers of triples without needing to necessarily query, download, or unpack the entire dataset. The primary focus here is compression, which has add-on benefits like faster query performance because the dataset can be held in memory. We would instead like to focus on exposing hashed tree fragments that can encapsulate query logic - eg. a given RDF resource that might indicate the metadata for a type of experiment would be hashed as a tree, and queries can discover it by querying for the root or any of its child hashes. So we will take the ideas re: using the dictionary encoding without necessarily adopting HDT wholesale.
The bitmap encoding is also interesting, as according to their tests it outperforms other similar compression schemes and I/O times. We will keep this in mind as a potential serialization format for raw triple data.
The idea of including publication data in the header seems obvious, but according to the authors later work that is not necessarily the case in RDF world {cite}`polleresMoreDecentralizedVision2020`. Since p2p-ld is built explicitly around making identity and origin a more central component of linked data, we will further investigate using the {index}`VOID vocabulary <Ontology; VOID>` - https://www.w3.org/TR/void/
## References
- [HDT Homepage](https://www.rdfhdt.org/)
- Original Paper: {cite}`fernandezBinaryRDFRepresentation2013`
- Later contextualization: {cite}`polleresMoreDecentralizedVision2020`

View file

@ -7,6 +7,14 @@
rdf
solid
ld_fragments
hdt
ld_platform
nanopubs
```
```
Linked data was born to be p2p. Many of the [initial, lofty visions](https://jon-e.net/surveillance-graphs/#semantic-web-priesthoods) of the [semantic web](https://jon-e.net/infrastructure/#linked-data-has-an-ambivalent-history-of-thought-regarding-the-l) are only possible with p2p systems - fluid, languagelike ontologies, portable personal data, truly decentralized information structuring on the web and so on {cite}`saundersSurveillanceGraphs2023,saundersDecentralizedInfrastructureNeuro2022`. That's one of the central goals of this project --- as might be obvious from its placeholder name: p2p-ld.
Don't just take my word for it tho:
{attribution="A more decentralized vision for Linked Data. Polleres et al. (2020)"}
> So, where does this leave us? We have seen a lot of resources being put into publishing Linked Data, but yet a publicly widely visible “killer app” is still missing. The reason for this, in the opinion and experiences of the authors, lies all to often in the frustrating experiences when trying to actually use Linked Data for building actual applications. Many attempts and projects end up still using a centralized warehousing approach, integrating a handful of data sets directly from their raw data sources, rather than being able to leverage their “lifted” Linked Data versions: the use and benefits of RDF and Linked Data over conventional databases and warehouses technologies, where more trained people are available, remain questionable. {cite}`polleresMoreDecentralizedVision2020`

View file

@ -12,7 +12,9 @@ We depart from that vision, instead favoring radical vernacularism {cite}`saunde
## RDF And Friends
RDF has a lot of formats and
```{important}
Return here re: RDF canonicalization and IPFS https://github.com/multiformats/multicodec/pull/261
```
```{index} JSON-LD
```
@ -23,11 +25,7 @@ RDF has a lot of formats and
## Challenges
### Tabular and Array Data
```{important}
See https://www.cs.ox.ac.uk/isg/challenges/sem-tab/
```
### Ordered Data
The edges from a node in a graph are unordered, which makes array and tabular data difficult to work with in RDF!
@ -44,16 +42,16 @@ eg. one would express `MyList` which contains the `Friends` `["Arnold", "Bob", "
:MyList :Friends :list1 .
:list1
rdf:first :Amy ;
rdf:rest :list2 .
rdf:first :Amy ;
rdf:rest :list2 .
:list2
rdf:first :Bob ;
rdf:rest :list3 .
rdf:first :Bob ;
rdf:rest :list3 .
:list3
rdf:first :Carly ;
rdf:rest rdf:nil .
rdf:first :Carly ;
rdf:rest rdf:nil .
```
And thankfully turtle has a shorthand, which isn't so bad:
@ -63,33 +61,33 @@ And thankfully turtle has a shorthand, which isn't so bad:
@prefix : <https://example.com> .
:MyList
:Friends (
:Amy
:Bob
:Carly
).
:Friends (
:Amy
:Bob
:Carly
).
```
Both of these correspond to the triplet graph:
```{mermaid}
flowchart LR
MyList
list1
list2
list3
nil
Amy
Bob
Carly
MyList -->|Friends| list1
list1 -->|rest| list2
list2 -->|rest| list3
list3 -->|rest| nil
list1 -->|first| Amy
list2 -->|first| Bob
list3 -->|first| Carly
MyList
list1
list2
list3
nil
Amy
Bob
Carly
MyList -->|Friends| list1
list1 -->|rest| list2
list2 -->|rest| list3
list3 -->|rest| nil
list1 -->|first| Amy
list2 -->|first| Bob
list3 -->|first| Carly
```
Which is not great.
@ -152,6 +150,315 @@ which can be expanded recursively to [mimic arrays](https://www.w3.org/TR/json-l
````
`````
### Tabular Data
As an overbrief summary, converting data from tables to RDF needs a schema mapping:
- Columns to Properties
-
- Column names in source table to symbolic names used within the conversion schema
- datatype (for representation in concrete RDF syntax)
-
According to the [Tabular Data to RDF](https://www.w3.org/TR/csv2rdf/) recommendation, one would convert the following table (encoded as `csv`):
```{csv-table}
countryCode,latitude,longitude,name
AD,42.5,1.6,Andorra
AE,23.4,53.8,"United Arab Emirates"
AF,33.9,67.7,Afghanistan
```
Into one of two "minimal" or "standard" formats of RDF:
`````{tab-set}
````{tab-item} Minimal mode
```turtle
@base <http://example.org/countries.csv> .
:8228a149-8efe-448d-b15f-8abf92e7bd17
<#countryCode> "AD" ;
<#latitude> "42.5" ;
<#longitude> "1.6" ;
<#name> "Andorra" .
:ec59dcfc-872a-4144-822b-9ad5e2c6149c
<#countryCode> "AE" ;
<#latitude> "23.4" ;
<#longitude> "53.8" ;
<#name> "United Arab Emirates" .
:e8f2e8e9-3d02-4bf5-b4f1-4794ba5b52c9
<#countryCode> "AF" ;
<#latitude> "33.9" ;
<#longitude> "67.7" ;
<#name> "Afghanistan" .
```
````
````{tab-item} Standard mode
```turtle
@base <http://example.org/countries.csv> .
@prefix csvw: <http://www.w3.org/ns/csvw#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
:d4f8e548-9601-4e41-aadb-09a8bce32625 a csvw:TableGroup ;
csvw:table [ a csvw:Table ;
csvw:url <http://example.org/countries.csv> ;
csvw:row [ a csvw:Row ;
csvw:rownum "1"^^xsd:integer ;
csvw:url <#row=2> ;
csvw:describes :8228a149-8efe-448d-b15f-8abf92e7bd17
], [ a csvw:Row ;
csvw:rownum "2"^^xsd:integer ;
csvw:url <#row=3> ;
csvw:describes :ec59dcfc-872a-4144-822b-9ad5e2c6149c
], [ a csvw:Row ;
csvw:rownum "3"^^xsd:integer ;
csvw:url <#row=4> ;
csvw:describes :e8f2e8e9-3d02-4bf5-b4f1-4794ba5b52c9
]
] .
:8228a149-8efe-448d-b15f-8abf92e7bd17
<#countryCode> "AD" ;
<#latitude> "42.5" ;
<#longitude> "1.6" ;
<#name> "Andorra" .
:ec59dcfc-872a-4144-822b-9ad5e2c6149c
<#countryCode> "AE" ;
<#latitude> "23.4" ;
<#longitude> "53.8" ;
<#name> "United Arab Emirates" .
:e8f2e8e9-3d02-4bf5-b4f1-4794ba5b52c9
<#countryCode> "AF" ;
<#latitude> "33.9" ;
<#longitude> "67.7" ;
<#name> "Afghanistan" .
```
````
`````
The recommendation also covers more complex situations. These make use of a JSON schema that handles mapping between the CSV data and RDF.
By default, each row of a table describes a single RDF resource, and each column has a single property (so each cell is a triple).
For example this table of concerts:
```{csv-table}
Name, Start Date, Location Name, Location Address, Ticket Url
B.B. King,2014-04-12T19:30,"Lupos Heartbreak Hotel","79 Washington St., Providence, RI",https://www.etix.com/ticket/1771656
B.B. King,2014-04-13T20:00,"Lynn Auditorium","Lynn, MA, 01901",http://frontgatetickets.com/venue.php?id=11766
```
Needs to be mapped to 3 separate resources with 7 properties. The values are not transformed, just grouped in different places under different resources. Notice how in the standard mode the `csvw:describes`{l=turtle} entry can have three objects. The turtle is surprisingly humane.
The JSON schema describes five concrete triples that carry the data from the CSV, and five `virtual` triples that give the resources types and link them together. Abstractions over table iterators take the form of `"#event-{_row}"` to create a resource `<#event-1>`, `<#event-2>`, etc. for each row.
`````{tab-set}
````{tab-item} Minimal mode
```turtle
@base <http://example.org/events-listing.csv> .
@prefix schema: <http://schema.org/> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
<#event-1> a schema:MusicEvent ;
schema:name "B.B. King" ;
schema:startDate "2014-04-12T19:30:00"^^xsd:dateTime ;
schema:location <#place-1> ;
schema:offers <#offer-1> .
<#place-1> a schema:Place ;
schema:name "Lupos Heartbreak Hotel" ;
schema:address "79 Washington St., Providence, RI" .
<#offer-1> a schema:Offer ;
schema:url "https://www.etix.com/ticket/1771656"^^xsd:anyURI .
<#event-2> a schema:MusicEvent ;
schema:name "B.B. King" ;
schema:startDate "2014-04-13T20:00:00"^^xsd:dateTime ;
schema:location <#place-2> ;
schema:offers <#offer-2> .
<#place-2> a schema:Place ;
schema:name "Lynn Auditorium" ;
schema:address "Lynn, MA, 01901" .
<#offer-2> a schema:Offer ;
schema:url "http://frontgatetickets.com/venue.php?id=11766"^^xsd:anyURI .
```
````
````{tab-item} Standard mode
```turtle
@base <http://example.org/events-listing.csv> .
@prefix csvw: <http://www.w3.org/ns/csvw#> .
@prefix schema: <http://schema.org/> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
:95cc7970-ce99-44b0-900c-e2c2c028bbd3 a csvw:TableGroup ;
csvw:table [ a csvw:Table ;
csvw:url <http://example.org/events-listing.csv> ;
csvw:row [ a csvw:Row ;
csvw:rownum 1 ;
csvw:url <#row=2> ;
csvw:describes <#event-1>, <#place-1>, <#offer-1>
], [ a csvw:Row ;
csvw:rownum 2 ;
csvw:url <#row=3> ;
csvw:describes <#event-2>, <#place-2>, <#offer-2>
]
] .
<#event-1> a schema:MusicEvent ;
schema:name "B.B. King" ;
schema:startDate "2014-04-12T19:30:00"^^xsd:dateTime ;
schema:location <#place-1> ;
schema:offers <#offer-1> .
<#place-1> a schema:Place ;
schema:name "Lupos Heartbreak Hotel" ;
schema:address "79 Washington St., Providence, RI" .
<#offer-1> a schema:Offer ;
schema:url "https://www.etix.com/ticket/1771656"^^xsd:anyURI .
<#event-2> a schema:MusicEvent ;
schema:name "B.B. King" ;
schema:startDate "2014-04-13T20:00:00"^^xsd:dateTime ;
schema:location <#place-2> ;
schema:offers <#offer-2> .
<#place-2> a schema:Place ;
schema:name "Lynn Auditorium" ;
schema:address "Lynn, MA, 01901" .
<#offer-2> a schema:Offer ;
schema:url "http://frontgatetickets.com/venue.php?id=11766"^^xsd:anyURI .
```
````
````{tab-item} JSON Schema
```json
{
"@context": ["http://www.w3.org/ns/csvw", {"@language": "en"}],
"url": "events-listing.csv",
"dialect": {"trim": true},
"tableSchema": {
"columns": [{
"name": "name",
"titles": "Name",
"aboutUrl": "#event-{_row}",
"propertyUrl": "schema:name"
}, {
"name": "start_date",
"titles": "Start Date",
"datatype": {
"base": "datetime",
"format": "yyyy-MM-ddTHH:mm"
},
"aboutUrl": "#event-{_row}",
"propertyUrl": "schema:startDate"
}, {
"name": "location_name",
"titles": "Location Name",
"aboutUrl": "#place-{_row}",
"propertyUrl": "schema:name"
}, {
"name": "location_address",
"titles": "Location Address",
"aboutUrl": "#place-{_row}",
"propertyUrl": "schema:address"
}, {
"name": "ticket_url",
"titles": "Ticket Url",
"datatype": "anyURI",
"aboutUrl": "#offer-{_row}",
"propertyUrl": "schema:url"
}, {
"name": "type_event",
"virtual": true,
"aboutUrl": "#event-{_row}",
"propertyUrl": "rdf:type",
"valueUrl": "schema:MusicEvent"
}, {
"name": "type_place",
"virtual": true,
"aboutUrl": "#place-{_row}",
"propertyUrl": "rdf:type",
"valueUrl": "schema:Place"
}, {
"name": "type_offer",
"virtual": true,
"aboutUrl": "#offer-{_row}",
"propertyUrl": "rdf:type",
"valueUrl": "schema:Offer"
}, {
"name": "location",
"virtual": true,
"aboutUrl": "#event-{_row}",
"propertyUrl": "schema:location",
"valueUrl": "#place-{_row}"
}, {
"name": "offers",
"virtual": true,
"aboutUrl": "#event-{_row}",
"propertyUrl": "schema:offers",
"valueUrl": "#offer-{_row}"
}]
}
}
```
````
`````
One could imagine how this might generalize into multidimensional array data, but that immediately becomes pretty ridiculous - a better strategy in all cases that I can think of would be to just provide metadata about the array like the encoding, the sizes, types, etc. of their axes and indices and then link to the array.
I'll just leave this example of encoding the pixels in one RGB video frame as a joke.
```turtle
@prefix vid: <http://example.com/GodforsakenVideoSchema> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
:myVideo a vid:VideoGroup ;
vid:video [ a vid:Video ;
vid:url <http://example.com/myVideo.mp4> ;
vid:frame [ a vid:Frame ;
vid:framenum 1 ;
vid:url <#frame=1> ;
vid:describes <#frame-1> ;
], [ a vid:Frame ;
vid:framenum 2 ;
vid:url <#frame=2> ;
vid:describes <#frame-2> ;
]
] .
<#frame-1> a vid:VideoFrame ;
vid:timestamp "2023-06-29T12:00:00"^^xsd:dateTime ;
vid:bitDepth 8 ;
vid:width 1920 ;
vid:height 1080 ;
vid:channels <#red-1>, <#green-1>, <#blue-1> ;
<#red-1> a vid:VideoChannel ;
:pixel-1 a vid:pixelValue ;
rdf:first 0 ;
rdf:rest :pixel-2 .
:pixel-2 a vid:pixelValue ;
rdf:first 46 ;
rdf:rest :pixel-3 .
# ...
:pixel-2073600 a vid:pixelValue ;
rdf:first 57 ;
rdf:rest rdf:nil .
```
### Naming
- All names have to be global. Relative names must resolve to a global name via contexts/prefixes. The alternative is blank nodes, which are treated as equivalent in eg. graph merges. Probably here enters pattern matching or whatever those things are called.
@ -162,6 +469,8 @@ which can be expanded recursively to [mimic arrays](https://www.w3.org/TR/json-l
- [RDF 1.1 Primer](https://www.w3.org/TR/rdf11-primer/)
- W3C Recommendation on generating RDF from tabular data: {cite}`tandyGeneratingRDFTabular2015`
- Tabular data model: https://www.w3.org/TR/2015/REC-tabular-data-model-20151217/#parsing
- Metadata model: https://www.w3.org/TR/2015/REC-tabular-metadata-20151217/
- {index}`JSON Schema` in RDF: {cite}`charpenayJSONSchemaRDF2023`
- [Turtle](https://www.w3.org/TR/rdf12-turtle/)
- [N-ary relations in RDF](https://www.w3.org/TR/swbp-n-aryRelations/)
@ -173,11 +482,19 @@ which can be expanded recursively to [mimic arrays](https://www.w3.org/TR/json-l
- [rdf-canonize-native](https://github.com/digitalbazaar/rdf-canonize-native)
- [biolink-model](https://github.com/biolink/biolink-model) for a nice example of generating multiple schema formats from a .yaml file.
- [linkml](https://linkml.io/) - modeling language for linked data {cite}`moxonLinkedDataModeling2021`
- Multidimensional arrays in linkml https://linkml.io/linkml/howtos/multidimensional-arrays.html
- Multidimensional arrays in linkml https://linkml.io/linkml/howtos/multidimensional-arrays.html
- [oaklib](https://incatools.github.io/ontology-access-kit/index.html) - python package for managing ontologies
- [rdflib](https://github.com/RDFLib/rdflib) - maybe the canonical python rdf library
- [csv2rdf](https://github.com/Swirrl/csv2rdf/)
### See Also
- [HYDRA vocabulary](https://www.hydra-cg.com/spec/latest/core/) - Linked Data plus REST
- [CORAL](https://github.com/jmchandonia/CORAL)
- [CORAL](https://github.com/jmchandonia/CORAL)
- [SEMTAB](https://www.cs.ox.ac.uk/isg/challenges/sem-tab/) - competition for mapping tabular data to RDF
- [SciSPARQL](https://www.ceur-ws.org/Vol-1272/paper_22.pdf) - an extension of SPARQL to include arrays.
### Example Datasets
- [RDF Data Dumps](https://www.w3.org/wiki/DataSetRDFDumps)
- [bio2rdf](https://download.bio2rdf.org)

View file

@ -76,6 +76,38 @@ Though not explicitly in the protocol spec, two prominent design decisions are w
- **Peer Selection:** Which peers should I spent finite bandwidth uploading to? BitTorrent uses a variety of **Choke** algorithms that reward peers that reciprocate bandwidth. Choke algorithms are typically some variant of a 'tit-for-tat' strategy, although rarely the strict bitwise tit-for-tat favored by later blockchain systems and others that require a peer to upload an equivalent amount to what they have downloaded before they are given any additional pieces. Contrast this with [{index}`BitSwap`](#BitSwap) from IPFS. It is by *not* perfectly optimizing peer selection that BitTorrent is better capable of using more of its available network resources.
- **Piece Selection:** Which pieces should be uploaded/requested first? BitTorrent uses a **Rarest First** strategy, where a peer keeps track of the number of copies of each piece present in the swarm, and preferentially seeds the rarest pieces. This keeps the swarm healthy, rewarding keeping and sharing complete copies of files. This is in contrast to, eg. [SWARM](#SWARM) which explicitly rewards hosting and sharing the most in-demand pieces.
```{index} Web Seeds
```
## Web Seeds
One thing we want to mimic from bittorrent is the ability to use traditional web servers as additional peers, or to treat them as ["WebSeeds"](http://bittorrent.org/beps/bep_0019.html)[^BEP17]
HTTP servers allow you to specify a byte range to resume a download, but don't like the downloading client connecting hundreds of times to download the same file, jumping between pieces. To accomodate that, BEP 19 changes piece selection accordingly:
When downloading from bittorrent peers, we modify the "rarest first" algorithm such that for pieces with similar rareness we
- Select pieces from smaller "gaps" in between completed blocks
- Select pieces closer to the end of the gap
- After 50% of the torrent is completed, for some random subset of pieces, ignore rarest first and fill in small gaps.
When downloading from HTTP servers
- Start from some random location in the file (to avoid every peer having the same pieces at the start of the file)
- When partially completed, select the next longest gap between completed pieces
For multi-file torrents
- Prefer bittorrent downloads for small files that are less than a piece size
We can consider {index}`libtorrent <BitTorrent; libtorrent, Client; libtorrent>`'s implementation as a reference implementation.
- Libtorrent chooses pieces by [starting by assuming the client has all files and eliminating pieces for files we don't have](https://github.com/arvidn/libtorrent/blob/c2012b084c6654d681720ea0693d87a48bc95b14/src/web_peer_connection.cpp#L165-L171).
- On requesting a piece, it [checks for resume data](https://github.com/arvidn/libtorrent/blob/c2012b084c6654d681720ea0693d87a48bc95b14/src/web_peer_connection.cpp#L368-L394) if we have already partially downloaded it before, and modifies the start and length of the piece request
- It then [constructs an HTTP GET request](https://github.com/arvidn/libtorrent/blob/c2012b084c6654d681720ea0693d87a48bc95b14/src/web_peer_connection.cpp#L423-L442), using the [Range](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Range) header to select some subsection of the file.
- When we [receive data](https://github.com/arvidn/libtorrent/blob/c2012b084c6654d681720ea0693d87a48bc95b14/src/web_peer_connection.cpp#L778) from the server, we wait until we receive the full header, then we parse the body of the response. If the size is different than what we expected, we disconnect from the server. Otherwise, we iterate through any chunks and store them.
- If the pieces received from the web seed [fail the hash check](https://github.com/arvidn/libtorrent/blob/c2012b084c6654d681720ea0693d87a48bc95b14/src/web_peer_connection.cpp#L578-L584), we mark the peer as not having the file, which bans it in the case of a single file torrent, but allows us to check whether the other files on the server have been changed.
## Lessons
@ -88,7 +120,6 @@ Though not explicitly in the protocol spec, two prominent design decisions are w
- `.torrent` files make for a very **low barrier to entry** and are extremely **portable.** They also operate over the existing idioms of files and folders, rather than creating their own filesystem abstraction.
- Explicit peer and piece selection algorithms are left out of the protocol specification, allowing individual implementations to experiment with what works. This makes it possible to exploit the protocol by refusing to seed ever, but this rarely occurs in practice, as people are not the complete assholes imagined in worst-case scenarios of scarcity. Indeed even the most selfish peers have the intrinsic incentive to upload, as by aggressively seeding the pieces that a leeching peer already has, the other peers in the swarm are less likely to "waste" the bandwidth of the seeders and more bandwidth can be allocated to pieces that the leecher doesn't already have.
### Adapt
- **Metadata**. Currently all torrent metadata is contained within the tracker, so while it is possible to restore all the files that were indexed by a downed tracker, it is very difficult to restore all the metadata at a torrent level and above, eg. the organization of specific torrents into hierarchical categories that allow one to search for an artist, all the albums they have produced, all the versions of that album in different file formats, and so on.
@ -99,13 +130,22 @@ Though not explicitly in the protocol spec, two prominent design decisions are w
2. Maintain the possibility for loose anonymity where peers can share files without needing a large and well-connected social system to share files to them
3. Avoid significant performance penalties from guarantees of strong network-level anonymity like Tor.
- **Trackers** are a good idea, even if they could use some updating. It is good to have an explicit entrypoint specified with a distributed, social mechanism rather than prespecified as a hardcoded entry point. It is a good idea to make a clear space for social curation of information, rather than something that is intrinsically bound to a torrent at the time of uploading. We update the notion of trackers with [Peer Federations](#Peer-Federations).
- **Web Seeds**
- Torrent files handle single and multi-file torrents similarly, with the file structure in the info-dict. We can instead explicitly follow the lead of Bittorrent v2.0 and have per-file hash trees and URL references, avoiding some of the ambiguity in the web seed implementation that [requires us to do some manual path traversal](https://github.com/arvidn/libtorrent/blob/c2012b084c6654d681720ea0693d87a48bc95b14/src/web_peer_connection.cpp#L101-L121)
- We want to be able to integrate with existing servers and services, so we want to be able to find files by both the URL of the original file (if that is its "canonical" location) and its hash. Rather than adding a web seed as an additional source of a torrent file, we can treat it as one of the additional identifiers for the given container. This adds an additional argument in favor of nested containers as the unit of exchange. Eg. A data repository might have a single URL for a dataset that has multiple files within it, and the individual files might not have unique URLs (eg. the file picker generates a .zip file on the fly). A peer might want to bundle together multiple files from different locations. So it should be possible for each container to have multiple names, and when another peers requests a file by eg. a URL we can look within our containers for a match. This also allows handling files that might be uploaded in multiple places
- We want to store the [Last-Modified](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Last-Modified) data when importing a file from a web seed so that we can handle version changes in a given file without giving up on the web source entirely. When the `Last-Modified` is updated, we get the new file, re-hash it, and update the relevant file container if it has been changed. Otherwise we just store the new `Last-Modified`
## References
- Bittorrent Protocol Specification (BEP 3): http://www.bittorrent.org/beps/bep_0003.html
- Bittorrent v2 (BEP 52): http://www.bittorrent.org/beps/bep_0052.html
- Magnet Links (BEP 9): http://www.bittorrent.org/beps/bep_0009.html
- WebSeeds (BEP 19): http://bittorrent.org/beps/bep_0019.html
- More on BitTorrent and incentives - {cite}`cohenIncentivesBuildRobustness2003`
- Notes about writing a bittorrent client from the GetRight author, particularly re: DHT: https://www.getright.com/torrentdev.html
- Nice example of implementing a very minimal bittorrent client in Python: https://markuseliasson.se/article/bittorrent-in-python/
[^announcelist]: Or, properly, in the `announce-list` per ([BEP 12](http://www.bittorrent.org/beps/bep_0012.html))
[^announcelist]: Or, properly, in the `announce-list` per ([BEP 12](http://www.bittorrent.org/beps/bep_0012.html))
[^BEP17]: There is a parallel [BEP 17](https://www.bittorrent.org/beps/bep_0017.html) that allows modified HTTP servers to more directly seed, but since it requires changes to existing servers we are less concerned with it.

View file

@ -45,3 +45,11 @@ If IPFS is {index}`BitTorrent` + {index}`git`, and {index}`ActivityPub` is {inde
## Differences
- Not permanent storage! Identities retain custody and control over objects in the network.
## References
- [IPFS-LD](https://github.com/ipfs/ipfs/issues/36)
- Discussions on gateways and {index}`Web Seed <Web Seeds>`-like things in IPFS:
- https://github.com/ipfs/kubo/issues/8234
-

View file

@ -41,9 +41,9 @@ evolvability
:hidden:
triplets
adapter/index
codecs/index
translation/index
```
```
```{toctree}
:caption: Drafting
@ -59,7 +59,7 @@ sketchpad
genindex
references
```
```
Indices and tables
==================

View file

@ -1,8 +0,0 @@
# Translation
A toolkit for writing translations between formats and schemas!
## See also
- https://linkml.io/schema-automator/introduction.html#generalization-from-instance-data
- https://apps.islab.ntua.gr/d2rml/tr/d2rml/

View file

@ -2,3 +2,7 @@
Translation/import of existing schema/formats.
## See also
- https://linkml.io/schema-automator/introduction.html#generalization-from-instance-data
- https://apps.islab.ntua.gr/d2rml/tr/d2rml/

View file

@ -83,173 +83,175 @@
.highlight .il { color: #0000cf; font-weight: bold } /* Literal.Number.Integer.Long */
@media not print {
body[data-theme="dark"] .highlight pre { line-height: 125%; }
body[data-theme="dark"] .highlight td.linenos .normal { color: #aaaaaa; background-color: transparent; padding-left: 5px; padding-right: 5px; }
body[data-theme="dark"] .highlight span.linenos { color: #aaaaaa; background-color: transparent; padding-left: 5px; padding-right: 5px; }
body[data-theme="dark"] .highlight td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
body[data-theme="dark"] .highlight span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
body[data-theme="dark"] .highlight .hll { background-color: #404040 }
body[data-theme="dark"] .highlight { background: #202020; color: #d0d0d0 }
body[data-theme="dark"] .highlight .c { color: #ababab; font-style: italic } /* Comment */
body[data-theme="dark"] .highlight .err { color: #a61717; background-color: #e3d2d2 } /* Error */
body[data-theme="dark"] .highlight .esc { color: #d0d0d0 } /* Escape */
body[data-theme="dark"] .highlight .g { color: #d0d0d0 } /* Generic */
body[data-theme="dark"] .highlight .k { color: #6ebf26; font-weight: bold } /* Keyword */
body[data-theme="dark"] .highlight .l { color: #d0d0d0 } /* Literal */
body[data-theme="dark"] .highlight .n { color: #d0d0d0 } /* Name */
body[data-theme="dark"] .highlight .o { color: #d0d0d0 } /* Operator */
body[data-theme="dark"] .highlight .x { color: #d0d0d0 } /* Other */
body[data-theme="dark"] .highlight .p { color: #d0d0d0 } /* Punctuation */
body[data-theme="dark"] .highlight .ch { color: #ababab; font-style: italic } /* Comment.Hashbang */
body[data-theme="dark"] .highlight .cm { color: #ababab; font-style: italic } /* Comment.Multiline */
body[data-theme="dark"] .highlight .cp { color: #ff3a3a; font-weight: bold } /* Comment.Preproc */
body[data-theme="dark"] .highlight .cpf { color: #ababab; font-style: italic } /* Comment.PreprocFile */
body[data-theme="dark"] .highlight .c1 { color: #ababab; font-style: italic } /* Comment.Single */
body[data-theme="dark"] .highlight .cs { color: #e50808; font-weight: bold; background-color: #520000 } /* Comment.Special */
body[data-theme="dark"] .highlight .gd { color: #d22323 } /* Generic.Deleted */
body[data-theme="dark"] .highlight .ge { color: #d0d0d0; font-style: italic } /* Generic.Emph */
body[data-theme="dark"] .highlight .gr { color: #d22323 } /* Generic.Error */
body[data-theme="dark"] .highlight .gh { color: #ffffff; font-weight: bold } /* Generic.Heading */
body[data-theme="dark"] .highlight .gi { color: #589819 } /* Generic.Inserted */
body[data-theme="dark"] .highlight .go { color: #cccccc } /* Generic.Output */
body[data-theme="dark"] .highlight .gp { color: #aaaaaa } /* Generic.Prompt */
body[data-theme="dark"] .highlight .gs { color: #d0d0d0; font-weight: bold } /* Generic.Strong */
body[data-theme="dark"] .highlight .gu { color: #ffffff; text-decoration: underline } /* Generic.Subheading */
body[data-theme="dark"] .highlight .gt { color: #d22323 } /* Generic.Traceback */
body[data-theme="dark"] .highlight .kc { color: #6ebf26; font-weight: bold } /* Keyword.Constant */
body[data-theme="dark"] .highlight .kd { color: #6ebf26; font-weight: bold } /* Keyword.Declaration */
body[data-theme="dark"] .highlight .kn { color: #6ebf26; font-weight: bold } /* Keyword.Namespace */
body[data-theme="dark"] .highlight .kp { color: #6ebf26 } /* Keyword.Pseudo */
body[data-theme="dark"] .highlight .kr { color: #6ebf26; font-weight: bold } /* Keyword.Reserved */
body[data-theme="dark"] .highlight .kt { color: #6ebf26; font-weight: bold } /* Keyword.Type */
body[data-theme="dark"] .highlight .ld { color: #d0d0d0 } /* Literal.Date */
body[data-theme="dark"] .highlight .m { color: #51b2fd } /* Literal.Number */
body[data-theme="dark"] .highlight .s { color: #ed9d13 } /* Literal.String */
body[data-theme="dark"] .highlight .na { color: #bbbbbb } /* Name.Attribute */
body[data-theme="dark"] .highlight .nb { color: #2fbccd } /* Name.Builtin */
body[data-theme="dark"] .highlight .nc { color: #71adff; text-decoration: underline } /* Name.Class */
body[data-theme="dark"] .highlight .no { color: #40ffff } /* Name.Constant */
body[data-theme="dark"] .highlight .nd { color: #ffa500 } /* Name.Decorator */
body[data-theme="dark"] .highlight .ni { color: #d0d0d0 } /* Name.Entity */
body[data-theme="dark"] .highlight .ne { color: #bbbbbb } /* Name.Exception */
body[data-theme="dark"] .highlight .nf { color: #71adff } /* Name.Function */
body[data-theme="dark"] .highlight .nl { color: #d0d0d0 } /* Name.Label */
body[data-theme="dark"] .highlight .nn { color: #71adff; text-decoration: underline } /* Name.Namespace */
body[data-theme="dark"] .highlight .nx { color: #d0d0d0 } /* Name.Other */
body[data-theme="dark"] .highlight .py { color: #d0d0d0 } /* Name.Property */
body[data-theme="dark"] .highlight .nt { color: #6ebf26; font-weight: bold } /* Name.Tag */
body[data-theme="dark"] .highlight .nv { color: #40ffff } /* Name.Variable */
body[data-theme="dark"] .highlight .ow { color: #6ebf26; font-weight: bold } /* Operator.Word */
body[data-theme="dark"] .highlight .pm { color: #d0d0d0 } /* Punctuation.Marker */
body[data-theme="dark"] .highlight .w { color: #666666 } /* Text.Whitespace */
body[data-theme="dark"] .highlight .mb { color: #51b2fd } /* Literal.Number.Bin */
body[data-theme="dark"] .highlight .mf { color: #51b2fd } /* Literal.Number.Float */
body[data-theme="dark"] .highlight .mh { color: #51b2fd } /* Literal.Number.Hex */
body[data-theme="dark"] .highlight .mi { color: #51b2fd } /* Literal.Number.Integer */
body[data-theme="dark"] .highlight .mo { color: #51b2fd } /* Literal.Number.Oct */
body[data-theme="dark"] .highlight .sa { color: #ed9d13 } /* Literal.String.Affix */
body[data-theme="dark"] .highlight .sb { color: #ed9d13 } /* Literal.String.Backtick */
body[data-theme="dark"] .highlight .sc { color: #ed9d13 } /* Literal.String.Char */
body[data-theme="dark"] .highlight .dl { color: #ed9d13 } /* Literal.String.Delimiter */
body[data-theme="dark"] .highlight .sd { color: #ed9d13 } /* Literal.String.Doc */
body[data-theme="dark"] .highlight .s2 { color: #ed9d13 } /* Literal.String.Double */
body[data-theme="dark"] .highlight .se { color: #ed9d13 } /* Literal.String.Escape */
body[data-theme="dark"] .highlight .sh { color: #ed9d13 } /* Literal.String.Heredoc */
body[data-theme="dark"] .highlight .si { color: #ed9d13 } /* Literal.String.Interpol */
body[data-theme="dark"] .highlight .sx { color: #ffa500 } /* Literal.String.Other */
body[data-theme="dark"] .highlight .sr { color: #ed9d13 } /* Literal.String.Regex */
body[data-theme="dark"] .highlight .s1 { color: #ed9d13 } /* Literal.String.Single */
body[data-theme="dark"] .highlight .ss { color: #ed9d13 } /* Literal.String.Symbol */
body[data-theme="dark"] .highlight .bp { color: #2fbccd } /* Name.Builtin.Pseudo */
body[data-theme="dark"] .highlight .fm { color: #71adff } /* Name.Function.Magic */
body[data-theme="dark"] .highlight .vc { color: #40ffff } /* Name.Variable.Class */
body[data-theme="dark"] .highlight .vg { color: #40ffff } /* Name.Variable.Global */
body[data-theme="dark"] .highlight .vi { color: #40ffff } /* Name.Variable.Instance */
body[data-theme="dark"] .highlight .vm { color: #40ffff } /* Name.Variable.Magic */
body[data-theme="dark"] .highlight .il { color: #51b2fd } /* Literal.Number.Integer.Long */
body[data-theme="dark"] .highlight td.linenos .normal { color: #6e7681; background-color: #0d1117; padding-left: 5px; padding-right: 5px; }
body[data-theme="dark"] .highlight span.linenos { color: #6e7681; background-color: #0d1117; padding-left: 5px; padding-right: 5px; }
body[data-theme="dark"] .highlight td.linenos .special { color: #e6edf3; background-color: #6e7681; padding-left: 5px; padding-right: 5px; }
body[data-theme="dark"] .highlight span.linenos.special { color: #e6edf3; background-color: #6e7681; padding-left: 5px; padding-right: 5px; }
body[data-theme="dark"] .highlight .hll { background-color: #6e7681 }
body[data-theme="dark"] .highlight { background: #0d1117; color: #e6edf3 }
body[data-theme="dark"] .highlight .c { color: #8b949e; font-style: italic } /* Comment */
body[data-theme="dark"] .highlight .err { color: #f85149 } /* Error */
body[data-theme="dark"] .highlight .esc { color: #e6edf3 } /* Escape */
body[data-theme="dark"] .highlight .g { color: #e6edf3 } /* Generic */
body[data-theme="dark"] .highlight .k { color: #ff7b72 } /* Keyword */
body[data-theme="dark"] .highlight .l { color: #a5d6ff } /* Literal */
body[data-theme="dark"] .highlight .n { color: #e6edf3 } /* Name */
body[data-theme="dark"] .highlight .o { color: #ff7b72; font-weight: bold } /* Operator */
body[data-theme="dark"] .highlight .x { color: #e6edf3 } /* Other */
body[data-theme="dark"] .highlight .p { color: #e6edf3 } /* Punctuation */
body[data-theme="dark"] .highlight .ch { color: #8b949e; font-style: italic } /* Comment.Hashbang */
body[data-theme="dark"] .highlight .cm { color: #8b949e; font-style: italic } /* Comment.Multiline */
body[data-theme="dark"] .highlight .cp { color: #8b949e; font-weight: bold; font-style: italic } /* Comment.Preproc */
body[data-theme="dark"] .highlight .cpf { color: #8b949e; font-style: italic } /* Comment.PreprocFile */
body[data-theme="dark"] .highlight .c1 { color: #8b949e; font-style: italic } /* Comment.Single */
body[data-theme="dark"] .highlight .cs { color: #8b949e; font-weight: bold; font-style: italic } /* Comment.Special */
body[data-theme="dark"] .highlight .gd { color: #ffa198; background-color: #490202 } /* Generic.Deleted */
body[data-theme="dark"] .highlight .ge { color: #e6edf3; font-style: italic } /* Generic.Emph */
body[data-theme="dark"] .highlight .gr { color: #ffa198 } /* Generic.Error */
body[data-theme="dark"] .highlight .gh { color: #79c0ff; font-weight: bold } /* Generic.Heading */
body[data-theme="dark"] .highlight .gi { color: #56d364; background-color: #0f5323 } /* Generic.Inserted */
body[data-theme="dark"] .highlight .go { color: #8b949e } /* Generic.Output */
body[data-theme="dark"] .highlight .gp { color: #8b949e } /* Generic.Prompt */
body[data-theme="dark"] .highlight .gs { color: #e6edf3; font-weight: bold } /* Generic.Strong */
body[data-theme="dark"] .highlight .gu { color: #79c0ff } /* Generic.Subheading */
body[data-theme="dark"] .highlight .gt { color: #ff7b72 } /* Generic.Traceback */
body[data-theme="dark"] .highlight .g-Underline { color: #e6edf3; text-decoration: underline } /* Generic.Underline */
body[data-theme="dark"] .highlight .kc { color: #79c0ff } /* Keyword.Constant */
body[data-theme="dark"] .highlight .kd { color: #ff7b72 } /* Keyword.Declaration */
body[data-theme="dark"] .highlight .kn { color: #ff7b72 } /* Keyword.Namespace */
body[data-theme="dark"] .highlight .kp { color: #79c0ff } /* Keyword.Pseudo */
body[data-theme="dark"] .highlight .kr { color: #ff7b72 } /* Keyword.Reserved */
body[data-theme="dark"] .highlight .kt { color: #ff7b72 } /* Keyword.Type */
body[data-theme="dark"] .highlight .ld { color: #79c0ff } /* Literal.Date */
body[data-theme="dark"] .highlight .m { color: #a5d6ff } /* Literal.Number */
body[data-theme="dark"] .highlight .s { color: #a5d6ff } /* Literal.String */
body[data-theme="dark"] .highlight .na { color: #e6edf3 } /* Name.Attribute */
body[data-theme="dark"] .highlight .nb { color: #e6edf3 } /* Name.Builtin */
body[data-theme="dark"] .highlight .nc { color: #f0883e; font-weight: bold } /* Name.Class */
body[data-theme="dark"] .highlight .no { color: #79c0ff; font-weight: bold } /* Name.Constant */
body[data-theme="dark"] .highlight .nd { color: #d2a8ff; font-weight: bold } /* Name.Decorator */
body[data-theme="dark"] .highlight .ni { color: #ffa657 } /* Name.Entity */
body[data-theme="dark"] .highlight .ne { color: #f0883e; font-weight: bold } /* Name.Exception */
body[data-theme="dark"] .highlight .nf { color: #d2a8ff; font-weight: bold } /* Name.Function */
body[data-theme="dark"] .highlight .nl { color: #79c0ff; font-weight: bold } /* Name.Label */
body[data-theme="dark"] .highlight .nn { color: #ff7b72 } /* Name.Namespace */
body[data-theme="dark"] .highlight .nx { color: #e6edf3 } /* Name.Other */
body[data-theme="dark"] .highlight .py { color: #79c0ff } /* Name.Property */
body[data-theme="dark"] .highlight .nt { color: #7ee787 } /* Name.Tag */
body[data-theme="dark"] .highlight .nv { color: #79c0ff } /* Name.Variable */
body[data-theme="dark"] .highlight .ow { color: #ff7b72; font-weight: bold } /* Operator.Word */
body[data-theme="dark"] .highlight .pm { color: #e6edf3 } /* Punctuation.Marker */
body[data-theme="dark"] .highlight .w { color: #6e7681 } /* Text.Whitespace */
body[data-theme="dark"] .highlight .mb { color: #a5d6ff } /* Literal.Number.Bin */
body[data-theme="dark"] .highlight .mf { color: #a5d6ff } /* Literal.Number.Float */
body[data-theme="dark"] .highlight .mh { color: #a5d6ff } /* Literal.Number.Hex */
body[data-theme="dark"] .highlight .mi { color: #a5d6ff } /* Literal.Number.Integer */
body[data-theme="dark"] .highlight .mo { color: #a5d6ff } /* Literal.Number.Oct */
body[data-theme="dark"] .highlight .sa { color: #79c0ff } /* Literal.String.Affix */
body[data-theme="dark"] .highlight .sb { color: #a5d6ff } /* Literal.String.Backtick */
body[data-theme="dark"] .highlight .sc { color: #a5d6ff } /* Literal.String.Char */
body[data-theme="dark"] .highlight .dl { color: #79c0ff } /* Literal.String.Delimiter */
body[data-theme="dark"] .highlight .sd { color: #a5d6ff } /* Literal.String.Doc */
body[data-theme="dark"] .highlight .s2 { color: #a5d6ff } /* Literal.String.Double */
body[data-theme="dark"] .highlight .se { color: #79c0ff } /* Literal.String.Escape */
body[data-theme="dark"] .highlight .sh { color: #79c0ff } /* Literal.String.Heredoc */
body[data-theme="dark"] .highlight .si { color: #a5d6ff } /* Literal.String.Interpol */
body[data-theme="dark"] .highlight .sx { color: #a5d6ff } /* Literal.String.Other */
body[data-theme="dark"] .highlight .sr { color: #79c0ff } /* Literal.String.Regex */
body[data-theme="dark"] .highlight .s1 { color: #a5d6ff } /* Literal.String.Single */
body[data-theme="dark"] .highlight .ss { color: #a5d6ff } /* Literal.String.Symbol */
body[data-theme="dark"] .highlight .bp { color: #e6edf3 } /* Name.Builtin.Pseudo */
body[data-theme="dark"] .highlight .fm { color: #d2a8ff; font-weight: bold } /* Name.Function.Magic */
body[data-theme="dark"] .highlight .vc { color: #79c0ff } /* Name.Variable.Class */
body[data-theme="dark"] .highlight .vg { color: #79c0ff } /* Name.Variable.Global */
body[data-theme="dark"] .highlight .vi { color: #79c0ff } /* Name.Variable.Instance */
body[data-theme="dark"] .highlight .vm { color: #79c0ff } /* Name.Variable.Magic */
body[data-theme="dark"] .highlight .il { color: #a5d6ff } /* Literal.Number.Integer.Long */
@media (prefers-color-scheme: dark) {
body:not([data-theme="light"]) .highlight pre { line-height: 125%; }
body:not([data-theme="light"]) .highlight td.linenos .normal { color: #aaaaaa; background-color: transparent; padding-left: 5px; padding-right: 5px; }
body:not([data-theme="light"]) .highlight span.linenos { color: #aaaaaa; background-color: transparent; padding-left: 5px; padding-right: 5px; }
body:not([data-theme="light"]) .highlight td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
body:not([data-theme="light"]) .highlight span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
body:not([data-theme="light"]) .highlight .hll { background-color: #404040 }
body:not([data-theme="light"]) .highlight { background: #202020; color: #d0d0d0 }
body:not([data-theme="light"]) .highlight .c { color: #ababab; font-style: italic } /* Comment */
body:not([data-theme="light"]) .highlight .err { color: #a61717; background-color: #e3d2d2 } /* Error */
body:not([data-theme="light"]) .highlight .esc { color: #d0d0d0 } /* Escape */
body:not([data-theme="light"]) .highlight .g { color: #d0d0d0 } /* Generic */
body:not([data-theme="light"]) .highlight .k { color: #6ebf26; font-weight: bold } /* Keyword */
body:not([data-theme="light"]) .highlight .l { color: #d0d0d0 } /* Literal */
body:not([data-theme="light"]) .highlight .n { color: #d0d0d0 } /* Name */
body:not([data-theme="light"]) .highlight .o { color: #d0d0d0 } /* Operator */
body:not([data-theme="light"]) .highlight .x { color: #d0d0d0 } /* Other */
body:not([data-theme="light"]) .highlight .p { color: #d0d0d0 } /* Punctuation */
body:not([data-theme="light"]) .highlight .ch { color: #ababab; font-style: italic } /* Comment.Hashbang */
body:not([data-theme="light"]) .highlight .cm { color: #ababab; font-style: italic } /* Comment.Multiline */
body:not([data-theme="light"]) .highlight .cp { color: #ff3a3a; font-weight: bold } /* Comment.Preproc */
body:not([data-theme="light"]) .highlight .cpf { color: #ababab; font-style: italic } /* Comment.PreprocFile */
body:not([data-theme="light"]) .highlight .c1 { color: #ababab; font-style: italic } /* Comment.Single */
body:not([data-theme="light"]) .highlight .cs { color: #e50808; font-weight: bold; background-color: #520000 } /* Comment.Special */
body:not([data-theme="light"]) .highlight .gd { color: #d22323 } /* Generic.Deleted */
body:not([data-theme="light"]) .highlight .ge { color: #d0d0d0; font-style: italic } /* Generic.Emph */
body:not([data-theme="light"]) .highlight .gr { color: #d22323 } /* Generic.Error */
body:not([data-theme="light"]) .highlight .gh { color: #ffffff; font-weight: bold } /* Generic.Heading */
body:not([data-theme="light"]) .highlight .gi { color: #589819 } /* Generic.Inserted */
body:not([data-theme="light"]) .highlight .go { color: #cccccc } /* Generic.Output */
body:not([data-theme="light"]) .highlight .gp { color: #aaaaaa } /* Generic.Prompt */
body:not([data-theme="light"]) .highlight .gs { color: #d0d0d0; font-weight: bold } /* Generic.Strong */
body:not([data-theme="light"]) .highlight .gu { color: #ffffff; text-decoration: underline } /* Generic.Subheading */
body:not([data-theme="light"]) .highlight .gt { color: #d22323 } /* Generic.Traceback */
body:not([data-theme="light"]) .highlight .kc { color: #6ebf26; font-weight: bold } /* Keyword.Constant */
body:not([data-theme="light"]) .highlight .kd { color: #6ebf26; font-weight: bold } /* Keyword.Declaration */
body:not([data-theme="light"]) .highlight .kn { color: #6ebf26; font-weight: bold } /* Keyword.Namespace */
body:not([data-theme="light"]) .highlight .kp { color: #6ebf26 } /* Keyword.Pseudo */
body:not([data-theme="light"]) .highlight .kr { color: #6ebf26; font-weight: bold } /* Keyword.Reserved */
body:not([data-theme="light"]) .highlight .kt { color: #6ebf26; font-weight: bold } /* Keyword.Type */
body:not([data-theme="light"]) .highlight .ld { color: #d0d0d0 } /* Literal.Date */
body:not([data-theme="light"]) .highlight .m { color: #51b2fd } /* Literal.Number */
body:not([data-theme="light"]) .highlight .s { color: #ed9d13 } /* Literal.String */
body:not([data-theme="light"]) .highlight .na { color: #bbbbbb } /* Name.Attribute */
body:not([data-theme="light"]) .highlight .nb { color: #2fbccd } /* Name.Builtin */
body:not([data-theme="light"]) .highlight .nc { color: #71adff; text-decoration: underline } /* Name.Class */
body:not([data-theme="light"]) .highlight .no { color: #40ffff } /* Name.Constant */
body:not([data-theme="light"]) .highlight .nd { color: #ffa500 } /* Name.Decorator */
body:not([data-theme="light"]) .highlight .ni { color: #d0d0d0 } /* Name.Entity */
body:not([data-theme="light"]) .highlight .ne { color: #bbbbbb } /* Name.Exception */
body:not([data-theme="light"]) .highlight .nf { color: #71adff } /* Name.Function */
body:not([data-theme="light"]) .highlight .nl { color: #d0d0d0 } /* Name.Label */
body:not([data-theme="light"]) .highlight .nn { color: #71adff; text-decoration: underline } /* Name.Namespace */
body:not([data-theme="light"]) .highlight .nx { color: #d0d0d0 } /* Name.Other */
body:not([data-theme="light"]) .highlight .py { color: #d0d0d0 } /* Name.Property */
body:not([data-theme="light"]) .highlight .nt { color: #6ebf26; font-weight: bold } /* Name.Tag */
body:not([data-theme="light"]) .highlight .nv { color: #40ffff } /* Name.Variable */
body:not([data-theme="light"]) .highlight .ow { color: #6ebf26; font-weight: bold } /* Operator.Word */
body:not([data-theme="light"]) .highlight .pm { color: #d0d0d0 } /* Punctuation.Marker */
body:not([data-theme="light"]) .highlight .w { color: #666666 } /* Text.Whitespace */
body:not([data-theme="light"]) .highlight .mb { color: #51b2fd } /* Literal.Number.Bin */
body:not([data-theme="light"]) .highlight .mf { color: #51b2fd } /* Literal.Number.Float */
body:not([data-theme="light"]) .highlight .mh { color: #51b2fd } /* Literal.Number.Hex */
body:not([data-theme="light"]) .highlight .mi { color: #51b2fd } /* Literal.Number.Integer */
body:not([data-theme="light"]) .highlight .mo { color: #51b2fd } /* Literal.Number.Oct */
body:not([data-theme="light"]) .highlight .sa { color: #ed9d13 } /* Literal.String.Affix */
body:not([data-theme="light"]) .highlight .sb { color: #ed9d13 } /* Literal.String.Backtick */
body:not([data-theme="light"]) .highlight .sc { color: #ed9d13 } /* Literal.String.Char */
body:not([data-theme="light"]) .highlight .dl { color: #ed9d13 } /* Literal.String.Delimiter */
body:not([data-theme="light"]) .highlight .sd { color: #ed9d13 } /* Literal.String.Doc */
body:not([data-theme="light"]) .highlight .s2 { color: #ed9d13 } /* Literal.String.Double */
body:not([data-theme="light"]) .highlight .se { color: #ed9d13 } /* Literal.String.Escape */
body:not([data-theme="light"]) .highlight .sh { color: #ed9d13 } /* Literal.String.Heredoc */
body:not([data-theme="light"]) .highlight .si { color: #ed9d13 } /* Literal.String.Interpol */
body:not([data-theme="light"]) .highlight .sx { color: #ffa500 } /* Literal.String.Other */
body:not([data-theme="light"]) .highlight .sr { color: #ed9d13 } /* Literal.String.Regex */
body:not([data-theme="light"]) .highlight .s1 { color: #ed9d13 } /* Literal.String.Single */
body:not([data-theme="light"]) .highlight .ss { color: #ed9d13 } /* Literal.String.Symbol */
body:not([data-theme="light"]) .highlight .bp { color: #2fbccd } /* Name.Builtin.Pseudo */
body:not([data-theme="light"]) .highlight .fm { color: #71adff } /* Name.Function.Magic */
body:not([data-theme="light"]) .highlight .vc { color: #40ffff } /* Name.Variable.Class */
body:not([data-theme="light"]) .highlight .vg { color: #40ffff } /* Name.Variable.Global */
body:not([data-theme="light"]) .highlight .vi { color: #40ffff } /* Name.Variable.Instance */
body:not([data-theme="light"]) .highlight .vm { color: #40ffff } /* Name.Variable.Magic */
body:not([data-theme="light"]) .highlight .il { color: #51b2fd } /* Literal.Number.Integer.Long */
body:not([data-theme="light"]) .highlight td.linenos .normal { color: #6e7681; background-color: #0d1117; padding-left: 5px; padding-right: 5px; }
body:not([data-theme="light"]) .highlight span.linenos { color: #6e7681; background-color: #0d1117; padding-left: 5px; padding-right: 5px; }
body:not([data-theme="light"]) .highlight td.linenos .special { color: #e6edf3; background-color: #6e7681; padding-left: 5px; padding-right: 5px; }
body:not([data-theme="light"]) .highlight span.linenos.special { color: #e6edf3; background-color: #6e7681; padding-left: 5px; padding-right: 5px; }
body:not([data-theme="light"]) .highlight .hll { background-color: #6e7681 }
body:not([data-theme="light"]) .highlight { background: #0d1117; color: #e6edf3 }
body:not([data-theme="light"]) .highlight .c { color: #8b949e; font-style: italic } /* Comment */
body:not([data-theme="light"]) .highlight .err { color: #f85149 } /* Error */
body:not([data-theme="light"]) .highlight .esc { color: #e6edf3 } /* Escape */
body:not([data-theme="light"]) .highlight .g { color: #e6edf3 } /* Generic */
body:not([data-theme="light"]) .highlight .k { color: #ff7b72 } /* Keyword */
body:not([data-theme="light"]) .highlight .l { color: #a5d6ff } /* Literal */
body:not([data-theme="light"]) .highlight .n { color: #e6edf3 } /* Name */
body:not([data-theme="light"]) .highlight .o { color: #ff7b72; font-weight: bold } /* Operator */
body:not([data-theme="light"]) .highlight .x { color: #e6edf3 } /* Other */
body:not([data-theme="light"]) .highlight .p { color: #e6edf3 } /* Punctuation */
body:not([data-theme="light"]) .highlight .ch { color: #8b949e; font-style: italic } /* Comment.Hashbang */
body:not([data-theme="light"]) .highlight .cm { color: #8b949e; font-style: italic } /* Comment.Multiline */
body:not([data-theme="light"]) .highlight .cp { color: #8b949e; font-weight: bold; font-style: italic } /* Comment.Preproc */
body:not([data-theme="light"]) .highlight .cpf { color: #8b949e; font-style: italic } /* Comment.PreprocFile */
body:not([data-theme="light"]) .highlight .c1 { color: #8b949e; font-style: italic } /* Comment.Single */
body:not([data-theme="light"]) .highlight .cs { color: #8b949e; font-weight: bold; font-style: italic } /* Comment.Special */
body:not([data-theme="light"]) .highlight .gd { color: #ffa198; background-color: #490202 } /* Generic.Deleted */
body:not([data-theme="light"]) .highlight .ge { color: #e6edf3; font-style: italic } /* Generic.Emph */
body:not([data-theme="light"]) .highlight .gr { color: #ffa198 } /* Generic.Error */
body:not([data-theme="light"]) .highlight .gh { color: #79c0ff; font-weight: bold } /* Generic.Heading */
body:not([data-theme="light"]) .highlight .gi { color: #56d364; background-color: #0f5323 } /* Generic.Inserted */
body:not([data-theme="light"]) .highlight .go { color: #8b949e } /* Generic.Output */
body:not([data-theme="light"]) .highlight .gp { color: #8b949e } /* Generic.Prompt */
body:not([data-theme="light"]) .highlight .gs { color: #e6edf3; font-weight: bold } /* Generic.Strong */
body:not([data-theme="light"]) .highlight .gu { color: #79c0ff } /* Generic.Subheading */
body:not([data-theme="light"]) .highlight .gt { color: #ff7b72 } /* Generic.Traceback */
body:not([data-theme="light"]) .highlight .g-Underline { color: #e6edf3; text-decoration: underline } /* Generic.Underline */
body:not([data-theme="light"]) .highlight .kc { color: #79c0ff } /* Keyword.Constant */
body:not([data-theme="light"]) .highlight .kd { color: #ff7b72 } /* Keyword.Declaration */
body:not([data-theme="light"]) .highlight .kn { color: #ff7b72 } /* Keyword.Namespace */
body:not([data-theme="light"]) .highlight .kp { color: #79c0ff } /* Keyword.Pseudo */
body:not([data-theme="light"]) .highlight .kr { color: #ff7b72 } /* Keyword.Reserved */
body:not([data-theme="light"]) .highlight .kt { color: #ff7b72 } /* Keyword.Type */
body:not([data-theme="light"]) .highlight .ld { color: #79c0ff } /* Literal.Date */
body:not([data-theme="light"]) .highlight .m { color: #a5d6ff } /* Literal.Number */
body:not([data-theme="light"]) .highlight .s { color: #a5d6ff } /* Literal.String */
body:not([data-theme="light"]) .highlight .na { color: #e6edf3 } /* Name.Attribute */
body:not([data-theme="light"]) .highlight .nb { color: #e6edf3 } /* Name.Builtin */
body:not([data-theme="light"]) .highlight .nc { color: #f0883e; font-weight: bold } /* Name.Class */
body:not([data-theme="light"]) .highlight .no { color: #79c0ff; font-weight: bold } /* Name.Constant */
body:not([data-theme="light"]) .highlight .nd { color: #d2a8ff; font-weight: bold } /* Name.Decorator */
body:not([data-theme="light"]) .highlight .ni { color: #ffa657 } /* Name.Entity */
body:not([data-theme="light"]) .highlight .ne { color: #f0883e; font-weight: bold } /* Name.Exception */
body:not([data-theme="light"]) .highlight .nf { color: #d2a8ff; font-weight: bold } /* Name.Function */
body:not([data-theme="light"]) .highlight .nl { color: #79c0ff; font-weight: bold } /* Name.Label */
body:not([data-theme="light"]) .highlight .nn { color: #ff7b72 } /* Name.Namespace */
body:not([data-theme="light"]) .highlight .nx { color: #e6edf3 } /* Name.Other */
body:not([data-theme="light"]) .highlight .py { color: #79c0ff } /* Name.Property */
body:not([data-theme="light"]) .highlight .nt { color: #7ee787 } /* Name.Tag */
body:not([data-theme="light"]) .highlight .nv { color: #79c0ff } /* Name.Variable */
body:not([data-theme="light"]) .highlight .ow { color: #ff7b72; font-weight: bold } /* Operator.Word */
body:not([data-theme="light"]) .highlight .pm { color: #e6edf3 } /* Punctuation.Marker */
body:not([data-theme="light"]) .highlight .w { color: #6e7681 } /* Text.Whitespace */
body:not([data-theme="light"]) .highlight .mb { color: #a5d6ff } /* Literal.Number.Bin */
body:not([data-theme="light"]) .highlight .mf { color: #a5d6ff } /* Literal.Number.Float */
body:not([data-theme="light"]) .highlight .mh { color: #a5d6ff } /* Literal.Number.Hex */
body:not([data-theme="light"]) .highlight .mi { color: #a5d6ff } /* Literal.Number.Integer */
body:not([data-theme="light"]) .highlight .mo { color: #a5d6ff } /* Literal.Number.Oct */
body:not([data-theme="light"]) .highlight .sa { color: #79c0ff } /* Literal.String.Affix */
body:not([data-theme="light"]) .highlight .sb { color: #a5d6ff } /* Literal.String.Backtick */
body:not([data-theme="light"]) .highlight .sc { color: #a5d6ff } /* Literal.String.Char */
body:not([data-theme="light"]) .highlight .dl { color: #79c0ff } /* Literal.String.Delimiter */
body:not([data-theme="light"]) .highlight .sd { color: #a5d6ff } /* Literal.String.Doc */
body:not([data-theme="light"]) .highlight .s2 { color: #a5d6ff } /* Literal.String.Double */
body:not([data-theme="light"]) .highlight .se { color: #79c0ff } /* Literal.String.Escape */
body:not([data-theme="light"]) .highlight .sh { color: #79c0ff } /* Literal.String.Heredoc */
body:not([data-theme="light"]) .highlight .si { color: #a5d6ff } /* Literal.String.Interpol */
body:not([data-theme="light"]) .highlight .sx { color: #a5d6ff } /* Literal.String.Other */
body:not([data-theme="light"]) .highlight .sr { color: #79c0ff } /* Literal.String.Regex */
body:not([data-theme="light"]) .highlight .s1 { color: #a5d6ff } /* Literal.String.Single */
body:not([data-theme="light"]) .highlight .ss { color: #a5d6ff } /* Literal.String.Symbol */
body:not([data-theme="light"]) .highlight .bp { color: #e6edf3 } /* Name.Builtin.Pseudo */
body:not([data-theme="light"]) .highlight .fm { color: #d2a8ff; font-weight: bold } /* Name.Function.Magic */
body:not([data-theme="light"]) .highlight .vc { color: #79c0ff } /* Name.Variable.Class */
body:not([data-theme="light"]) .highlight .vg { color: #79c0ff } /* Name.Variable.Global */
body:not([data-theme="light"]) .highlight .vi { color: #79c0ff } /* Name.Variable.Instance */
body:not([data-theme="light"]) .highlight .vm { color: #79c0ff } /* Name.Variable.Magic */
body:not([data-theme="light"]) .highlight .il { color: #a5d6ff } /* Literal.Number.Integer.Long */
}
}

View file

@ -24,14 +24,14 @@
}
@media not print {
body[data-theme="dark"] {
--color-code-background: #202020;
--color-code-foreground: #d0d0d0;
--color-code-background: #0d1117;
--color-code-foreground: #e6edf3;
}
@media (prefers-color-scheme: dark) {
body:not([data-theme="light"]) {
--color-code-background: #202020;
--color-code-foreground: #d0d0d0;
--color-code-background: #0d1117;
--color-code-foreground: #e6edf3;
}
}
@ -180,13 +180,15 @@
<li class="toctree-l3"><a class="reference internal" href="comparison/ld/rdf.html">RDF and Friends</a></li>
<li class="toctree-l3"><a class="reference internal" href="comparison/ld/solid.html">SOLID</a></li>
<li class="toctree-l3"><a class="reference internal" href="comparison/ld/ld_fragments.html">Linked Data Fragments</a></li>
<li class="toctree-l3"><a class="reference internal" href="comparison/ld/hdt.html">HDT</a></li>
<li class="toctree-l3"><a class="reference internal" href="comparison/ld/ld_platform.html">Linked Data Platform</a></li>
<li class="toctree-l3"><a class="reference internal" href="comparison/ld/nanopubs.html">NanoPubs</a></li>
</ul>
</li>
<li class="toctree-l2 has-children"><a class="reference internal" href="comparison/data/index.html">Data Structures</a><input class="toctree-checkbox" id="toctree-checkbox-5" name="toctree-checkbox-5" role="switch" type="checkbox"/><label for="toctree-checkbox-5"><div class="visually-hidden">Toggle navigation of Data Structures</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul>
<li class="toctree-l3"><a class="reference internal" href="comparison/data/eris.html">ERIS</a></li>
<li class="toctree-l3"><a class="reference internal" href="comparison/data/datalad.html">DataLad</a></li>
<li class="toctree-l3"><a class="reference internal" href="comparison/data/dmc.html">DMC</a></li>
<li class="toctree-l3"><a class="reference internal" href="comparison/data/eris.html">ERIS</a></li>
</ul>
</li>
</ul>
@ -212,7 +214,10 @@
<p class="caption" role="heading"><span class="caption-text">Ecosystem</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="triplets.html">Triplets</a></li>
<li class="toctree-l1"><a class="reference internal" href="adapter/index.html">Adapter</a></li>
<li class="toctree-l1 has-children"><a class="reference internal" href="codecs/index.html">Codecs</a><input class="toctree-checkbox" id="toctree-checkbox-6" name="toctree-checkbox-6" role="switch" type="checkbox"/><label for="toctree-checkbox-6"><div class="visually-hidden">Toggle navigation of Codecs</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul>
<li class="toctree-l2"><a class="reference internal" href="codecs/hdf5.html">HDF5</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="translation/index.html">Translation</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">Drafting</span></p>

View file

@ -3,11 +3,11 @@
<head><meta charset="utf-8"/>
<meta name="viewport" content="width=device-width,initial-scale=1"/>
<meta name="color-scheme" content="light dark"><meta name="generator" content="Docutils 0.19: https://docutils.sourceforge.io/" />
<link rel="index" title="Index" href="../genindex.html" /><link rel="search" title="Search" href="../search.html" /><link rel="next" title="Translation" href="../translation/index.html" /><link rel="prev" title="Triplets" href="../triplets.html" />
<link rel="canonical" href="/docs/adapter/index.html" />
<link rel="index" title="Index" href="../genindex.html" /><link rel="search" title="Search" href="../search.html" /><link rel="next" title="Translation" href="../translation/index.html" /><link rel="prev" title="Codecs" href="index.html" />
<link rel="canonical" href="/docs/codecs/hdf5.html" />
<!-- Generated with Sphinx 6.2.1 and Furo 2023.05.20 -->
<title>Adapter - p2p-ld 0.1.0 documentation</title>
<title>HDF5 - p2p-ld 0.1.0 documentation</title>
<link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
<link rel="stylesheet" type="text/css" href="../_static/styles/furo.css?digest=e6660623a769aa55fea372102b9bf3151b292993" />
<link rel="stylesheet" type="text/css" href="../_static/design-style.1e8bd061cd6da7fc9cf755528e8ffc24.min.css" />
@ -24,14 +24,14 @@
}
@media not print {
body[data-theme="dark"] {
--color-code-background: #202020;
--color-code-foreground: #d0d0d0;
--color-code-background: #0d1117;
--color-code-foreground: #e6edf3;
}
@media (prefers-color-scheme: dark) {
body:not([data-theme="light"]) {
--color-code-background: #202020;
--color-code-foreground: #d0d0d0;
--color-code-background: #0d1117;
--color-code-foreground: #e6edf3;
}
}
@ -180,13 +180,15 @@
<li class="toctree-l3"><a class="reference internal" href="../comparison/ld/rdf.html">RDF and Friends</a></li>
<li class="toctree-l3"><a class="reference internal" href="../comparison/ld/solid.html">SOLID</a></li>
<li class="toctree-l3"><a class="reference internal" href="../comparison/ld/ld_fragments.html">Linked Data Fragments</a></li>
<li class="toctree-l3"><a class="reference internal" href="../comparison/ld/hdt.html">HDT</a></li>
<li class="toctree-l3"><a class="reference internal" href="../comparison/ld/ld_platform.html">Linked Data Platform</a></li>
<li class="toctree-l3"><a class="reference internal" href="../comparison/ld/nanopubs.html">NanoPubs</a></li>
</ul>
</li>
<li class="toctree-l2 has-children"><a class="reference internal" href="../comparison/data/index.html">Data Structures</a><input class="toctree-checkbox" id="toctree-checkbox-5" name="toctree-checkbox-5" role="switch" type="checkbox"/><label for="toctree-checkbox-5"><div class="visually-hidden">Toggle navigation of Data Structures</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul>
<li class="toctree-l3"><a class="reference internal" href="../comparison/data/eris.html">ERIS</a></li>
<li class="toctree-l3"><a class="reference internal" href="../comparison/data/datalad.html">DataLad</a></li>
<li class="toctree-l3"><a class="reference internal" href="../comparison/data/dmc.html">DMC</a></li>
<li class="toctree-l3"><a class="reference internal" href="../comparison/data/eris.html">ERIS</a></li>
</ul>
</li>
</ul>
@ -212,7 +214,10 @@
<p class="caption" role="heading"><span class="caption-text">Ecosystem</span></p>
<ul class="current">
<li class="toctree-l1"><a class="reference internal" href="../triplets.html">Triplets</a></li>
<li class="toctree-l1 current current-page"><a class="current reference internal" href="#">Adapter</a></li>
<li class="toctree-l1 current has-children"><a class="reference internal" href="index.html">Codecs</a><input checked="" class="toctree-checkbox" id="toctree-checkbox-6" name="toctree-checkbox-6" role="switch" type="checkbox"/><label for="toctree-checkbox-6"><div class="visually-hidden">Toggle navigation of Codecs</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul class="current">
<li class="toctree-l2 current current-page"><a class="current reference internal" href="#">HDF5</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="../translation/index.html">Translation</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">Drafting</span></p>
@ -258,21 +263,22 @@
</label>
</div>
<article role="main">
<section id="adapter">
<h1>Adapter<a class="headerlink" href="#adapter" title="Permalink to this heading">#</a></h1>
<p>Interfaces to other protocols and formats</p>
<section id="hdf5">
<h1>HDF5<a class="headerlink" href="#hdf5" title="Permalink to this heading">#</a></h1>
<p>We are starting with hdf5 because our initial test case is the <a class="reference external" href="https://www.nwb.org/">NWB</a> format for neurophysiology data. This is a challenging initial test case because the data is heterogeneous, large, and the specification is written in an idiosyncratic format specification.</p>
<p>HDF has three primary types of objects:</p>
<ul class="simple">
<li><p>Files</p>
<ul>
<li><p>hdf5</p></li>
<li><p>json</p></li>
<li><p>csv</p></li>
<li><p>mat</p></li>
<li><p>Groups</p></li>
<li><p>Datasets - contain the raw values in the file</p></li>
<li><p>Attributes - metadata about groups or datasets.</p></li>
</ul>
</li>
<li><p>HTTP</p></li>
<li><p>S3</p></li>
<p>Datasets have additional properties:</p>
<ul class="simple">
<li><p>Datatypes: binary representation of the data</p></li>
<li><p>Dataspaces: Layout of individual data elements</p></li>
<li><p>Properties: Additional information about the representation of the dataset, eg. chunked or contiguous</p></li>
</ul>
<p>These map naturally onto triplets, where each group or dataset is a subject, attributes are properties and objects.</p>
</section>
</article>
@ -289,14 +295,14 @@
</div>
<svg class="furo-related-icon"><use href="#svg-arrow-right"></use></svg>
</a>
<a class="prev-page" href="../triplets.html">
<a class="prev-page" href="index.html">
<svg class="furo-related-icon"><use href="#svg-arrow-right"></use></svg>
<div class="page-info">
<div class="context">
<span>Previous</span>
</div>
<div class="title">Triplets</div>
<div class="title">Codecs</div>
</div>
</a>

347
codecs/index.html Normal file
View file

@ -0,0 +1,347 @@
<!doctype html>
<html class="no-js" lang="en">
<head><meta charset="utf-8"/>
<meta name="viewport" content="width=device-width,initial-scale=1"/>
<meta name="color-scheme" content="light dark"><meta name="generator" content="Docutils 0.19: https://docutils.sourceforge.io/" />
<link rel="index" title="Index" href="../genindex.html" /><link rel="search" title="Search" href="../search.html" /><link rel="next" title="HDF5" href="hdf5.html" /><link rel="prev" title="Triplets" href="../triplets.html" />
<link rel="canonical" href="/docs/codecs/index.html" />
<!-- Generated with Sphinx 6.2.1 and Furo 2023.05.20 -->
<title>Codecs - p2p-ld 0.1.0 documentation</title>
<link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
<link rel="stylesheet" type="text/css" href="../_static/styles/furo.css?digest=e6660623a769aa55fea372102b9bf3151b292993" />
<link rel="stylesheet" type="text/css" href="../_static/design-style.1e8bd061cd6da7fc9cf755528e8ffc24.min.css" />
<link rel="stylesheet" type="text/css" href="../_static/styles/furo-extensions.css?digest=30d1aed668e5c3a91c3e3bf6a60b675221979f0e" />
<style>
body {
--color-code-background: #f8f8f8;
--color-code-foreground: black;
}
@media not print {
body[data-theme="dark"] {
--color-code-background: #0d1117;
--color-code-foreground: #e6edf3;
}
@media (prefers-color-scheme: dark) {
body:not([data-theme="light"]) {
--color-code-background: #0d1117;
--color-code-foreground: #e6edf3;
}
}
}
</style></head>
<body>
<script>
document.body.dataset.theme = localStorage.getItem("theme") || "auto";
</script>
<svg xmlns="http://www.w3.org/2000/svg" style="display: none;">
<symbol id="svg-toc" viewBox="0 0 24 24">
<title>Contents</title>
<svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 1024 1024">
<path d="M408 442h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm-8 204c0 4.4 3.6 8 8 8h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56zm504-486H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 632H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM115.4 518.9L271.7 642c5.8 4.6 14.4.5 14.4-6.9V388.9c0-7.4-8.5-11.5-14.4-6.9L115.4 505.1a8.74 8.74 0 0 0 0 13.8z"/>
</svg>
</symbol>
<symbol id="svg-menu" viewBox="0 0 24 24">
<title>Menu</title>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather-menu">
<line x1="3" y1="12" x2="21" y2="12"></line>
<line x1="3" y1="6" x2="21" y2="6"></line>
<line x1="3" y1="18" x2="21" y2="18"></line>
</svg>
</symbol>
<symbol id="svg-arrow-right" viewBox="0 0 24 24">
<title>Expand</title>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather-chevron-right">
<polyline points="9 18 15 12 9 6"></polyline>
</svg>
</symbol>
<symbol id="svg-sun" viewBox="0 0 24 24">
<title>Light mode</title>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="feather-sun">
<circle cx="12" cy="12" r="5"></circle>
<line x1="12" y1="1" x2="12" y2="3"></line>
<line x1="12" y1="21" x2="12" y2="23"></line>
<line x1="4.22" y1="4.22" x2="5.64" y2="5.64"></line>
<line x1="18.36" y1="18.36" x2="19.78" y2="19.78"></line>
<line x1="1" y1="12" x2="3" y2="12"></line>
<line x1="21" y1="12" x2="23" y2="12"></line>
<line x1="4.22" y1="19.78" x2="5.64" y2="18.36"></line>
<line x1="18.36" y1="5.64" x2="19.78" y2="4.22"></line>
</svg>
</symbol>
<symbol id="svg-moon" viewBox="0 0 24 24">
<title>Dark mode</title>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="icon-tabler-moon">
<path stroke="none" d="M0 0h24v24H0z" fill="none" />
<path d="M12 3c.132 0 .263 0 .393 0a7.5 7.5 0 0 0 7.92 12.446a9 9 0 1 1 -8.313 -12.454z" />
</svg>
</symbol>
<symbol id="svg-sun-half" viewBox="0 0 24 24">
<title>Auto light/dark mode</title>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="icon-tabler-shadow">
<path stroke="none" d="M0 0h24v24H0z" fill="none"/>
<circle cx="12" cy="12" r="9" />
<path d="M13 12h5" />
<path d="M13 15h4" />
<path d="M13 18h1" />
<path d="M13 9h4" />
<path d="M13 6h1" />
</svg>
</symbol>
</svg>
<input type="checkbox" class="sidebar-toggle" name="__navigation" id="__navigation">
<input type="checkbox" class="sidebar-toggle" name="__toc" id="__toc">
<label class="overlay sidebar-overlay" for="__navigation">
<div class="visually-hidden">Hide navigation sidebar</div>
</label>
<label class="overlay toc-overlay" for="__toc">
<div class="visually-hidden">Hide table of contents sidebar</div>
</label>
<div class="page">
<header class="mobile-header">
<div class="header-left">
<label class="nav-overlay-icon" for="__navigation">
<div class="visually-hidden">Toggle site navigation sidebar</div>
<i class="icon"><svg><use href="#svg-menu"></use></svg></i>
</label>
</div>
<div class="header-center">
<a href="../index.html"><div class="brand">p2p-ld 0.1.0 documentation</div></a>
</div>
<div class="header-right">
<div class="theme-toggle-container theme-toggle-header">
<button class="theme-toggle">
<div class="visually-hidden">Toggle Light / Dark / Auto color theme</div>
<svg class="theme-icon-when-auto"><use href="#svg-sun-half"></use></svg>
<svg class="theme-icon-when-dark"><use href="#svg-moon"></use></svg>
<svg class="theme-icon-when-light"><use href="#svg-sun"></use></svg>
</button>
</div>
<label class="toc-overlay-icon toc-header-icon no-toc" for="__toc">
<div class="visually-hidden">Toggle table of contents sidebar</div>
<i class="icon"><svg><use href="#svg-toc"></use></svg></i>
</label>
</div>
</header>
<aside class="sidebar-drawer">
<div class="sidebar-container">
<div class="sidebar-sticky"><a class="sidebar-brand" href="../index.html">
<span class="sidebar-brand-text">p2p-ld 0.1.0 documentation</span>
</a><form class="sidebar-search-container" method="get" action="../search.html" role="search">
<input class="sidebar-search" placeholder="Search" name="q" aria-label="Search">
<input type="hidden" name="check_keywords" value="yes">
<input type="hidden" name="area" value="default">
</form>
<div id="searchbox"></div><div class="sidebar-scroll"><div class="sidebar-tree">
<p class="caption" role="heading"><span class="caption-text">Introduction</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../overview.html">Overview</a></li>
<li class="toctree-l1 has-children"><a class="reference internal" href="../comparison/index.html">Comparison</a><input class="toctree-checkbox" id="toctree-checkbox-1" name="toctree-checkbox-1" role="switch" type="checkbox"/><label for="toctree-checkbox-1"><div class="visually-hidden">Toggle navigation of Comparison</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul>
<li class="toctree-l2 has-children"><a class="reference internal" href="../comparison/p2p/index.html">P2P</a><input class="toctree-checkbox" id="toctree-checkbox-2" name="toctree-checkbox-2" role="switch" type="checkbox"/><label for="toctree-checkbox-2"><div class="visually-hidden">Toggle navigation of P2P</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul>
<li class="toctree-l3"><a class="reference internal" href="../comparison/p2p/bittorrent.html">BitTorrent</a></li>
<li class="toctree-l3"><a class="reference internal" href="../comparison/p2p/ipfs.html">IPFS</a></li>
<li class="toctree-l3"><a class="reference internal" href="../comparison/p2p/hypercore.html">Dat/Hypercore</a></li>
<li class="toctree-l3"><a class="reference internal" href="../comparison/p2p/spritely.html">Spritely/Goblin</a></li>
</ul>
</li>
<li class="toctree-l2 has-children"><a class="reference internal" href="../comparison/social/index.html">Social</a><input class="toctree-checkbox" id="toctree-checkbox-3" name="toctree-checkbox-3" role="switch" type="checkbox"/><label for="toctree-checkbox-3"><div class="visually-hidden">Toggle navigation of Social</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul>
<li class="toctree-l3"><a class="reference internal" href="../comparison/social/activitypub.html">ActivityPub</a></li>
<li class="toctree-l3"><a class="reference internal" href="../comparison/social/ssb.html">Secure Scuttlebutt</a></li>
<li class="toctree-l3"><a class="reference internal" href="../comparison/social/matrix.html">Matrix</a></li>
<li class="toctree-l3"><a class="reference internal" href="../comparison/social/at_protocol.html">AT Protocol/Bluesky</a></li>
<li class="toctree-l3"><a class="reference internal" href="../comparison/social/nostr.html">Nostr</a></li>
<li class="toctree-l3"><a class="reference internal" href="../comparison/social/xmpp.html">XMPP</a></li>
</ul>
</li>
<li class="toctree-l2 has-children"><a class="reference internal" href="../comparison/ld/index.html">Linked Data</a><input class="toctree-checkbox" id="toctree-checkbox-4" name="toctree-checkbox-4" role="switch" type="checkbox"/><label for="toctree-checkbox-4"><div class="visually-hidden">Toggle navigation of Linked Data</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul>
<li class="toctree-l3"><a class="reference internal" href="../comparison/ld/rdf.html">RDF and Friends</a></li>
<li class="toctree-l3"><a class="reference internal" href="../comparison/ld/solid.html">SOLID</a></li>
<li class="toctree-l3"><a class="reference internal" href="../comparison/ld/ld_fragments.html">Linked Data Fragments</a></li>
<li class="toctree-l3"><a class="reference internal" href="../comparison/ld/hdt.html">HDT</a></li>
<li class="toctree-l3"><a class="reference internal" href="../comparison/ld/ld_platform.html">Linked Data Platform</a></li>
<li class="toctree-l3"><a class="reference internal" href="../comparison/ld/nanopubs.html">NanoPubs</a></li>
</ul>
</li>
<li class="toctree-l2 has-children"><a class="reference internal" href="../comparison/data/index.html">Data Structures</a><input class="toctree-checkbox" id="toctree-checkbox-5" name="toctree-checkbox-5" role="switch" type="checkbox"/><label for="toctree-checkbox-5"><div class="visually-hidden">Toggle navigation of Data Structures</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul>
<li class="toctree-l3"><a class="reference internal" href="../comparison/data/datalad.html">DataLad</a></li>
<li class="toctree-l3"><a class="reference internal" href="../comparison/data/dmc.html">DMC</a></li>
<li class="toctree-l3"><a class="reference internal" href="../comparison/data/eris.html">ERIS</a></li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="../p2p_concepts.html">P2P Concepts</a></li>
<li class="toctree-l1"><a class="reference internal" href="../out_of_scope.html">Out of Scope</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">Protocol</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../definitions.html">1. Definitions</a></li>
<li class="toctree-l1"><a class="reference internal" href="../protocol.html">2. Protocol</a></li>
<li class="toctree-l1"><a class="reference internal" href="../identity.html">3. Identity</a></li>
<li class="toctree-l1"><a class="reference internal" href="../discovery.html">4. Discovery</a></li>
<li class="toctree-l1"><a class="reference internal" href="../data_structures.html">5. Data Structures</a></li>
<li class="toctree-l1"><a class="reference internal" href="../vocabulary.html">6. Vocabulary</a></li>
<li class="toctree-l1"><a class="reference internal" href="../querying.html">7. Querying</a></li>
<li class="toctree-l1"><a class="reference internal" href="../encryption.html">8. Encryption</a></li>
<li class="toctree-l1"><a class="reference internal" href="../encryption.html#todo">9. TODO</a></li>
<li class="toctree-l1"><a class="reference internal" href="../federation.html">10. Federation</a></li>
<li class="toctree-l1"><a class="reference internal" href="../backwards_compatibility.html">11. Backwards Compatibility</a></li>
<li class="toctree-l1"><a class="reference internal" href="../evolvability.html">12. Evolvability</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">Ecosystem</span></p>
<ul class="current">
<li class="toctree-l1"><a class="reference internal" href="../triplets.html">Triplets</a></li>
<li class="toctree-l1 current has-children current-page"><a class="current reference internal" href="#">Codecs</a><input checked="" class="toctree-checkbox" id="toctree-checkbox-6" name="toctree-checkbox-6" role="switch" type="checkbox"/><label for="toctree-checkbox-6"><div class="visually-hidden">Toggle navigation of Codecs</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul>
<li class="toctree-l2"><a class="reference internal" href="hdf5.html">HDF5</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="../translation/index.html">Translation</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">Drafting</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../design.html">Design Decisions</a></li>
<li class="toctree-l1"><a class="reference internal" href="../sketchpad.html">Sketchpad</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">Meta</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../genindex.html">Index</a></li>
<li class="toctree-l1"><a class="reference internal" href="../references.html">References</a></li>
</ul>
</div>
</div>
</div>
</div>
</aside>
<div class="main">
<div class="content">
<div class="article-container">
<a href="#" class="back-to-top muted-link">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
<path d="M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8v12z"></path>
</svg>
<span>Back to top</span>
</a>
<div class="content-icon-container">
<div class="theme-toggle-container theme-toggle-content">
<button class="theme-toggle">
<div class="visually-hidden">Toggle Light / Dark / Auto color theme</div>
<svg class="theme-icon-when-auto"><use href="#svg-sun-half"></use></svg>
<svg class="theme-icon-when-dark"><use href="#svg-moon"></use></svg>
<svg class="theme-icon-when-light"><use href="#svg-sun"></use></svg>
</button>
</div>
<label class="toc-overlay-icon toc-content-icon no-toc" for="__toc">
<div class="visually-hidden">Toggle table of contents sidebar</div>
<i class="icon"><svg><use href="#svg-toc"></use></svg></i>
</label>
</div>
<article role="main">
<section id="codecs">
<h1>Codecs<a class="headerlink" href="#codecs" title="Permalink to this heading">#</a></h1>
<p>Interfaces to file formats</p>
<p>We want to support three kinds of interaction with files:</p>
<ul class="simple">
<li><p><strong>References</strong> - treat files like abstract binary with some metadata indicating file type and a hash tree for the file</p></li>
<li><p><strong>Introspection</strong> - Export some metadata from the file that indicates components of the file along with byte ranges. We want to be able to know what is inside the file without downloading it, but we keep the file separate as an out of protocol entity.</p></li>
<li><p><strong>Ingestion</strong> - Export the metadata and the data contained within the file to triples. We also store some translation between the original binary file and the resulting triple through translation schema that allows us to update our triples if the files change and otherwise keep a strong link to the source, but otherwise enable forking/querying/etc. as if the data does not have an underlying file.</p></li>
</ul>
<p>This is a challenging design balance, where we dont want clients to need to implement a large number of codecs for different files - so they can fall back to the reference strategy as needed - but we also want people to be able to interact and import their files without needing to abandon longstanding practices or other infrastructure they might already have for using/creating them.</p>
<div class="toctree-wrapper compound">
<ul>
<li class="toctree-l1"><a class="reference internal" href="hdf5.html">HDF5</a></li>
</ul>
</div>
<ul class="simple">
<li><p>Files</p>
<ul>
<li><p>json</p></li>
<li><p>csv</p></li>
<li><p>mat</p></li>
</ul>
</li>
</ul>
</section>
</article>
</div>
<footer>
<div class="related-pages">
<a class="next-page" href="hdf5.html">
<div class="page-info">
<div class="context">
<span>Next</span>
</div>
<div class="title">HDF5</div>
</div>
<svg class="furo-related-icon"><use href="#svg-arrow-right"></use></svg>
</a>
<a class="prev-page" href="../triplets.html">
<svg class="furo-related-icon"><use href="#svg-arrow-right"></use></svg>
<div class="page-info">
<div class="context">
<span>Previous</span>
</div>
<div class="title">Triplets</div>
</div>
</a>
</div>
<div class="bottom-of-page">
<div class="left-details">
<div class="copyright">
Copyright &#169; 2023, Jonny Saunders
</div>
Made with <a href="https://www.sphinx-doc.org/">Sphinx</a> and <a class="muted-link" href="https://pradyunsg.me">@pradyunsg</a>'s
<a href="https://github.com/pradyunsg/furo">Furo</a>
</div>
<div class="right-details">
</div>
</div>
</footer>
</div>
<aside class="toc-drawer no-toc">
</aside>
</div>
</div><script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
<script src="../_static/doctools.js"></script>
<script src="../_static/sphinx_highlight.js"></script>
<script src="../_static/scripts/furo.js"></script>
<script src="../_static/design-tabs.js"></script>
</body>
</html>

View file

@ -0,0 +1,357 @@
<!doctype html>
<html class="no-js" lang="en">
<head><meta charset="utf-8"/>
<meta name="viewport" content="width=device-width,initial-scale=1"/>
<meta name="color-scheme" content="light dark"><meta name="generator" content="Docutils 0.19: https://docutils.sourceforge.io/" />
<link rel="index" title="Index" href="../../genindex.html" /><link rel="search" title="Search" href="../../search.html" /><link rel="next" title="DMC" href="dmc.html" /><link rel="prev" title="Data Structures" href="index.html" />
<link rel="canonical" href="/docs/comparison/data/datalad.html" />
<!-- Generated with Sphinx 6.2.1 and Furo 2023.05.20 -->
<title>DataLad - p2p-ld 0.1.0 documentation</title>
<link rel="stylesheet" type="text/css" href="../../_static/pygments.css" />
<link rel="stylesheet" type="text/css" href="../../_static/styles/furo.css?digest=e6660623a769aa55fea372102b9bf3151b292993" />
<link rel="stylesheet" type="text/css" href="../../_static/design-style.1e8bd061cd6da7fc9cf755528e8ffc24.min.css" />
<link rel="stylesheet" type="text/css" href="../../_static/styles/furo-extensions.css?digest=30d1aed668e5c3a91c3e3bf6a60b675221979f0e" />
<style>
body {
--color-code-background: #f8f8f8;
--color-code-foreground: black;
}
@media not print {
body[data-theme="dark"] {
--color-code-background: #0d1117;
--color-code-foreground: #e6edf3;
}
@media (prefers-color-scheme: dark) {
body:not([data-theme="light"]) {
--color-code-background: #0d1117;
--color-code-foreground: #e6edf3;
}
}
}
</style></head>
<body>
<script>
document.body.dataset.theme = localStorage.getItem("theme") || "auto";
</script>
<svg xmlns="http://www.w3.org/2000/svg" style="display: none;">
<symbol id="svg-toc" viewBox="0 0 24 24">
<title>Contents</title>
<svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 1024 1024">
<path d="M408 442h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm-8 204c0 4.4 3.6 8 8 8h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56zm504-486H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 632H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM115.4 518.9L271.7 642c5.8 4.6 14.4.5 14.4-6.9V388.9c0-7.4-8.5-11.5-14.4-6.9L115.4 505.1a8.74 8.74 0 0 0 0 13.8z"/>
</svg>
</symbol>
<symbol id="svg-menu" viewBox="0 0 24 24">
<title>Menu</title>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather-menu">
<line x1="3" y1="12" x2="21" y2="12"></line>
<line x1="3" y1="6" x2="21" y2="6"></line>
<line x1="3" y1="18" x2="21" y2="18"></line>
</svg>
</symbol>
<symbol id="svg-arrow-right" viewBox="0 0 24 24">
<title>Expand</title>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather-chevron-right">
<polyline points="9 18 15 12 9 6"></polyline>
</svg>
</symbol>
<symbol id="svg-sun" viewBox="0 0 24 24">
<title>Light mode</title>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="feather-sun">
<circle cx="12" cy="12" r="5"></circle>
<line x1="12" y1="1" x2="12" y2="3"></line>
<line x1="12" y1="21" x2="12" y2="23"></line>
<line x1="4.22" y1="4.22" x2="5.64" y2="5.64"></line>
<line x1="18.36" y1="18.36" x2="19.78" y2="19.78"></line>
<line x1="1" y1="12" x2="3" y2="12"></line>
<line x1="21" y1="12" x2="23" y2="12"></line>
<line x1="4.22" y1="19.78" x2="5.64" y2="18.36"></line>
<line x1="18.36" y1="5.64" x2="19.78" y2="4.22"></line>
</svg>
</symbol>
<symbol id="svg-moon" viewBox="0 0 24 24">
<title>Dark mode</title>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="icon-tabler-moon">
<path stroke="none" d="M0 0h24v24H0z" fill="none" />
<path d="M12 3c.132 0 .263 0 .393 0a7.5 7.5 0 0 0 7.92 12.446a9 9 0 1 1 -8.313 -12.454z" />
</svg>
</symbol>
<symbol id="svg-sun-half" viewBox="0 0 24 24">
<title>Auto light/dark mode</title>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="icon-tabler-shadow">
<path stroke="none" d="M0 0h24v24H0z" fill="none"/>
<circle cx="12" cy="12" r="9" />
<path d="M13 12h5" />
<path d="M13 15h4" />
<path d="M13 18h1" />
<path d="M13 9h4" />
<path d="M13 6h1" />
</svg>
</symbol>
</svg>
<input type="checkbox" class="sidebar-toggle" name="__navigation" id="__navigation">
<input type="checkbox" class="sidebar-toggle" name="__toc" id="__toc">
<label class="overlay sidebar-overlay" for="__navigation">
<div class="visually-hidden">Hide navigation sidebar</div>
</label>
<label class="overlay toc-overlay" for="__toc">
<div class="visually-hidden">Hide table of contents sidebar</div>
</label>
<div class="page">
<header class="mobile-header">
<div class="header-left">
<label class="nav-overlay-icon" for="__navigation">
<div class="visually-hidden">Toggle site navigation sidebar</div>
<i class="icon"><svg><use href="#svg-menu"></use></svg></i>
</label>
</div>
<div class="header-center">
<a href="../../index.html"><div class="brand">p2p-ld 0.1.0 documentation</div></a>
</div>
<div class="header-right">
<div class="theme-toggle-container theme-toggle-header">
<button class="theme-toggle">
<div class="visually-hidden">Toggle Light / Dark / Auto color theme</div>
<svg class="theme-icon-when-auto"><use href="#svg-sun-half"></use></svg>
<svg class="theme-icon-when-dark"><use href="#svg-moon"></use></svg>
<svg class="theme-icon-when-light"><use href="#svg-sun"></use></svg>
</button>
</div>
<label class="toc-overlay-icon toc-header-icon" for="__toc">
<div class="visually-hidden">Toggle table of contents sidebar</div>
<i class="icon"><svg><use href="#svg-toc"></use></svg></i>
</label>
</div>
</header>
<aside class="sidebar-drawer">
<div class="sidebar-container">
<div class="sidebar-sticky"><a class="sidebar-brand" href="../../index.html">
<span class="sidebar-brand-text">p2p-ld 0.1.0 documentation</span>
</a><form class="sidebar-search-container" method="get" action="../../search.html" role="search">
<input class="sidebar-search" placeholder="Search" name="q" aria-label="Search">
<input type="hidden" name="check_keywords" value="yes">
<input type="hidden" name="area" value="default">
</form>
<div id="searchbox"></div><div class="sidebar-scroll"><div class="sidebar-tree">
<p class="caption" role="heading"><span class="caption-text">Introduction</span></p>
<ul class="current">
<li class="toctree-l1"><a class="reference internal" href="../../overview.html">Overview</a></li>
<li class="toctree-l1 current has-children"><a class="reference internal" href="../index.html">Comparison</a><input checked="" class="toctree-checkbox" id="toctree-checkbox-1" name="toctree-checkbox-1" role="switch" type="checkbox"/><label for="toctree-checkbox-1"><div class="visually-hidden">Toggle navigation of Comparison</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul class="current">
<li class="toctree-l2 has-children"><a class="reference internal" href="../p2p/index.html">P2P</a><input class="toctree-checkbox" id="toctree-checkbox-2" name="toctree-checkbox-2" role="switch" type="checkbox"/><label for="toctree-checkbox-2"><div class="visually-hidden">Toggle navigation of P2P</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul>
<li class="toctree-l3"><a class="reference internal" href="../p2p/bittorrent.html">BitTorrent</a></li>
<li class="toctree-l3"><a class="reference internal" href="../p2p/ipfs.html">IPFS</a></li>
<li class="toctree-l3"><a class="reference internal" href="../p2p/hypercore.html">Dat/Hypercore</a></li>
<li class="toctree-l3"><a class="reference internal" href="../p2p/spritely.html">Spritely/Goblin</a></li>
</ul>
</li>
<li class="toctree-l2 has-children"><a class="reference internal" href="../social/index.html">Social</a><input class="toctree-checkbox" id="toctree-checkbox-3" name="toctree-checkbox-3" role="switch" type="checkbox"/><label for="toctree-checkbox-3"><div class="visually-hidden">Toggle navigation of Social</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul>
<li class="toctree-l3"><a class="reference internal" href="../social/activitypub.html">ActivityPub</a></li>
<li class="toctree-l3"><a class="reference internal" href="../social/ssb.html">Secure Scuttlebutt</a></li>
<li class="toctree-l3"><a class="reference internal" href="../social/matrix.html">Matrix</a></li>
<li class="toctree-l3"><a class="reference internal" href="../social/at_protocol.html">AT Protocol/Bluesky</a></li>
<li class="toctree-l3"><a class="reference internal" href="../social/nostr.html">Nostr</a></li>
<li class="toctree-l3"><a class="reference internal" href="../social/xmpp.html">XMPP</a></li>
</ul>
</li>
<li class="toctree-l2 has-children"><a class="reference internal" href="../ld/index.html">Linked Data</a><input class="toctree-checkbox" id="toctree-checkbox-4" name="toctree-checkbox-4" role="switch" type="checkbox"/><label for="toctree-checkbox-4"><div class="visually-hidden">Toggle navigation of Linked Data</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul>
<li class="toctree-l3"><a class="reference internal" href="../ld/rdf.html">RDF and Friends</a></li>
<li class="toctree-l3"><a class="reference internal" href="../ld/solid.html">SOLID</a></li>
<li class="toctree-l3"><a class="reference internal" href="../ld/ld_fragments.html">Linked Data Fragments</a></li>
<li class="toctree-l3"><a class="reference internal" href="../ld/hdt.html">HDT</a></li>
<li class="toctree-l3"><a class="reference internal" href="../ld/ld_platform.html">Linked Data Platform</a></li>
<li class="toctree-l3"><a class="reference internal" href="../ld/nanopubs.html">NanoPubs</a></li>
</ul>
</li>
<li class="toctree-l2 current has-children"><a class="reference internal" href="index.html">Data Structures</a><input checked="" class="toctree-checkbox" id="toctree-checkbox-5" name="toctree-checkbox-5" role="switch" type="checkbox"/><label for="toctree-checkbox-5"><div class="visually-hidden">Toggle navigation of Data Structures</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul class="current">
<li class="toctree-l3 current current-page"><a class="current reference internal" href="#">DataLad</a></li>
<li class="toctree-l3"><a class="reference internal" href="dmc.html">DMC</a></li>
<li class="toctree-l3"><a class="reference internal" href="eris.html">ERIS</a></li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="../../p2p_concepts.html">P2P Concepts</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../out_of_scope.html">Out of Scope</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">Protocol</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../../definitions.html">1. Definitions</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../protocol.html">2. Protocol</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../identity.html">3. Identity</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../discovery.html">4. Discovery</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../data_structures.html">5. Data Structures</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../vocabulary.html">6. Vocabulary</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../querying.html">7. Querying</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../encryption.html">8. Encryption</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../encryption.html#todo">9. TODO</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../federation.html">10. Federation</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../backwards_compatibility.html">11. Backwards Compatibility</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../evolvability.html">12. Evolvability</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">Ecosystem</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../../triplets.html">Triplets</a></li>
<li class="toctree-l1 has-children"><a class="reference internal" href="../../codecs/index.html">Codecs</a><input class="toctree-checkbox" id="toctree-checkbox-6" name="toctree-checkbox-6" role="switch" type="checkbox"/><label for="toctree-checkbox-6"><div class="visually-hidden">Toggle navigation of Codecs</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul>
<li class="toctree-l2"><a class="reference internal" href="../../codecs/hdf5.html">HDF5</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="../../translation/index.html">Translation</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">Drafting</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../../design.html">Design Decisions</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../sketchpad.html">Sketchpad</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">Meta</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../../genindex.html">Index</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../references.html">References</a></li>
</ul>
</div>
</div>
</div>
</div>
</aside>
<div class="main">
<div class="content">
<div class="article-container">
<a href="#" class="back-to-top muted-link">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
<path d="M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8v12z"></path>
</svg>
<span>Back to top</span>
</a>
<div class="content-icon-container">
<div class="theme-toggle-container theme-toggle-content">
<button class="theme-toggle">
<div class="visually-hidden">Toggle Light / Dark / Auto color theme</div>
<svg class="theme-icon-when-auto"><use href="#svg-sun-half"></use></svg>
<svg class="theme-icon-when-dark"><use href="#svg-moon"></use></svg>
<svg class="theme-icon-when-light"><use href="#svg-sun"></use></svg>
</button>
</div>
<label class="toc-overlay-icon toc-content-icon" for="__toc">
<div class="visually-hidden">Toggle table of contents sidebar</div>
<i class="icon"><svg><use href="#svg-toc"></use></svg></i>
</label>
</div>
<article role="main">
<section id="datalad">
<span id="index-0"></span><h1>DataLad<a class="headerlink" href="#datalad" title="Permalink to this heading">#</a></h1>
<p>DataLad is a tool for managing datasets! It is built on top of <span class="target" id="index-1"></span>git and <span class="target" id="index-2"></span>git-annex for storage, and is capable of integrating with external hosting providers (through git annex)</p>
<p>It has a number of interesting extensions that we can learn from</p>
<ul class="simple">
<li><p><a class="reference external" href="https://docs.datalad.org/projects/crawler/en/latest/">crawler</a> allows you to archive web pages</p></li>
<li><p><a class="reference external" href="https://github.com/datalad/datalad-osf/blob/main/datalad_osf/annex_remote.py">OSF Remote</a> - example of an extension for interacting with OSF</p></li>
</ul>
<section id="references">
<h2>References<a class="headerlink" href="#references" title="Permalink to this heading">#</a></h2>
<ul class="simple">
<li><p>DataLad repositories: <a class="reference external" href="https://github.com/datalad">https://github.com/datalad</a></p></li>
<li><p>Docs: <a class="reference external" href="https://docs.datalad.org/en/latest/">https://docs.datalad.org/en/latest/</a></p></li>
</ul>
</section>
</section>
</article>
</div>
<footer>
<div class="related-pages">
<a class="next-page" href="dmc.html">
<div class="page-info">
<div class="context">
<span>Next</span>
</div>
<div class="title">DMC</div>
</div>
<svg class="furo-related-icon"><use href="#svg-arrow-right"></use></svg>
</a>
<a class="prev-page" href="index.html">
<svg class="furo-related-icon"><use href="#svg-arrow-right"></use></svg>
<div class="page-info">
<div class="context">
<span>Previous</span>
</div>
<div class="title">Data Structures</div>
</div>
</a>
</div>
<div class="bottom-of-page">
<div class="left-details">
<div class="copyright">
Copyright &#169; 2023, Jonny Saunders
</div>
Made with <a href="https://www.sphinx-doc.org/">Sphinx</a> and <a class="muted-link" href="https://pradyunsg.me">@pradyunsg</a>'s
<a href="https://github.com/pradyunsg/furo">Furo</a>
</div>
<div class="right-details">
</div>
</div>
</footer>
</div>
<aside class="toc-drawer">
<div class="toc-sticky toc-scroll">
<div class="toc-title-container">
<span class="toc-title">
On this page
</span>
</div>
<div class="toc-tree-container">
<div class="toc-tree">
<ul>
<li><a class="reference internal" href="#">DataLad</a><ul>
<li><a class="reference internal" href="#references">References</a></li>
</ul>
</li>
</ul>
</div>
</div>
</div>
</aside>
</div>
</div><script data-url_root="../../" id="documentation_options" src="../../_static/documentation_options.js"></script>
<script src="../../_static/doctools.js"></script>
<script src="../../_static/sphinx_highlight.js"></script>
<script src="../../_static/scripts/furo.js"></script>
<script src="../../_static/design-tabs.js"></script>
</body>
</html>

View file

@ -3,7 +3,7 @@
<head><meta charset="utf-8"/>
<meta name="viewport" content="width=device-width,initial-scale=1"/>
<meta name="color-scheme" content="light dark"><meta name="generator" content="Docutils 0.19: https://docutils.sourceforge.io/" />
<link rel="index" title="Index" href="../../genindex.html" /><link rel="search" title="Search" href="../../search.html" /><link rel="next" title="P2P Concepts" href="../../p2p_concepts.html" /><link rel="prev" title="ERIS" href="eris.html" />
<link rel="index" title="Index" href="../../genindex.html" /><link rel="search" title="Search" href="../../search.html" /><link rel="next" title="ERIS" href="eris.html" /><link rel="prev" title="DataLad" href="datalad.html" />
<link rel="canonical" href="/docs/comparison/data/dmc.html" />
<!-- Generated with Sphinx 6.2.1 and Furo 2023.05.20 -->
@ -24,14 +24,14 @@
}
@media not print {
body[data-theme="dark"] {
--color-code-background: #202020;
--color-code-foreground: #d0d0d0;
--color-code-background: #0d1117;
--color-code-foreground: #e6edf3;
}
@media (prefers-color-scheme: dark) {
body:not([data-theme="light"]) {
--color-code-background: #202020;
--color-code-foreground: #d0d0d0;
--color-code-background: #0d1117;
--color-code-foreground: #e6edf3;
}
}
@ -180,13 +180,15 @@
<li class="toctree-l3"><a class="reference internal" href="../ld/rdf.html">RDF and Friends</a></li>
<li class="toctree-l3"><a class="reference internal" href="../ld/solid.html">SOLID</a></li>
<li class="toctree-l3"><a class="reference internal" href="../ld/ld_fragments.html">Linked Data Fragments</a></li>
<li class="toctree-l3"><a class="reference internal" href="../ld/hdt.html">HDT</a></li>
<li class="toctree-l3"><a class="reference internal" href="../ld/ld_platform.html">Linked Data Platform</a></li>
<li class="toctree-l3"><a class="reference internal" href="../ld/nanopubs.html">NanoPubs</a></li>
</ul>
</li>
<li class="toctree-l2 current has-children"><a class="reference internal" href="index.html">Data Structures</a><input checked="" class="toctree-checkbox" id="toctree-checkbox-5" name="toctree-checkbox-5" role="switch" type="checkbox"/><label for="toctree-checkbox-5"><div class="visually-hidden">Toggle navigation of Data Structures</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul class="current">
<li class="toctree-l3"><a class="reference internal" href="eris.html">ERIS</a></li>
<li class="toctree-l3"><a class="reference internal" href="datalad.html">DataLad</a></li>
<li class="toctree-l3 current current-page"><a class="current reference internal" href="#">DMC</a></li>
<li class="toctree-l3"><a class="reference internal" href="eris.html">ERIS</a></li>
</ul>
</li>
</ul>
@ -212,7 +214,10 @@
<p class="caption" role="heading"><span class="caption-text">Ecosystem</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../../triplets.html">Triplets</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../adapter/index.html">Adapter</a></li>
<li class="toctree-l1 has-children"><a class="reference internal" href="../../codecs/index.html">Codecs</a><input class="toctree-checkbox" id="toctree-checkbox-6" name="toctree-checkbox-6" role="switch" type="checkbox"/><label for="toctree-checkbox-6"><div class="visually-hidden">Toggle navigation of Codecs</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul>
<li class="toctree-l2"><a class="reference internal" href="../../codecs/hdf5.html">HDF5</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="../../translation/index.html">Translation</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">Drafting</span></p>
@ -269,23 +274,23 @@
<footer>
<div class="related-pages">
<a class="next-page" href="../../p2p_concepts.html">
<a class="next-page" href="eris.html">
<div class="page-info">
<div class="context">
<span>Next</span>
</div>
<div class="title">P2P Concepts</div>
<div class="title">ERIS</div>
</div>
<svg class="furo-related-icon"><use href="#svg-arrow-right"></use></svg>
</a>
<a class="prev-page" href="eris.html">
<a class="prev-page" href="datalad.html">
<svg class="furo-related-icon"><use href="#svg-arrow-right"></use></svg>
<div class="page-info">
<div class="context">
<span>Previous</span>
</div>
<div class="title">ERIS</div>
<div class="title">DataLad</div>
</div>
</a>

View file

@ -3,7 +3,7 @@
<head><meta charset="utf-8"/>
<meta name="viewport" content="width=device-width,initial-scale=1"/>
<meta name="color-scheme" content="light dark"><meta name="generator" content="Docutils 0.19: https://docutils.sourceforge.io/" />
<link rel="index" title="Index" href="../../genindex.html" /><link rel="search" title="Search" href="../../search.html" /><link rel="next" title="DMC" href="dmc.html" /><link rel="prev" title="Data Structures" href="index.html" />
<link rel="index" title="Index" href="../../genindex.html" /><link rel="search" title="Search" href="../../search.html" /><link rel="next" title="P2P Concepts" href="../../p2p_concepts.html" /><link rel="prev" title="DMC" href="dmc.html" />
<link rel="canonical" href="/docs/comparison/data/eris.html" />
<!-- Generated with Sphinx 6.2.1 and Furo 2023.05.20 -->
@ -24,14 +24,14 @@
}
@media not print {
body[data-theme="dark"] {
--color-code-background: #202020;
--color-code-foreground: #d0d0d0;
--color-code-background: #0d1117;
--color-code-foreground: #e6edf3;
}
@media (prefers-color-scheme: dark) {
body:not([data-theme="light"]) {
--color-code-background: #202020;
--color-code-foreground: #d0d0d0;
--color-code-background: #0d1117;
--color-code-foreground: #e6edf3;
}
}
@ -180,13 +180,15 @@
<li class="toctree-l3"><a class="reference internal" href="../ld/rdf.html">RDF and Friends</a></li>
<li class="toctree-l3"><a class="reference internal" href="../ld/solid.html">SOLID</a></li>
<li class="toctree-l3"><a class="reference internal" href="../ld/ld_fragments.html">Linked Data Fragments</a></li>
<li class="toctree-l3"><a class="reference internal" href="../ld/hdt.html">HDT</a></li>
<li class="toctree-l3"><a class="reference internal" href="../ld/ld_platform.html">Linked Data Platform</a></li>
<li class="toctree-l3"><a class="reference internal" href="../ld/nanopubs.html">NanoPubs</a></li>
</ul>
</li>
<li class="toctree-l2 current has-children"><a class="reference internal" href="index.html">Data Structures</a><input checked="" class="toctree-checkbox" id="toctree-checkbox-5" name="toctree-checkbox-5" role="switch" type="checkbox"/><label for="toctree-checkbox-5"><div class="visually-hidden">Toggle navigation of Data Structures</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul class="current">
<li class="toctree-l3 current current-page"><a class="current reference internal" href="#">ERIS</a></li>
<li class="toctree-l3"><a class="reference internal" href="datalad.html">DataLad</a></li>
<li class="toctree-l3"><a class="reference internal" href="dmc.html">DMC</a></li>
<li class="toctree-l3 current current-page"><a class="current reference internal" href="#">ERIS</a></li>
</ul>
</li>
</ul>
@ -212,7 +214,10 @@
<p class="caption" role="heading"><span class="caption-text">Ecosystem</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../../triplets.html">Triplets</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../adapter/index.html">Adapter</a></li>
<li class="toctree-l1 has-children"><a class="reference internal" href="../../codecs/index.html">Codecs</a><input class="toctree-checkbox" id="toctree-checkbox-6" name="toctree-checkbox-6" role="switch" type="checkbox"/><label for="toctree-checkbox-6"><div class="visually-hidden">Toggle navigation of Codecs</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul>
<li class="toctree-l2"><a class="reference internal" href="../../codecs/hdf5.html">HDF5</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="../../translation/index.html">Translation</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">Drafting</span></p>
@ -269,23 +274,23 @@
<footer>
<div class="related-pages">
<a class="next-page" href="dmc.html">
<a class="next-page" href="../../p2p_concepts.html">
<div class="page-info">
<div class="context">
<span>Next</span>
</div>
<div class="title">DMC</div>
<div class="title">P2P Concepts</div>
</div>
<svg class="furo-related-icon"><use href="#svg-arrow-right"></use></svg>
</a>
<a class="prev-page" href="index.html">
<a class="prev-page" href="dmc.html">
<svg class="furo-related-icon"><use href="#svg-arrow-right"></use></svg>
<div class="page-info">
<div class="context">
<span>Previous</span>
</div>
<div class="title">Data Structures</div>
<div class="title">DMC</div>
</div>
</a>

View file

@ -3,7 +3,7 @@
<head><meta charset="utf-8"/>
<meta name="viewport" content="width=device-width,initial-scale=1"/>
<meta name="color-scheme" content="light dark"><meta name="generator" content="Docutils 0.19: https://docutils.sourceforge.io/" />
<link rel="index" title="Index" href="../../genindex.html" /><link rel="search" title="Search" href="../../search.html" /><link rel="next" title="ERIS" href="eris.html" /><link rel="prev" title="NanoPubs" href="../ld/nanopubs.html" />
<link rel="index" title="Index" href="../../genindex.html" /><link rel="search" title="Search" href="../../search.html" /><link rel="next" title="DataLad" href="datalad.html" /><link rel="prev" title="NanoPubs" href="../ld/nanopubs.html" />
<link rel="canonical" href="/docs/comparison/data/index.html" />
<!-- Generated with Sphinx 6.2.1 and Furo 2023.05.20 -->
@ -24,14 +24,14 @@
}
@media not print {
body[data-theme="dark"] {
--color-code-background: #202020;
--color-code-foreground: #d0d0d0;
--color-code-background: #0d1117;
--color-code-foreground: #e6edf3;
}
@media (prefers-color-scheme: dark) {
body:not([data-theme="light"]) {
--color-code-background: #202020;
--color-code-foreground: #d0d0d0;
--color-code-background: #0d1117;
--color-code-foreground: #e6edf3;
}
}
@ -180,13 +180,15 @@
<li class="toctree-l3"><a class="reference internal" href="../ld/rdf.html">RDF and Friends</a></li>
<li class="toctree-l3"><a class="reference internal" href="../ld/solid.html">SOLID</a></li>
<li class="toctree-l3"><a class="reference internal" href="../ld/ld_fragments.html">Linked Data Fragments</a></li>
<li class="toctree-l3"><a class="reference internal" href="../ld/hdt.html">HDT</a></li>
<li class="toctree-l3"><a class="reference internal" href="../ld/ld_platform.html">Linked Data Platform</a></li>
<li class="toctree-l3"><a class="reference internal" href="../ld/nanopubs.html">NanoPubs</a></li>
</ul>
</li>
<li class="toctree-l2 current has-children current-page"><a class="current reference internal" href="#">Data Structures</a><input checked="" class="toctree-checkbox" id="toctree-checkbox-5" name="toctree-checkbox-5" role="switch" type="checkbox"/><label for="toctree-checkbox-5"><div class="visually-hidden">Toggle navigation of Data Structures</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul>
<li class="toctree-l3"><a class="reference internal" href="eris.html">ERIS</a></li>
<li class="toctree-l3"><a class="reference internal" href="datalad.html">DataLad</a></li>
<li class="toctree-l3"><a class="reference internal" href="dmc.html">DMC</a></li>
<li class="toctree-l3"><a class="reference internal" href="eris.html">ERIS</a></li>
</ul>
</li>
</ul>
@ -212,7 +214,10 @@
<p class="caption" role="heading"><span class="caption-text">Ecosystem</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../../triplets.html">Triplets</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../adapter/index.html">Adapter</a></li>
<li class="toctree-l1 has-children"><a class="reference internal" href="../../codecs/index.html">Codecs</a><input class="toctree-checkbox" id="toctree-checkbox-6" name="toctree-checkbox-6" role="switch" type="checkbox"/><label for="toctree-checkbox-6"><div class="visually-hidden">Toggle navigation of Codecs</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul>
<li class="toctree-l2"><a class="reference internal" href="../../codecs/hdf5.html">HDF5</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="../../translation/index.html">Translation</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">Drafting</span></p>
@ -263,8 +268,9 @@
<div class="toctree-wrapper compound">
<p class="caption" role="heading"><span class="caption-text">Data Structures</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="eris.html">ERIS</a></li>
<li class="toctree-l1"><a class="reference internal" href="datalad.html">DataLad</a></li>
<li class="toctree-l1"><a class="reference internal" href="dmc.html">DMC</a></li>
<li class="toctree-l1"><a class="reference internal" href="eris.html">ERIS</a></li>
</ul>
</div>
</section>
@ -274,12 +280,12 @@
<footer>
<div class="related-pages">
<a class="next-page" href="eris.html">
<a class="next-page" href="datalad.html">
<div class="page-info">
<div class="context">
<span>Next</span>
</div>
<div class="title">ERIS</div>
<div class="title">DataLad</div>
</div>
<svg class="furo-related-icon"><use href="#svg-arrow-right"></use></svg>
</a>

View file

@ -24,14 +24,14 @@
}
@media not print {
body[data-theme="dark"] {
--color-code-background: #202020;
--color-code-foreground: #d0d0d0;
--color-code-background: #0d1117;
--color-code-foreground: #e6edf3;
}
@media (prefers-color-scheme: dark) {
body:not([data-theme="light"]) {
--color-code-background: #202020;
--color-code-foreground: #d0d0d0;
--color-code-background: #0d1117;
--color-code-foreground: #e6edf3;
}
}
@ -180,13 +180,15 @@
<li class="toctree-l3"><a class="reference internal" href="ld/rdf.html">RDF and Friends</a></li>
<li class="toctree-l3"><a class="reference internal" href="ld/solid.html">SOLID</a></li>
<li class="toctree-l3"><a class="reference internal" href="ld/ld_fragments.html">Linked Data Fragments</a></li>
<li class="toctree-l3"><a class="reference internal" href="ld/hdt.html">HDT</a></li>
<li class="toctree-l3"><a class="reference internal" href="ld/ld_platform.html">Linked Data Platform</a></li>
<li class="toctree-l3"><a class="reference internal" href="ld/nanopubs.html">NanoPubs</a></li>
</ul>
</li>
<li class="toctree-l2 has-children"><a class="reference internal" href="data/index.html">Data Structures</a><input class="toctree-checkbox" id="toctree-checkbox-5" name="toctree-checkbox-5" role="switch" type="checkbox"/><label for="toctree-checkbox-5"><div class="visually-hidden">Toggle navigation of Data Structures</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul>
<li class="toctree-l3"><a class="reference internal" href="data/eris.html">ERIS</a></li>
<li class="toctree-l3"><a class="reference internal" href="data/datalad.html">DataLad</a></li>
<li class="toctree-l3"><a class="reference internal" href="data/dmc.html">DMC</a></li>
<li class="toctree-l3"><a class="reference internal" href="data/eris.html">ERIS</a></li>
</ul>
</li>
</ul>
@ -212,7 +214,10 @@
<p class="caption" role="heading"><span class="caption-text">Ecosystem</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../triplets.html">Triplets</a></li>
<li class="toctree-l1"><a class="reference internal" href="../adapter/index.html">Adapter</a></li>
<li class="toctree-l1 has-children"><a class="reference internal" href="../codecs/index.html">Codecs</a><input class="toctree-checkbox" id="toctree-checkbox-6" name="toctree-checkbox-6" role="switch" type="checkbox"/><label for="toctree-checkbox-6"><div class="visually-hidden">Toggle navigation of Codecs</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul>
<li class="toctree-l2"><a class="reference internal" href="../codecs/hdf5.html">HDF5</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="../translation/index.html">Translation</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">Drafting</span></p>
@ -283,13 +288,15 @@
<li class="toctree-l2"><a class="reference internal" href="ld/rdf.html">RDF and Friends</a></li>
<li class="toctree-l2"><a class="reference internal" href="ld/solid.html">SOLID</a></li>
<li class="toctree-l2"><a class="reference internal" href="ld/ld_fragments.html">Linked Data Fragments</a></li>
<li class="toctree-l2"><a class="reference internal" href="ld/hdt.html">HDT</a></li>
<li class="toctree-l2"><a class="reference internal" href="ld/ld_platform.html">Linked Data Platform</a></li>
<li class="toctree-l2"><a class="reference internal" href="ld/nanopubs.html">NanoPubs</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="data/index.html">Data Structures</a><ul>
<li class="toctree-l2"><a class="reference internal" href="data/eris.html">ERIS</a></li>
<li class="toctree-l2"><a class="reference internal" href="data/datalad.html">DataLad</a></li>
<li class="toctree-l2"><a class="reference internal" href="data/dmc.html">DMC</a></li>
<li class="toctree-l2"><a class="reference internal" href="data/eris.html">ERIS</a></li>
</ul>
</li>
</ul>

472
comparison/ld/hdt.html Normal file
View file

@ -0,0 +1,472 @@
<!doctype html>
<html class="no-js" lang="en">
<head><meta charset="utf-8"/>
<meta name="viewport" content="width=device-width,initial-scale=1"/>
<meta name="color-scheme" content="light dark"><meta name="generator" content="Docutils 0.19: https://docutils.sourceforge.io/" />
<link rel="index" title="Index" href="../../genindex.html" /><link rel="search" title="Search" href="../../search.html" /><link rel="next" title="Linked Data Platform" href="ld_platform.html" /><link rel="prev" title="Linked Data Fragments" href="ld_fragments.html" />
<link rel="canonical" href="/docs/comparison/ld/hdt.html" />
<!-- Generated with Sphinx 6.2.1 and Furo 2023.05.20 -->
<title>HDT - p2p-ld 0.1.0 documentation</title>
<link rel="stylesheet" type="text/css" href="../../_static/pygments.css" />
<link rel="stylesheet" type="text/css" href="../../_static/styles/furo.css?digest=e6660623a769aa55fea372102b9bf3151b292993" />
<link rel="stylesheet" type="text/css" href="../../_static/design-style.1e8bd061cd6da7fc9cf755528e8ffc24.min.css" />
<link rel="stylesheet" type="text/css" href="../../_static/styles/furo-extensions.css?digest=30d1aed668e5c3a91c3e3bf6a60b675221979f0e" />
<style>
body {
--color-code-background: #f8f8f8;
--color-code-foreground: black;
}
@media not print {
body[data-theme="dark"] {
--color-code-background: #0d1117;
--color-code-foreground: #e6edf3;
}
@media (prefers-color-scheme: dark) {
body:not([data-theme="light"]) {
--color-code-background: #0d1117;
--color-code-foreground: #e6edf3;
}
}
}
</style></head>
<body>
<script>
document.body.dataset.theme = localStorage.getItem("theme") || "auto";
</script>
<svg xmlns="http://www.w3.org/2000/svg" style="display: none;">
<symbol id="svg-toc" viewBox="0 0 24 24">
<title>Contents</title>
<svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 1024 1024">
<path d="M408 442h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm-8 204c0 4.4 3.6 8 8 8h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56zm504-486H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 632H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM115.4 518.9L271.7 642c5.8 4.6 14.4.5 14.4-6.9V388.9c0-7.4-8.5-11.5-14.4-6.9L115.4 505.1a8.74 8.74 0 0 0 0 13.8z"/>
</svg>
</symbol>
<symbol id="svg-menu" viewBox="0 0 24 24">
<title>Menu</title>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather-menu">
<line x1="3" y1="12" x2="21" y2="12"></line>
<line x1="3" y1="6" x2="21" y2="6"></line>
<line x1="3" y1="18" x2="21" y2="18"></line>
</svg>
</symbol>
<symbol id="svg-arrow-right" viewBox="0 0 24 24">
<title>Expand</title>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather-chevron-right">
<polyline points="9 18 15 12 9 6"></polyline>
</svg>
</symbol>
<symbol id="svg-sun" viewBox="0 0 24 24">
<title>Light mode</title>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="feather-sun">
<circle cx="12" cy="12" r="5"></circle>
<line x1="12" y1="1" x2="12" y2="3"></line>
<line x1="12" y1="21" x2="12" y2="23"></line>
<line x1="4.22" y1="4.22" x2="5.64" y2="5.64"></line>
<line x1="18.36" y1="18.36" x2="19.78" y2="19.78"></line>
<line x1="1" y1="12" x2="3" y2="12"></line>
<line x1="21" y1="12" x2="23" y2="12"></line>
<line x1="4.22" y1="19.78" x2="5.64" y2="18.36"></line>
<line x1="18.36" y1="5.64" x2="19.78" y2="4.22"></line>
</svg>
</symbol>
<symbol id="svg-moon" viewBox="0 0 24 24">
<title>Dark mode</title>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="icon-tabler-moon">
<path stroke="none" d="M0 0h24v24H0z" fill="none" />
<path d="M12 3c.132 0 .263 0 .393 0a7.5 7.5 0 0 0 7.92 12.446a9 9 0 1 1 -8.313 -12.454z" />
</svg>
</symbol>
<symbol id="svg-sun-half" viewBox="0 0 24 24">
<title>Auto light/dark mode</title>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="icon-tabler-shadow">
<path stroke="none" d="M0 0h24v24H0z" fill="none"/>
<circle cx="12" cy="12" r="9" />
<path d="M13 12h5" />
<path d="M13 15h4" />
<path d="M13 18h1" />
<path d="M13 9h4" />
<path d="M13 6h1" />
</svg>
</symbol>
</svg>
<input type="checkbox" class="sidebar-toggle" name="__navigation" id="__navigation">
<input type="checkbox" class="sidebar-toggle" name="__toc" id="__toc">
<label class="overlay sidebar-overlay" for="__navigation">
<div class="visually-hidden">Hide navigation sidebar</div>
</label>
<label class="overlay toc-overlay" for="__toc">
<div class="visually-hidden">Hide table of contents sidebar</div>
</label>
<div class="page">
<header class="mobile-header">
<div class="header-left">
<label class="nav-overlay-icon" for="__navigation">
<div class="visually-hidden">Toggle site navigation sidebar</div>
<i class="icon"><svg><use href="#svg-menu"></use></svg></i>
</label>
</div>
<div class="header-center">
<a href="../../index.html"><div class="brand">p2p-ld 0.1.0 documentation</div></a>
</div>
<div class="header-right">
<div class="theme-toggle-container theme-toggle-header">
<button class="theme-toggle">
<div class="visually-hidden">Toggle Light / Dark / Auto color theme</div>
<svg class="theme-icon-when-auto"><use href="#svg-sun-half"></use></svg>
<svg class="theme-icon-when-dark"><use href="#svg-moon"></use></svg>
<svg class="theme-icon-when-light"><use href="#svg-sun"></use></svg>
</button>
</div>
<label class="toc-overlay-icon toc-header-icon" for="__toc">
<div class="visually-hidden">Toggle table of contents sidebar</div>
<i class="icon"><svg><use href="#svg-toc"></use></svg></i>
</label>
</div>
</header>
<aside class="sidebar-drawer">
<div class="sidebar-container">
<div class="sidebar-sticky"><a class="sidebar-brand" href="../../index.html">
<span class="sidebar-brand-text">p2p-ld 0.1.0 documentation</span>
</a><form class="sidebar-search-container" method="get" action="../../search.html" role="search">
<input class="sidebar-search" placeholder="Search" name="q" aria-label="Search">
<input type="hidden" name="check_keywords" value="yes">
<input type="hidden" name="area" value="default">
</form>
<div id="searchbox"></div><div class="sidebar-scroll"><div class="sidebar-tree">
<p class="caption" role="heading"><span class="caption-text">Introduction</span></p>
<ul class="current">
<li class="toctree-l1"><a class="reference internal" href="../../overview.html">Overview</a></li>
<li class="toctree-l1 current has-children"><a class="reference internal" href="../index.html">Comparison</a><input checked="" class="toctree-checkbox" id="toctree-checkbox-1" name="toctree-checkbox-1" role="switch" type="checkbox"/><label for="toctree-checkbox-1"><div class="visually-hidden">Toggle navigation of Comparison</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul class="current">
<li class="toctree-l2 has-children"><a class="reference internal" href="../p2p/index.html">P2P</a><input class="toctree-checkbox" id="toctree-checkbox-2" name="toctree-checkbox-2" role="switch" type="checkbox"/><label for="toctree-checkbox-2"><div class="visually-hidden">Toggle navigation of P2P</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul>
<li class="toctree-l3"><a class="reference internal" href="../p2p/bittorrent.html">BitTorrent</a></li>
<li class="toctree-l3"><a class="reference internal" href="../p2p/ipfs.html">IPFS</a></li>
<li class="toctree-l3"><a class="reference internal" href="../p2p/hypercore.html">Dat/Hypercore</a></li>
<li class="toctree-l3"><a class="reference internal" href="../p2p/spritely.html">Spritely/Goblin</a></li>
</ul>
</li>
<li class="toctree-l2 has-children"><a class="reference internal" href="../social/index.html">Social</a><input class="toctree-checkbox" id="toctree-checkbox-3" name="toctree-checkbox-3" role="switch" type="checkbox"/><label for="toctree-checkbox-3"><div class="visually-hidden">Toggle navigation of Social</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul>
<li class="toctree-l3"><a class="reference internal" href="../social/activitypub.html">ActivityPub</a></li>
<li class="toctree-l3"><a class="reference internal" href="../social/ssb.html">Secure Scuttlebutt</a></li>
<li class="toctree-l3"><a class="reference internal" href="../social/matrix.html">Matrix</a></li>
<li class="toctree-l3"><a class="reference internal" href="../social/at_protocol.html">AT Protocol/Bluesky</a></li>
<li class="toctree-l3"><a class="reference internal" href="../social/nostr.html">Nostr</a></li>
<li class="toctree-l3"><a class="reference internal" href="../social/xmpp.html">XMPP</a></li>
</ul>
</li>
<li class="toctree-l2 current has-children"><a class="reference internal" href="index.html">Linked Data</a><input checked="" class="toctree-checkbox" id="toctree-checkbox-4" name="toctree-checkbox-4" role="switch" type="checkbox"/><label for="toctree-checkbox-4"><div class="visually-hidden">Toggle navigation of Linked Data</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul class="current">
<li class="toctree-l3"><a class="reference internal" href="rdf.html">RDF and Friends</a></li>
<li class="toctree-l3"><a class="reference internal" href="solid.html">SOLID</a></li>
<li class="toctree-l3"><a class="reference internal" href="ld_fragments.html">Linked Data Fragments</a></li>
<li class="toctree-l3 current current-page"><a class="current reference internal" href="#">HDT</a></li>
<li class="toctree-l3"><a class="reference internal" href="ld_platform.html">Linked Data Platform</a></li>
<li class="toctree-l3"><a class="reference internal" href="nanopubs.html">NanoPubs</a></li>
</ul>
</li>
<li class="toctree-l2 has-children"><a class="reference internal" href="../data/index.html">Data Structures</a><input class="toctree-checkbox" id="toctree-checkbox-5" name="toctree-checkbox-5" role="switch" type="checkbox"/><label for="toctree-checkbox-5"><div class="visually-hidden">Toggle navigation of Data Structures</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul>
<li class="toctree-l3"><a class="reference internal" href="../data/datalad.html">DataLad</a></li>
<li class="toctree-l3"><a class="reference internal" href="../data/dmc.html">DMC</a></li>
<li class="toctree-l3"><a class="reference internal" href="../data/eris.html">ERIS</a></li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="../../p2p_concepts.html">P2P Concepts</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../out_of_scope.html">Out of Scope</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">Protocol</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../../definitions.html">1. Definitions</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../protocol.html">2. Protocol</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../identity.html">3. Identity</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../discovery.html">4. Discovery</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../data_structures.html">5. Data Structures</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../vocabulary.html">6. Vocabulary</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../querying.html">7. Querying</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../encryption.html">8. Encryption</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../encryption.html#todo">9. TODO</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../federation.html">10. Federation</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../backwards_compatibility.html">11. Backwards Compatibility</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../evolvability.html">12. Evolvability</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">Ecosystem</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../../triplets.html">Triplets</a></li>
<li class="toctree-l1 has-children"><a class="reference internal" href="../../codecs/index.html">Codecs</a><input class="toctree-checkbox" id="toctree-checkbox-6" name="toctree-checkbox-6" role="switch" type="checkbox"/><label for="toctree-checkbox-6"><div class="visually-hidden">Toggle navigation of Codecs</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul>
<li class="toctree-l2"><a class="reference internal" href="../../codecs/hdf5.html">HDF5</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="../../translation/index.html">Translation</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">Drafting</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../../design.html">Design Decisions</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../sketchpad.html">Sketchpad</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">Meta</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../../genindex.html">Index</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../references.html">References</a></li>
</ul>
</div>
</div>
</div>
</div>
</aside>
<div class="main">
<div class="content">
<div class="article-container">
<a href="#" class="back-to-top muted-link">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
<path d="M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8v12z"></path>
</svg>
<span>Back to top</span>
</a>
<div class="content-icon-container">
<div class="theme-toggle-container theme-toggle-content">
<button class="theme-toggle">
<div class="visually-hidden">Toggle Light / Dark / Auto color theme</div>
<svg class="theme-icon-when-auto"><use href="#svg-sun-half"></use></svg>
<svg class="theme-icon-when-dark"><use href="#svg-moon"></use></svg>
<svg class="theme-icon-when-light"><use href="#svg-sun"></use></svg>
</button>
</div>
<label class="toc-overlay-icon toc-content-icon" for="__toc">
<div class="visually-hidden">Toggle table of contents sidebar</div>
<i class="icon"><svg><use href="#svg-toc"></use></svg></i>
</label>
</div>
<article role="main">
<section id="hdt">
<span id="index-0"></span><span id="id1"></span><h1>HDT<a class="headerlink" href="#hdt" title="Permalink to this heading">#</a></h1>
<p>Like <a class="reference internal" href="ld_fragments.html"><span class="doc std std-doc">Linked Data Fragments</span></a>, <a class="reference external" href="https://www.rdfhdt.org/">HDT</a> is a transport and query format for linked data triples.</p>
<p>It is a compressed format that preserves headers to enable query and browsing without decompression.</p>
<section id="format">
<h2>Format<a class="headerlink" href="#format" title="Permalink to this heading">#</a></h2>
<p>It has <a class="reference external" href="https://www.rdfhdt.org/technical-specification/">three components</a>:</p>
<blockquote>
<div><ul class="simple">
<li><p><strong>Header:</strong> The Header holds metadata describing an HDT semantic dataset using plain RDF. It acts as an entry point for the consumer, who can have an initial idea of key properties of the content even before retrieving the whole dataset.</p></li>
<li><p><strong>Dictionary:</strong> The Dictionary is a catalog comprising all the different terms used in the dataset, such as URIs, literals and blank nodes. A unique identifier (ID) is assigned to each term, enabling triples to be represented as tuples of three IDs, which reference their respective subject/predicate/object term from the dictionary. This is a first step toward compression, since it avoids long terms to be repeated again and again. Moreover, similar strings are now stored together inside the dictionary, fact that can be exploited to improve compression even more.</p></li>
<li><p><strong>Triples:</strong> As stated before, the RDF triples can now be seen as tuples of three IDs. Therefore, the Triples section models the graph of relationships among the dataset terms. By understanding the typical properties of RDF graphs, we can come up with more efficient ways of representing this information, both to reduce the overall size, but also to provide efficient search/traversal operations.</p></li>
</ul>
<p class="attribution">—https://www.rdfhdt.org/technical-specification/</p>
</div></blockquote>
<section id="header">
<h3>Header<a class="headerlink" href="#header" title="Permalink to this heading">#</a></h3>
<p>A header contains</p>
<ul class="simple">
<li><p>At least one resource of type <code class="docutils literal notranslate"><span class="pre">hdt:Dataset</span></code>, which has</p>
<ul>
<li><p>Publication metadata - Where and when the dataset was published</p></li>
<li><p>Statistical metadata - Number of triples, number of terms, etc.</p></li>
<li><p>Format metadata - Encoding of dataset, which must have</p>
<ul>
<li><p><code class="docutils literal notranslate"><span class="pre">hdt:dictionary</span></code></p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">hdt:triples</span></code></p></li>
</ul>
</li>
<li><p>Additional metadata - uh idk anything?</p></li>
</ul>
</li>
</ul>
<details class="sd-sphinx-override sd-dropdown sd-card sd-mb-3">
<summary class="sd-summary-title sd-card-header">
HDT Header Example<div class="sd-summary-down docutils">
<svg version="1.1" width="1.5em" height="1.5em" class="sd-octicon sd-octicon-chevron-down" viewBox="0 0 24 24" aria-hidden="true"><path fill-rule="evenodd" d="M5.22 8.72a.75.75 0 000 1.06l6.25 6.25a.75.75 0 001.06 0l6.25-6.25a.75.75 0 00-1.06-1.06L12 14.44 6.28 8.72a.75.75 0 00-1.06 0z"></path></svg></div>
<div class="sd-summary-up docutils">
<svg version="1.1" width="1.5em" height="1.5em" class="sd-octicon sd-octicon-chevron-up" viewBox="0 0 24 24" aria-hidden="true"><path fill-rule="evenodd" d="M18.78 15.28a.75.75 0 000-1.06l-6.25-6.25a.75.75 0 00-1.06 0l-6.25 6.25a.75.75 0 101.06 1.06L12 9.56l5.72 5.72a.75.75 0 001.06 0z"></path></svg></div>
</summary><div class="sd-summary-content sd-card-body docutils">
<div class="highlight-turtle notranslate"><div class="highlight"><pre><span></span><span class="k">@prefix</span><span class="w"> </span><span class="nn">void:</span><span class="w"> </span><span class="nv">&lt;http://rdfs.org/ns/void#&gt;</span><span class="p">.</span>
<span class="k">@prefix</span><span class="w"> </span><span class="nn">dc:</span><span class="w"> </span><span class="nv">&lt;http://purl.org/dc/terms/&gt;</span><span class="p">.</span>
<span class="k">@prefix</span><span class="w"> </span><span class="nn">foaf:</span><span class="w"> </span><span class="nv">&lt;http://xmlns.com/foaf/0.1/&gt;</span><span class="p">.</span>
<span class="k">@prefix</span><span class="w"> </span><span class="nn">hdt:</span><span class="w"> </span><span class="nv">&lt;http://purl.org/HDT/hdt#&gt;</span><span class="p">.</span>
<span class="k">@prefix</span><span class="w"> </span><span class="nn">xsd:</span><span class="w"> </span><span class="nv">&lt;http://www.w3.org/2001/XMLSchema#&gt;</span><span class="p">.</span>
<span class="k">@prefix</span><span class="w"> </span><span class="nn">rdfs:</span><span class="w"> </span><span class="nv">&lt;http://www.w3.org/2000/01/rdf-schema#&gt;</span><span class="p">.</span>
<span class="k">@prefix</span><span class="w"> </span><span class="nn">rdf:</span><span class="w"> </span><span class="nv">&lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#&gt;</span><span class="p">.</span>
<span class="k">@prefix</span><span class="w"> </span><span class="nn">swp:</span><span class="w"> </span><span class="nv">&lt;http://www.w3.org/2004/03/trix/swp-2/&gt;</span><span class="p">.</span>
<span class="nv">&lt;http://example.org/ex/DBpediaEN&gt;</span>
<span class="kt">a</span> <span class="nn">hdt</span><span class="p">:</span><span class="nt">Dataset</span> <span class="p">;</span>
<span class="kt">a</span> <span class="nn">void</span><span class="p">:</span><span class="nt">Dataset</span> <span class="p">;</span>
<span class="nn">hdt</span><span class="p">:</span><span class="nt">publicationInformation</span> <span class="p">:</span><span class="nt">publication</span> <span class="p">;</span>
<span class="nn">hdt</span><span class="p">:</span><span class="nt">statisticalInformation</span> <span class="p">:</span><span class="nt">statistics</span> <span class="p">;</span>
<span class="nn">hdt</span><span class="p">:</span><span class="nt">formatInformation</span> <span class="p">:</span><span class="nt">format</span> <span class="p">;</span>
<span class="nn">hdt</span><span class="p">:</span><span class="nt">additionalInformation</span> <span class="p">:</span><span class="nt">additional</span> <span class="p">;</span>
<span class="nn">void</span><span class="p">:</span><span class="nt">triples</span> <span class="s">&quot;431440396&quot;</span> <span class="p">;</span>
<span class="nn">void</span><span class="p">:</span><span class="nt">properties</span> <span class="s">&quot;57986&quot;</span> <span class="p">;</span>
<span class="nn">void</span><span class="p">:</span><span class="nt">distinctSubjects</span> <span class="s">&quot;24791728&quot;</span> <span class="p">;</span>
<span class="nn">void</span><span class="p">:</span><span class="nt">distinctObjects</span> <span class="s">&quot;108927201&quot;</span> <span class="p">.</span>
<span class="p">:</span><span class="nt">publication</span> <span class="nn">dc</span><span class="p">:</span><span class="nt">issued</span> <span class="s">&quot;2012-11-23T23:17:50+0000&quot;</span> <span class="p">;</span>
<span class="nn">dc</span><span class="p">:</span><span class="nt">license</span> <span class="nv">&lt;http://www.gnu.org/copyleft/fdl.html&gt;</span> <span class="p">;</span>
<span class="nn">dc</span><span class="p">:</span><span class="nt">publisher</span> <span class="p">[</span> <span class="kt">a</span> <span class="nn">foaf</span><span class="p">:</span><span class="nt">Organization</span> <span class="p">;</span>
<span class="nn">foaf</span><span class="p">:</span><span class="nt">homepage</span> <span class="nv">&lt;http://www.dbpedia.org&gt;</span><span class="p">]</span> <span class="p">;</span>
<span class="nn">dc</span><span class="p">:</span><span class="nt">source</span> <span class="nv">&lt;http://downloads.dbpedia.org/3.8/en&gt;</span> <span class="p">;</span>
<span class="nn">dc</span><span class="p">:</span><span class="nt">title</span> <span class="s">&quot;DBpediaEN&quot;</span> <span class="p">;</span>
<span class="nn">void</span><span class="p">:</span><span class="nt">sparqlEndpoint</span> <span class="nv">&lt;http://www.dbpedia.org/sparql&gt;</span> <span class="p">.</span>
<span class="p">:</span><span class="nt">statistics</span> <span class="nn">hdt</span><span class="p">:</span><span class="nt">originalSize</span> <span class="s">&quot;110630364018&quot;</span> <span class="p">;</span>
<span class="nn">hdt</span><span class="p">:</span><span class="nt">hdtSize</span> <span class="s">&quot;3082795954&quot;</span> <span class="p">.</span>
<span class="p">:</span><span class="nt">format</span> <span class="nn">hdt</span><span class="p">:</span><span class="nt">dictionary</span> <span class="p">:</span><span class="nt">dictionary</span> <span class="p">;</span>
<span class="nn">hdt</span><span class="p">:</span><span class="nt">triplesBitmap</span> <span class="p">:</span><span class="nt">triples</span> <span class="p">.</span>
<span class="p">:</span><span class="nt">dictionary</span> <span class="nn">dc</span><span class="p">:</span><span class="nt">format</span> <span class="nn">hdt</span><span class="p">:</span><span class="nt">dictionaryFour</span> <span class="p">;</span>
<span class="nn">hdt</span><span class="p">:</span><span class="nt">dictionaryNamespaces</span> <span class="p">[</span><span class="nn">hdt</span><span class="p">:</span><span class="nt">namespace</span> <span class="p">[</span><span class="nn">hdt</span><span class="p">:</span><span class="nt">prefixLabel</span> <span class="s">&quot;dbpedia&quot;</span> <span class="p">;</span>
<span class="nn">hdt</span><span class="p">:</span><span class="nt">prefixURI</span> <span class="s">&quot;http://dbpedia.org/resource/&quot;</span><span class="p">]]</span> <span class="p">;</span>
<span class="nn">hdt</span><span class="p">:</span><span class="nt">dictionarynumSharedSubjectObject</span> <span class="s">&quot;22762644&quot;</span> <span class="p">;</span>
<span class="nn">hdt</span><span class="p">:</span><span class="nt">dictionarysizeStrings</span> <span class="s">&quot;1026354060&quot;</span> <span class="p">;</span>
<span class="nn">hdt</span><span class="p">:</span><span class="nt">dictionaryBlockSize</span> <span class="s">&quot;8&quot;</span> <span class="p">.</span>
<span class="p">:</span><span class="nt">triples</span> <span class="nn">dc</span><span class="p">:</span><span class="nt">format</span> <span class="nn">hdt</span><span class="p">:</span><span class="nt">triplesBitmap</span> <span class="p">;</span>
<span class="nn">hdt</span><span class="p">:</span><span class="nt">triplesOrder</span> <span class="s">&quot;SPO&quot;</span> <span class="p">;</span>
<span class="nn">hdt</span><span class="p">:</span><span class="nt">triplesnumTriples</span> <span class="s">&quot;431440396&quot;</span> <span class="p">.</span>
<span class="p">:</span><span class="nt">additional</span> <span class="nn">swp</span><span class="p">:</span><span class="nt">signature</span> <span class="s">&quot;AZ8QWE...&quot;</span> <span class="p">;</span>
<span class="nn">swp</span><span class="p">:</span><span class="nt">signatureMethod</span> <span class="s">&quot;DSA&quot;</span> <span class="p">.</span>
</pre></div>
</div>
</div>
</details></section>
<section id="dictionary">
<h3>Dictionary<a class="headerlink" href="#dictionary" title="Permalink to this heading">#</a></h3>
<p>The dictionary replaces all terms in the dataset with short, unique IDs to make the dataset more compressible. Oddly, rather than being a simple lookup table, it splits the dictionary into four sections: a “shared” section that includes subjects and objects, and predicates are separated. Terms are lexicographically ordered and <a class="reference external" href="https://en.wikipedia.org/wiki/Incremental_encoding">front coded</a> to additionally aid compression.</p>
<p>Separating encoding information into a header dictionary is a straightforwardly good idea, and an argument for distributing linked data in packetized forms rather than as a bunch of raw triples, as we do here.</p>
</section>
<section id="triples">
<h3>Triples<a class="headerlink" href="#triples" title="Permalink to this heading">#</a></h3>
<p>Triples are encoded as a tree, where each subject forms a root, with each predicate as children, and likewise for objects. Since the dictionary is ordered such that the subjects are the lowest IDs, it is possible to use an implicit representation of each subject (ie. subjects are not encoded). The predicate and object layers are each encoded with two parallel bit streams: Each predicate or object entry has one <code class="docutils literal notranslate"><span class="pre">Sp</span></code> entry for its dictionary ID, and one <code class="docutils literal notranslate"><span class="pre">Bp</span></code> “bitsequence” entry which is <code class="docutils literal notranslate"><span class="pre">1</span></code> if the entry is the first child of its parent and <code class="docutils literal notranslate"><span class="pre">0</span></code> otherwise.</p>
</section>
</section>
<section id="querying">
<h2>Querying<a class="headerlink" href="#querying" title="Permalink to this heading">#</a></h2>
<p>The dictionary being uncompressed allows for the dataset to be indexed at a vocabulary level - it is possible to eg. find all datasets that use this set of terms, as well as slightly more refined queries like find datasets that use this term as both subject and object.</p>
<p>Lookup is fast for subject-based queries, but predicate and object queries are slower because of the bitmap triple encoding.</p>
</section>
<section id="lessons">
<h2>Lessons<a class="headerlink" href="#lessons" title="Permalink to this heading">#</a></h2>
<p>First, there are good strategies here for practical compression and serialization of RDF triples!</p>
<p>The most interesting thing for p2p-ld here is the header: we are also interested in making it possible to do restricted queries and indexing over containers of triples without needing to necessarily query, download, or unpack the entire dataset. The primary focus here is compression, which has add-on benefits like faster query performance because the dataset can be held in memory. We would instead like to focus on exposing hashed tree fragments that can encapsulate query logic - eg. a given RDF resource that might indicate the metadata for a type of experiment would be hashed as a tree, and queries can discover it by querying for the root or any of its child hashes. So we will take the ideas re: using the dictionary encoding without necessarily adopting HDT wholesale.</p>
<p>The bitmap encoding is also interesting, as according to their tests it outperforms other similar compression schemes and I/O times. We will keep this in mind as a potential serialization format for raw triple data.</p>
<p>The idea of including publication data in the header seems obvious, but according to the authors later work that is not necessarily the case in RDF world <span id="id2">[<a class="reference internal" href="../../references.html#id14" title="Axel Polleres, Maulik Rajendra Kamdar, Javier David Fernández, Tania Tudorache, and Mark Alan Musen. A more decentralized vision for Linked Data. Semantic Web, 11(1):101113, 2020-01-31. URL: https://www.medra.org/servlet/aliasResolver?alias=iospress&amp;doi=10.3233/SW-190380 (visited on 2023-06-29), doi:10.3233/SW-190380.">Polleres <em>et al.</em>, 2020</a>]</span>. Since p2p-ld is built explicitly around making identity and origin a more central component of linked data, we will further investigate using the <span class="target" id="index-1"></span>VOID vocabulary - <a class="reference external" href="https://www.w3.org/TR/void/">https://www.w3.org/TR/void/</a></p>
</section>
<section id="references">
<h2>References<a class="headerlink" href="#references" title="Permalink to this heading">#</a></h2>
<ul class="simple">
<li><p><a class="reference external" href="https://www.rdfhdt.org/">HDT Homepage</a></p></li>
<li><p>Original Paper: <span id="id3">[<a class="reference internal" href="../../references.html#id6" title="Javier D. Fernández, Miguel A. Martínez-Prieto, Claudio Gutiérrez, Axel Polleres, and Mario Arias. Binary RDF representation for publication and exchange (HDT). Journal of Web Semantics, 19:2241, 2013-03-01. URL: https://www.sciencedirect.com/science/article/pii/S1570826813000036 (visited on 2023-06-29), doi:10.1016/j.websem.2013.01.002.">Fernández <em>et al.</em>, 2013</a>]</span></p></li>
<li><p>Later contextualization: <span id="id4">[<a class="reference internal" href="../../references.html#id14" title="Axel Polleres, Maulik Rajendra Kamdar, Javier David Fernández, Tania Tudorache, and Mark Alan Musen. A more decentralized vision for Linked Data. Semantic Web, 11(1):101113, 2020-01-31. URL: https://www.medra.org/servlet/aliasResolver?alias=iospress&amp;doi=10.3233/SW-190380 (visited on 2023-06-29), doi:10.3233/SW-190380.">Polleres <em>et al.</em>, 2020</a>]</span></p></li>
</ul>
</section>
</section>
</article>
</div>
<footer>
<div class="related-pages">
<a class="next-page" href="ld_platform.html">
<div class="page-info">
<div class="context">
<span>Next</span>
</div>
<div class="title">Linked Data Platform</div>
</div>
<svg class="furo-related-icon"><use href="#svg-arrow-right"></use></svg>
</a>
<a class="prev-page" href="ld_fragments.html">
<svg class="furo-related-icon"><use href="#svg-arrow-right"></use></svg>
<div class="page-info">
<div class="context">
<span>Previous</span>
</div>
<div class="title">Linked Data Fragments</div>
</div>
</a>
</div>
<div class="bottom-of-page">
<div class="left-details">
<div class="copyright">
Copyright &#169; 2023, Jonny Saunders
</div>
Made with <a href="https://www.sphinx-doc.org/">Sphinx</a> and <a class="muted-link" href="https://pradyunsg.me">@pradyunsg</a>'s
<a href="https://github.com/pradyunsg/furo">Furo</a>
</div>
<div class="right-details">
</div>
</div>
</footer>
</div>
<aside class="toc-drawer">
<div class="toc-sticky toc-scroll">
<div class="toc-title-container">
<span class="toc-title">
On this page
</span>
</div>
<div class="toc-tree-container">
<div class="toc-tree">
<ul>
<li><a class="reference internal" href="#">HDT</a><ul>
<li><a class="reference internal" href="#format">Format</a><ul>
<li><a class="reference internal" href="#header">Header</a></li>
<li><a class="reference internal" href="#dictionary">Dictionary</a></li>
<li><a class="reference internal" href="#triples">Triples</a></li>
</ul>
</li>
<li><a class="reference internal" href="#querying">Querying</a></li>
<li><a class="reference internal" href="#lessons">Lessons</a></li>
<li><a class="reference internal" href="#references">References</a></li>
</ul>
</li>
</ul>
</div>
</div>
</div>
</aside>
</div>
</div><script data-url_root="../../" id="documentation_options" src="../../_static/documentation_options.js"></script>
<script src="../../_static/doctools.js"></script>
<script src="../../_static/sphinx_highlight.js"></script>
<script src="../../_static/scripts/furo.js"></script>
<script src="../../_static/design-tabs.js"></script>
</body>
</html>

View file

@ -24,14 +24,14 @@
}
@media not print {
body[data-theme="dark"] {
--color-code-background: #202020;
--color-code-foreground: #d0d0d0;
--color-code-background: #0d1117;
--color-code-foreground: #e6edf3;
}
@media (prefers-color-scheme: dark) {
body:not([data-theme="light"]) {
--color-code-background: #202020;
--color-code-foreground: #d0d0d0;
--color-code-background: #0d1117;
--color-code-foreground: #e6edf3;
}
}
@ -180,13 +180,15 @@
<li class="toctree-l3"><a class="reference internal" href="rdf.html">RDF and Friends</a></li>
<li class="toctree-l3"><a class="reference internal" href="solid.html">SOLID</a></li>
<li class="toctree-l3"><a class="reference internal" href="ld_fragments.html">Linked Data Fragments</a></li>
<li class="toctree-l3"><a class="reference internal" href="hdt.html">HDT</a></li>
<li class="toctree-l3"><a class="reference internal" href="ld_platform.html">Linked Data Platform</a></li>
<li class="toctree-l3"><a class="reference internal" href="nanopubs.html">NanoPubs</a></li>
</ul>
</li>
<li class="toctree-l2 has-children"><a class="reference internal" href="../data/index.html">Data Structures</a><input class="toctree-checkbox" id="toctree-checkbox-5" name="toctree-checkbox-5" role="switch" type="checkbox"/><label for="toctree-checkbox-5"><div class="visually-hidden">Toggle navigation of Data Structures</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul>
<li class="toctree-l3"><a class="reference internal" href="../data/eris.html">ERIS</a></li>
<li class="toctree-l3"><a class="reference internal" href="../data/datalad.html">DataLad</a></li>
<li class="toctree-l3"><a class="reference internal" href="../data/dmc.html">DMC</a></li>
<li class="toctree-l3"><a class="reference internal" href="../data/eris.html">ERIS</a></li>
</ul>
</li>
</ul>
@ -212,7 +214,10 @@
<p class="caption" role="heading"><span class="caption-text">Ecosystem</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../../triplets.html">Triplets</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../adapter/index.html">Adapter</a></li>
<li class="toctree-l1 has-children"><a class="reference internal" href="../../codecs/index.html">Codecs</a><input class="toctree-checkbox" id="toctree-checkbox-6" name="toctree-checkbox-6" role="switch" type="checkbox"/><label for="toctree-checkbox-6"><div class="visually-hidden">Toggle navigation of Codecs</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul>
<li class="toctree-l2"><a class="reference internal" href="../../codecs/hdf5.html">HDF5</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="../../translation/index.html">Translation</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">Drafting</span></p>
@ -266,10 +271,17 @@
<li class="toctree-l1"><a class="reference internal" href="rdf.html">RDF and Friends</a></li>
<li class="toctree-l1"><a class="reference internal" href="solid.html">SOLID</a></li>
<li class="toctree-l1"><a class="reference internal" href="ld_fragments.html">Linked Data Fragments</a></li>
<li class="toctree-l1"><a class="reference internal" href="hdt.html">HDT</a></li>
<li class="toctree-l1"><a class="reference internal" href="ld_platform.html">Linked Data Platform</a></li>
<li class="toctree-l1"><a class="reference internal" href="nanopubs.html">NanoPubs</a></li>
</ul>
</div>
<p>Linked data was born to be p2p. Many of the <a class="reference external" href="https://jon-e.net/surveillance-graphs/#semantic-web-priesthoods">initial, lofty visions</a> of the <a class="reference external" href="https://jon-e.net/infrastructure/#linked-data-has-an-ambivalent-history-of-thought-regarding-the-l">semantic web</a> are only possible with p2p systems - fluid, languagelike ontologies, portable personal data, truly decentralized information structuring on the web and so on <span id="id1">[<a class="reference internal" href="../../references.html#id15" title="Jonny L. Saunders. Decentralized Infrastructure for (Neuro)science. 2022-08-31. URL: http://arxiv.org/abs/2209.07493 (visited on 2023-03-01), arXiv:2209.07493, doi:10.48550/arXiv.2209.07493.">Saunders, 2022</a>, <a class="reference internal" href="../../references.html#id16" title="Jonny L. Saunders. Surveillance Graphs. 2023-04-02T00:00:00+00:00. URL: https://jon-e.net/surveillance-graphs (visited on 2023-06-08), arXiv:hc:54749, doi:10.17613/syv8-cp10.">Saunders, 2023</a>]</span>. Thats one of the central goals of this project — as might be obvious from its placeholder name: p2p-ld.</p>
<p>Dont just take my word for it tho:</p>
<blockquote>
<div><p>So, where does this leave us? We have seen a lot of resources being put into publishing Linked Data, but yet a publicly widely visible “killer app” is still missing. The reason for this, in the opinion and experiences of the authors, lies all to often in the frustrating experiences when trying to actually use Linked Data for building actual applications. Many attempts and projects end up still using a centralized warehousing approach, integrating a handful of data sets directly from their raw data sources, rather than being able to leverage their “lifted” Linked Data versions: the use and benefits of RDF and Linked Data over conventional databases and warehouses technologies, where more trained people are available, remain questionable. <span id="id2">[<a class="reference internal" href="../../references.html#id14" title="Axel Polleres, Maulik Rajendra Kamdar, Javier David Fernández, Tania Tudorache, and Mark Alan Musen. A more decentralized vision for Linked Data. Semantic Web, 11(1):101113, 2020-01-31. URL: https://www.medra.org/servlet/aliasResolver?alias=iospress&amp;doi=10.3233/SW-190380 (visited on 2023-06-29), doi:10.3233/SW-190380.">Polleres <em>et al.</em>, 2020</a>]</span></p>
<p class="attribution">—A more decentralized vision for Linked Data. Polleres et al. (2020)</p>
</div></blockquote>
</section>
</article>

View file

@ -3,7 +3,7 @@
<head><meta charset="utf-8"/>
<meta name="viewport" content="width=device-width,initial-scale=1"/>
<meta name="color-scheme" content="light dark"><meta name="generator" content="Docutils 0.19: https://docutils.sourceforge.io/" />
<link rel="index" title="Index" href="../../genindex.html" /><link rel="search" title="Search" href="../../search.html" /><link rel="next" title="Linked Data Platform" href="ld_platform.html" /><link rel="prev" title="SOLID" href="solid.html" />
<link rel="index" title="Index" href="../../genindex.html" /><link rel="search" title="Search" href="../../search.html" /><link rel="next" title="HDT" href="hdt.html" /><link rel="prev" title="SOLID" href="solid.html" />
<link rel="canonical" href="/docs/comparison/ld/ld_fragments.html" />
<!-- Generated with Sphinx 6.2.1 and Furo 2023.05.20 -->
@ -24,14 +24,14 @@
}
@media not print {
body[data-theme="dark"] {
--color-code-background: #202020;
--color-code-foreground: #d0d0d0;
--color-code-background: #0d1117;
--color-code-foreground: #e6edf3;
}
@media (prefers-color-scheme: dark) {
body:not([data-theme="light"]) {
--color-code-background: #202020;
--color-code-foreground: #d0d0d0;
--color-code-background: #0d1117;
--color-code-foreground: #e6edf3;
}
}
@ -180,13 +180,15 @@
<li class="toctree-l3"><a class="reference internal" href="rdf.html">RDF and Friends</a></li>
<li class="toctree-l3"><a class="reference internal" href="solid.html">SOLID</a></li>
<li class="toctree-l3 current current-page"><a class="current reference internal" href="#">Linked Data Fragments</a></li>
<li class="toctree-l3"><a class="reference internal" href="hdt.html">HDT</a></li>
<li class="toctree-l3"><a class="reference internal" href="ld_platform.html">Linked Data Platform</a></li>
<li class="toctree-l3"><a class="reference internal" href="nanopubs.html">NanoPubs</a></li>
</ul>
</li>
<li class="toctree-l2 has-children"><a class="reference internal" href="../data/index.html">Data Structures</a><input class="toctree-checkbox" id="toctree-checkbox-5" name="toctree-checkbox-5" role="switch" type="checkbox"/><label for="toctree-checkbox-5"><div class="visually-hidden">Toggle navigation of Data Structures</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul>
<li class="toctree-l3"><a class="reference internal" href="../data/eris.html">ERIS</a></li>
<li class="toctree-l3"><a class="reference internal" href="../data/datalad.html">DataLad</a></li>
<li class="toctree-l3"><a class="reference internal" href="../data/dmc.html">DMC</a></li>
<li class="toctree-l3"><a class="reference internal" href="../data/eris.html">ERIS</a></li>
</ul>
</li>
</ul>
@ -212,7 +214,10 @@
<p class="caption" role="heading"><span class="caption-text">Ecosystem</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../../triplets.html">Triplets</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../adapter/index.html">Adapter</a></li>
<li class="toctree-l1 has-children"><a class="reference internal" href="../../codecs/index.html">Codecs</a><input class="toctree-checkbox" id="toctree-checkbox-6" name="toctree-checkbox-6" role="switch" type="checkbox"/><label for="toctree-checkbox-6"><div class="visually-hidden">Toggle navigation of Codecs</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul>
<li class="toctree-l2"><a class="reference internal" href="../../codecs/hdf5.html">HDF5</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="../../translation/index.html">Translation</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">Drafting</span></p>
@ -262,7 +267,7 @@
<span id="index-0"></span><h1>Linked Data Fragments<a class="headerlink" href="#linked-data-fragments" title="Permalink to this heading">#</a></h1>
<p><a class="reference internal" href="../../data_structures.html#containers"><span class="std std-ref">Containers</span></a> are one example of:</p>
<blockquote>
<div><p>However, we envision that different kinds of ldf partitionings will emerge, and that these might even vary dynamically depending on server load. Perhaps a semantic way to express the data, metadata, and hypermedia controls of each fragment will be necessary. -<span id="id1">[<a class="reference internal" href="../../references.html#id18" title="Ruben Verborgh, Sam Coppens, Miel Vander Sande, Erik Mannens, Pieter Colpaert, and Rik Van de Walle. Web-Scale Querying through Linked Data Fragments. In Proceedings of the 7th Workshop on Linked Data on the Web. 2014-04-08.">Verborgh <em>et al.</em>, 2014</a>]</span></p>
<div><p>However, we envision that different kinds of ldf partitionings will emerge, and that these might even vary dynamically depending on server load. Perhaps a semantic way to express the data, metadata, and hypermedia controls of each fragment will be necessary. -<span id="id1">[<a class="reference internal" href="../../references.html#id20" title="Ruben Verborgh, Sam Coppens, Miel Vander Sande, Erik Mannens, Pieter Colpaert, and Rik Van de Walle. Web-Scale Querying through Linked Data Fragments. In Proceedings of the 7th Workshop on Linked Data on the Web. 2014-04-08.">Verborgh <em>et al.</em>, 2014</a>]</span></p>
</div></blockquote>
<section id="summary">
<h2>Summary<a class="headerlink" href="#summary" title="Permalink to this heading">#</a></h2>
@ -298,8 +303,8 @@
<li><p>Homepage: <a class="reference external" href="https://linkeddatafragments.org/">https://linkeddatafragments.org/</a></p></li>
<li><p>Papers:</p>
<ul>
<li><p>Original conference paper: <span id="id3">[<a class="reference internal" href="../../references.html#id18" title="Ruben Verborgh, Sam Coppens, Miel Vander Sande, Erik Mannens, Pieter Colpaert, and Rik Van de Walle. Web-Scale Querying through Linked Data Fragments. In Proceedings of the 7th Workshop on Linked Data on the Web. 2014-04-08.">Verborgh <em>et al.</em>, 2014</a>]</span></p></li>
<li><p><span id="id4">[<a class="reference internal" href="../../references.html#id17" title="Ruben Verborgh, Miel Vander Sande, Olaf Hartig, Joachim Van Herwegen, Laurens De Vocht, Ben De Meester, Gerald Haesendonck, and Pieter Colpaert. Triple Pattern Fragments: A low-cost knowledge graph interface for the Web. Journal of Web Semantics, 3738:184206, 2016-03. URL: https://linkinghub.elsevier.com/retrieve/pii/S1570826816000214 (visited on 2023-06-08), doi:10.1016/j.websem.2016.03.003.">Verborgh <em>et al.</em>, 2016</a>]</span></p></li>
<li><p>Original conference paper: <span id="id3">[<a class="reference internal" href="../../references.html#id20" title="Ruben Verborgh, Sam Coppens, Miel Vander Sande, Erik Mannens, Pieter Colpaert, and Rik Van de Walle. Web-Scale Querying through Linked Data Fragments. In Proceedings of the 7th Workshop on Linked Data on the Web. 2014-04-08.">Verborgh <em>et al.</em>, 2014</a>]</span></p></li>
<li><p><span id="id4">[<a class="reference internal" href="../../references.html#id19" title="Ruben Verborgh, Miel Vander Sande, Olaf Hartig, Joachim Van Herwegen, Laurens De Vocht, Ben De Meester, Gerald Haesendonck, and Pieter Colpaert. Triple Pattern Fragments: A low-cost knowledge graph interface for the Web. Journal of Web Semantics, 3738:184206, 2016-03. URL: https://linkinghub.elsevier.com/retrieve/pii/S1570826816000214 (visited on 2023-06-08), doi:10.1016/j.websem.2016.03.003.">Verborgh <em>et al.</em>, 2016</a>]</span></p></li>
</ul>
</li>
<li><p>Specification: <a class="reference external" href="https://linkeddatafragments.org/specification/triple-pattern-fragments/">Triple Pattern Fragments</a></p></li>
@ -308,7 +313,7 @@
<aside class="footnote-list brackets">
<aside class="footnote brackets" id="semwebagents" role="note">
<span class="label"><span class="fn-bracket">[</span><a role="doc-backlink" href="#id2">1</a><span class="fn-bracket">]</span></span>
<p>See the history of the early to middle semantic web, discussed in <span id="id5">[<a class="reference internal" href="../../references.html#id14" title="Jonny L. Saunders. Surveillance Graphs. 2023-04-02T00:00:00+00:00. URL: https://jon-e.net/surveillance-graphs (visited on 2023-06-08), arXiv:hc:54749, doi:10.17613/syv8-cp10.">Saunders, 2023</a>]</span></p>
<p>See the history of the early to middle semantic web, discussed in <span id="id5">[<a class="reference internal" href="../../references.html#id16" title="Jonny L. Saunders. Surveillance Graphs. 2023-04-02T00:00:00+00:00. URL: https://jon-e.net/surveillance-graphs (visited on 2023-06-08), arXiv:hc:54749, doi:10.17613/syv8-cp10.">Saunders, 2023</a>]</span></p>
</aside>
</aside>
</section>
@ -319,12 +324,12 @@
<footer>
<div class="related-pages">
<a class="next-page" href="ld_platform.html">
<a class="next-page" href="hdt.html">
<div class="page-info">
<div class="context">
<span>Next</span>
</div>
<div class="title">Linked Data Platform</div>
<div class="title">HDT</div>
</div>
<svg class="furo-related-icon"><use href="#svg-arrow-right"></use></svg>
</a>

View file

@ -3,7 +3,7 @@
<head><meta charset="utf-8"/>
<meta name="viewport" content="width=device-width,initial-scale=1"/>
<meta name="color-scheme" content="light dark"><meta name="generator" content="Docutils 0.19: https://docutils.sourceforge.io/" />
<link rel="index" title="Index" href="../../genindex.html" /><link rel="search" title="Search" href="../../search.html" /><link rel="next" title="NanoPubs" href="nanopubs.html" /><link rel="prev" title="Linked Data Fragments" href="ld_fragments.html" />
<link rel="index" title="Index" href="../../genindex.html" /><link rel="search" title="Search" href="../../search.html" /><link rel="next" title="NanoPubs" href="nanopubs.html" /><link rel="prev" title="HDT" href="hdt.html" />
<link rel="canonical" href="/docs/comparison/ld/ld_platform.html" />
<!-- Generated with Sphinx 6.2.1 and Furo 2023.05.20 -->
@ -24,14 +24,14 @@
}
@media not print {
body[data-theme="dark"] {
--color-code-background: #202020;
--color-code-foreground: #d0d0d0;
--color-code-background: #0d1117;
--color-code-foreground: #e6edf3;
}
@media (prefers-color-scheme: dark) {
body:not([data-theme="light"]) {
--color-code-background: #202020;
--color-code-foreground: #d0d0d0;
--color-code-background: #0d1117;
--color-code-foreground: #e6edf3;
}
}
@ -180,13 +180,15 @@
<li class="toctree-l3"><a class="reference internal" href="rdf.html">RDF and Friends</a></li>
<li class="toctree-l3"><a class="reference internal" href="solid.html">SOLID</a></li>
<li class="toctree-l3"><a class="reference internal" href="ld_fragments.html">Linked Data Fragments</a></li>
<li class="toctree-l3"><a class="reference internal" href="hdt.html">HDT</a></li>
<li class="toctree-l3 current current-page"><a class="current reference internal" href="#">Linked Data Platform</a></li>
<li class="toctree-l3"><a class="reference internal" href="nanopubs.html">NanoPubs</a></li>
</ul>
</li>
<li class="toctree-l2 has-children"><a class="reference internal" href="../data/index.html">Data Structures</a><input class="toctree-checkbox" id="toctree-checkbox-5" name="toctree-checkbox-5" role="switch" type="checkbox"/><label for="toctree-checkbox-5"><div class="visually-hidden">Toggle navigation of Data Structures</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul>
<li class="toctree-l3"><a class="reference internal" href="../data/eris.html">ERIS</a></li>
<li class="toctree-l3"><a class="reference internal" href="../data/datalad.html">DataLad</a></li>
<li class="toctree-l3"><a class="reference internal" href="../data/dmc.html">DMC</a></li>
<li class="toctree-l3"><a class="reference internal" href="../data/eris.html">ERIS</a></li>
</ul>
</li>
</ul>
@ -212,7 +214,10 @@
<p class="caption" role="heading"><span class="caption-text">Ecosystem</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../../triplets.html">Triplets</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../adapter/index.html">Adapter</a></li>
<li class="toctree-l1 has-children"><a class="reference internal" href="../../codecs/index.html">Codecs</a><input class="toctree-checkbox" id="toctree-checkbox-6" name="toctree-checkbox-6" role="switch" type="checkbox"/><label for="toctree-checkbox-6"><div class="visually-hidden">Toggle navigation of Codecs</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul>
<li class="toctree-l2"><a class="reference internal" href="../../codecs/hdf5.html">HDF5</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="../../translation/index.html">Translation</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">Drafting</span></p>
@ -396,14 +401,14 @@
</div>
<svg class="furo-related-icon"><use href="#svg-arrow-right"></use></svg>
</a>
<a class="prev-page" href="ld_fragments.html">
<a class="prev-page" href="hdt.html">
<svg class="furo-related-icon"><use href="#svg-arrow-right"></use></svg>
<div class="page-info">
<div class="context">
<span>Previous</span>
</div>
<div class="title">Linked Data Fragments</div>
<div class="title">HDT</div>
</div>
</a>

View file

@ -24,14 +24,14 @@
}
@media not print {
body[data-theme="dark"] {
--color-code-background: #202020;
--color-code-foreground: #d0d0d0;
--color-code-background: #0d1117;
--color-code-foreground: #e6edf3;
}
@media (prefers-color-scheme: dark) {
body:not([data-theme="light"]) {
--color-code-background: #202020;
--color-code-foreground: #d0d0d0;
--color-code-background: #0d1117;
--color-code-foreground: #e6edf3;
}
}
@ -180,13 +180,15 @@
<li class="toctree-l3"><a class="reference internal" href="rdf.html">RDF and Friends</a></li>
<li class="toctree-l3"><a class="reference internal" href="solid.html">SOLID</a></li>
<li class="toctree-l3"><a class="reference internal" href="ld_fragments.html">Linked Data Fragments</a></li>
<li class="toctree-l3"><a class="reference internal" href="hdt.html">HDT</a></li>
<li class="toctree-l3"><a class="reference internal" href="ld_platform.html">Linked Data Platform</a></li>
<li class="toctree-l3 current current-page"><a class="current reference internal" href="#">NanoPubs</a></li>
</ul>
</li>
<li class="toctree-l2 has-children"><a class="reference internal" href="../data/index.html">Data Structures</a><input class="toctree-checkbox" id="toctree-checkbox-5" name="toctree-checkbox-5" role="switch" type="checkbox"/><label for="toctree-checkbox-5"><div class="visually-hidden">Toggle navigation of Data Structures</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul>
<li class="toctree-l3"><a class="reference internal" href="../data/eris.html">ERIS</a></li>
<li class="toctree-l3"><a class="reference internal" href="../data/datalad.html">DataLad</a></li>
<li class="toctree-l3"><a class="reference internal" href="../data/dmc.html">DMC</a></li>
<li class="toctree-l3"><a class="reference internal" href="../data/eris.html">ERIS</a></li>
</ul>
</li>
</ul>
@ -212,7 +214,10 @@
<p class="caption" role="heading"><span class="caption-text">Ecosystem</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../../triplets.html">Triplets</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../adapter/index.html">Adapter</a></li>
<li class="toctree-l1 has-children"><a class="reference internal" href="../../codecs/index.html">Codecs</a><input class="toctree-checkbox" id="toctree-checkbox-6" name="toctree-checkbox-6" role="switch" type="checkbox"/><label for="toctree-checkbox-6"><div class="visually-hidden">Toggle navigation of Codecs</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul>
<li class="toctree-l2"><a class="reference internal" href="../../codecs/hdf5.html">HDF5</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="../../translation/index.html">Translation</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">Drafting</span></p>

View file

@ -24,14 +24,14 @@
}
@media not print {
body[data-theme="dark"] {
--color-code-background: #202020;
--color-code-foreground: #d0d0d0;
--color-code-background: #0d1117;
--color-code-foreground: #e6edf3;
}
@media (prefers-color-scheme: dark) {
body:not([data-theme="light"]) {
--color-code-background: #202020;
--color-code-foreground: #d0d0d0;
--color-code-background: #0d1117;
--color-code-foreground: #e6edf3;
}
}
@ -180,13 +180,15 @@
<li class="toctree-l3 current current-page"><a class="current reference internal" href="#">RDF and Friends</a></li>
<li class="toctree-l3"><a class="reference internal" href="solid.html">SOLID</a></li>
<li class="toctree-l3"><a class="reference internal" href="ld_fragments.html">Linked Data Fragments</a></li>
<li class="toctree-l3"><a class="reference internal" href="hdt.html">HDT</a></li>
<li class="toctree-l3"><a class="reference internal" href="ld_platform.html">Linked Data Platform</a></li>
<li class="toctree-l3"><a class="reference internal" href="nanopubs.html">NanoPubs</a></li>
</ul>
</li>
<li class="toctree-l2 has-children"><a class="reference internal" href="../data/index.html">Data Structures</a><input class="toctree-checkbox" id="toctree-checkbox-5" name="toctree-checkbox-5" role="switch" type="checkbox"/><label for="toctree-checkbox-5"><div class="visually-hidden">Toggle navigation of Data Structures</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul>
<li class="toctree-l3"><a class="reference internal" href="../data/eris.html">ERIS</a></li>
<li class="toctree-l3"><a class="reference internal" href="../data/datalad.html">DataLad</a></li>
<li class="toctree-l3"><a class="reference internal" href="../data/dmc.html">DMC</a></li>
<li class="toctree-l3"><a class="reference internal" href="../data/eris.html">ERIS</a></li>
</ul>
</li>
</ul>
@ -212,7 +214,10 @@
<p class="caption" role="heading"><span class="caption-text">Ecosystem</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../../triplets.html">Triplets</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../adapter/index.html">Adapter</a></li>
<li class="toctree-l1 has-children"><a class="reference internal" href="../../codecs/index.html">Codecs</a><input class="toctree-checkbox" id="toctree-checkbox-6" name="toctree-checkbox-6" role="switch" type="checkbox"/><label for="toctree-checkbox-6"><div class="visually-hidden">Toggle navigation of Codecs</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul>
<li class="toctree-l2"><a class="reference internal" href="../../codecs/hdf5.html">HDF5</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="../../translation/index.html">Translation</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">Drafting</span></p>
@ -263,22 +268,21 @@
<p>RDF is one of the elephants in the room when it comes to triplet graphs and linked data. Its history is complex and torrid, known as hopelessly and aggressively complex or a divine calling, depending on your disposition.</p>
<p><strong>p2p-ld does not necessarily seek to be an RDF-based p2p protocol,</strong> though strategizing for interoperability with RDF and RDF-derivative formats would be nice.</p>
<p>One of the primary challenges to using RDF-like formats is the conflation of URLs and URIs as the primary identifiers for schema and objects. This idea (roughly) maps onto the “neat” characterization of linked data where everything should have ideally one canonical representation, and there should be a handful of “correct” general-purpose schema capable of modeling the world.</p>
<p>We depart from that vision, instead favoring radical vernacularism <span id="id1">[<a class="reference internal" href="../../references.html#id14" title="Jonny L. Saunders. Surveillance Graphs. 2023-04-02T00:00:00+00:00. URL: https://jon-e.net/surveillance-graphs (visited on 2023-06-08), arXiv:hc:54749, doi:10.17613/syv8-cp10.">Saunders, 2023</a>]</span>. URIs are extremely general, and include decentralized identifiers like <span class="target" id="index-1"></span>multiaddrs</p>
<p>We depart from that vision, instead favoring radical vernacularism <span id="id1">[<a class="reference internal" href="../../references.html#id16" title="Jonny L. Saunders. Surveillance Graphs. 2023-04-02T00:00:00+00:00. URL: https://jon-e.net/surveillance-graphs (visited on 2023-06-08), arXiv:hc:54749, doi:10.17613/syv8-cp10.">Saunders, 2023</a>]</span>. URIs are extremely general, and include decentralized identifiers like <span class="target" id="index-1"></span>multiaddrs</p>
<section id="id2">
<h2>RDF And Friends<a class="headerlink" href="#id2" title="Permalink to this heading">#</a></h2>
<p>RDF has a lot of formats and</p>
<div class="admonition important">
<p class="admonition-title">Important</p>
<p>Return here re: RDF canonicalization and IPFS <a class="reference external" href="https://github.com/multiformats/multicodec/pull/261">https://github.com/multiformats/multicodec/pull/261</a></p>
</div>
<section id="json-ld">
<span id="index-2"></span><h3>JSON-LD<a class="headerlink" href="#json-ld" title="Permalink to this heading">#</a></h3>
</section>
</section>
<section id="challenges">
<h2>Challenges<a class="headerlink" href="#challenges" title="Permalink to this heading">#</a></h2>
<section id="tabular-and-array-data">
<h3>Tabular and Array Data<a class="headerlink" href="#tabular-and-array-data" title="Permalink to this heading">#</a></h3>
<div class="admonition important">
<p class="admonition-title">Important</p>
<p>See <a class="reference external" href="https://www.cs.ox.ac.uk/isg/challenges/sem-tab/">https://www.cs.ox.ac.uk/isg/challenges/sem-tab/</a></p>
</div>
<section id="ordered-data">
<h3>Ordered Data<a class="headerlink" href="#ordered-data" title="Permalink to this heading">#</a></h3>
<p>The edges from a node in a graph are unordered, which makes array and tabular data difficult to work with in RDF!</p>
<p>This has been approached in a few ways:</p>
<p><strong>RDF</strong> uses a <a class="reference external" href="https://www.w3.org/TR/rdf12-schema/#ch_collectionvocab">godforsaken <code class="docutils literal notranslate"><span class="pre">rdf:first</span></code> <code class="docutils literal notranslate"><span class="pre">rdf:rest</span></code> linked list syntax</a></p>
@ -289,16 +293,16 @@
<span class="p">:</span><span class="nt">MyList</span> <span class="p">:</span><span class="nt">Friends</span> <span class="p">:</span><span class="nt">list1</span> <span class="p">.</span>
<span class="p">:</span><span class="nt">list1</span>
<span class="nn">rdf</span><span class="p">:</span><span class="nt">first</span> <span class="p">:</span><span class="nt">Amy</span> <span class="p">;</span>
<span class="nn">rdf</span><span class="p">:</span><span class="nt">rest</span> <span class="p">:</span><span class="nt">list2</span> <span class="p">.</span>
<span class="nn">rdf</span><span class="p">:</span><span class="nt">first</span> <span class="p">:</span><span class="nt">Amy</span> <span class="p">;</span>
<span class="nn">rdf</span><span class="p">:</span><span class="nt">rest</span> <span class="p">:</span><span class="nt">list2</span> <span class="p">.</span>
<span class="p">:</span><span class="nt">list2</span>
<span class="nn">rdf</span><span class="p">:</span><span class="nt">first</span> <span class="p">:</span><span class="nt">Bob</span> <span class="p">;</span>
<span class="nn">rdf</span><span class="p">:</span><span class="nt">rest</span> <span class="p">:</span><span class="nt">list3</span> <span class="p">.</span>
<span class="nn">rdf</span><span class="p">:</span><span class="nt">first</span> <span class="p">:</span><span class="nt">Bob</span> <span class="p">;</span>
<span class="nn">rdf</span><span class="p">:</span><span class="nt">rest</span> <span class="p">:</span><span class="nt">list3</span> <span class="p">.</span>
<span class="p">:</span><span class="nt">list3</span>
<span class="nn">rdf</span><span class="p">:</span><span class="nt">first</span> <span class="p">:</span><span class="nt">Carly</span> <span class="p">;</span>
<span class="nn">rdf</span><span class="p">:</span><span class="nt">rest</span> <span class="nn">rdf</span><span class="p">:</span><span class="nt">nil</span> <span class="p">.</span>
<span class="nn">rdf</span><span class="p">:</span><span class="nt">first</span> <span class="p">:</span><span class="nt">Carly</span> <span class="p">;</span>
<span class="nn">rdf</span><span class="p">:</span><span class="nt">rest</span> <span class="nn">rdf</span><span class="p">:</span><span class="nt">nil</span> <span class="p">.</span>
</pre></div>
</div>
<p>And thankfully turtle has a shorthand, which isnt so bad:</p>
@ -306,32 +310,32 @@
<span class="k">@prefix</span><span class="w"> </span><span class="nn">:</span><span class="w"> </span><span class="nv">&lt;https://example.com&gt;</span><span class="w"> </span><span class="p">.</span>
<span class="p">:</span><span class="nt">MyList</span>
<span class="p">:</span><span class="nt">Friends</span> <span class="p">(</span>
<span class="p">:</span><span class="nt">Amy</span>
<span class="p">:</span><span class="nt">Bob</span>
<span class="p">:</span><span class="nt">Carly</span>
<span class="p">).</span>
<span class="p">:</span><span class="nt">Friends</span> <span class="p">(</span>
<span class="p">:</span><span class="nt">Amy</span>
<span class="p">:</span><span class="nt">Bob</span>
<span class="p">:</span><span class="nt">Carly</span>
<span class="p">).</span>
</pre></div>
</div>
<p>Both of these correspond to the triplet graph:</p>
<div class="mermaid">
flowchart LR
MyList
list1
list2
list3
nil
Amy
Bob
Carly
MyList --&gt;|Friends| list1
list1 --&gt;|rest| list2
list2 --&gt;|rest| list3
list3 --&gt;|rest| nil
list1 --&gt;|first| Amy
list2 --&gt;|first| Bob
list3 --&gt;|first| Carly
MyList
list1
list2
list3
nil
Amy
Bob
Carly
MyList --&gt;|Friends| list1
list1 --&gt;|rest| list2
list2 --&gt;|rest| list3
list3 --&gt;|rest| nil
list1 --&gt;|first| Amy
list2 --&gt;|first| Bob
list3 --&gt;|first| Carly
</div><p>Which is not great.</p>
<p><strong><span class="target" id="index-3"></span>JSON-LD</strong> uses a <code class="docutils literal notranslate"><span class="pre">&#64;list</span></code> keyword:</p>
<div class="highlight-jsonld notranslate"><div class="highlight"><pre><span></span><span class="p">{</span>
@ -392,6 +396,350 @@ Turtle</label><div class="sd-tab-content docutils">
</div>
</div>
</section>
<section id="tabular-data">
<h3>Tabular Data<a class="headerlink" href="#tabular-data" title="Permalink to this heading">#</a></h3>
<p>As an overbrief summary, converting data from tables to RDF needs a schema mapping:</p>
<ul class="simple">
<li><p>Columns to Properties</p></li>
<li></li>
<li><p>Column names in source table to symbolic names used within the conversion schema</p></li>
<li><p>datatype (for representation in concrete RDF syntax)</p></li>
<li></li>
</ul>
<p>According to the <a class="reference external" href="https://www.w3.org/TR/csv2rdf/">Tabular Data to RDF</a> recommendation, one would convert the following table (encoded as <code class="docutils literal notranslate"><span class="pre">csv</span></code>):</p>
<div class="table-wrapper docutils container">
<table class="docutils align-default">
<tbody>
<tr class="row-odd"><td><p>countryCode</p></td>
<td><p>latitude</p></td>
<td><p>longitude</p></td>
<td><p>name</p></td>
</tr>
<tr class="row-even"><td><p>AD</p></td>
<td><p>42.5</p></td>
<td><p>1.6</p></td>
<td><p>Andorra</p></td>
</tr>
<tr class="row-odd"><td><p>AE</p></td>
<td><p>23.4</p></td>
<td><p>53.8</p></td>
<td><p>United Arab Emirates</p></td>
</tr>
<tr class="row-even"><td><p>AF</p></td>
<td><p>33.9</p></td>
<td><p>67.7</p></td>
<td><p>Afghanistan</p></td>
</tr>
</tbody>
</table>
</div>
<p>Into one of two “minimal” or “standard” formats of RDF:</p>
<div class="sd-tab-set docutils">
<input checked="checked" id="sd-tab-item-2" name="sd-tab-set-1" type="radio">
</input><label class="sd-tab-label" for="sd-tab-item-2">
Minimal mode</label><div class="sd-tab-content docutils">
<div class="highlight-turtle notranslate"><div class="highlight"><pre><span></span><span class="k">@base</span><span class="w"> </span><span class="nv">&lt;http://example.org/countries.csv&gt;</span><span class="w"> </span><span class="p">.</span>
<span class="p">:</span><span class="nt">8228a149-8efe-448d-b15f-8abf92e7bd17</span>
<span class="nv">&lt;#countryCode&gt;</span> <span class="s">&quot;AD&quot;</span> <span class="p">;</span>
<span class="nv">&lt;#latitude&gt;</span> <span class="s">&quot;42.5&quot;</span> <span class="p">;</span>
<span class="nv">&lt;#longitude&gt;</span> <span class="s">&quot;1.6&quot;</span> <span class="p">;</span>
<span class="nv">&lt;#name&gt;</span> <span class="s">&quot;Andorra&quot;</span> <span class="p">.</span>
<span class="p">:</span><span class="nt">ec59dcfc-872a-4144-822b-9ad5e2c6149c</span>
<span class="nv">&lt;#countryCode&gt;</span> <span class="s">&quot;AE&quot;</span> <span class="p">;</span>
<span class="nv">&lt;#latitude&gt;</span> <span class="s">&quot;23.4&quot;</span> <span class="p">;</span>
<span class="nv">&lt;#longitude&gt;</span> <span class="s">&quot;53.8&quot;</span> <span class="p">;</span>
<span class="nv">&lt;#name&gt;</span> <span class="s">&quot;United Arab Emirates&quot;</span> <span class="p">.</span>
<span class="p">:</span><span class="nt">e8f2e8e9-3d02-4bf5-b4f1-4794ba5b52c9</span>
<span class="nv">&lt;#countryCode&gt;</span> <span class="s">&quot;AF&quot;</span> <span class="p">;</span>
<span class="nv">&lt;#latitude&gt;</span> <span class="s">&quot;33.9&quot;</span> <span class="p">;</span>
<span class="nv">&lt;#longitude&gt;</span> <span class="s">&quot;67.7&quot;</span> <span class="p">;</span>
<span class="nv">&lt;#name&gt;</span> <span class="s">&quot;Afghanistan&quot;</span> <span class="p">.</span>
</pre></div>
</div>
</div>
<input id="sd-tab-item-3" name="sd-tab-set-1" type="radio">
</input><label class="sd-tab-label" for="sd-tab-item-3">
Standard mode</label><div class="sd-tab-content docutils">
<div class="highlight-turtle notranslate"><div class="highlight"><pre><span></span><span class="k">@base</span><span class="w"> </span><span class="nv">&lt;http://example.org/countries.csv&gt;</span><span class="w"> </span><span class="p">.</span>
<span class="k">@prefix</span><span class="w"> </span><span class="nn">csvw:</span><span class="w"> </span><span class="nv">&lt;http://www.w3.org/ns/csvw#&gt;</span><span class="w"> </span><span class="p">.</span>
<span class="k">@prefix</span><span class="w"> </span><span class="nn">xsd:</span><span class="w"> </span><span class="nv">&lt;http://www.w3.org/2001/XMLSchema#&gt;</span><span class="w"> </span><span class="p">.</span>
<span class="p">:</span><span class="nt">d4f8e548-9601-4e41-aadb-09a8bce32625</span> <span class="kt">a</span> <span class="nn">csvw</span><span class="p">:</span><span class="nt">TableGroup</span> <span class="p">;</span>
<span class="nn">csvw</span><span class="p">:</span><span class="nt">table</span> <span class="p">[</span> <span class="kt">a</span> <span class="nn">csvw</span><span class="p">:</span><span class="nt">Table</span> <span class="p">;</span>
<span class="nn">csvw</span><span class="p">:</span><span class="nt">url</span> <span class="nv">&lt;http://example.org/countries.csv&gt;</span> <span class="p">;</span>
<span class="nn">csvw</span><span class="p">:</span><span class="nt">row</span> <span class="p">[</span> <span class="kt">a</span> <span class="nn">csvw</span><span class="p">:</span><span class="nt">Row</span> <span class="p">;</span>
<span class="nn">csvw</span><span class="p">:</span><span class="nt">rownum</span> <span class="s">&quot;1&quot;</span><span class="p">^^</span><span class="nn">xsd</span><span class="p">:</span><span class="nt">integer</span> <span class="p">;</span>
<span class="nn">csvw</span><span class="p">:</span><span class="nt">url</span> <span class="nv">&lt;#row=2&gt;</span> <span class="p">;</span>
<span class="nn">csvw</span><span class="p">:</span><span class="nt">describes</span> <span class="p">:</span><span class="nt">8228a149-8efe-448d-b15f-8abf92e7bd17</span>
<span class="p">],</span> <span class="p">[</span> <span class="kt">a</span> <span class="nn">csvw</span><span class="p">:</span><span class="nt">Row</span> <span class="p">;</span>
<span class="nn">csvw</span><span class="p">:</span><span class="nt">rownum</span> <span class="s">&quot;2&quot;</span><span class="p">^^</span><span class="nn">xsd</span><span class="p">:</span><span class="nt">integer</span> <span class="p">;</span>
<span class="nn">csvw</span><span class="p">:</span><span class="nt">url</span> <span class="nv">&lt;#row=3&gt;</span> <span class="p">;</span>
<span class="nn">csvw</span><span class="p">:</span><span class="nt">describes</span> <span class="p">:</span><span class="nt">ec59dcfc-872a-4144-822b-9ad5e2c6149c</span>
<span class="p">],</span> <span class="p">[</span> <span class="kt">a</span> <span class="nn">csvw</span><span class="p">:</span><span class="nt">Row</span> <span class="p">;</span>
<span class="nn">csvw</span><span class="p">:</span><span class="nt">rownum</span> <span class="s">&quot;3&quot;</span><span class="p">^^</span><span class="nn">xsd</span><span class="p">:</span><span class="nt">integer</span> <span class="p">;</span>
<span class="nn">csvw</span><span class="p">:</span><span class="nt">url</span> <span class="nv">&lt;#row=4&gt;</span> <span class="p">;</span>
<span class="nn">csvw</span><span class="p">:</span><span class="nt">describes</span> <span class="p">:</span><span class="nt">e8f2e8e9-3d02-4bf5-b4f1-4794ba5b52c9</span>
<span class="p">]</span>
<span class="p">]</span> <span class="p">.</span>
<span class="p">:</span><span class="nt">8228a149-8efe-448d-b15f-8abf92e7bd17</span>
<span class="nv">&lt;#countryCode&gt;</span> <span class="s">&quot;AD&quot;</span> <span class="p">;</span>
<span class="nv">&lt;#latitude&gt;</span> <span class="s">&quot;42.5&quot;</span> <span class="p">;</span>
<span class="nv">&lt;#longitude&gt;</span> <span class="s">&quot;1.6&quot;</span> <span class="p">;</span>
<span class="nv">&lt;#name&gt;</span> <span class="s">&quot;Andorra&quot;</span> <span class="p">.</span>
<span class="p">:</span><span class="nt">ec59dcfc-872a-4144-822b-9ad5e2c6149c</span>
<span class="nv">&lt;#countryCode&gt;</span> <span class="s">&quot;AE&quot;</span> <span class="p">;</span>
<span class="nv">&lt;#latitude&gt;</span> <span class="s">&quot;23.4&quot;</span> <span class="p">;</span>
<span class="nv">&lt;#longitude&gt;</span> <span class="s">&quot;53.8&quot;</span> <span class="p">;</span>
<span class="nv">&lt;#name&gt;</span> <span class="s">&quot;United Arab Emirates&quot;</span> <span class="p">.</span>
<span class="p">:</span><span class="nt">e8f2e8e9-3d02-4bf5-b4f1-4794ba5b52c9</span>
<span class="nv">&lt;#countryCode&gt;</span> <span class="s">&quot;AF&quot;</span> <span class="p">;</span>
<span class="nv">&lt;#latitude&gt;</span> <span class="s">&quot;33.9&quot;</span> <span class="p">;</span>
<span class="nv">&lt;#longitude&gt;</span> <span class="s">&quot;67.7&quot;</span> <span class="p">;</span>
<span class="nv">&lt;#name&gt;</span> <span class="s">&quot;Afghanistan&quot;</span> <span class="p">.</span>
</pre></div>
</div>
</div>
</div>
<p>The recommendation also covers more complex situations. These make use of a JSON schema that handles mapping between the CSV data and RDF.</p>
<p>By default, each row of a table describes a single RDF resource, and each column has a single property (so each cell is a triple).</p>
<p>For example this table of concerts:</p>
<div class="table-wrapper docutils container">
<table class="docutils align-default">
<tbody>
<tr class="row-odd"><td><p>Name</p></td>
<td><p>Start Date</p></td>
<td><p>Location Name</p></td>
<td><p>Location Address</p></td>
<td><p>Ticket Url</p></td>
</tr>
<tr class="row-even"><td><p>B.B. King</p></td>
<td><p>2014-04-12T19:30</p></td>
<td><p>Lupos Heartbreak Hotel</p></td>
<td><p>79 Washington St., Providence, RI</p></td>
<td><p><a class="reference external" href="https://www.etix.com/ticket/1771656">https://www.etix.com/ticket/1771656</a></p></td>
</tr>
<tr class="row-odd"><td><p>B.B. King</p></td>
<td><p>2014-04-13T20:00</p></td>
<td><p>Lynn Auditorium</p></td>
<td><p>Lynn, MA, 01901</p></td>
<td><p><a class="reference external" href="http://frontgatetickets.com/venue.php?id=11766">http://frontgatetickets.com/venue.php?id=11766</a></p></td>
</tr>
</tbody>
</table>
</div>
<p>Needs to be mapped to 3 separate resources with 7 properties. The values are not transformed, just grouped in different places under different resources. Notice how in the standard mode the <code class="code docutils literal highlight highlight-turtle"><span class="nn">csvw</span><span class="p">:</span><span class="nt">describes</span></code> entry can have three objects. The turtle is surprisingly humane.</p>
<p>The JSON schema describes five concrete triples that carry the data from the CSV, and five <code class="docutils literal notranslate"><span class="pre">virtual</span></code> triples that give the resources types and link them together. Abstractions over table iterators take the form of <code class="docutils literal notranslate"><span class="pre">&quot;#event-{_row}&quot;</span></code> to create a resource <code class="docutils literal notranslate"><span class="pre">&lt;#event-1&gt;</span></code>, <code class="docutils literal notranslate"><span class="pre">&lt;#event-2&gt;</span></code>, etc. for each row.</p>
<div class="sd-tab-set docutils">
<input checked="checked" id="sd-tab-item-4" name="sd-tab-set-2" type="radio">
</input><label class="sd-tab-label" for="sd-tab-item-4">
Minimal mode</label><div class="sd-tab-content docutils">
<div class="highlight-turtle notranslate"><div class="highlight"><pre><span></span><span class="k">@base</span><span class="w"> </span><span class="nv">&lt;http://example.org/events-listing.csv&gt;</span><span class="w"> </span><span class="p">.</span>
<span class="k">@prefix</span><span class="w"> </span><span class="nn">schema:</span><span class="w"> </span><span class="nv">&lt;http://schema.org/&gt;</span><span class="w"> </span><span class="p">.</span>
<span class="k">@prefix</span><span class="w"> </span><span class="nn">xsd:</span><span class="w"> </span><span class="nv">&lt;http://www.w3.org/2001/XMLSchema#&gt;</span><span class="w"> </span><span class="p">.</span>
<span class="nv">&lt;#event-1&gt;</span> <span class="kt">a</span> <span class="nn">schema</span><span class="p">:</span><span class="nt">MusicEvent</span> <span class="p">;</span>
<span class="nn">schema</span><span class="p">:</span><span class="nt">name</span> <span class="s">&quot;B.B. King&quot;</span> <span class="p">;</span>
<span class="nn">schema</span><span class="p">:</span><span class="nt">startDate</span> <span class="s">&quot;2014-04-12T19:30:00&quot;</span><span class="p">^^</span><span class="nn">xsd</span><span class="p">:</span><span class="nt">dateTime</span> <span class="p">;</span>
<span class="nn">schema</span><span class="p">:</span><span class="nt">location</span> <span class="nv">&lt;#place-1&gt;</span> <span class="p">;</span>
<span class="nn">schema</span><span class="p">:</span><span class="nt">offers</span> <span class="nv">&lt;#offer-1&gt;</span> <span class="p">.</span>
<span class="nv">&lt;#place-1&gt;</span> <span class="kt">a</span> <span class="nn">schema</span><span class="p">:</span><span class="nt">Place</span> <span class="p">;</span>
<span class="nn">schema</span><span class="p">:</span><span class="nt">name</span> <span class="s">&quot;Lupos Heartbreak Hotel&quot;</span> <span class="p">;</span>
<span class="nn">schema</span><span class="p">:</span><span class="nt">address</span> <span class="s">&quot;79 Washington St., Providence, RI&quot;</span> <span class="p">.</span>
<span class="nv">&lt;#offer-1&gt;</span> <span class="kt">a</span> <span class="nn">schema</span><span class="p">:</span><span class="nt">Offer</span> <span class="p">;</span>
<span class="nn">schema</span><span class="p">:</span><span class="nt">url</span> <span class="s">&quot;https://www.etix.com/ticket/1771656&quot;</span><span class="p">^^</span><span class="nn">xsd</span><span class="p">:</span><span class="nt">anyURI</span> <span class="p">.</span>
<span class="nv">&lt;#event-2&gt;</span> <span class="kt">a</span> <span class="nn">schema</span><span class="p">:</span><span class="nt">MusicEvent</span> <span class="p">;</span>
<span class="nn">schema</span><span class="p">:</span><span class="nt">name</span> <span class="s">&quot;B.B. King&quot;</span> <span class="p">;</span>
<span class="nn">schema</span><span class="p">:</span><span class="nt">startDate</span> <span class="s">&quot;2014-04-13T20:00:00&quot;</span><span class="p">^^</span><span class="nn">xsd</span><span class="p">:</span><span class="nt">dateTime</span> <span class="p">;</span>
<span class="nn">schema</span><span class="p">:</span><span class="nt">location</span> <span class="nv">&lt;#place-2&gt;</span> <span class="p">;</span>
<span class="nn">schema</span><span class="p">:</span><span class="nt">offers</span> <span class="nv">&lt;#offer-2&gt;</span> <span class="p">.</span>
<span class="nv">&lt;#place-2&gt;</span> <span class="kt">a</span> <span class="nn">schema</span><span class="p">:</span><span class="nt">Place</span> <span class="p">;</span>
<span class="nn">schema</span><span class="p">:</span><span class="nt">name</span> <span class="s">&quot;Lynn Auditorium&quot;</span> <span class="p">;</span>
<span class="nn">schema</span><span class="p">:</span><span class="nt">address</span> <span class="s">&quot;Lynn, MA, 01901&quot;</span> <span class="p">.</span>
<span class="nv">&lt;#offer-2&gt;</span> <span class="kt">a</span> <span class="nn">schema</span><span class="p">:</span><span class="nt">Offer</span> <span class="p">;</span>
<span class="nn">schema</span><span class="p">:</span><span class="nt">url</span> <span class="s">&quot;http://frontgatetickets.com/venue.php?id=11766&quot;</span><span class="p">^^</span><span class="nn">xsd</span><span class="p">:</span><span class="nt">anyURI</span> <span class="p">.</span>
</pre></div>
</div>
</div>
<input id="sd-tab-item-5" name="sd-tab-set-2" type="radio">
</input><label class="sd-tab-label" for="sd-tab-item-5">
Standard mode</label><div class="sd-tab-content docutils">
<div class="highlight-turtle notranslate"><div class="highlight"><pre><span></span><span class="k">@base</span><span class="w"> </span><span class="nv">&lt;http://example.org/events-listing.csv&gt;</span><span class="w"> </span><span class="p">.</span>
<span class="k">@prefix</span><span class="w"> </span><span class="nn">csvw:</span><span class="w"> </span><span class="nv">&lt;http://www.w3.org/ns/csvw#&gt;</span><span class="w"> </span><span class="p">.</span>
<span class="k">@prefix</span><span class="w"> </span><span class="nn">schema:</span><span class="w"> </span><span class="nv">&lt;http://schema.org/&gt;</span><span class="w"> </span><span class="p">.</span>
<span class="k">@prefix</span><span class="w"> </span><span class="nn">xsd:</span><span class="w"> </span><span class="nv">&lt;http://www.w3.org/2001/XMLSchema#&gt;</span><span class="w"> </span><span class="p">.</span>
<span class="p">:</span><span class="nt">95cc7970-ce99-44b0-900c-e2c2c028bbd3</span> <span class="kt">a</span> <span class="nn">csvw</span><span class="p">:</span><span class="nt">TableGroup</span> <span class="p">;</span>
<span class="nn">csvw</span><span class="p">:</span><span class="nt">table</span> <span class="p">[</span> <span class="kt">a</span> <span class="nn">csvw</span><span class="p">:</span><span class="nt">Table</span> <span class="p">;</span>
<span class="nn">csvw</span><span class="p">:</span><span class="nt">url</span> <span class="nv">&lt;http://example.org/events-listing.csv&gt;</span> <span class="p">;</span>
<span class="nn">csvw</span><span class="p">:</span><span class="nt">row</span> <span class="p">[</span> <span class="kt">a</span> <span class="nn">csvw</span><span class="p">:</span><span class="nt">Row</span> <span class="p">;</span>
<span class="nn">csvw</span><span class="p">:</span><span class="nt">rownum</span> <span class="mi">1</span> <span class="p">;</span>
<span class="nn">csvw</span><span class="p">:</span><span class="nt">url</span> <span class="nv">&lt;#row=2&gt;</span> <span class="p">;</span>
<span class="nn">csvw</span><span class="p">:</span><span class="nt">describes</span> <span class="nv">&lt;#event-1&gt;</span><span class="p">,</span> <span class="nv">&lt;#place-1&gt;</span><span class="p">,</span> <span class="nv">&lt;#offer-1&gt;</span>
<span class="p">],</span> <span class="p">[</span> <span class="kt">a</span> <span class="nn">csvw</span><span class="p">:</span><span class="nt">Row</span> <span class="p">;</span>
<span class="nn">csvw</span><span class="p">:</span><span class="nt">rownum</span> <span class="mi">2</span> <span class="p">;</span>
<span class="nn">csvw</span><span class="p">:</span><span class="nt">url</span> <span class="nv">&lt;#row=3&gt;</span> <span class="p">;</span>
<span class="nn">csvw</span><span class="p">:</span><span class="nt">describes</span> <span class="nv">&lt;#event-2&gt;</span><span class="p">,</span> <span class="nv">&lt;#place-2&gt;</span><span class="p">,</span> <span class="nv">&lt;#offer-2&gt;</span>
<span class="p">]</span>
<span class="p">]</span> <span class="p">.</span>
<span class="nv">&lt;#event-1&gt;</span> <span class="kt">a</span> <span class="nn">schema</span><span class="p">:</span><span class="nt">MusicEvent</span> <span class="p">;</span>
<span class="nn">schema</span><span class="p">:</span><span class="nt">name</span> <span class="s">&quot;B.B. King&quot;</span> <span class="p">;</span>
<span class="nn">schema</span><span class="p">:</span><span class="nt">startDate</span> <span class="s">&quot;2014-04-12T19:30:00&quot;</span><span class="p">^^</span><span class="nn">xsd</span><span class="p">:</span><span class="nt">dateTime</span> <span class="p">;</span>
<span class="nn">schema</span><span class="p">:</span><span class="nt">location</span> <span class="nv">&lt;#place-1&gt;</span> <span class="p">;</span>
<span class="nn">schema</span><span class="p">:</span><span class="nt">offers</span> <span class="nv">&lt;#offer-1&gt;</span> <span class="p">.</span>
<span class="nv">&lt;#place-1&gt;</span> <span class="kt">a</span> <span class="nn">schema</span><span class="p">:</span><span class="nt">Place</span> <span class="p">;</span>
<span class="nn">schema</span><span class="p">:</span><span class="nt">name</span> <span class="s">&quot;Lupos Heartbreak Hotel&quot;</span> <span class="p">;</span>
<span class="nn">schema</span><span class="p">:</span><span class="nt">address</span> <span class="s">&quot;79 Washington St., Providence, RI&quot;</span> <span class="p">.</span>
<span class="nv">&lt;#offer-1&gt;</span> <span class="kt">a</span> <span class="nn">schema</span><span class="p">:</span><span class="nt">Offer</span> <span class="p">;</span>
<span class="nn">schema</span><span class="p">:</span><span class="nt">url</span> <span class="s">&quot;https://www.etix.com/ticket/1771656&quot;</span><span class="p">^^</span><span class="nn">xsd</span><span class="p">:</span><span class="nt">anyURI</span> <span class="p">.</span>
<span class="nv">&lt;#event-2&gt;</span> <span class="kt">a</span> <span class="nn">schema</span><span class="p">:</span><span class="nt">MusicEvent</span> <span class="p">;</span>
<span class="nn">schema</span><span class="p">:</span><span class="nt">name</span> <span class="s">&quot;B.B. King&quot;</span> <span class="p">;</span>
<span class="nn">schema</span><span class="p">:</span><span class="nt">startDate</span> <span class="s">&quot;2014-04-13T20:00:00&quot;</span><span class="p">^^</span><span class="nn">xsd</span><span class="p">:</span><span class="nt">dateTime</span> <span class="p">;</span>
<span class="nn">schema</span><span class="p">:</span><span class="nt">location</span> <span class="nv">&lt;#place-2&gt;</span> <span class="p">;</span>
<span class="nn">schema</span><span class="p">:</span><span class="nt">offers</span> <span class="nv">&lt;#offer-2&gt;</span> <span class="p">.</span>
<span class="nv">&lt;#place-2&gt;</span> <span class="kt">a</span> <span class="nn">schema</span><span class="p">:</span><span class="nt">Place</span> <span class="p">;</span>
<span class="nn">schema</span><span class="p">:</span><span class="nt">name</span> <span class="s">&quot;Lynn Auditorium&quot;</span> <span class="p">;</span>
<span class="nn">schema</span><span class="p">:</span><span class="nt">address</span> <span class="s">&quot;Lynn, MA, 01901&quot;</span> <span class="p">.</span>
<span class="nv">&lt;#offer-2&gt;</span> <span class="kt">a</span> <span class="nn">schema</span><span class="p">:</span><span class="nt">Offer</span> <span class="p">;</span>
<span class="nn">schema</span><span class="p">:</span><span class="nt">url</span> <span class="s">&quot;http://frontgatetickets.com/venue.php?id=11766&quot;</span><span class="p">^^</span><span class="nn">xsd</span><span class="p">:</span><span class="nt">anyURI</span> <span class="p">.</span>
</pre></div>
</div>
</div>
<input id="sd-tab-item-6" name="sd-tab-set-2" type="radio">
</input><label class="sd-tab-label" for="sd-tab-item-6">
JSON Schema</label><div class="sd-tab-content docutils">
<div class="highlight-json notranslate"><div class="highlight"><pre><span></span><span class="p">{</span>
<span class="w"> </span><span class="nt">&quot;@context&quot;</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="s2">&quot;http://www.w3.org/ns/csvw&quot;</span><span class="p">,</span><span class="w"> </span><span class="p">{</span><span class="nt">&quot;@language&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;en&quot;</span><span class="p">}],</span>
<span class="w"> </span><span class="nt">&quot;url&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;events-listing.csv&quot;</span><span class="p">,</span>
<span class="w"> </span><span class="nt">&quot;dialect&quot;</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="nt">&quot;trim&quot;</span><span class="p">:</span><span class="w"> </span><span class="kc">true</span><span class="p">},</span>
<span class="w"> </span><span class="nt">&quot;tableSchema&quot;</span><span class="p">:</span><span class="w"> </span><span class="p">{</span>
<span class="w"> </span><span class="nt">&quot;columns&quot;</span><span class="p">:</span><span class="w"> </span><span class="p">[{</span>
<span class="w"> </span><span class="nt">&quot;name&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;name&quot;</span><span class="p">,</span>
<span class="w"> </span><span class="nt">&quot;titles&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;Name&quot;</span><span class="p">,</span>
<span class="w"> </span><span class="nt">&quot;aboutUrl&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;#event-{_row}&quot;</span><span class="p">,</span>
<span class="w"> </span><span class="nt">&quot;propertyUrl&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;schema:name&quot;</span>
<span class="w"> </span><span class="p">},</span><span class="w"> </span><span class="p">{</span>
<span class="w"> </span><span class="nt">&quot;name&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;start_date&quot;</span><span class="p">,</span>
<span class="w"> </span><span class="nt">&quot;titles&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;Start Date&quot;</span><span class="p">,</span>
<span class="w"> </span><span class="nt">&quot;datatype&quot;</span><span class="p">:</span><span class="w"> </span><span class="p">{</span>
<span class="w"> </span><span class="nt">&quot;base&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;datetime&quot;</span><span class="p">,</span>
<span class="w"> </span><span class="nt">&quot;format&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;yyyy-MM-ddTHH:mm&quot;</span>
<span class="w"> </span><span class="p">},</span>
<span class="w"> </span><span class="nt">&quot;aboutUrl&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;#event-{_row}&quot;</span><span class="p">,</span>
<span class="w"> </span><span class="nt">&quot;propertyUrl&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;schema:startDate&quot;</span>
<span class="w"> </span><span class="p">},</span><span class="w"> </span><span class="p">{</span>
<span class="w"> </span><span class="nt">&quot;name&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;location_name&quot;</span><span class="p">,</span>
<span class="w"> </span><span class="nt">&quot;titles&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;Location Name&quot;</span><span class="p">,</span>
<span class="w"> </span><span class="nt">&quot;aboutUrl&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;#place-{_row}&quot;</span><span class="p">,</span>
<span class="w"> </span><span class="nt">&quot;propertyUrl&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;schema:name&quot;</span>
<span class="w"> </span><span class="p">},</span><span class="w"> </span><span class="p">{</span>
<span class="w"> </span><span class="nt">&quot;name&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;location_address&quot;</span><span class="p">,</span>
<span class="w"> </span><span class="nt">&quot;titles&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;Location Address&quot;</span><span class="p">,</span>
<span class="w"> </span><span class="nt">&quot;aboutUrl&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;#place-{_row}&quot;</span><span class="p">,</span>
<span class="w"> </span><span class="nt">&quot;propertyUrl&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;schema:address&quot;</span>
<span class="w"> </span><span class="p">},</span><span class="w"> </span><span class="p">{</span>
<span class="w"> </span><span class="nt">&quot;name&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;ticket_url&quot;</span><span class="p">,</span>
<span class="w"> </span><span class="nt">&quot;titles&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;Ticket Url&quot;</span><span class="p">,</span>
<span class="w"> </span><span class="nt">&quot;datatype&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;anyURI&quot;</span><span class="p">,</span>
<span class="w"> </span><span class="nt">&quot;aboutUrl&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;#offer-{_row}&quot;</span><span class="p">,</span>
<span class="w"> </span><span class="nt">&quot;propertyUrl&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;schema:url&quot;</span>
<span class="w"> </span><span class="p">},</span><span class="w"> </span><span class="p">{</span>
<span class="w"> </span><span class="nt">&quot;name&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;type_event&quot;</span><span class="p">,</span>
<span class="w"> </span><span class="nt">&quot;virtual&quot;</span><span class="p">:</span><span class="w"> </span><span class="kc">true</span><span class="p">,</span>
<span class="w"> </span><span class="nt">&quot;aboutUrl&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;#event-{_row}&quot;</span><span class="p">,</span>
<span class="w"> </span><span class="nt">&quot;propertyUrl&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;rdf:type&quot;</span><span class="p">,</span>
<span class="w"> </span><span class="nt">&quot;valueUrl&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;schema:MusicEvent&quot;</span>
<span class="w"> </span><span class="p">},</span><span class="w"> </span><span class="p">{</span>
<span class="w"> </span><span class="nt">&quot;name&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;type_place&quot;</span><span class="p">,</span>
<span class="w"> </span><span class="nt">&quot;virtual&quot;</span><span class="p">:</span><span class="w"> </span><span class="kc">true</span><span class="p">,</span>
<span class="w"> </span><span class="nt">&quot;aboutUrl&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;#place-{_row}&quot;</span><span class="p">,</span>
<span class="w"> </span><span class="nt">&quot;propertyUrl&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;rdf:type&quot;</span><span class="p">,</span>
<span class="w"> </span><span class="nt">&quot;valueUrl&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;schema:Place&quot;</span>
<span class="w"> </span><span class="p">},</span><span class="w"> </span><span class="p">{</span>
<span class="w"> </span><span class="nt">&quot;name&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;type_offer&quot;</span><span class="p">,</span>
<span class="w"> </span><span class="nt">&quot;virtual&quot;</span><span class="p">:</span><span class="w"> </span><span class="kc">true</span><span class="p">,</span>
<span class="w"> </span><span class="nt">&quot;aboutUrl&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;#offer-{_row}&quot;</span><span class="p">,</span>
<span class="w"> </span><span class="nt">&quot;propertyUrl&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;rdf:type&quot;</span><span class="p">,</span>
<span class="w"> </span><span class="nt">&quot;valueUrl&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;schema:Offer&quot;</span>
<span class="w"> </span><span class="p">},</span><span class="w"> </span><span class="p">{</span>
<span class="w"> </span><span class="nt">&quot;name&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;location&quot;</span><span class="p">,</span>
<span class="w"> </span><span class="nt">&quot;virtual&quot;</span><span class="p">:</span><span class="w"> </span><span class="kc">true</span><span class="p">,</span>
<span class="w"> </span><span class="nt">&quot;aboutUrl&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;#event-{_row}&quot;</span><span class="p">,</span>
<span class="w"> </span><span class="nt">&quot;propertyUrl&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;schema:location&quot;</span><span class="p">,</span>
<span class="w"> </span><span class="nt">&quot;valueUrl&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;#place-{_row}&quot;</span>
<span class="w"> </span><span class="p">},</span><span class="w"> </span><span class="p">{</span>
<span class="w"> </span><span class="nt">&quot;name&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;offers&quot;</span><span class="p">,</span>
<span class="w"> </span><span class="nt">&quot;virtual&quot;</span><span class="p">:</span><span class="w"> </span><span class="kc">true</span><span class="p">,</span>
<span class="w"> </span><span class="nt">&quot;aboutUrl&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;#event-{_row}&quot;</span><span class="p">,</span>
<span class="w"> </span><span class="nt">&quot;propertyUrl&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;schema:offers&quot;</span><span class="p">,</span>
<span class="w"> </span><span class="nt">&quot;valueUrl&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;#offer-{_row}&quot;</span>
<span class="w"> </span><span class="p">}]</span>
<span class="w"> </span><span class="p">}</span>
<span class="p">}</span>
</pre></div>
</div>
</div>
</div>
<p>One could imagine how this might generalize into multidimensional array data, but that immediately becomes pretty ridiculous - a better strategy in all cases that I can think of would be to just provide metadata about the array like the encoding, the sizes, types, etc. of their axes and indices and then link to the array.</p>
<p>Ill just leave this example of encoding the pixels in one RGB video frame as a joke.</p>
<div class="highlight-turtle notranslate"><div class="highlight"><pre><span></span><span class="k">@prefix</span><span class="w"> </span><span class="nn">vid:</span><span class="w"> </span><span class="nv">&lt;http://example.com/GodforsakenVideoSchema&gt;</span><span class="w"> </span><span class="p">.</span>
<span class="k">@prefix</span><span class="w"> </span><span class="nn">xsd:</span><span class="w"> </span><span class="nv">&lt;http://www.w3.org/2001/XMLSchema#&gt;</span><span class="w"> </span><span class="p">.</span>
<span class="k">@prefix</span><span class="w"> </span><span class="nn">rdf:</span><span class="w"> </span><span class="nv">&lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#&gt;</span><span class="w"> </span><span class="p">.</span>
<span class="p">:</span><span class="nt">myVideo</span> <span class="kt">a</span> <span class="nn">vid</span><span class="p">:</span><span class="nt">VideoGroup</span> <span class="p">;</span>
<span class="nn">vid</span><span class="p">:</span><span class="nt">video</span> <span class="p">[</span> <span class="kt">a</span> <span class="nn">vid</span><span class="p">:</span><span class="nt">Video</span> <span class="p">;</span>
<span class="nn">vid</span><span class="p">:</span><span class="nt">url</span> <span class="nv">&lt;http://example.com/myVideo.mp4&gt;</span> <span class="p">;</span>
<span class="nn">vid</span><span class="p">:</span><span class="nt">frame</span> <span class="p">[</span> <span class="kt">a</span> <span class="nn">vid</span><span class="p">:</span><span class="nt">Frame</span> <span class="p">;</span>
<span class="nn">vid</span><span class="p">:</span><span class="nt">framenum</span> <span class="mi">1</span> <span class="p">;</span>
<span class="nn">vid</span><span class="p">:</span><span class="nt">url</span> <span class="nv">&lt;#frame=1&gt;</span> <span class="p">;</span>
<span class="nn">vid</span><span class="p">:</span><span class="nt">describes</span> <span class="nv">&lt;#frame-1&gt;</span> <span class="p">;</span>
<span class="p">],</span> <span class="p">[</span> <span class="kt">a</span> <span class="nn">vid</span><span class="p">:</span><span class="nt">Frame</span> <span class="p">;</span>
<span class="nn">vid</span><span class="p">:</span><span class="nt">framenum</span> <span class="mi">2</span> <span class="p">;</span>
<span class="nn">vid</span><span class="p">:</span><span class="nt">url</span> <span class="nv">&lt;#frame=2&gt;</span> <span class="p">;</span>
<span class="nn">vid</span><span class="p">:</span><span class="nt">describes</span> <span class="nv">&lt;#frame-2&gt;</span> <span class="p">;</span>
<span class="p">]</span>
<span class="p">]</span> <span class="p">.</span>
<span class="nv">&lt;#frame-1&gt;</span> <span class="kt">a</span> <span class="nn">vid</span><span class="p">:</span><span class="nt">VideoFrame</span> <span class="p">;</span>
<span class="nn">vid</span><span class="p">:</span><span class="nt">timestamp</span> <span class="s">&quot;2023-06-29T12:00:00&quot;</span><span class="p">^^</span><span class="nn">xsd</span><span class="p">:</span><span class="nt">dateTime</span> <span class="p">;</span>
<span class="nn">vid</span><span class="p">:</span><span class="nt">bitDepth</span> <span class="mi">8</span> <span class="p">;</span>
<span class="nn">vid</span><span class="p">:</span><span class="nt">width</span> <span class="mi">1920</span> <span class="p">;</span>
<span class="nn">vid</span><span class="p">:</span><span class="nt">height</span> <span class="mi">1080</span> <span class="p">;</span>
<span class="nn">vid</span><span class="p">:</span><span class="nt">channels</span> <span class="nv">&lt;#red-1&gt;</span><span class="p">,</span> <span class="nv">&lt;#green-1&gt;</span><span class="p">,</span> <span class="nv">&lt;#blue-1&gt;</span> <span class="p">;</span>
<span class="nv">&lt;#red-1&gt;</span> <span class="kt">a</span> <span class="nn">vid</span><span class="p">:</span><span class="nt">VideoChannel</span> <span class="p">;</span>
<span class="p">:</span><span class="nt">pixel-1</span> <span class="kt">a</span> <span class="nn">vid</span><span class="p">:</span><span class="nt">pixelValue</span> <span class="p">;</span>
<span class="nn">rdf</span><span class="p">:</span><span class="nt">first</span> <span class="mi">0</span> <span class="p">;</span>
<span class="nn">rdf</span><span class="p">:</span><span class="nt">rest</span> <span class="p">:</span><span class="nt">pixel-2</span> <span class="p">.</span>
<span class="p">:</span><span class="nt">pixel-2</span> <span class="kt">a</span> <span class="nn">vid</span><span class="p">:</span><span class="nt">pixelValue</span> <span class="p">;</span>
<span class="nn">rdf</span><span class="p">:</span><span class="nt">first</span> <span class="mi">46</span> <span class="p">;</span>
<span class="nn">rdf</span><span class="p">:</span><span class="nt">rest</span> <span class="p">:</span><span class="nt">pixel-3</span> <span class="p">.</span>
<span class="c"># ...</span>
<span class="p">:</span><span class="nt">pixel-2073600</span> <span class="kt">a</span> <span class="nn">vid</span><span class="p">:</span><span class="nt">pixelValue</span> <span class="p">;</span>
<span class="nn">rdf</span><span class="p">:</span><span class="nt">first</span> <span class="mi">57</span> <span class="p">;</span>
<span class="nn">rdf</span><span class="p">:</span><span class="nt">rest</span> <span class="nn">rdf</span><span class="p">:</span><span class="nt">nil</span> <span class="p">.</span>
</pre></div>
</div>
</section>
<section id="naming">
<h3>Naming<a class="headerlink" href="#naming" title="Permalink to this heading">#</a></h3>
<ul class="simple">
@ -404,7 +752,12 @@ Turtle</label><div class="sd-tab-content docutils">
<h2>References<a class="headerlink" href="#references" title="Permalink to this heading">#</a></h2>
<ul class="simple">
<li><p><a class="reference external" href="https://www.w3.org/TR/rdf11-primer/">RDF 1.1 Primer</a></p></li>
<li><p>W3C Recommendation on generating RDF from tabular data: <span id="id3">[<a class="reference internal" href="../../references.html#id16" title="Jeremy Tandy, Ivan Herman, and Gregg Kellogg. Generating RDF from Tabular Data on the Web. 2015-12-17. URL: https://www.w3.org/TR/csv2rdf/ (visited on 2023-06-28).">Tandy <em>et al.</em>, 2015</a>]</span></p></li>
<li><p>W3C Recommendation on generating RDF from tabular data: <span id="id3">[<a class="reference internal" href="../../references.html#id18" title="Jeremy Tandy, Ivan Herman, and Gregg Kellogg. Generating RDF from Tabular Data on the Web. 2015-12-17. URL: https://www.w3.org/TR/csv2rdf/ (visited on 2023-06-28).">Tandy <em>et al.</em>, 2015</a>]</span></p>
<ul>
<li><p>Tabular data model: <a class="reference external" href="https://www.w3.org/TR/2015/REC-tabular-data-model-20151217/#parsing">https://www.w3.org/TR/2015/REC-tabular-data-model-20151217/#parsing</a></p></li>
<li><p>Metadata model: <a class="reference external" href="https://www.w3.org/TR/2015/REC-tabular-metadata-20151217/">https://www.w3.org/TR/2015/REC-tabular-metadata-20151217/</a></p></li>
</ul>
</li>
<li><p><span class="target" id="index-4"></span>JSON Schema in RDF: <span id="id4">[<a class="reference internal" href="../../references.html#id2" title="Victor Charpenay, Maxime Lefrançois, and María Poveda Villalón. JSON Schema in RDF. 2023-06-14. URL: https://www.w3.org/2019/wot/json-schema (visited on 2023-06-28).">Charpenay <em>et al.</em>, 2023</a>]</span></p></li>
<li><p><a class="reference external" href="https://www.w3.org/TR/rdf12-turtle/">Turtle</a></p></li>
<li><p><a class="reference external" href="https://www.w3.org/TR/swbp-n-aryRelations/">N-ary relations in RDF</a></p></li>
@ -416,13 +769,14 @@ Turtle</label><div class="sd-tab-content docutils">
<li><p><a class="reference external" href="https://github.com/digitalbazaar/jsonld.js">jsonld.js</a></p></li>
<li><p><a class="reference external" href="https://github.com/digitalbazaar/rdf-canonize-native">rdf-canonize-native</a></p></li>
<li><p><a class="reference external" href="https://github.com/biolink/biolink-model">biolink-model</a> for a nice example of generating multiple schema formats from a .yaml file.</p></li>
<li><p><a class="reference external" href="https://linkml.io/">linkml</a> - modeling language for linked data <span id="id5">[<a class="reference internal" href="../../references.html#id10" title="Sierra Moxon, Harold Solbrig, Deepak Unni, Dazhi Jiao, Richard Bruskiewich, James Balhoff, Gaurav Vaidya, William Duncan, Harshad Hegde, Mark Miller, Matthew Brush, Nomi Harris, Melissa Haendel, and Christopher Mungall. The linked data modeling language (linkml): a general-purpose data modeling framework grounded in machine-readable semantics. In CEUR Workshop Proceedings, volume 3073, 148151. CEUR-WS, 2021. URL: https://pure.johnshopkins.edu/en/publications/the-linked-data-modeling-language-linkml-a-general-purpose-data-m (visited on 2023-06-28).">Moxon <em>et al.</em>, 2021</a>]</span></p>
<li><p><a class="reference external" href="https://linkml.io/">linkml</a> - modeling language for linked data <span id="id5">[<a class="reference internal" href="../../references.html#id11" title="Sierra Moxon, Harold Solbrig, Deepak Unni, Dazhi Jiao, Richard Bruskiewich, James Balhoff, Gaurav Vaidya, William Duncan, Harshad Hegde, Mark Miller, Matthew Brush, Nomi Harris, Melissa Haendel, and Christopher Mungall. The linked data modeling language (linkml): a general-purpose data modeling framework grounded in machine-readable semantics. In CEUR Workshop Proceedings, volume 3073, 148151. CEUR-WS, 2021. URL: https://pure.johnshopkins.edu/en/publications/the-linked-data-modeling-language-linkml-a-general-purpose-data-m (visited on 2023-06-28).">Moxon <em>et al.</em>, 2021</a>]</span></p>
<ul>
<li><p>Multidimensional arrays in linkml <a class="reference external" href="https://linkml.io/linkml/howtos/multidimensional-arrays.html">https://linkml.io/linkml/howtos/multidimensional-arrays.html</a></p></li>
</ul>
</li>
<li><p><a class="reference external" href="https://incatools.github.io/ontology-access-kit/index.html">oaklib</a> - python package for managing ontologies</p></li>
<li><p><a class="reference external" href="https://github.com/RDFLib/rdflib">rdflib</a> - maybe the canonical python rdf library</p></li>
<li><p><a class="reference external" href="https://github.com/Swirrl/csv2rdf/">csv2rdf</a></p></li>
</ul>
</section>
<section id="see-also">
@ -430,6 +784,15 @@ Turtle</label><div class="sd-tab-content docutils">
<ul class="simple">
<li><p><a class="reference external" href="https://www.hydra-cg.com/spec/latest/core/">HYDRA vocabulary</a> - Linked Data plus REST</p></li>
<li><p><a class="reference external" href="https://github.com/jmchandonia/CORAL">CORAL</a></p></li>
<li><p><a class="reference external" href="https://www.cs.ox.ac.uk/isg/challenges/sem-tab/">SEMTAB</a> - competition for mapping tabular data to RDF</p></li>
<li><p><a class="reference external" href="https://www.ceur-ws.org/Vol-1272/paper_22.pdf">SciSPARQL</a> - an extension of SPARQL to include arrays.</p></li>
</ul>
</section>
<section id="example-datasets">
<h3>Example Datasets<a class="headerlink" href="#example-datasets" title="Permalink to this heading">#</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://www.w3.org/wiki/DataSetRDFDumps">RDF Data Dumps</a></p></li>
<li><p><a class="reference external" href="https://download.bio2rdf.org">bio2rdf</a></p></li>
</ul>
</section>
</section>
@ -496,13 +859,15 @@ Turtle</label><div class="sd-tab-content docutils">
</ul>
</li>
<li><a class="reference internal" href="#challenges">Challenges</a><ul>
<li><a class="reference internal" href="#tabular-and-array-data">Tabular and Array Data</a></li>
<li><a class="reference internal" href="#ordered-data">Ordered Data</a></li>
<li><a class="reference internal" href="#tabular-data">Tabular Data</a></li>
<li><a class="reference internal" href="#naming">Naming</a></li>
</ul>
</li>
<li><a class="reference internal" href="#references">References</a><ul>
<li><a class="reference internal" href="#libraries">Libraries</a></li>
<li><a class="reference internal" href="#see-also">See Also</a></li>
<li><a class="reference internal" href="#example-datasets">Example Datasets</a></li>
</ul>
</li>
</ul>

View file

@ -24,14 +24,14 @@
}
@media not print {
body[data-theme="dark"] {
--color-code-background: #202020;
--color-code-foreground: #d0d0d0;
--color-code-background: #0d1117;
--color-code-foreground: #e6edf3;
}
@media (prefers-color-scheme: dark) {
body:not([data-theme="light"]) {
--color-code-background: #202020;
--color-code-foreground: #d0d0d0;
--color-code-background: #0d1117;
--color-code-foreground: #e6edf3;
}
}
@ -180,13 +180,15 @@
<li class="toctree-l3"><a class="reference internal" href="rdf.html">RDF and Friends</a></li>
<li class="toctree-l3 current current-page"><a class="current reference internal" href="#">SOLID</a></li>
<li class="toctree-l3"><a class="reference internal" href="ld_fragments.html">Linked Data Fragments</a></li>
<li class="toctree-l3"><a class="reference internal" href="hdt.html">HDT</a></li>
<li class="toctree-l3"><a class="reference internal" href="ld_platform.html">Linked Data Platform</a></li>
<li class="toctree-l3"><a class="reference internal" href="nanopubs.html">NanoPubs</a></li>
</ul>
</li>
<li class="toctree-l2 has-children"><a class="reference internal" href="../data/index.html">Data Structures</a><input class="toctree-checkbox" id="toctree-checkbox-5" name="toctree-checkbox-5" role="switch" type="checkbox"/><label for="toctree-checkbox-5"><div class="visually-hidden">Toggle navigation of Data Structures</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul>
<li class="toctree-l3"><a class="reference internal" href="../data/eris.html">ERIS</a></li>
<li class="toctree-l3"><a class="reference internal" href="../data/datalad.html">DataLad</a></li>
<li class="toctree-l3"><a class="reference internal" href="../data/dmc.html">DMC</a></li>
<li class="toctree-l3"><a class="reference internal" href="../data/eris.html">ERIS</a></li>
</ul>
</li>
</ul>
@ -212,7 +214,10 @@
<p class="caption" role="heading"><span class="caption-text">Ecosystem</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../../triplets.html">Triplets</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../adapter/index.html">Adapter</a></li>
<li class="toctree-l1 has-children"><a class="reference internal" href="../../codecs/index.html">Codecs</a><input class="toctree-checkbox" id="toctree-checkbox-6" name="toctree-checkbox-6" role="switch" type="checkbox"/><label for="toctree-checkbox-6"><div class="visually-hidden">Toggle navigation of Codecs</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul>
<li class="toctree-l2"><a class="reference internal" href="../../codecs/hdf5.html">HDF5</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="../../translation/index.html">Translation</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">Drafting</span></p>

View file

@ -24,14 +24,14 @@
}
@media not print {
body[data-theme="dark"] {
--color-code-background: #202020;
--color-code-foreground: #d0d0d0;
--color-code-background: #0d1117;
--color-code-foreground: #e6edf3;
}
@media (prefers-color-scheme: dark) {
body:not([data-theme="light"]) {
--color-code-background: #202020;
--color-code-foreground: #d0d0d0;
--color-code-background: #0d1117;
--color-code-foreground: #e6edf3;
}
}
@ -180,13 +180,15 @@
<li class="toctree-l3"><a class="reference internal" href="../ld/rdf.html">RDF and Friends</a></li>
<li class="toctree-l3"><a class="reference internal" href="../ld/solid.html">SOLID</a></li>
<li class="toctree-l3"><a class="reference internal" href="../ld/ld_fragments.html">Linked Data Fragments</a></li>
<li class="toctree-l3"><a class="reference internal" href="../ld/hdt.html">HDT</a></li>
<li class="toctree-l3"><a class="reference internal" href="../ld/ld_platform.html">Linked Data Platform</a></li>
<li class="toctree-l3"><a class="reference internal" href="../ld/nanopubs.html">NanoPubs</a></li>
</ul>
</li>
<li class="toctree-l2 has-children"><a class="reference internal" href="../data/index.html">Data Structures</a><input class="toctree-checkbox" id="toctree-checkbox-5" name="toctree-checkbox-5" role="switch" type="checkbox"/><label for="toctree-checkbox-5"><div class="visually-hidden">Toggle navigation of Data Structures</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul>
<li class="toctree-l3"><a class="reference internal" href="../data/eris.html">ERIS</a></li>
<li class="toctree-l3"><a class="reference internal" href="../data/datalad.html">DataLad</a></li>
<li class="toctree-l3"><a class="reference internal" href="../data/dmc.html">DMC</a></li>
<li class="toctree-l3"><a class="reference internal" href="../data/eris.html">ERIS</a></li>
</ul>
</li>
</ul>
@ -212,7 +214,10 @@
<p class="caption" role="heading"><span class="caption-text">Ecosystem</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../../triplets.html">Triplets</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../adapter/index.html">Adapter</a></li>
<li class="toctree-l1 has-children"><a class="reference internal" href="../../codecs/index.html">Codecs</a><input class="toctree-checkbox" id="toctree-checkbox-6" name="toctree-checkbox-6" role="switch" type="checkbox"/><label for="toctree-checkbox-6"><div class="visually-hidden">Toggle navigation of Codecs</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul>
<li class="toctree-l2"><a class="reference internal" href="../../codecs/hdf5.html">HDF5</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="../../translation/index.html">Translation</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">Drafting</span></p>
@ -309,20 +314,48 @@
<p>The bifurcated tracker/peer structure makes the overall system remarkably <em>resilient</em>. The trackers dont host any infringing content themselves, they just organize the metadata for finding it, so they are relatively long-lived and inexpensive to start compared to more resource- and risk-intensive piracy vectors. If they are shut down, the peers can continue to share amongst themselves through DHT, Peer Exchange, and any other trackers that are specified in the <code class="docutils literal notranslate"><span class="pre">.torrent</span></code> files. When a successor pops up, the members of the old tracker can then re-collect the <code class="docutils literal notranslate"><span class="pre">.torrent</span></code> files from the prior site, and without needing a massive re-upload of data to a centralized server repopulate the new site.</p>
<div class="admonition seealso">
<p class="admonition-title">See also</p>
<p>See more detailed discussion re: lessons from BitTorrent Trackers for social infrastructure in “<a class="reference external" href="https://jon-e.net/infrastructure/#archives-need-communities">Archives Need Communities</a>” in <span id="id3">[<a class="reference internal" href="../../references.html#id13" title="Jonny L. Saunders. Decentralized Infrastructure for (Neuro)science. 2022-08-31. URL: http://arxiv.org/abs/2209.07493 (visited on 2023-03-01), arXiv:2209.07493, doi:10.48550/arXiv.2209.07493.">Saunders, 2022</a>]</span></p>
<p>See more detailed discussion re: lessons from BitTorrent Trackers for social infrastructure in “<a class="reference external" href="https://jon-e.net/infrastructure/#archives-need-communities">Archives Need Communities</a>” in <span id="id3">[<a class="reference internal" href="../../references.html#id15" title="Jonny L. Saunders. Decentralized Infrastructure for (Neuro)science. 2022-08-31. URL: http://arxiv.org/abs/2209.07493 (visited on 2023-03-01), arXiv:2209.07493, doi:10.48550/arXiv.2209.07493.">Saunders, 2022</a>]</span></p>
</div>
</section>
<section id="protocol">
<h3>Protocol<a class="headerlink" href="#protocol" title="Permalink to this heading">#</a></h3>
<p>Peers that have been referred to one another from a tracker or other means start by attempting to make a connection with a handshake that specifies the peer is connecting with BitTorrent and any other protocol extensions it supports.</p>
<p>There are a number of subtleties in the transfer protocol, but it can be broadly summarized as a series of steps where peers tell each other which pieces they have, which they are interested in, and then sharing them amongst themselves.</p>
<p>Though not explicitly in the protocol spec, two prominent design decisions are worth mentioning (See eg. <span id="id4">[<a class="reference internal" href="../../references.html#id8" title="Arnaud Legout, G. Urvoy-Keller, and P. Michiardi. Rarest first and choke algorithms are enough. In Proceedings of the 6th ACM SIGCOMM on Internet Measurement - IMC '06, 203. ACM Press, 2006. URL: http://portal.acm.org/citation.cfm?doid=1177080.1177106 (visited on 2018-11-09), doi:10.1145/1177080.1177106.">Legout <em>et al.</em>, 2006</a>]</span> for additional discussion).</p>
<p>Though not explicitly in the protocol spec, two prominent design decisions are worth mentioning (See eg. <span id="id4">[<a class="reference internal" href="../../references.html#id9" title="Arnaud Legout, G. Urvoy-Keller, and P. Michiardi. Rarest first and choke algorithms are enough. In Proceedings of the 6th ACM SIGCOMM on Internet Measurement - IMC '06, 203. ACM Press, 2006. URL: http://portal.acm.org/citation.cfm?doid=1177080.1177106 (visited on 2018-11-09), doi:10.1145/1177080.1177106.">Legout <em>et al.</em>, 2006</a>]</span> for additional discussion).</p>
<ul class="simple">
<li><p><strong>Peer Selection:</strong> Which peers should I spent finite bandwidth uploading to? BitTorrent uses a variety of <strong>Choke</strong> algorithms that reward peers that reciprocate bandwidth. Choke algorithms are typically some variant of a tit-for-tat strategy, although rarely the strict bitwise tit-for-tat favored by later blockchain systems and others that require a peer to upload an equivalent amount to what they have downloaded before they are given any additional pieces. Contrast this with <a class="reference internal" href="ipfs.html#bitswap"><span class="std std-ref"><span class="target" id="index-8"></span>BitSwap</span></a> from IPFS. It is by <em>not</em> perfectly optimizing peer selection that BitTorrent is better capable of using more of its available network resources.</p></li>
<li><p><strong>Piece Selection:</strong> Which pieces should be uploaded/requested first? BitTorrent uses a <strong>Rarest First</strong> strategy, where a peer keeps track of the number of copies of each piece present in the swarm, and preferentially seeds the rarest pieces. This keeps the swarm healthy, rewarding keeping and sharing complete copies of files. This is in contrast to, eg. <a class="reference internal" href="#SWARM"><span class="xref myst">SWARM</span></a> which explicitly rewards hosting and sharing the most in-demand pieces.</p></li>
</ul>
</section>
</section>
<section id="web-seeds">
<span id="index-9"></span><h2>Web Seeds<a class="headerlink" href="#web-seeds" title="Permalink to this heading">#</a></h2>
<p>One thing we want to mimic from bittorrent is the ability to use traditional web servers as additional peers, or to treat them as <a class="reference external" href="http://bittorrent.org/beps/bep_0019.html">“WebSeeds”</a><a class="footnote-reference brackets" href="#bep17" id="id5" role="doc-noteref"><span class="fn-bracket">[</span>2<span class="fn-bracket">]</span></a></p>
<p>HTTP servers allow you to specify a byte range to resume a download, but dont like the downloading client connecting hundreds of times to download the same file, jumping between pieces. To accomodate that, BEP 19 changes piece selection accordingly:</p>
<p>When downloading from bittorrent peers, we modify the “rarest first” algorithm such that for pieces with similar rareness we</p>
<ul class="simple">
<li><p>Select pieces from smaller “gaps” in between completed blocks</p></li>
<li><p>Select pieces closer to the end of the gap</p></li>
<li><p>After 50% of the torrent is completed, for some random subset of pieces, ignore rarest first and fill in small gaps.</p></li>
</ul>
<p>When downloading from HTTP servers</p>
<ul class="simple">
<li><p>Start from some random location in the file (to avoid every peer having the same pieces at the start of the file)</p></li>
<li><p>When partially completed, select the next longest gap between completed pieces</p></li>
</ul>
<p>For multi-file torrents</p>
<ul class="simple">
<li><p>Prefer bittorrent downloads for small files that are less than a piece size</p></li>
</ul>
<p>We can consider <span class="target" id="index-10"></span>libtorrents implementation as a reference implementation.</p>
<ul class="simple">
<li><p>Libtorrent chooses pieces by <a class="reference external" href="https://github.com/arvidn/libtorrent/blob/c2012b084c6654d681720ea0693d87a48bc95b14/src/web_peer_connection.cpp#L165-L171">starting by assuming the client has all files and eliminating pieces for files we dont have</a>.</p></li>
<li><p>On requesting a piece, it <a class="reference external" href="https://github.com/arvidn/libtorrent/blob/c2012b084c6654d681720ea0693d87a48bc95b14/src/web_peer_connection.cpp#L368-L394">checks for resume data</a> if we have already partially downloaded it before, and modifies the start and length of the piece request</p></li>
<li><p>It then <a class="reference external" href="https://github.com/arvidn/libtorrent/blob/c2012b084c6654d681720ea0693d87a48bc95b14/src/web_peer_connection.cpp#L423-L442">constructs an HTTP GET request</a>, using the <a class="reference external" href="https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Range">Range</a> header to select some subsection of the file.</p></li>
<li><p>When we <a class="reference external" href="https://github.com/arvidn/libtorrent/blob/c2012b084c6654d681720ea0693d87a48bc95b14/src/web_peer_connection.cpp#L778">receive data</a> from the server, we wait until we receive the full header, then we parse the body of the response. If the size is different than what we expected, we disconnect from the server. Otherwise, we iterate through any chunks and store them.</p></li>
<li><p>If the pieces received from the web seed <a class="reference external" href="https://github.com/arvidn/libtorrent/blob/c2012b084c6654d681720ea0693d87a48bc95b14/src/web_peer_connection.cpp#L578-L584">fail the hash check</a>, we mark the peer as not having the file, which bans it in the case of a single file torrent, but allows us to check whether the other files on the server have been changed.</p></li>
</ul>
</section>
<section id="lessons">
<h2>Lessons<a class="headerlink" href="#lessons" title="Permalink to this heading">#</a></h2>
<p>(This section is mostly a scratchpad at the moment)</p>
@ -352,6 +385,13 @@
</ol>
</li>
<li><p><strong>Trackers</strong> are a good idea, even if they could use some updating. It is good to have an explicit entrypoint specified with a distributed, social mechanism rather than prespecified as a hardcoded entry point. It is a good idea to make a clear space for social curation of information, rather than something that is intrinsically bound to a torrent at the time of uploading. We update the notion of trackers with <a class="reference internal" href="../../federation.html#peer-federations"><span class="std std-ref">Peer Federations</span></a>.</p></li>
<li><p><strong>Web Seeds</strong></p>
<ul>
<li><p>Torrent files handle single and multi-file torrents similarly, with the file structure in the info-dict. We can instead explicitly follow the lead of Bittorrent v2.0 and have per-file hash trees and URL references, avoiding some of the ambiguity in the web seed implementation that <a class="reference external" href="https://github.com/arvidn/libtorrent/blob/c2012b084c6654d681720ea0693d87a48bc95b14/src/web_peer_connection.cpp#L101-L121">requires us to do some manual path traversal</a></p></li>
<li><p>We want to be able to integrate with existing servers and services, so we want to be able to find files by both the URL of the original file (if that is its “canonical” location) and its hash. Rather than adding a web seed as an additional source of a torrent file, we can treat it as one of the additional identifiers for the given container. This adds an additional argument in favor of nested containers as the unit of exchange. Eg. A data repository might have a single URL for a dataset that has multiple files within it, and the individual files might not have unique URLs (eg. the file picker generates a .zip file on the fly). A peer might want to bundle together multiple files from different locations. So it should be possible for each container to have multiple names, and when another peers requests a file by eg. a URL we can look within our containers for a match. This also allows handling files that might be uploaded in multiple places</p></li>
<li><p>We want to store the <a class="reference external" href="https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Last-Modified">Last-Modified</a> data when importing a file from a web seed so that we can handle version changes in a given file without giving up on the web source entirely. When the <code class="docutils literal notranslate"><span class="pre">Last-Modified</span></code> is updated, we get the new file, re-hash it, and update the relevant file container if it has been changed. Otherwise we just store the new <code class="docutils literal notranslate"><span class="pre">Last-Modified</span></code></p></li>
</ul>
</li>
</ul>
</section>
</section>
@ -361,7 +401,10 @@
<li><p>Bittorrent Protocol Specification (BEP 3): <a class="reference external" href="http://www.bittorrent.org/beps/bep_0003.html">http://www.bittorrent.org/beps/bep_0003.html</a></p></li>
<li><p>Bittorrent v2 (BEP 52): <a class="reference external" href="http://www.bittorrent.org/beps/bep_0052.html">http://www.bittorrent.org/beps/bep_0052.html</a></p></li>
<li><p>Magnet Links (BEP 9): <a class="reference external" href="http://www.bittorrent.org/beps/bep_0009.html">http://www.bittorrent.org/beps/bep_0009.html</a></p></li>
<li><p>More on BitTorrent and incentives - <span id="id5">[<a class="reference internal" href="../../references.html#id3" title="Bram Cohen. Incentives Build Robustness in BitTorrent. 2003-05-22. URL: http://bittorrent.org/bittorrentecon.pdf.">Cohen, 2003</a>]</span></p></li>
<li><p>WebSeeds (BEP 19): <a class="reference external" href="http://bittorrent.org/beps/bep_0019.html">http://bittorrent.org/beps/bep_0019.html</a></p></li>
<li><p>More on BitTorrent and incentives - <span id="id6">[<a class="reference internal" href="../../references.html#id3" title="Bram Cohen. Incentives Build Robustness in BitTorrent. 2003-05-22. URL: http://bittorrent.org/bittorrentecon.pdf.">Cohen, 2003</a>]</span></p></li>
<li><p>Notes about writing a bittorrent client from the GetRight author, particularly re: DHT: <a class="reference external" href="https://www.getright.com/torrentdev.html">https://www.getright.com/torrentdev.html</a></p></li>
<li><p>Nice example of implementing a very minimal bittorrent client in Python: <a class="reference external" href="https://markuseliasson.se/article/bittorrent-in-python/">https://markuseliasson.se/article/bittorrent-in-python/</a></p></li>
</ul>
<hr class="footnotes docutils" />
<aside class="footnote-list brackets">
@ -369,6 +412,10 @@
<span class="label"><span class="fn-bracket">[</span><a role="doc-backlink" href="#id2">1</a><span class="fn-bracket">]</span></span>
<p>Or, properly, in the <code class="docutils literal notranslate"><span class="pre">announce-list</span></code> per (<a class="reference external" href="http://www.bittorrent.org/beps/bep_0012.html">BEP 12</a>)</p>
</aside>
<aside class="footnote brackets" id="bep17" role="note">
<span class="label"><span class="fn-bracket">[</span><a role="doc-backlink" href="#id5">2</a><span class="fn-bracket">]</span></span>
<p>There is a parallel <a class="reference external" href="https://www.bittorrent.org/beps/bep_0017.html">BEP 17</a> that allows modified HTTP servers to more directly seed, but since it requires changes to existing servers we are less concerned with it.</p>
</aside>
</aside>
</section>
</section>
@ -435,6 +482,7 @@
<li><a class="reference internal" href="#protocol">Protocol</a></li>
</ul>
</li>
<li><a class="reference internal" href="#web-seeds">Web Seeds</a></li>
<li><a class="reference internal" href="#lessons">Lessons</a><ul>
<li><a class="reference internal" href="#adopt">Adopt</a></li>
<li><a class="reference internal" href="#adapt">Adapt</a></li>

View file

@ -24,14 +24,14 @@
}
@media not print {
body[data-theme="dark"] {
--color-code-background: #202020;
--color-code-foreground: #d0d0d0;
--color-code-background: #0d1117;
--color-code-foreground: #e6edf3;
}
@media (prefers-color-scheme: dark) {
body:not([data-theme="light"]) {
--color-code-background: #202020;
--color-code-foreground: #d0d0d0;
--color-code-background: #0d1117;
--color-code-foreground: #e6edf3;
}
}
@ -180,13 +180,15 @@
<li class="toctree-l3"><a class="reference internal" href="../ld/rdf.html">RDF and Friends</a></li>
<li class="toctree-l3"><a class="reference internal" href="../ld/solid.html">SOLID</a></li>
<li class="toctree-l3"><a class="reference internal" href="../ld/ld_fragments.html">Linked Data Fragments</a></li>
<li class="toctree-l3"><a class="reference internal" href="../ld/hdt.html">HDT</a></li>
<li class="toctree-l3"><a class="reference internal" href="../ld/ld_platform.html">Linked Data Platform</a></li>
<li class="toctree-l3"><a class="reference internal" href="../ld/nanopubs.html">NanoPubs</a></li>
</ul>
</li>
<li class="toctree-l2 has-children"><a class="reference internal" href="../data/index.html">Data Structures</a><input class="toctree-checkbox" id="toctree-checkbox-5" name="toctree-checkbox-5" role="switch" type="checkbox"/><label for="toctree-checkbox-5"><div class="visually-hidden">Toggle navigation of Data Structures</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul>
<li class="toctree-l3"><a class="reference internal" href="../data/eris.html">ERIS</a></li>
<li class="toctree-l3"><a class="reference internal" href="../data/datalad.html">DataLad</a></li>
<li class="toctree-l3"><a class="reference internal" href="../data/dmc.html">DMC</a></li>
<li class="toctree-l3"><a class="reference internal" href="../data/eris.html">ERIS</a></li>
</ul>
</li>
</ul>
@ -212,7 +214,10 @@
<p class="caption" role="heading"><span class="caption-text">Ecosystem</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../../triplets.html">Triplets</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../adapter/index.html">Adapter</a></li>
<li class="toctree-l1 has-children"><a class="reference internal" href="../../codecs/index.html">Codecs</a><input class="toctree-checkbox" id="toctree-checkbox-6" name="toctree-checkbox-6" role="switch" type="checkbox"/><label for="toctree-checkbox-6"><div class="visually-hidden">Toggle navigation of Codecs</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul>
<li class="toctree-l2"><a class="reference internal" href="../../codecs/hdf5.html">HDF5</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="../../translation/index.html">Translation</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">Drafting</span></p>
@ -260,7 +265,7 @@
<article role="main">
<section id="dat-hypercore">
<h1>Dat/Hypercore<a class="headerlink" href="#dat-hypercore" title="Permalink to this heading">#</a></h1>
<p>Hypercore, originally known as the Dat protocol <span id="id1">[<a class="reference internal" href="../../references.html#id12" title="Maxwell Ogden. Dat - Distributed Dataset Synchronization And Versioning. 2017-01-31. URL: https://osf.io/nsv2c (visited on 2021-10-01), doi:10.31219/osf.io/nsv2c.">Ogden, 2017</a>]</span>, and apparently now known as HolePunch, is a p2p protocol designed for versioned transfer of large files.</p>
<p>Hypercore, originally known as the Dat protocol <span id="id1">[<a class="reference internal" href="../../references.html#id13" title="Maxwell Ogden. Dat - Distributed Dataset Synchronization And Versioning. 2017-01-31. URL: https://osf.io/nsv2c (visited on 2021-10-01), doi:10.31219/osf.io/nsv2c.">Ogden, 2017</a>]</span>, and apparently now known as HolePunch, is a p2p protocol designed for versioned transfer of large files.</p>
<section id="summary">
<h2>Summary<a class="headerlink" href="#summary" title="Permalink to this heading">#</a></h2>
<ul class="simple">

View file

@ -24,14 +24,14 @@
}
@media not print {
body[data-theme="dark"] {
--color-code-background: #202020;
--color-code-foreground: #d0d0d0;
--color-code-background: #0d1117;
--color-code-foreground: #e6edf3;
}
@media (prefers-color-scheme: dark) {
body:not([data-theme="light"]) {
--color-code-background: #202020;
--color-code-foreground: #d0d0d0;
--color-code-background: #0d1117;
--color-code-foreground: #e6edf3;
}
}
@ -180,13 +180,15 @@
<li class="toctree-l3"><a class="reference internal" href="../ld/rdf.html">RDF and Friends</a></li>
<li class="toctree-l3"><a class="reference internal" href="../ld/solid.html">SOLID</a></li>
<li class="toctree-l3"><a class="reference internal" href="../ld/ld_fragments.html">Linked Data Fragments</a></li>
<li class="toctree-l3"><a class="reference internal" href="../ld/hdt.html">HDT</a></li>
<li class="toctree-l3"><a class="reference internal" href="../ld/ld_platform.html">Linked Data Platform</a></li>
<li class="toctree-l3"><a class="reference internal" href="../ld/nanopubs.html">NanoPubs</a></li>
</ul>
</li>
<li class="toctree-l2 has-children"><a class="reference internal" href="../data/index.html">Data Structures</a><input class="toctree-checkbox" id="toctree-checkbox-5" name="toctree-checkbox-5" role="switch" type="checkbox"/><label for="toctree-checkbox-5"><div class="visually-hidden">Toggle navigation of Data Structures</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul>
<li class="toctree-l3"><a class="reference internal" href="../data/eris.html">ERIS</a></li>
<li class="toctree-l3"><a class="reference internal" href="../data/datalad.html">DataLad</a></li>
<li class="toctree-l3"><a class="reference internal" href="../data/dmc.html">DMC</a></li>
<li class="toctree-l3"><a class="reference internal" href="../data/eris.html">ERIS</a></li>
</ul>
</li>
</ul>
@ -212,7 +214,10 @@
<p class="caption" role="heading"><span class="caption-text">Ecosystem</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../../triplets.html">Triplets</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../adapter/index.html">Adapter</a></li>
<li class="toctree-l1 has-children"><a class="reference internal" href="../../codecs/index.html">Codecs</a><input class="toctree-checkbox" id="toctree-checkbox-6" name="toctree-checkbox-6" role="switch" type="checkbox"/><label for="toctree-checkbox-6"><div class="visually-hidden">Toggle navigation of Codecs</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul>
<li class="toctree-l2"><a class="reference internal" href="../../codecs/hdf5.html">HDF5</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="../../translation/index.html">Translation</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">Drafting</span></p>

View file

@ -24,14 +24,14 @@
}
@media not print {
body[data-theme="dark"] {
--color-code-background: #202020;
--color-code-foreground: #d0d0d0;
--color-code-background: #0d1117;
--color-code-foreground: #e6edf3;
}
@media (prefers-color-scheme: dark) {
body:not([data-theme="light"]) {
--color-code-background: #202020;
--color-code-foreground: #d0d0d0;
--color-code-background: #0d1117;
--color-code-foreground: #e6edf3;
}
}
@ -180,13 +180,15 @@
<li class="toctree-l3"><a class="reference internal" href="../ld/rdf.html">RDF and Friends</a></li>
<li class="toctree-l3"><a class="reference internal" href="../ld/solid.html">SOLID</a></li>
<li class="toctree-l3"><a class="reference internal" href="../ld/ld_fragments.html">Linked Data Fragments</a></li>
<li class="toctree-l3"><a class="reference internal" href="../ld/hdt.html">HDT</a></li>
<li class="toctree-l3"><a class="reference internal" href="../ld/ld_platform.html">Linked Data Platform</a></li>
<li class="toctree-l3"><a class="reference internal" href="../ld/nanopubs.html">NanoPubs</a></li>
</ul>
</li>
<li class="toctree-l2 has-children"><a class="reference internal" href="../data/index.html">Data Structures</a><input class="toctree-checkbox" id="toctree-checkbox-5" name="toctree-checkbox-5" role="switch" type="checkbox"/><label for="toctree-checkbox-5"><div class="visually-hidden">Toggle navigation of Data Structures</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul>
<li class="toctree-l3"><a class="reference internal" href="../data/eris.html">ERIS</a></li>
<li class="toctree-l3"><a class="reference internal" href="../data/datalad.html">DataLad</a></li>
<li class="toctree-l3"><a class="reference internal" href="../data/dmc.html">DMC</a></li>
<li class="toctree-l3"><a class="reference internal" href="../data/eris.html">ERIS</a></li>
</ul>
</li>
</ul>
@ -212,7 +214,10 @@
<p class="caption" role="heading"><span class="caption-text">Ecosystem</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../../triplets.html">Triplets</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../adapter/index.html">Adapter</a></li>
<li class="toctree-l1 has-children"><a class="reference internal" href="../../codecs/index.html">Codecs</a><input class="toctree-checkbox" id="toctree-checkbox-6" name="toctree-checkbox-6" role="switch" type="checkbox"/><label for="toctree-checkbox-6"><div class="visually-hidden">Toggle navigation of Codecs</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul>
<li class="toctree-l2"><a class="reference internal" href="../../codecs/hdf5.html">HDF5</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="../../translation/index.html">Translation</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">Drafting</span></p>
@ -306,6 +311,18 @@
<li><p>Not permanent storage! Identities retain custody and control over objects in the network.</p></li>
</ul>
</section>
<section id="references">
<h2>References<a class="headerlink" href="#references" title="Permalink to this heading">#</a></h2>
<ul class="simple">
<li><p><a class="reference external" href="https://github.com/ipfs/ipfs/issues/36">IPFS-LD</a></p></li>
<li><p>Discussions on gateways and <span class="target" id="index-13"></span>Web Seed-like things in IPFS:</p>
<ul>
<li><p><a class="reference external" href="https://github.com/ipfs/kubo/issues/8234">https://github.com/ipfs/kubo/issues/8234</a></p></li>
<li></li>
</ul>
</li>
</ul>
</section>
</section>
</article>
@ -374,6 +391,7 @@
<li><a class="reference internal" href="#problems">Problems</a></li>
<li><a class="reference internal" href="#overlap">Overlap</a></li>
<li><a class="reference internal" href="#differences">Differences</a></li>
<li><a class="reference internal" href="#references">References</a></li>
</ul>
</li>
</ul>

View file

@ -24,14 +24,14 @@
}
@media not print {
body[data-theme="dark"] {
--color-code-background: #202020;
--color-code-foreground: #d0d0d0;
--color-code-background: #0d1117;
--color-code-foreground: #e6edf3;
}
@media (prefers-color-scheme: dark) {
body:not([data-theme="light"]) {
--color-code-background: #202020;
--color-code-foreground: #d0d0d0;
--color-code-background: #0d1117;
--color-code-foreground: #e6edf3;
}
}
@ -180,13 +180,15 @@
<li class="toctree-l3"><a class="reference internal" href="../ld/rdf.html">RDF and Friends</a></li>
<li class="toctree-l3"><a class="reference internal" href="../ld/solid.html">SOLID</a></li>
<li class="toctree-l3"><a class="reference internal" href="../ld/ld_fragments.html">Linked Data Fragments</a></li>
<li class="toctree-l3"><a class="reference internal" href="../ld/hdt.html">HDT</a></li>
<li class="toctree-l3"><a class="reference internal" href="../ld/ld_platform.html">Linked Data Platform</a></li>
<li class="toctree-l3"><a class="reference internal" href="../ld/nanopubs.html">NanoPubs</a></li>
</ul>
</li>
<li class="toctree-l2 has-children"><a class="reference internal" href="../data/index.html">Data Structures</a><input class="toctree-checkbox" id="toctree-checkbox-5" name="toctree-checkbox-5" role="switch" type="checkbox"/><label for="toctree-checkbox-5"><div class="visually-hidden">Toggle navigation of Data Structures</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul>
<li class="toctree-l3"><a class="reference internal" href="../data/eris.html">ERIS</a></li>
<li class="toctree-l3"><a class="reference internal" href="../data/datalad.html">DataLad</a></li>
<li class="toctree-l3"><a class="reference internal" href="../data/dmc.html">DMC</a></li>
<li class="toctree-l3"><a class="reference internal" href="../data/eris.html">ERIS</a></li>
</ul>
</li>
</ul>
@ -212,7 +214,10 @@
<p class="caption" role="heading"><span class="caption-text">Ecosystem</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../../triplets.html">Triplets</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../adapter/index.html">Adapter</a></li>
<li class="toctree-l1 has-children"><a class="reference internal" href="../../codecs/index.html">Codecs</a><input class="toctree-checkbox" id="toctree-checkbox-6" name="toctree-checkbox-6" role="switch" type="checkbox"/><label for="toctree-checkbox-6"><div class="visually-hidden">Toggle navigation of Codecs</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul>
<li class="toctree-l2"><a class="reference internal" href="../../codecs/hdf5.html">HDF5</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="../../translation/index.html">Translation</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">Drafting</span></p>
@ -289,7 +294,7 @@
<section id="references">
<h2>References<a class="headerlink" href="#references" title="Permalink to this heading">#</a></h2>
<ul class="simple">
<li><p><span id="id1">[<a class="reference internal" href="../../references.html#id9" title="Christine Lemmer-Webber, Randy Farmer, and Juliana Sims. The Heart of Spritely: Distributed Objects and Capability Security. URL: https://www.spritely.institute/static/papers/spritely-core.html (visited on 2023-06-07).">Lemmer-Webber <em>et al.</em>, n.d.</a>]</span></p></li>
<li><p><span id="id1">[<a class="reference internal" href="../../references.html#id10" title="Christine Lemmer-Webber, Randy Farmer, and Juliana Sims. The Heart of Spritely: Distributed Objects and Capability Security. URL: https://www.spritely.institute/static/papers/spritely-core.html (visited on 2023-06-07).">Lemmer-Webber <em>et al.</em>, n.d.</a>]</span></p></li>
<li><p>OCapN - <a class="reference external" href="https://github.com/ocapn/ocapn">https://github.com/ocapn/ocapn</a></p></li>
<li><p>Golem - <a class="reference external" href="https://gitlab.com/spritely/golem/blob/master/README.org">https://gitlab.com/spritely/golem/blob/master/README.org</a></p></li>
</ul>

View file

@ -24,14 +24,14 @@
}
@media not print {
body[data-theme="dark"] {
--color-code-background: #202020;
--color-code-foreground: #d0d0d0;
--color-code-background: #0d1117;
--color-code-foreground: #e6edf3;
}
@media (prefers-color-scheme: dark) {
body:not([data-theme="light"]) {
--color-code-background: #202020;
--color-code-foreground: #d0d0d0;
--color-code-background: #0d1117;
--color-code-foreground: #e6edf3;
}
}
@ -180,13 +180,15 @@
<li class="toctree-l3"><a class="reference internal" href="../ld/rdf.html">RDF and Friends</a></li>
<li class="toctree-l3"><a class="reference internal" href="../ld/solid.html">SOLID</a></li>
<li class="toctree-l3"><a class="reference internal" href="../ld/ld_fragments.html">Linked Data Fragments</a></li>
<li class="toctree-l3"><a class="reference internal" href="../ld/hdt.html">HDT</a></li>
<li class="toctree-l3"><a class="reference internal" href="../ld/ld_platform.html">Linked Data Platform</a></li>
<li class="toctree-l3"><a class="reference internal" href="../ld/nanopubs.html">NanoPubs</a></li>
</ul>
</li>
<li class="toctree-l2 has-children"><a class="reference internal" href="../data/index.html">Data Structures</a><input class="toctree-checkbox" id="toctree-checkbox-5" name="toctree-checkbox-5" role="switch" type="checkbox"/><label for="toctree-checkbox-5"><div class="visually-hidden">Toggle navigation of Data Structures</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul>
<li class="toctree-l3"><a class="reference internal" href="../data/eris.html">ERIS</a></li>
<li class="toctree-l3"><a class="reference internal" href="../data/datalad.html">DataLad</a></li>
<li class="toctree-l3"><a class="reference internal" href="../data/dmc.html">DMC</a></li>
<li class="toctree-l3"><a class="reference internal" href="../data/eris.html">ERIS</a></li>
</ul>
</li>
</ul>
@ -212,7 +214,10 @@
<p class="caption" role="heading"><span class="caption-text">Ecosystem</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../../triplets.html">Triplets</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../adapter/index.html">Adapter</a></li>
<li class="toctree-l1 has-children"><a class="reference internal" href="../../codecs/index.html">Codecs</a><input class="toctree-checkbox" id="toctree-checkbox-6" name="toctree-checkbox-6" role="switch" type="checkbox"/><label for="toctree-checkbox-6"><div class="visually-hidden">Toggle navigation of Codecs</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul>
<li class="toctree-l2"><a class="reference internal" href="../../codecs/hdf5.html">HDF5</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="../../translation/index.html">Translation</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">Drafting</span></p>

View file

@ -24,14 +24,14 @@
}
@media not print {
body[data-theme="dark"] {
--color-code-background: #202020;
--color-code-foreground: #d0d0d0;
--color-code-background: #0d1117;
--color-code-foreground: #e6edf3;
}
@media (prefers-color-scheme: dark) {
body:not([data-theme="light"]) {
--color-code-background: #202020;
--color-code-foreground: #d0d0d0;
--color-code-background: #0d1117;
--color-code-foreground: #e6edf3;
}
}
@ -180,13 +180,15 @@
<li class="toctree-l3"><a class="reference internal" href="../ld/rdf.html">RDF and Friends</a></li>
<li class="toctree-l3"><a class="reference internal" href="../ld/solid.html">SOLID</a></li>
<li class="toctree-l3"><a class="reference internal" href="../ld/ld_fragments.html">Linked Data Fragments</a></li>
<li class="toctree-l3"><a class="reference internal" href="../ld/hdt.html">HDT</a></li>
<li class="toctree-l3"><a class="reference internal" href="../ld/ld_platform.html">Linked Data Platform</a></li>
<li class="toctree-l3"><a class="reference internal" href="../ld/nanopubs.html">NanoPubs</a></li>
</ul>
</li>
<li class="toctree-l2 has-children"><a class="reference internal" href="../data/index.html">Data Structures</a><input class="toctree-checkbox" id="toctree-checkbox-5" name="toctree-checkbox-5" role="switch" type="checkbox"/><label for="toctree-checkbox-5"><div class="visually-hidden">Toggle navigation of Data Structures</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul>
<li class="toctree-l3"><a class="reference internal" href="../data/eris.html">ERIS</a></li>
<li class="toctree-l3"><a class="reference internal" href="../data/datalad.html">DataLad</a></li>
<li class="toctree-l3"><a class="reference internal" href="../data/dmc.html">DMC</a></li>
<li class="toctree-l3"><a class="reference internal" href="../data/eris.html">ERIS</a></li>
</ul>
</li>
</ul>
@ -212,7 +214,10 @@
<p class="caption" role="heading"><span class="caption-text">Ecosystem</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../../triplets.html">Triplets</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../adapter/index.html">Adapter</a></li>
<li class="toctree-l1 has-children"><a class="reference internal" href="../../codecs/index.html">Codecs</a><input class="toctree-checkbox" id="toctree-checkbox-6" name="toctree-checkbox-6" role="switch" type="checkbox"/><label for="toctree-checkbox-6"><div class="visually-hidden">Toggle navigation of Codecs</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul>
<li class="toctree-l2"><a class="reference internal" href="../../codecs/hdf5.html">HDF5</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="../../translation/index.html">Translation</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">Drafting</span></p>

View file

@ -24,14 +24,14 @@
}
@media not print {
body[data-theme="dark"] {
--color-code-background: #202020;
--color-code-foreground: #d0d0d0;
--color-code-background: #0d1117;
--color-code-foreground: #e6edf3;
}
@media (prefers-color-scheme: dark) {
body:not([data-theme="light"]) {
--color-code-background: #202020;
--color-code-foreground: #d0d0d0;
--color-code-background: #0d1117;
--color-code-foreground: #e6edf3;
}
}
@ -180,13 +180,15 @@
<li class="toctree-l3"><a class="reference internal" href="../ld/rdf.html">RDF and Friends</a></li>
<li class="toctree-l3"><a class="reference internal" href="../ld/solid.html">SOLID</a></li>
<li class="toctree-l3"><a class="reference internal" href="../ld/ld_fragments.html">Linked Data Fragments</a></li>
<li class="toctree-l3"><a class="reference internal" href="../ld/hdt.html">HDT</a></li>
<li class="toctree-l3"><a class="reference internal" href="../ld/ld_platform.html">Linked Data Platform</a></li>
<li class="toctree-l3"><a class="reference internal" href="../ld/nanopubs.html">NanoPubs</a></li>
</ul>
</li>
<li class="toctree-l2 has-children"><a class="reference internal" href="../data/index.html">Data Structures</a><input class="toctree-checkbox" id="toctree-checkbox-5" name="toctree-checkbox-5" role="switch" type="checkbox"/><label for="toctree-checkbox-5"><div class="visually-hidden">Toggle navigation of Data Structures</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul>
<li class="toctree-l3"><a class="reference internal" href="../data/eris.html">ERIS</a></li>
<li class="toctree-l3"><a class="reference internal" href="../data/datalad.html">DataLad</a></li>
<li class="toctree-l3"><a class="reference internal" href="../data/dmc.html">DMC</a></li>
<li class="toctree-l3"><a class="reference internal" href="../data/eris.html">ERIS</a></li>
</ul>
</li>
</ul>
@ -212,7 +214,10 @@
<p class="caption" role="heading"><span class="caption-text">Ecosystem</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../../triplets.html">Triplets</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../adapter/index.html">Adapter</a></li>
<li class="toctree-l1 has-children"><a class="reference internal" href="../../codecs/index.html">Codecs</a><input class="toctree-checkbox" id="toctree-checkbox-6" name="toctree-checkbox-6" role="switch" type="checkbox"/><label for="toctree-checkbox-6"><div class="visually-hidden">Toggle navigation of Codecs</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul>
<li class="toctree-l2"><a class="reference internal" href="../../codecs/hdf5.html">HDF5</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="../../translation/index.html">Translation</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">Drafting</span></p>

View file

@ -24,14 +24,14 @@
}
@media not print {
body[data-theme="dark"] {
--color-code-background: #202020;
--color-code-foreground: #d0d0d0;
--color-code-background: #0d1117;
--color-code-foreground: #e6edf3;
}
@media (prefers-color-scheme: dark) {
body:not([data-theme="light"]) {
--color-code-background: #202020;
--color-code-foreground: #d0d0d0;
--color-code-background: #0d1117;
--color-code-foreground: #e6edf3;
}
}
@ -180,13 +180,15 @@
<li class="toctree-l3"><a class="reference internal" href="../ld/rdf.html">RDF and Friends</a></li>
<li class="toctree-l3"><a class="reference internal" href="../ld/solid.html">SOLID</a></li>
<li class="toctree-l3"><a class="reference internal" href="../ld/ld_fragments.html">Linked Data Fragments</a></li>
<li class="toctree-l3"><a class="reference internal" href="../ld/hdt.html">HDT</a></li>
<li class="toctree-l3"><a class="reference internal" href="../ld/ld_platform.html">Linked Data Platform</a></li>
<li class="toctree-l3"><a class="reference internal" href="../ld/nanopubs.html">NanoPubs</a></li>
</ul>
</li>
<li class="toctree-l2 has-children"><a class="reference internal" href="../data/index.html">Data Structures</a><input class="toctree-checkbox" id="toctree-checkbox-5" name="toctree-checkbox-5" role="switch" type="checkbox"/><label for="toctree-checkbox-5"><div class="visually-hidden">Toggle navigation of Data Structures</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul>
<li class="toctree-l3"><a class="reference internal" href="../data/eris.html">ERIS</a></li>
<li class="toctree-l3"><a class="reference internal" href="../data/datalad.html">DataLad</a></li>
<li class="toctree-l3"><a class="reference internal" href="../data/dmc.html">DMC</a></li>
<li class="toctree-l3"><a class="reference internal" href="../data/eris.html">ERIS</a></li>
</ul>
</li>
</ul>
@ -212,7 +214,10 @@
<p class="caption" role="heading"><span class="caption-text">Ecosystem</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../../triplets.html">Triplets</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../adapter/index.html">Adapter</a></li>
<li class="toctree-l1 has-children"><a class="reference internal" href="../../codecs/index.html">Codecs</a><input class="toctree-checkbox" id="toctree-checkbox-6" name="toctree-checkbox-6" role="switch" type="checkbox"/><label for="toctree-checkbox-6"><div class="visually-hidden">Toggle navigation of Codecs</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul>
<li class="toctree-l2"><a class="reference internal" href="../../codecs/hdf5.html">HDF5</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="../../translation/index.html">Translation</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">Drafting</span></p>

View file

@ -24,14 +24,14 @@
}
@media not print {
body[data-theme="dark"] {
--color-code-background: #202020;
--color-code-foreground: #d0d0d0;
--color-code-background: #0d1117;
--color-code-foreground: #e6edf3;
}
@media (prefers-color-scheme: dark) {
body:not([data-theme="light"]) {
--color-code-background: #202020;
--color-code-foreground: #d0d0d0;
--color-code-background: #0d1117;
--color-code-foreground: #e6edf3;
}
}
@ -180,13 +180,15 @@
<li class="toctree-l3"><a class="reference internal" href="../ld/rdf.html">RDF and Friends</a></li>
<li class="toctree-l3"><a class="reference internal" href="../ld/solid.html">SOLID</a></li>
<li class="toctree-l3"><a class="reference internal" href="../ld/ld_fragments.html">Linked Data Fragments</a></li>
<li class="toctree-l3"><a class="reference internal" href="../ld/hdt.html">HDT</a></li>
<li class="toctree-l3"><a class="reference internal" href="../ld/ld_platform.html">Linked Data Platform</a></li>
<li class="toctree-l3"><a class="reference internal" href="../ld/nanopubs.html">NanoPubs</a></li>
</ul>
</li>
<li class="toctree-l2 has-children"><a class="reference internal" href="../data/index.html">Data Structures</a><input class="toctree-checkbox" id="toctree-checkbox-5" name="toctree-checkbox-5" role="switch" type="checkbox"/><label for="toctree-checkbox-5"><div class="visually-hidden">Toggle navigation of Data Structures</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul>
<li class="toctree-l3"><a class="reference internal" href="../data/eris.html">ERIS</a></li>
<li class="toctree-l3"><a class="reference internal" href="../data/datalad.html">DataLad</a></li>
<li class="toctree-l3"><a class="reference internal" href="../data/dmc.html">DMC</a></li>
<li class="toctree-l3"><a class="reference internal" href="../data/eris.html">ERIS</a></li>
</ul>
</li>
</ul>
@ -212,7 +214,10 @@
<p class="caption" role="heading"><span class="caption-text">Ecosystem</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../../triplets.html">Triplets</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../adapter/index.html">Adapter</a></li>
<li class="toctree-l1 has-children"><a class="reference internal" href="../../codecs/index.html">Codecs</a><input class="toctree-checkbox" id="toctree-checkbox-6" name="toctree-checkbox-6" role="switch" type="checkbox"/><label for="toctree-checkbox-6"><div class="visually-hidden">Toggle navigation of Codecs</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul>
<li class="toctree-l2"><a class="reference internal" href="../../codecs/hdf5.html">HDF5</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="../../translation/index.html">Translation</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">Drafting</span></p>

View file

@ -24,14 +24,14 @@
}
@media not print {
body[data-theme="dark"] {
--color-code-background: #202020;
--color-code-foreground: #d0d0d0;
--color-code-background: #0d1117;
--color-code-foreground: #e6edf3;
}
@media (prefers-color-scheme: dark) {
body:not([data-theme="light"]) {
--color-code-background: #202020;
--color-code-foreground: #d0d0d0;
--color-code-background: #0d1117;
--color-code-foreground: #e6edf3;
}
}
@ -180,13 +180,15 @@
<li class="toctree-l3"><a class="reference internal" href="../ld/rdf.html">RDF and Friends</a></li>
<li class="toctree-l3"><a class="reference internal" href="../ld/solid.html">SOLID</a></li>
<li class="toctree-l3"><a class="reference internal" href="../ld/ld_fragments.html">Linked Data Fragments</a></li>
<li class="toctree-l3"><a class="reference internal" href="../ld/hdt.html">HDT</a></li>
<li class="toctree-l3"><a class="reference internal" href="../ld/ld_platform.html">Linked Data Platform</a></li>
<li class="toctree-l3"><a class="reference internal" href="../ld/nanopubs.html">NanoPubs</a></li>
</ul>
</li>
<li class="toctree-l2 has-children"><a class="reference internal" href="../data/index.html">Data Structures</a><input class="toctree-checkbox" id="toctree-checkbox-5" name="toctree-checkbox-5" role="switch" type="checkbox"/><label for="toctree-checkbox-5"><div class="visually-hidden">Toggle navigation of Data Structures</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul>
<li class="toctree-l3"><a class="reference internal" href="../data/eris.html">ERIS</a></li>
<li class="toctree-l3"><a class="reference internal" href="../data/datalad.html">DataLad</a></li>
<li class="toctree-l3"><a class="reference internal" href="../data/dmc.html">DMC</a></li>
<li class="toctree-l3"><a class="reference internal" href="../data/eris.html">ERIS</a></li>
</ul>
</li>
</ul>
@ -212,7 +214,10 @@
<p class="caption" role="heading"><span class="caption-text">Ecosystem</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../../triplets.html">Triplets</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../adapter/index.html">Adapter</a></li>
<li class="toctree-l1 has-children"><a class="reference internal" href="../../codecs/index.html">Codecs</a><input class="toctree-checkbox" id="toctree-checkbox-6" name="toctree-checkbox-6" role="switch" type="checkbox"/><label for="toctree-checkbox-6"><div class="visually-hidden">Toggle navigation of Codecs</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul>
<li class="toctree-l2"><a class="reference internal" href="../../codecs/hdf5.html">HDF5</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="../../translation/index.html">Translation</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">Drafting</span></p>

View file

@ -24,14 +24,14 @@
}
@media not print {
body[data-theme="dark"] {
--color-code-background: #202020;
--color-code-foreground: #d0d0d0;
--color-code-background: #0d1117;
--color-code-foreground: #e6edf3;
}
@media (prefers-color-scheme: dark) {
body:not([data-theme="light"]) {
--color-code-background: #202020;
--color-code-foreground: #d0d0d0;
--color-code-background: #0d1117;
--color-code-foreground: #e6edf3;
}
}
@ -180,13 +180,15 @@
<li class="toctree-l3"><a class="reference internal" href="../ld/rdf.html">RDF and Friends</a></li>
<li class="toctree-l3"><a class="reference internal" href="../ld/solid.html">SOLID</a></li>
<li class="toctree-l3"><a class="reference internal" href="../ld/ld_fragments.html">Linked Data Fragments</a></li>
<li class="toctree-l3"><a class="reference internal" href="../ld/hdt.html">HDT</a></li>
<li class="toctree-l3"><a class="reference internal" href="../ld/ld_platform.html">Linked Data Platform</a></li>
<li class="toctree-l3"><a class="reference internal" href="../ld/nanopubs.html">NanoPubs</a></li>
</ul>
</li>
<li class="toctree-l2 has-children"><a class="reference internal" href="../data/index.html">Data Structures</a><input class="toctree-checkbox" id="toctree-checkbox-5" name="toctree-checkbox-5" role="switch" type="checkbox"/><label for="toctree-checkbox-5"><div class="visually-hidden">Toggle navigation of Data Structures</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul>
<li class="toctree-l3"><a class="reference internal" href="../data/eris.html">ERIS</a></li>
<li class="toctree-l3"><a class="reference internal" href="../data/datalad.html">DataLad</a></li>
<li class="toctree-l3"><a class="reference internal" href="../data/dmc.html">DMC</a></li>
<li class="toctree-l3"><a class="reference internal" href="../data/eris.html">ERIS</a></li>
</ul>
</li>
</ul>
@ -212,7 +214,10 @@
<p class="caption" role="heading"><span class="caption-text">Ecosystem</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../../triplets.html">Triplets</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../adapter/index.html">Adapter</a></li>
<li class="toctree-l1 has-children"><a class="reference internal" href="../../codecs/index.html">Codecs</a><input class="toctree-checkbox" id="toctree-checkbox-6" name="toctree-checkbox-6" role="switch" type="checkbox"/><label for="toctree-checkbox-6"><div class="visually-hidden">Toggle navigation of Codecs</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul>
<li class="toctree-l2"><a class="reference internal" href="../../codecs/hdf5.html">HDF5</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="../../translation/index.html">Translation</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">Drafting</span></p>

View file

@ -24,14 +24,14 @@
}
@media not print {
body[data-theme="dark"] {
--color-code-background: #202020;
--color-code-foreground: #d0d0d0;
--color-code-background: #0d1117;
--color-code-foreground: #e6edf3;
}
@media (prefers-color-scheme: dark) {
body:not([data-theme="light"]) {
--color-code-background: #202020;
--color-code-foreground: #d0d0d0;
--color-code-background: #0d1117;
--color-code-foreground: #e6edf3;
}
}
@ -180,13 +180,15 @@
<li class="toctree-l3"><a class="reference internal" href="comparison/ld/rdf.html">RDF and Friends</a></li>
<li class="toctree-l3"><a class="reference internal" href="comparison/ld/solid.html">SOLID</a></li>
<li class="toctree-l3"><a class="reference internal" href="comparison/ld/ld_fragments.html">Linked Data Fragments</a></li>
<li class="toctree-l3"><a class="reference internal" href="comparison/ld/hdt.html">HDT</a></li>
<li class="toctree-l3"><a class="reference internal" href="comparison/ld/ld_platform.html">Linked Data Platform</a></li>
<li class="toctree-l3"><a class="reference internal" href="comparison/ld/nanopubs.html">NanoPubs</a></li>
</ul>
</li>
<li class="toctree-l2 has-children"><a class="reference internal" href="comparison/data/index.html">Data Structures</a><input class="toctree-checkbox" id="toctree-checkbox-5" name="toctree-checkbox-5" role="switch" type="checkbox"/><label for="toctree-checkbox-5"><div class="visually-hidden">Toggle navigation of Data Structures</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul>
<li class="toctree-l3"><a class="reference internal" href="comparison/data/eris.html">ERIS</a></li>
<li class="toctree-l3"><a class="reference internal" href="comparison/data/datalad.html">DataLad</a></li>
<li class="toctree-l3"><a class="reference internal" href="comparison/data/dmc.html">DMC</a></li>
<li class="toctree-l3"><a class="reference internal" href="comparison/data/eris.html">ERIS</a></li>
</ul>
</li>
</ul>
@ -212,7 +214,10 @@
<p class="caption" role="heading"><span class="caption-text">Ecosystem</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="triplets.html">Triplets</a></li>
<li class="toctree-l1"><a class="reference internal" href="adapter/index.html">Adapter</a></li>
<li class="toctree-l1 has-children"><a class="reference internal" href="codecs/index.html">Codecs</a><input class="toctree-checkbox" id="toctree-checkbox-6" name="toctree-checkbox-6" role="switch" type="checkbox"/><label for="toctree-checkbox-6"><div class="visually-hidden">Toggle navigation of Codecs</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul>
<li class="toctree-l2"><a class="reference internal" href="codecs/hdf5.html">HDF5</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="translation/index.html">Translation</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">Drafting</span></p>

View file

@ -24,14 +24,14 @@
}
@media not print {
body[data-theme="dark"] {
--color-code-background: #202020;
--color-code-foreground: #d0d0d0;
--color-code-background: #0d1117;
--color-code-foreground: #e6edf3;
}
@media (prefers-color-scheme: dark) {
body:not([data-theme="light"]) {
--color-code-background: #202020;
--color-code-foreground: #d0d0d0;
--color-code-background: #0d1117;
--color-code-foreground: #e6edf3;
}
}
@ -180,13 +180,15 @@
<li class="toctree-l3"><a class="reference internal" href="comparison/ld/rdf.html">RDF and Friends</a></li>
<li class="toctree-l3"><a class="reference internal" href="comparison/ld/solid.html">SOLID</a></li>
<li class="toctree-l3"><a class="reference internal" href="comparison/ld/ld_fragments.html">Linked Data Fragments</a></li>
<li class="toctree-l3"><a class="reference internal" href="comparison/ld/hdt.html">HDT</a></li>
<li class="toctree-l3"><a class="reference internal" href="comparison/ld/ld_platform.html">Linked Data Platform</a></li>
<li class="toctree-l3"><a class="reference internal" href="comparison/ld/nanopubs.html">NanoPubs</a></li>
</ul>
</li>
<li class="toctree-l2 has-children"><a class="reference internal" href="comparison/data/index.html">Data Structures</a><input class="toctree-checkbox" id="toctree-checkbox-5" name="toctree-checkbox-5" role="switch" type="checkbox"/><label for="toctree-checkbox-5"><div class="visually-hidden">Toggle navigation of Data Structures</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul>
<li class="toctree-l3"><a class="reference internal" href="comparison/data/eris.html">ERIS</a></li>
<li class="toctree-l3"><a class="reference internal" href="comparison/data/datalad.html">DataLad</a></li>
<li class="toctree-l3"><a class="reference internal" href="comparison/data/dmc.html">DMC</a></li>
<li class="toctree-l3"><a class="reference internal" href="comparison/data/eris.html">ERIS</a></li>
</ul>
</li>
</ul>
@ -212,7 +214,10 @@
<p class="caption" role="heading"><span class="caption-text">Ecosystem</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="triplets.html">Triplets</a></li>
<li class="toctree-l1"><a class="reference internal" href="adapter/index.html">Adapter</a></li>
<li class="toctree-l1 has-children"><a class="reference internal" href="codecs/index.html">Codecs</a><input class="toctree-checkbox" id="toctree-checkbox-6" name="toctree-checkbox-6" role="switch" type="checkbox"/><label for="toctree-checkbox-6"><div class="visually-hidden">Toggle navigation of Codecs</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul>
<li class="toctree-l2"><a class="reference internal" href="codecs/hdf5.html">HDF5</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="translation/index.html">Translation</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">Drafting</span></p>

View file

@ -24,14 +24,14 @@
}
@media not print {
body[data-theme="dark"] {
--color-code-background: #202020;
--color-code-foreground: #d0d0d0;
--color-code-background: #0d1117;
--color-code-foreground: #e6edf3;
}
@media (prefers-color-scheme: dark) {
body:not([data-theme="light"]) {
--color-code-background: #202020;
--color-code-foreground: #d0d0d0;
--color-code-background: #0d1117;
--color-code-foreground: #e6edf3;
}
}
@ -180,13 +180,15 @@
<li class="toctree-l3"><a class="reference internal" href="comparison/ld/rdf.html">RDF and Friends</a></li>
<li class="toctree-l3"><a class="reference internal" href="comparison/ld/solid.html">SOLID</a></li>
<li class="toctree-l3"><a class="reference internal" href="comparison/ld/ld_fragments.html">Linked Data Fragments</a></li>
<li class="toctree-l3"><a class="reference internal" href="comparison/ld/hdt.html">HDT</a></li>
<li class="toctree-l3"><a class="reference internal" href="comparison/ld/ld_platform.html">Linked Data Platform</a></li>
<li class="toctree-l3"><a class="reference internal" href="comparison/ld/nanopubs.html">NanoPubs</a></li>
</ul>
</li>
<li class="toctree-l2 has-children"><a class="reference internal" href="comparison/data/index.html">Data Structures</a><input class="toctree-checkbox" id="toctree-checkbox-5" name="toctree-checkbox-5" role="switch" type="checkbox"/><label for="toctree-checkbox-5"><div class="visually-hidden">Toggle navigation of Data Structures</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul>
<li class="toctree-l3"><a class="reference internal" href="comparison/data/eris.html">ERIS</a></li>
<li class="toctree-l3"><a class="reference internal" href="comparison/data/datalad.html">DataLad</a></li>
<li class="toctree-l3"><a class="reference internal" href="comparison/data/dmc.html">DMC</a></li>
<li class="toctree-l3"><a class="reference internal" href="comparison/data/eris.html">ERIS</a></li>
</ul>
</li>
</ul>
@ -212,7 +214,10 @@
<p class="caption" role="heading"><span class="caption-text">Ecosystem</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="triplets.html">Triplets</a></li>
<li class="toctree-l1"><a class="reference internal" href="adapter/index.html">Adapter</a></li>
<li class="toctree-l1 has-children"><a class="reference internal" href="codecs/index.html">Codecs</a><input class="toctree-checkbox" id="toctree-checkbox-6" name="toctree-checkbox-6" role="switch" type="checkbox"/><label for="toctree-checkbox-6"><div class="visually-hidden">Toggle navigation of Codecs</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul>
<li class="toctree-l2"><a class="reference internal" href="codecs/hdf5.html">HDF5</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="translation/index.html">Translation</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">Drafting</span></p>
@ -271,7 +276,7 @@
<div><p>Every one knows that change is inevitable. From the second law of thermodynamics to Darwinian evolution, from Buddhisms insistence that nothing is permanent and all suffering results from our delusions of permanence to the third chapter of Ecclesiastes (“To everything there is a season”), change is part of life, of existence, of the common wisdom. But I dont believe were dealing with all that that means. We havent even begun to deal with it.</p>
<p class="attribution">—Octavia Butler, Parable of the Sower</p>
</div></blockquote>
<p>There is no such thing as a <a class="reference external" href="https://www.w3.org/Provider/Style/URI">Cool URI that doesnt change</a>, and there is no such thing as a persistent identifier that lasts forever <span id="id1">[<a class="reference internal" href="references.html#id6" title="John Kunze, Scout Calvert, Jeremy D. DeBarry, Matthew Hanlon, Greg Janée, and Sandra Sweat. Persistence Statements: Describing Digital Stickiness. Data Science Journal, 16(0):39, 2017-08-14. URL: http://datascience.codata.org/articles/10.5334/dsj-2017-039/ (visited on 2022-09-07), doi:10.5334/dsj-2017-039.">Kunze <em>et al.</em>, 2017</a>]</span>. All things change. Change can be because of practical reasons like running out of funding and shutting down the server, cultural reasons like shifting meanings of words, or larger shifts that render the entire domain that a thing is fixed in irrelevant. No matter how many layers of abstraction and redirection we want to create, there is no system that will for all time be able to unambiguously identify something on the web or elsewhere.</p>
<p>There is no such thing as a <a class="reference external" href="https://www.w3.org/Provider/Style/URI">Cool URI that doesnt change</a>, and there is no such thing as a persistent identifier that lasts forever <span id="id1">[<a class="reference internal" href="references.html#id7" title="John Kunze, Scout Calvert, Jeremy D. DeBarry, Matthew Hanlon, Greg Janée, and Sandra Sweat. Persistence Statements: Describing Digital Stickiness. Data Science Journal, 16(0):39, 2017-08-14. URL: http://datascience.codata.org/articles/10.5334/dsj-2017-039/ (visited on 2022-09-07), doi:10.5334/dsj-2017-039.">Kunze <em>et al.</em>, 2017</a>]</span>. All things change. Change can be because of practical reasons like running out of funding and shutting down the server, cultural reasons like shifting meanings of words, or larger shifts that render the entire domain that a thing is fixed in irrelevant. No matter how many layers of abstraction and redirection we want to create, there is no system that will for all time be able to unambiguously identify something on the web or elsewhere.</p>
<p>The appearance of persistence is a <em>social</em> phenomenon rather than a <em>technological</em> one. <code class="docutils literal notranslate"><span class="pre">Archive.org</span></code> continues to exist because many people actively keep it existing, not because of the architecture of their archive. Designing for permanence makes systems <em>fragile.</em> Instead we should design for <em>adapting</em> to change. Adapting to change is also a social phenomenon - I might misplace things, change how they are named, and tell you that the same URL means something different, or the same page goes by a different URL now. A newspaper might go out of business and its website might go offline, but someone might save a PDF of the original page and rehost it on their personal website. The tools we need look more like systems for renaming, declaring equivalence, translation, change, than they do an unalterable, permanent append-only blockchain thing.</p>
</section>
<section id="ambiguity-is-natural">

View file

@ -24,14 +24,14 @@
}
@media not print {
body[data-theme="dark"] {
--color-code-background: #202020;
--color-code-foreground: #d0d0d0;
--color-code-background: #0d1117;
--color-code-foreground: #e6edf3;
}
@media (prefers-color-scheme: dark) {
body:not([data-theme="light"]) {
--color-code-background: #202020;
--color-code-foreground: #d0d0d0;
--color-code-background: #0d1117;
--color-code-foreground: #e6edf3;
}
}
@ -180,13 +180,15 @@
<li class="toctree-l3"><a class="reference internal" href="comparison/ld/rdf.html">RDF and Friends</a></li>
<li class="toctree-l3"><a class="reference internal" href="comparison/ld/solid.html">SOLID</a></li>
<li class="toctree-l3"><a class="reference internal" href="comparison/ld/ld_fragments.html">Linked Data Fragments</a></li>
<li class="toctree-l3"><a class="reference internal" href="comparison/ld/hdt.html">HDT</a></li>
<li class="toctree-l3"><a class="reference internal" href="comparison/ld/ld_platform.html">Linked Data Platform</a></li>
<li class="toctree-l3"><a class="reference internal" href="comparison/ld/nanopubs.html">NanoPubs</a></li>
</ul>
</li>
<li class="toctree-l2 has-children"><a class="reference internal" href="comparison/data/index.html">Data Structures</a><input class="toctree-checkbox" id="toctree-checkbox-5" name="toctree-checkbox-5" role="switch" type="checkbox"/><label for="toctree-checkbox-5"><div class="visually-hidden">Toggle navigation of Data Structures</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul>
<li class="toctree-l3"><a class="reference internal" href="comparison/data/eris.html">ERIS</a></li>
<li class="toctree-l3"><a class="reference internal" href="comparison/data/datalad.html">DataLad</a></li>
<li class="toctree-l3"><a class="reference internal" href="comparison/data/dmc.html">DMC</a></li>
<li class="toctree-l3"><a class="reference internal" href="comparison/data/eris.html">ERIS</a></li>
</ul>
</li>
</ul>
@ -212,7 +214,10 @@
<p class="caption" role="heading"><span class="caption-text">Ecosystem</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="triplets.html">Triplets</a></li>
<li class="toctree-l1"><a class="reference internal" href="adapter/index.html">Adapter</a></li>
<li class="toctree-l1 has-children"><a class="reference internal" href="codecs/index.html">Codecs</a><input class="toctree-checkbox" id="toctree-checkbox-6" name="toctree-checkbox-6" role="switch" type="checkbox"/><label for="toctree-checkbox-6"><div class="visually-hidden">Toggle navigation of Codecs</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul>
<li class="toctree-l2"><a class="reference internal" href="codecs/hdf5.html">HDF5</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="translation/index.html">Translation</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">Drafting</span></p>

View file

@ -24,14 +24,14 @@
}
@media not print {
body[data-theme="dark"] {
--color-code-background: #202020;
--color-code-foreground: #d0d0d0;
--color-code-background: #0d1117;
--color-code-foreground: #e6edf3;
}
@media (prefers-color-scheme: dark) {
body:not([data-theme="light"]) {
--color-code-background: #202020;
--color-code-foreground: #d0d0d0;
--color-code-background: #0d1117;
--color-code-foreground: #e6edf3;
}
}
@ -180,13 +180,15 @@
<li class="toctree-l3"><a class="reference internal" href="comparison/ld/rdf.html">RDF and Friends</a></li>
<li class="toctree-l3"><a class="reference internal" href="comparison/ld/solid.html">SOLID</a></li>
<li class="toctree-l3"><a class="reference internal" href="comparison/ld/ld_fragments.html">Linked Data Fragments</a></li>
<li class="toctree-l3"><a class="reference internal" href="comparison/ld/hdt.html">HDT</a></li>
<li class="toctree-l3"><a class="reference internal" href="comparison/ld/ld_platform.html">Linked Data Platform</a></li>
<li class="toctree-l3"><a class="reference internal" href="comparison/ld/nanopubs.html">NanoPubs</a></li>
</ul>
</li>
<li class="toctree-l2 has-children"><a class="reference internal" href="comparison/data/index.html">Data Structures</a><input class="toctree-checkbox" id="toctree-checkbox-5" name="toctree-checkbox-5" role="switch" type="checkbox"/><label for="toctree-checkbox-5"><div class="visually-hidden">Toggle navigation of Data Structures</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul>
<li class="toctree-l3"><a class="reference internal" href="comparison/data/eris.html">ERIS</a></li>
<li class="toctree-l3"><a class="reference internal" href="comparison/data/datalad.html">DataLad</a></li>
<li class="toctree-l3"><a class="reference internal" href="comparison/data/dmc.html">DMC</a></li>
<li class="toctree-l3"><a class="reference internal" href="comparison/data/eris.html">ERIS</a></li>
</ul>
</li>
</ul>
@ -212,7 +214,10 @@
<p class="caption" role="heading"><span class="caption-text">Ecosystem</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="triplets.html">Triplets</a></li>
<li class="toctree-l1"><a class="reference internal" href="adapter/index.html">Adapter</a></li>
<li class="toctree-l1 has-children"><a class="reference internal" href="codecs/index.html">Codecs</a><input class="toctree-checkbox" id="toctree-checkbox-6" name="toctree-checkbox-6" role="switch" type="checkbox"/><label for="toctree-checkbox-6"><div class="visually-hidden">Toggle navigation of Codecs</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul>
<li class="toctree-l2"><a class="reference internal" href="codecs/hdf5.html">HDF5</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="translation/index.html">Translation</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">Drafting</span></p>

View file

@ -24,14 +24,14 @@
}
@media not print {
body[data-theme="dark"] {
--color-code-background: #202020;
--color-code-foreground: #d0d0d0;
--color-code-background: #0d1117;
--color-code-foreground: #e6edf3;
}
@media (prefers-color-scheme: dark) {
body:not([data-theme="light"]) {
--color-code-background: #202020;
--color-code-foreground: #d0d0d0;
--color-code-background: #0d1117;
--color-code-foreground: #e6edf3;
}
}
@ -180,13 +180,15 @@
<li class="toctree-l3"><a class="reference internal" href="comparison/ld/rdf.html">RDF and Friends</a></li>
<li class="toctree-l3"><a class="reference internal" href="comparison/ld/solid.html">SOLID</a></li>
<li class="toctree-l3"><a class="reference internal" href="comparison/ld/ld_fragments.html">Linked Data Fragments</a></li>
<li class="toctree-l3"><a class="reference internal" href="comparison/ld/hdt.html">HDT</a></li>
<li class="toctree-l3"><a class="reference internal" href="comparison/ld/ld_platform.html">Linked Data Platform</a></li>
<li class="toctree-l3"><a class="reference internal" href="comparison/ld/nanopubs.html">NanoPubs</a></li>
</ul>
</li>
<li class="toctree-l2 has-children"><a class="reference internal" href="comparison/data/index.html">Data Structures</a><input class="toctree-checkbox" id="toctree-checkbox-5" name="toctree-checkbox-5" role="switch" type="checkbox"/><label for="toctree-checkbox-5"><div class="visually-hidden">Toggle navigation of Data Structures</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul>
<li class="toctree-l3"><a class="reference internal" href="comparison/data/eris.html">ERIS</a></li>
<li class="toctree-l3"><a class="reference internal" href="comparison/data/datalad.html">DataLad</a></li>
<li class="toctree-l3"><a class="reference internal" href="comparison/data/dmc.html">DMC</a></li>
<li class="toctree-l3"><a class="reference internal" href="comparison/data/eris.html">ERIS</a></li>
</ul>
</li>
</ul>
@ -212,7 +214,10 @@
<p class="caption" role="heading"><span class="caption-text">Ecosystem</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="triplets.html">Triplets</a></li>
<li class="toctree-l1"><a class="reference internal" href="adapter/index.html">Adapter</a></li>
<li class="toctree-l1 has-children"><a class="reference internal" href="codecs/index.html">Codecs</a><input class="toctree-checkbox" id="toctree-checkbox-6" name="toctree-checkbox-6" role="switch" type="checkbox"/><label for="toctree-checkbox-6"><div class="visually-hidden">Toggle navigation of Codecs</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul>
<li class="toctree-l2"><a class="reference internal" href="codecs/hdf5.html">HDF5</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="translation/index.html">Translation</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">Drafting</span></p>

View file

@ -24,14 +24,14 @@
}
@media not print {
body[data-theme="dark"] {
--color-code-background: #202020;
--color-code-foreground: #d0d0d0;
--color-code-background: #0d1117;
--color-code-foreground: #e6edf3;
}
@media (prefers-color-scheme: dark) {
body:not([data-theme="light"]) {
--color-code-background: #202020;
--color-code-foreground: #d0d0d0;
--color-code-background: #0d1117;
--color-code-foreground: #e6edf3;
}
}
@ -180,13 +180,15 @@
<li class="toctree-l3"><a class="reference internal" href="comparison/ld/rdf.html">RDF and Friends</a></li>
<li class="toctree-l3"><a class="reference internal" href="comparison/ld/solid.html">SOLID</a></li>
<li class="toctree-l3"><a class="reference internal" href="comparison/ld/ld_fragments.html">Linked Data Fragments</a></li>
<li class="toctree-l3"><a class="reference internal" href="comparison/ld/hdt.html">HDT</a></li>
<li class="toctree-l3"><a class="reference internal" href="comparison/ld/ld_platform.html">Linked Data Platform</a></li>
<li class="toctree-l3"><a class="reference internal" href="comparison/ld/nanopubs.html">NanoPubs</a></li>
</ul>
</li>
<li class="toctree-l2 has-children"><a class="reference internal" href="comparison/data/index.html">Data Structures</a><input class="toctree-checkbox" id="toctree-checkbox-5" name="toctree-checkbox-5" role="switch" type="checkbox"/><label for="toctree-checkbox-5"><div class="visually-hidden">Toggle navigation of Data Structures</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul>
<li class="toctree-l3"><a class="reference internal" href="comparison/data/eris.html">ERIS</a></li>
<li class="toctree-l3"><a class="reference internal" href="comparison/data/datalad.html">DataLad</a></li>
<li class="toctree-l3"><a class="reference internal" href="comparison/data/dmc.html">DMC</a></li>
<li class="toctree-l3"><a class="reference internal" href="comparison/data/eris.html">ERIS</a></li>
</ul>
</li>
</ul>
@ -212,7 +214,10 @@
<p class="caption" role="heading"><span class="caption-text">Ecosystem</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="triplets.html">Triplets</a></li>
<li class="toctree-l1"><a class="reference internal" href="adapter/index.html">Adapter</a></li>
<li class="toctree-l1 has-children"><a class="reference internal" href="codecs/index.html">Codecs</a><input class="toctree-checkbox" id="toctree-checkbox-6" name="toctree-checkbox-6" role="switch" type="checkbox"/><label for="toctree-checkbox-6"><div class="visually-hidden">Toggle navigation of Codecs</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul>
<li class="toctree-l2"><a class="reference internal" href="codecs/hdf5.html">HDF5</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="translation/index.html">Translation</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">Drafting</span></p>

View file

@ -22,14 +22,14 @@
}
@media not print {
body[data-theme="dark"] {
--color-code-background: #202020;
--color-code-foreground: #d0d0d0;
--color-code-background: #0d1117;
--color-code-foreground: #e6edf3;
}
@media (prefers-color-scheme: dark) {
body:not([data-theme="light"]) {
--color-code-background: #202020;
--color-code-foreground: #d0d0d0;
--color-code-background: #0d1117;
--color-code-foreground: #e6edf3;
}
}
@ -178,13 +178,15 @@
<li class="toctree-l3"><a class="reference internal" href="comparison/ld/rdf.html">RDF and Friends</a></li>
<li class="toctree-l3"><a class="reference internal" href="comparison/ld/solid.html">SOLID</a></li>
<li class="toctree-l3"><a class="reference internal" href="comparison/ld/ld_fragments.html">Linked Data Fragments</a></li>
<li class="toctree-l3"><a class="reference internal" href="comparison/ld/hdt.html">HDT</a></li>
<li class="toctree-l3"><a class="reference internal" href="comparison/ld/ld_platform.html">Linked Data Platform</a></li>
<li class="toctree-l3"><a class="reference internal" href="comparison/ld/nanopubs.html">NanoPubs</a></li>
</ul>
</li>
<li class="toctree-l2 has-children"><a class="reference internal" href="comparison/data/index.html">Data Structures</a><input class="toctree-checkbox" id="toctree-checkbox-5" name="toctree-checkbox-5" role="switch" type="checkbox"/><label for="toctree-checkbox-5"><div class="visually-hidden">Toggle navigation of Data Structures</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul>
<li class="toctree-l3"><a class="reference internal" href="comparison/data/eris.html">ERIS</a></li>
<li class="toctree-l3"><a class="reference internal" href="comparison/data/datalad.html">DataLad</a></li>
<li class="toctree-l3"><a class="reference internal" href="comparison/data/dmc.html">DMC</a></li>
<li class="toctree-l3"><a class="reference internal" href="comparison/data/eris.html">ERIS</a></li>
</ul>
</li>
</ul>
@ -210,7 +212,10 @@
<p class="caption" role="heading"><span class="caption-text">Ecosystem</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="triplets.html">Triplets</a></li>
<li class="toctree-l1"><a class="reference internal" href="adapter/index.html">Adapter</a></li>
<li class="toctree-l1 has-children"><a class="reference internal" href="codecs/index.html">Codecs</a><input class="toctree-checkbox" id="toctree-checkbox-6" name="toctree-checkbox-6" role="switch" type="checkbox"/><label for="toctree-checkbox-6"><div class="visually-hidden">Toggle navigation of Codecs</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul>
<li class="toctree-l2"><a class="reference internal" href="codecs/hdf5.html">HDF5</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="translation/index.html">Translation</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">Drafting</span></p>
@ -258,7 +263,7 @@
<section class="genindex-section">
<h1 id="index">Index</h1>
<div class="genindex-jumpbox"><a href="#A"><strong>A</strong></a> | <a href="#B"><strong>B</strong></a> | <a href="#C"><strong>C</strong></a> | <a href="#D"><strong>D</strong></a> | <a href="#E"><strong>E</strong></a> | <a href="#G"><strong>G</strong></a> | <a href="#H"><strong>H</strong></a> | <a href="#I"><strong>I</strong></a> | <a href="#J"><strong>J</strong></a> | <a href="#L"><strong>L</strong></a> | <a href="#M"><strong>M</strong></a> | <a href="#P"><strong>P</strong></a> | <a href="#R"><strong>R</strong></a> | <a href="#S"><strong>S</strong></a></div>
<div class="genindex-jumpbox"><a href="#A"><strong>A</strong></a> | <a href="#B"><strong>B</strong></a> | <a href="#C"><strong>C</strong></a> | <a href="#D"><strong>D</strong></a> | <a href="#E"><strong>E</strong></a> | <a href="#G"><strong>G</strong></a> | <a href="#H"><strong>H</strong></a> | <a href="#I"><strong>I</strong></a> | <a href="#J"><strong>J</strong></a> | <a href="#L"><strong>L</strong></a> | <a href="#M"><strong>M</strong></a> | <a href="#O"><strong>O</strong></a> | <a href="#P"><strong>P</strong></a> | <a href="#R"><strong>R</strong></a> | <a href="#S"><strong>S</strong></a> | <a href="#W"><strong>W</strong></a></div>
</section>
<section id="A" class="genindex-section">
<h2>A</h2>
@ -280,16 +285,18 @@
</li>
<li><a href="comparison/p2p/bittorrent.html#index-8">BitSwap</a>
</li>
</ul></td>
<td style="width: 33%; vertical-align: top;"><ul>
<li><a href="comparison/p2p/ipfs.html#index-1">BitTorrent</a>
<ul>
<li><a href="comparison/p2p/bittorrent.html#index-10">libtorrent</a>
</li>
<li><a href="comparison/p2p/bittorrent.html#index-0">Protocol</a>
</li>
<li><a href="comparison/p2p/bittorrent.html#index-2">Tracker</a>
</li>
</ul></li>
</ul></td>
<td style="width: 33%; vertical-align: top;"><ul>
<li><a href="comparison/social/at_protocol.html#index-1">Bluesky</a>
</li>
</ul></td>
@ -305,6 +312,8 @@
<ul>
<li><a href="comparison/p2p/bittorrent.html#index-7">Kazaa</a>
</li>
<li><a href="comparison/p2p/bittorrent.html#index-10">libtorrent</a>
</li>
<li><a href="comparison/p2p/bittorrent.html#index-6">Limewire</a>
</li>
@ -327,12 +336,14 @@
<h2>D</h2>
<table style="width: 100%" class="indextable genindextable"><tr>
<td style="width: 33%; vertical-align: top;"><ul>
<li><a href="comparison/p2p/bittorrent.html#index-4">DHT</a>
<li><a href="comparison/data/datalad.html#index-0">DataLad</a>
</li>
<li><a href="comparison/p2p/bittorrent.html#index-3">Discovery</a>
<li><a href="comparison/p2p/bittorrent.html#index-4">DHT</a>
</li>
</ul></td>
<td style="width: 33%; vertical-align: top;"><ul>
<li><a href="comparison/p2p/bittorrent.html#index-3">Discovery</a>
</li>
<li><a href="comparison/p2p/ipfs.html#index-4">Distributed Messaging</a>
</li>
<li><a href="comparison/social/nostr.html#index-0">DNS</a>
@ -364,8 +375,12 @@
<h2>G</h2>
<table style="width: 100%" class="indextable genindextable"><tr>
<td style="width: 33%; vertical-align: top;"><ul>
<li><a href="comparison/p2p/ipfs.html#index-2">git</a>
<li><a href="comparison/data/datalad.html#index-1">git</a>, <a href="comparison/p2p/ipfs.html#index-2">[1]</a>
<ul>
<li><a href="comparison/data/datalad.html#index-2">annex</a>
</li>
</ul></li>
</ul></td>
<td style="width: 33%; vertical-align: top;"><ul>
<li>
@ -453,6 +468,8 @@
<ul>
<li><a href="comparison/ld/ld_fragments.html#index-0">Fragments</a>, <a href="querying.html#index-0">[1]</a>
</li>
<li><a href="comparison/ld/hdt.html#index-0">HDT</a>
</li>
<li><a href="comparison/ld/ld_platform.html#index-0">Platform</a>, <a href="data_structures.html#index-0">[1]</a>
</li>
@ -483,6 +500,21 @@
</tr></table>
</section>
<section id="O" class="genindex-section">
<h2>O</h2>
<table style="width: 100%" class="indextable genindextable"><tr>
<td style="width: 33%; vertical-align: top;"><ul>
<li>
Ontology
<ul>
<li><a href="comparison/ld/hdt.html#index-1">VOID</a>
</li>
</ul></li>
</ul></td>
</tr></table>
</section>
<section id="P" class="genindex-section">
<h2>P</h2>
<table style="width: 100%" class="indextable genindextable"><tr>
@ -553,6 +585,16 @@
</tr></table>
</section>
<section id="W" class="genindex-section">
<h2>W</h2>
<table style="width: 100%" class="indextable genindextable"><tr>
<td style="width: 33%; vertical-align: top;"><ul>
<li><a href="comparison/p2p/bittorrent.html#index-9">Web Seeds</a>, <a href="comparison/p2p/ipfs.html#index-13">[1]</a>
</li>
</ul></td>
</tr></table>
</section>
</article>
</div>

View file

@ -24,14 +24,14 @@
}
@media not print {
body[data-theme="dark"] {
--color-code-background: #202020;
--color-code-foreground: #d0d0d0;
--color-code-background: #0d1117;
--color-code-foreground: #e6edf3;
}
@media (prefers-color-scheme: dark) {
body:not([data-theme="light"]) {
--color-code-background: #202020;
--color-code-foreground: #d0d0d0;
--color-code-background: #0d1117;
--color-code-foreground: #e6edf3;
}
}
@ -180,13 +180,15 @@
<li class="toctree-l3"><a class="reference internal" href="comparison/ld/rdf.html">RDF and Friends</a></li>
<li class="toctree-l3"><a class="reference internal" href="comparison/ld/solid.html">SOLID</a></li>
<li class="toctree-l3"><a class="reference internal" href="comparison/ld/ld_fragments.html">Linked Data Fragments</a></li>
<li class="toctree-l3"><a class="reference internal" href="comparison/ld/hdt.html">HDT</a></li>
<li class="toctree-l3"><a class="reference internal" href="comparison/ld/ld_platform.html">Linked Data Platform</a></li>
<li class="toctree-l3"><a class="reference internal" href="comparison/ld/nanopubs.html">NanoPubs</a></li>
</ul>
</li>
<li class="toctree-l2 has-children"><a class="reference internal" href="comparison/data/index.html">Data Structures</a><input class="toctree-checkbox" id="toctree-checkbox-5" name="toctree-checkbox-5" role="switch" type="checkbox"/><label for="toctree-checkbox-5"><div class="visually-hidden">Toggle navigation of Data Structures</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul>
<li class="toctree-l3"><a class="reference internal" href="comparison/data/eris.html">ERIS</a></li>
<li class="toctree-l3"><a class="reference internal" href="comparison/data/datalad.html">DataLad</a></li>
<li class="toctree-l3"><a class="reference internal" href="comparison/data/dmc.html">DMC</a></li>
<li class="toctree-l3"><a class="reference internal" href="comparison/data/eris.html">ERIS</a></li>
</ul>
</li>
</ul>
@ -212,7 +214,10 @@
<p class="caption" role="heading"><span class="caption-text">Ecosystem</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="triplets.html">Triplets</a></li>
<li class="toctree-l1"><a class="reference internal" href="adapter/index.html">Adapter</a></li>
<li class="toctree-l1 has-children"><a class="reference internal" href="codecs/index.html">Codecs</a><input class="toctree-checkbox" id="toctree-checkbox-6" name="toctree-checkbox-6" role="switch" type="checkbox"/><label for="toctree-checkbox-6"><div class="visually-hidden">Toggle navigation of Codecs</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul>
<li class="toctree-l2"><a class="reference internal" href="codecs/hdf5.html">HDF5</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="translation/index.html">Translation</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">Drafting</span></p>

View file

@ -24,14 +24,14 @@
}
@media not print {
body[data-theme="dark"] {
--color-code-background: #202020;
--color-code-foreground: #d0d0d0;
--color-code-background: #0d1117;
--color-code-foreground: #e6edf3;
}
@media (prefers-color-scheme: dark) {
body:not([data-theme="light"]) {
--color-code-background: #202020;
--color-code-foreground: #d0d0d0;
--color-code-background: #0d1117;
--color-code-foreground: #e6edf3;
}
}
@ -180,13 +180,15 @@
<li class="toctree-l3"><a class="reference internal" href="comparison/ld/rdf.html">RDF and Friends</a></li>
<li class="toctree-l3"><a class="reference internal" href="comparison/ld/solid.html">SOLID</a></li>
<li class="toctree-l3"><a class="reference internal" href="comparison/ld/ld_fragments.html">Linked Data Fragments</a></li>
<li class="toctree-l3"><a class="reference internal" href="comparison/ld/hdt.html">HDT</a></li>
<li class="toctree-l3"><a class="reference internal" href="comparison/ld/ld_platform.html">Linked Data Platform</a></li>
<li class="toctree-l3"><a class="reference internal" href="comparison/ld/nanopubs.html">NanoPubs</a></li>
</ul>
</li>
<li class="toctree-l2 has-children"><a class="reference internal" href="comparison/data/index.html">Data Structures</a><input class="toctree-checkbox" id="toctree-checkbox-5" name="toctree-checkbox-5" role="switch" type="checkbox"/><label for="toctree-checkbox-5"><div class="visually-hidden">Toggle navigation of Data Structures</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul>
<li class="toctree-l3"><a class="reference internal" href="comparison/data/eris.html">ERIS</a></li>
<li class="toctree-l3"><a class="reference internal" href="comparison/data/datalad.html">DataLad</a></li>
<li class="toctree-l3"><a class="reference internal" href="comparison/data/dmc.html">DMC</a></li>
<li class="toctree-l3"><a class="reference internal" href="comparison/data/eris.html">ERIS</a></li>
</ul>
</li>
</ul>
@ -212,7 +214,10 @@
<p class="caption" role="heading"><span class="caption-text">Ecosystem</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="triplets.html">Triplets</a></li>
<li class="toctree-l1"><a class="reference internal" href="adapter/index.html">Adapter</a></li>
<li class="toctree-l1 has-children"><a class="reference internal" href="codecs/index.html">Codecs</a><input class="toctree-checkbox" id="toctree-checkbox-6" name="toctree-checkbox-6" role="switch" type="checkbox"/><label for="toctree-checkbox-6"><div class="visually-hidden">Toggle navigation of Codecs</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul>
<li class="toctree-l2"><a class="reference internal" href="codecs/hdf5.html">HDF5</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="translation/index.html">Translation</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">Drafting</span></p>
@ -261,7 +266,7 @@
<section id="p2p-ld">
<h1>p2p-ld<a class="headerlink" href="#p2p-ld" title="Permalink to this heading">#</a></h1>
<p>All of this is very work in progress :) plz do not rely on any of the descriptions or statements here, as they are all effectively provisional.</p>
<p>This site describes the implementation of the p2p linked data protocol in <span id="id1">[<a class="reference internal" href="references.html#id13" title="Jonny L. Saunders. Decentralized Infrastructure for (Neuro)science. 2022-08-31. URL: http://arxiv.org/abs/2209.07493 (visited on 2023-03-01), arXiv:2209.07493, doi:10.48550/arXiv.2209.07493.">Saunders, 2022</a>]</span></p>
<p>This site describes the implementation of the p2p linked data protocol in <span id="id1">[<a class="reference internal" href="references.html#id15" title="Jonny L. Saunders. Decentralized Infrastructure for (Neuro)science. 2022-08-31. URL: http://arxiv.org/abs/2209.07493 (visited on 2023-03-01), arXiv:2209.07493, doi:10.48550/arXiv.2209.07493.">Saunders, 2022</a>]</span></p>
<section id="document-status">
<h2>Document Status<a class="headerlink" href="#document-status" title="Permalink to this heading">#</a></h2>
<p><strong>23-06-08</strong> - Populating the <a class="reference internal" href="comparison/index.html#comparison"><span class="std std-ref">Comparison</span></a> section first to refresh myself on other projects, and starting to sketch diagrammatically in <a class="reference internal" href="sketchpad.html"><span class="doc std std-doc">Sketchpad</span></a>. The rest of the pages are just stubs to keep track of ideas before fleshing them out.</p>

Binary file not shown.

View file

@ -24,14 +24,14 @@
}
@media not print {
body[data-theme="dark"] {
--color-code-background: #202020;
--color-code-foreground: #d0d0d0;
--color-code-background: #0d1117;
--color-code-foreground: #e6edf3;
}
@media (prefers-color-scheme: dark) {
body:not([data-theme="light"]) {
--color-code-background: #202020;
--color-code-foreground: #d0d0d0;
--color-code-background: #0d1117;
--color-code-foreground: #e6edf3;
}
}
@ -180,13 +180,15 @@
<li class="toctree-l3"><a class="reference internal" href="comparison/ld/rdf.html">RDF and Friends</a></li>
<li class="toctree-l3"><a class="reference internal" href="comparison/ld/solid.html">SOLID</a></li>
<li class="toctree-l3"><a class="reference internal" href="comparison/ld/ld_fragments.html">Linked Data Fragments</a></li>
<li class="toctree-l3"><a class="reference internal" href="comparison/ld/hdt.html">HDT</a></li>
<li class="toctree-l3"><a class="reference internal" href="comparison/ld/ld_platform.html">Linked Data Platform</a></li>
<li class="toctree-l3"><a class="reference internal" href="comparison/ld/nanopubs.html">NanoPubs</a></li>
</ul>
</li>
<li class="toctree-l2 has-children"><a class="reference internal" href="comparison/data/index.html">Data Structures</a><input class="toctree-checkbox" id="toctree-checkbox-5" name="toctree-checkbox-5" role="switch" type="checkbox"/><label for="toctree-checkbox-5"><div class="visually-hidden">Toggle navigation of Data Structures</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul>
<li class="toctree-l3"><a class="reference internal" href="comparison/data/eris.html">ERIS</a></li>
<li class="toctree-l3"><a class="reference internal" href="comparison/data/datalad.html">DataLad</a></li>
<li class="toctree-l3"><a class="reference internal" href="comparison/data/dmc.html">DMC</a></li>
<li class="toctree-l3"><a class="reference internal" href="comparison/data/eris.html">ERIS</a></li>
</ul>
</li>
</ul>
@ -212,7 +214,10 @@
<p class="caption" role="heading"><span class="caption-text">Ecosystem</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="triplets.html">Triplets</a></li>
<li class="toctree-l1"><a class="reference internal" href="adapter/index.html">Adapter</a></li>
<li class="toctree-l1 has-children"><a class="reference internal" href="codecs/index.html">Codecs</a><input class="toctree-checkbox" id="toctree-checkbox-6" name="toctree-checkbox-6" role="switch" type="checkbox"/><label for="toctree-checkbox-6"><div class="visually-hidden">Toggle navigation of Codecs</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul>
<li class="toctree-l2"><a class="reference internal" href="codecs/hdf5.html">HDF5</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="translation/index.html">Translation</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">Drafting</span></p>

View file

@ -24,14 +24,14 @@
}
@media not print {
body[data-theme="dark"] {
--color-code-background: #202020;
--color-code-foreground: #d0d0d0;
--color-code-background: #0d1117;
--color-code-foreground: #e6edf3;
}
@media (prefers-color-scheme: dark) {
body:not([data-theme="light"]) {
--color-code-background: #202020;
--color-code-foreground: #d0d0d0;
--color-code-background: #0d1117;
--color-code-foreground: #e6edf3;
}
}
@ -180,13 +180,15 @@
<li class="toctree-l3"><a class="reference internal" href="comparison/ld/rdf.html">RDF and Friends</a></li>
<li class="toctree-l3"><a class="reference internal" href="comparison/ld/solid.html">SOLID</a></li>
<li class="toctree-l3"><a class="reference internal" href="comparison/ld/ld_fragments.html">Linked Data Fragments</a></li>
<li class="toctree-l3"><a class="reference internal" href="comparison/ld/hdt.html">HDT</a></li>
<li class="toctree-l3"><a class="reference internal" href="comparison/ld/ld_platform.html">Linked Data Platform</a></li>
<li class="toctree-l3"><a class="reference internal" href="comparison/ld/nanopubs.html">NanoPubs</a></li>
</ul>
</li>
<li class="toctree-l2 has-children"><a class="reference internal" href="comparison/data/index.html">Data Structures</a><input class="toctree-checkbox" id="toctree-checkbox-5" name="toctree-checkbox-5" role="switch" type="checkbox"/><label for="toctree-checkbox-5"><div class="visually-hidden">Toggle navigation of Data Structures</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul>
<li class="toctree-l3"><a class="reference internal" href="comparison/data/eris.html">ERIS</a></li>
<li class="toctree-l3"><a class="reference internal" href="comparison/data/datalad.html">DataLad</a></li>
<li class="toctree-l3"><a class="reference internal" href="comparison/data/dmc.html">DMC</a></li>
<li class="toctree-l3"><a class="reference internal" href="comparison/data/eris.html">ERIS</a></li>
</ul>
</li>
</ul>
@ -212,7 +214,10 @@
<p class="caption" role="heading"><span class="caption-text">Ecosystem</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="triplets.html">Triplets</a></li>
<li class="toctree-l1"><a class="reference internal" href="adapter/index.html">Adapter</a></li>
<li class="toctree-l1 has-children"><a class="reference internal" href="codecs/index.html">Codecs</a><input class="toctree-checkbox" id="toctree-checkbox-6" name="toctree-checkbox-6" role="switch" type="checkbox"/><label for="toctree-checkbox-6"><div class="visually-hidden">Toggle navigation of Codecs</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul>
<li class="toctree-l2"><a class="reference internal" href="codecs/hdf5.html">HDF5</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="translation/index.html">Translation</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">Drafting</span></p>

View file

@ -3,7 +3,7 @@
<head><meta charset="utf-8"/>
<meta name="viewport" content="width=device-width,initial-scale=1"/>
<meta name="color-scheme" content="light dark"><meta name="generator" content="Docutils 0.19: https://docutils.sourceforge.io/" />
<link rel="index" title="Index" href="genindex.html" /><link rel="search" title="Search" href="search.html" /><link rel="next" title="Out of Scope" href="out_of_scope.html" /><link rel="prev" title="DMC" href="comparison/data/dmc.html" />
<link rel="index" title="Index" href="genindex.html" /><link rel="search" title="Search" href="search.html" /><link rel="next" title="Out of Scope" href="out_of_scope.html" /><link rel="prev" title="ERIS" href="comparison/data/eris.html" />
<link rel="canonical" href="/docs/p2p_concepts.html" />
<!-- Generated with Sphinx 6.2.1 and Furo 2023.05.20 -->
@ -24,14 +24,14 @@
}
@media not print {
body[data-theme="dark"] {
--color-code-background: #202020;
--color-code-foreground: #d0d0d0;
--color-code-background: #0d1117;
--color-code-foreground: #e6edf3;
}
@media (prefers-color-scheme: dark) {
body:not([data-theme="light"]) {
--color-code-background: #202020;
--color-code-foreground: #d0d0d0;
--color-code-background: #0d1117;
--color-code-foreground: #e6edf3;
}
}
@ -180,13 +180,15 @@
<li class="toctree-l3"><a class="reference internal" href="comparison/ld/rdf.html">RDF and Friends</a></li>
<li class="toctree-l3"><a class="reference internal" href="comparison/ld/solid.html">SOLID</a></li>
<li class="toctree-l3"><a class="reference internal" href="comparison/ld/ld_fragments.html">Linked Data Fragments</a></li>
<li class="toctree-l3"><a class="reference internal" href="comparison/ld/hdt.html">HDT</a></li>
<li class="toctree-l3"><a class="reference internal" href="comparison/ld/ld_platform.html">Linked Data Platform</a></li>
<li class="toctree-l3"><a class="reference internal" href="comparison/ld/nanopubs.html">NanoPubs</a></li>
</ul>
</li>
<li class="toctree-l2 has-children"><a class="reference internal" href="comparison/data/index.html">Data Structures</a><input class="toctree-checkbox" id="toctree-checkbox-5" name="toctree-checkbox-5" role="switch" type="checkbox"/><label for="toctree-checkbox-5"><div class="visually-hidden">Toggle navigation of Data Structures</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul>
<li class="toctree-l3"><a class="reference internal" href="comparison/data/eris.html">ERIS</a></li>
<li class="toctree-l3"><a class="reference internal" href="comparison/data/datalad.html">DataLad</a></li>
<li class="toctree-l3"><a class="reference internal" href="comparison/data/dmc.html">DMC</a></li>
<li class="toctree-l3"><a class="reference internal" href="comparison/data/eris.html">ERIS</a></li>
</ul>
</li>
</ul>
@ -212,7 +214,10 @@
<p class="caption" role="heading"><span class="caption-text">Ecosystem</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="triplets.html">Triplets</a></li>
<li class="toctree-l1"><a class="reference internal" href="adapter/index.html">Adapter</a></li>
<li class="toctree-l1 has-children"><a class="reference internal" href="codecs/index.html">Codecs</a><input class="toctree-checkbox" id="toctree-checkbox-6" name="toctree-checkbox-6" role="switch" type="checkbox"/><label for="toctree-checkbox-6"><div class="visually-hidden">Toggle navigation of Codecs</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul>
<li class="toctree-l2"><a class="reference internal" href="codecs/hdf5.html">HDF5</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="translation/index.html">Translation</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">Drafting</span></p>
@ -293,14 +298,14 @@
</div>
<svg class="furo-related-icon"><use href="#svg-arrow-right"></use></svg>
</a>
<a class="prev-page" href="comparison/data/dmc.html">
<a class="prev-page" href="comparison/data/eris.html">
<svg class="furo-related-icon"><use href="#svg-arrow-right"></use></svg>
<div class="page-info">
<div class="context">
<span>Previous</span>
</div>
<div class="title">DMC</div>
<div class="title">ERIS</div>
</div>
</a>

View file

@ -24,14 +24,14 @@
}
@media not print {
body[data-theme="dark"] {
--color-code-background: #202020;
--color-code-foreground: #d0d0d0;
--color-code-background: #0d1117;
--color-code-foreground: #e6edf3;
}
@media (prefers-color-scheme: dark) {
body:not([data-theme="light"]) {
--color-code-background: #202020;
--color-code-foreground: #d0d0d0;
--color-code-background: #0d1117;
--color-code-foreground: #e6edf3;
}
}
@ -180,13 +180,15 @@
<li class="toctree-l3"><a class="reference internal" href="comparison/ld/rdf.html">RDF and Friends</a></li>
<li class="toctree-l3"><a class="reference internal" href="comparison/ld/solid.html">SOLID</a></li>
<li class="toctree-l3"><a class="reference internal" href="comparison/ld/ld_fragments.html">Linked Data Fragments</a></li>
<li class="toctree-l3"><a class="reference internal" href="comparison/ld/hdt.html">HDT</a></li>
<li class="toctree-l3"><a class="reference internal" href="comparison/ld/ld_platform.html">Linked Data Platform</a></li>
<li class="toctree-l3"><a class="reference internal" href="comparison/ld/nanopubs.html">NanoPubs</a></li>
</ul>
</li>
<li class="toctree-l2 has-children"><a class="reference internal" href="comparison/data/index.html">Data Structures</a><input class="toctree-checkbox" id="toctree-checkbox-5" name="toctree-checkbox-5" role="switch" type="checkbox"/><label for="toctree-checkbox-5"><div class="visually-hidden">Toggle navigation of Data Structures</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul>
<li class="toctree-l3"><a class="reference internal" href="comparison/data/eris.html">ERIS</a></li>
<li class="toctree-l3"><a class="reference internal" href="comparison/data/datalad.html">DataLad</a></li>
<li class="toctree-l3"><a class="reference internal" href="comparison/data/dmc.html">DMC</a></li>
<li class="toctree-l3"><a class="reference internal" href="comparison/data/eris.html">ERIS</a></li>
</ul>
</li>
</ul>
@ -212,7 +214,10 @@
<p class="caption" role="heading"><span class="caption-text">Ecosystem</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="triplets.html">Triplets</a></li>
<li class="toctree-l1"><a class="reference internal" href="adapter/index.html">Adapter</a></li>
<li class="toctree-l1 has-children"><a class="reference internal" href="codecs/index.html">Codecs</a><input class="toctree-checkbox" id="toctree-checkbox-6" name="toctree-checkbox-6" role="switch" type="checkbox"/><label for="toctree-checkbox-6"><div class="visually-hidden">Toggle navigation of Codecs</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul>
<li class="toctree-l2"><a class="reference internal" href="codecs/hdf5.html">HDF5</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="translation/index.html">Translation</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">Drafting</span></p>

View file

@ -24,14 +24,14 @@
}
@media not print {
body[data-theme="dark"] {
--color-code-background: #202020;
--color-code-foreground: #d0d0d0;
--color-code-background: #0d1117;
--color-code-foreground: #e6edf3;
}
@media (prefers-color-scheme: dark) {
body:not([data-theme="light"]) {
--color-code-background: #202020;
--color-code-foreground: #d0d0d0;
--color-code-background: #0d1117;
--color-code-foreground: #e6edf3;
}
}
@ -180,13 +180,15 @@
<li class="toctree-l3"><a class="reference internal" href="comparison/ld/rdf.html">RDF and Friends</a></li>
<li class="toctree-l3"><a class="reference internal" href="comparison/ld/solid.html">SOLID</a></li>
<li class="toctree-l3"><a class="reference internal" href="comparison/ld/ld_fragments.html">Linked Data Fragments</a></li>
<li class="toctree-l3"><a class="reference internal" href="comparison/ld/hdt.html">HDT</a></li>
<li class="toctree-l3"><a class="reference internal" href="comparison/ld/ld_platform.html">Linked Data Platform</a></li>
<li class="toctree-l3"><a class="reference internal" href="comparison/ld/nanopubs.html">NanoPubs</a></li>
</ul>
</li>
<li class="toctree-l2 has-children"><a class="reference internal" href="comparison/data/index.html">Data Structures</a><input class="toctree-checkbox" id="toctree-checkbox-5" name="toctree-checkbox-5" role="switch" type="checkbox"/><label for="toctree-checkbox-5"><div class="visually-hidden">Toggle navigation of Data Structures</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul>
<li class="toctree-l3"><a class="reference internal" href="comparison/data/eris.html">ERIS</a></li>
<li class="toctree-l3"><a class="reference internal" href="comparison/data/datalad.html">DataLad</a></li>
<li class="toctree-l3"><a class="reference internal" href="comparison/data/dmc.html">DMC</a></li>
<li class="toctree-l3"><a class="reference internal" href="comparison/data/eris.html">ERIS</a></li>
</ul>
</li>
</ul>
@ -212,7 +214,10 @@
<p class="caption" role="heading"><span class="caption-text">Ecosystem</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="triplets.html">Triplets</a></li>
<li class="toctree-l1"><a class="reference internal" href="adapter/index.html">Adapter</a></li>
<li class="toctree-l1 has-children"><a class="reference internal" href="codecs/index.html">Codecs</a><input class="toctree-checkbox" id="toctree-checkbox-6" name="toctree-checkbox-6" role="switch" type="checkbox"/><label for="toctree-checkbox-6"><div class="visually-hidden">Toggle navigation of Codecs</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul>
<li class="toctree-l2"><a class="reference internal" href="codecs/hdf5.html">HDF5</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="translation/index.html">Translation</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">Drafting</span></p>

View file

@ -24,14 +24,14 @@
}
@media not print {
body[data-theme="dark"] {
--color-code-background: #202020;
--color-code-foreground: #d0d0d0;
--color-code-background: #0d1117;
--color-code-foreground: #e6edf3;
}
@media (prefers-color-scheme: dark) {
body:not([data-theme="light"]) {
--color-code-background: #202020;
--color-code-foreground: #d0d0d0;
--color-code-background: #0d1117;
--color-code-foreground: #e6edf3;
}
}
@ -180,13 +180,15 @@
<li class="toctree-l3"><a class="reference internal" href="comparison/ld/rdf.html">RDF and Friends</a></li>
<li class="toctree-l3"><a class="reference internal" href="comparison/ld/solid.html">SOLID</a></li>
<li class="toctree-l3"><a class="reference internal" href="comparison/ld/ld_fragments.html">Linked Data Fragments</a></li>
<li class="toctree-l3"><a class="reference internal" href="comparison/ld/hdt.html">HDT</a></li>
<li class="toctree-l3"><a class="reference internal" href="comparison/ld/ld_platform.html">Linked Data Platform</a></li>
<li class="toctree-l3"><a class="reference internal" href="comparison/ld/nanopubs.html">NanoPubs</a></li>
</ul>
</li>
<li class="toctree-l2 has-children"><a class="reference internal" href="comparison/data/index.html">Data Structures</a><input class="toctree-checkbox" id="toctree-checkbox-5" name="toctree-checkbox-5" role="switch" type="checkbox"/><label for="toctree-checkbox-5"><div class="visually-hidden">Toggle navigation of Data Structures</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul>
<li class="toctree-l3"><a class="reference internal" href="comparison/data/eris.html">ERIS</a></li>
<li class="toctree-l3"><a class="reference internal" href="comparison/data/datalad.html">DataLad</a></li>
<li class="toctree-l3"><a class="reference internal" href="comparison/data/dmc.html">DMC</a></li>
<li class="toctree-l3"><a class="reference internal" href="comparison/data/eris.html">ERIS</a></li>
</ul>
</li>
</ul>
@ -212,7 +214,10 @@
<p class="caption" role="heading"><span class="caption-text">Ecosystem</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="triplets.html">Triplets</a></li>
<li class="toctree-l1"><a class="reference internal" href="adapter/index.html">Adapter</a></li>
<li class="toctree-l1 has-children"><a class="reference internal" href="codecs/index.html">Codecs</a><input class="toctree-checkbox" id="toctree-checkbox-6" name="toctree-checkbox-6" role="switch" type="checkbox"/><label for="toctree-checkbox-6"><div class="visually-hidden">Toggle navigation of Codecs</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul>
<li class="toctree-l2"><a class="reference internal" href="codecs/hdf5.html">HDF5</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="translation/index.html">Translation</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">Drafting</span></p>
@ -261,11 +266,11 @@
<section id="references">
<h1>References<a class="headerlink" href="#references" title="Permalink to this heading">#</a></h1>
<div class="docutils container" id="id1">
<div class="citation" id="id13" role="doc-biblioentry">
<div class="citation" id="id15" role="doc-biblioentry">
<span class="label"><span class="fn-bracket">[</span>1<span class="fn-bracket">]</span></span>
<p>Jonny L. Saunders. Decentralized Infrastructure for (Neuro)science. 2022-08-31. URL: <a class="reference external" href="http://arxiv.org/abs/2209.07493">http://arxiv.org/abs/2209.07493</a> (visited on 2023-03-01), <a class="reference external" href="https://arxiv.org/abs/2209.07493">arXiv:2209.07493</a>, <a class="reference external" href="https://doi.org/10.48550/arXiv.2209.07493">doi:10.48550/arXiv.2209.07493</a>.</p>
</div>
<div class="citation" id="id8" role="doc-biblioentry">
<div class="citation" id="id9" role="doc-biblioentry">
<span class="label"><span class="fn-bracket">[</span>2<span class="fn-bracket">]</span></span>
<p>Arnaud Legout, G. Urvoy-Keller, and P. Michiardi. Rarest first and choke algorithms are enough. In <em>Proceedings of the 6th ACM SIGCOMM on Internet Measurement - IMC '06</em>, 203. ACM Press, 2006. URL: <a class="reference external" href="http://portal.acm.org/citation.cfm?doid=1177080.1177106">http://portal.acm.org/citation.cfm?doid=1177080.1177106</a> (visited on 2018-11-09), <a class="reference external" href="https://doi.org/10.1145/1177080.1177106">doi:10.1145/1177080.1177106</a>.</p>
</div>
@ -273,40 +278,48 @@
<span class="label"><span class="fn-bracket">[</span>3<span class="fn-bracket">]</span></span>
<p>Bram Cohen. Incentives Build Robustness in BitTorrent. 2003-05-22. URL: <a class="reference external" href="http://bittorrent.org/bittorrentecon.pdf">http://bittorrent.org/bittorrentecon.pdf</a>.</p>
</div>
<div class="citation" id="id12" role="doc-biblioentry">
<div class="citation" id="id13" role="doc-biblioentry">
<span class="label"><span class="fn-bracket">[</span>4<span class="fn-bracket">]</span></span>
<p>Maxwell Ogden. Dat - Distributed Dataset Synchronization And Versioning. 2017-01-31. URL: <a class="reference external" href="https://osf.io/nsv2c">https://osf.io/nsv2c</a> (visited on 2021-10-01), <a class="reference external" href="https://doi.org/10.31219/osf.io/nsv2c">doi:10.31219/osf.io/nsv2c</a>.</p>
</div>
<div class="citation" id="id9" role="doc-biblioentry">
<div class="citation" id="id10" role="doc-biblioentry">
<span class="label"><span class="fn-bracket">[</span>5<span class="fn-bracket">]</span></span>
<p>Christine Lemmer-Webber, Randy Farmer, and Juliana Sims. The Heart of Spritely: Distributed Objects and Capability Security. URL: <a class="reference external" href="https://www.spritely.institute/static/papers/spritely-core.html">https://www.spritely.institute/static/papers/spritely-core.html</a> (visited on 2023-06-07).</p>
</div>
<div class="citation" id="id14" role="doc-biblioentry">
<div class="citation" id="id16" role="doc-biblioentry">
<span class="label"><span class="fn-bracket">[</span>6<span class="fn-bracket">]</span></span>
<p>Jonny L. Saunders. Surveillance Graphs. 2023-04-02T00:00:00+00:00. URL: <a class="reference external" href="https://jon-e.net/surveillance-graphs">https://jon-e.net/surveillance-graphs</a> (visited on 2023-06-08), <a class="reference external" href="https://arxiv.org/abs/hc:54749">arXiv:hc:54749</a>, <a class="reference external" href="https://doi.org/10.17613/syv8-cp10">doi:10.17613/syv8-cp10</a>.</p>
</div>
<div class="citation" id="id16" role="doc-biblioentry">
<div class="citation" id="id14" role="doc-biblioentry">
<span class="label"><span class="fn-bracket">[</span>7<span class="fn-bracket">]</span></span>
<p>Axel Polleres, Maulik Rajendra Kamdar, Javier David Fernández, Tania Tudorache, and Mark Alan Musen. A more decentralized vision for Linked Data. <em>Semantic Web</em>, 11(1):101113, 2020-01-31. URL: <a class="reference external" href="https://www.medra.org/servlet/aliasResolver?alias=iospress&amp;doi=10.3233/SW-190380">https://www.medra.org/servlet/aliasResolver?alias=iospress&amp;doi=10.3233/SW-190380</a> (visited on 2023-06-29), <a class="reference external" href="https://doi.org/10.3233/SW-190380">doi:10.3233/SW-190380</a>.</p>
</div>
<div class="citation" id="id18" role="doc-biblioentry">
<span class="label"><span class="fn-bracket">[</span>8<span class="fn-bracket">]</span></span>
<p>Jeremy Tandy, Ivan Herman, and Gregg Kellogg. Generating RDF from Tabular Data on the Web. 2015-12-17. URL: <a class="reference external" href="https://www.w3.org/TR/csv2rdf/">https://www.w3.org/TR/csv2rdf/</a> (visited on 2023-06-28).</p>
</div>
<div class="citation" id="id2" role="doc-biblioentry">
<span class="label"><span class="fn-bracket">[</span>8<span class="fn-bracket">]</span></span>
<span class="label"><span class="fn-bracket">[</span>9<span class="fn-bracket">]</span></span>
<p>Victor Charpenay, Maxime Lefrançois, and María Poveda Villalón. JSON Schema in RDF. 2023-06-14. URL: <a class="reference external" href="https://www.w3.org/2019/wot/json-schema">https://www.w3.org/2019/wot/json-schema</a> (visited on 2023-06-28).</p>
</div>
<div class="citation" id="id10" role="doc-biblioentry">
<span class="label"><span class="fn-bracket">[</span>9<span class="fn-bracket">]</span></span>
<div class="citation" id="id11" role="doc-biblioentry">
<span class="label"><span class="fn-bracket">[</span>10<span class="fn-bracket">]</span></span>
<p>Sierra Moxon, Harold Solbrig, Deepak Unni, Dazhi Jiao, Richard Bruskiewich, James Balhoff, Gaurav Vaidya, William Duncan, Harshad Hegde, Mark Miller, Matthew Brush, Nomi Harris, Melissa Haendel, and Christopher Mungall. The linked data modeling language (linkml): a general-purpose data modeling framework grounded in machine-readable semantics. In <em>CEUR Workshop Proceedings</em>, volume 3073, 148151. CEUR-WS, 2021. URL: <a class="reference external" href="https://pure.johnshopkins.edu/en/publications/the-linked-data-modeling-language-linkml-a-general-purpose-data-m">https://pure.johnshopkins.edu/en/publications/the-linked-data-modeling-language-linkml-a-general-purpose-data-m</a> (visited on 2023-06-28).</p>
</div>
<div class="citation" id="id18" role="doc-biblioentry">
<span class="label"><span class="fn-bracket">[</span>10<span class="fn-bracket">]</span></span>
<div class="citation" id="id20" role="doc-biblioentry">
<span class="label"><span class="fn-bracket">[</span>11<span class="fn-bracket">]</span></span>
<p>Ruben Verborgh, Sam Coppens, Miel Vander Sande, Erik Mannens, Pieter Colpaert, and Rik Van de Walle. Web-Scale Querying through Linked Data Fragments. In <em>Proceedings of the 7th Workshop on Linked Data on the Web</em>. 2014-04-08.</p>
</div>
<div class="citation" id="id17" role="doc-biblioentry">
<span class="label"><span class="fn-bracket">[</span>11<span class="fn-bracket">]</span></span>
<div class="citation" id="id19" role="doc-biblioentry">
<span class="label"><span class="fn-bracket">[</span>12<span class="fn-bracket">]</span></span>
<p>Ruben Verborgh, Miel Vander Sande, Olaf Hartig, Joachim Van Herwegen, Laurens De Vocht, Ben De Meester, Gerald Haesendonck, and Pieter Colpaert. Triple Pattern Fragments: A low-cost knowledge graph interface for the Web. <em>Journal of Web Semantics</em>, 3738:184206, 2016-03. URL: <a class="reference external" href="https://linkinghub.elsevier.com/retrieve/pii/S1570826816000214">https://linkinghub.elsevier.com/retrieve/pii/S1570826816000214</a> (visited on 2023-06-08), <a class="reference external" href="https://doi.org/10.1016/j.websem.2016.03.003">doi:10.1016/j.websem.2016.03.003</a>.</p>
</div>
<div class="citation" id="id6" role="doc-biblioentry">
<span class="label"><span class="fn-bracket">[</span>12<span class="fn-bracket">]</span></span>
<span class="label"><span class="fn-bracket">[</span>13<span class="fn-bracket">]</span></span>
<p>Javier D. Fernández, Miguel A. Martínez-Prieto, Claudio Gutiérrez, Axel Polleres, and Mario Arias. Binary RDF representation for publication and exchange (HDT). <em>Journal of Web Semantics</em>, 19:2241, 2013-03-01. URL: <a class="reference external" href="https://www.sciencedirect.com/science/article/pii/S1570826813000036">https://www.sciencedirect.com/science/article/pii/S1570826813000036</a> (visited on 2023-06-29), <a class="reference external" href="https://doi.org/10.1016/j.websem.2013.01.002">doi:10.1016/j.websem.2013.01.002</a>.</p>
</div>
<div class="citation" id="id7" role="doc-biblioentry">
<span class="label"><span class="fn-bracket">[</span>14<span class="fn-bracket">]</span></span>
<p>John Kunze, Scout Calvert, Jeremy D. DeBarry, Matthew Hanlon, Greg Janée, and Sandra Sweat. Persistence Statements: Describing Digital Stickiness. <em>Data Science Journal</em>, 16(0):39, 2017-08-14. URL: <a class="reference external" href="http://datascience.codata.org/articles/10.5334/dsj-2017-039/">http://datascience.codata.org/articles/10.5334/dsj-2017-039/</a> (visited on 2022-09-07), <a class="reference external" href="https://doi.org/10.5334/dsj-2017-039">doi:10.5334/dsj-2017-039</a>.</p>
</div>
</div>

View file

@ -21,14 +21,14 @@
}
@media not print {
body[data-theme="dark"] {
--color-code-background: #202020;
--color-code-foreground: #d0d0d0;
--color-code-background: #0d1117;
--color-code-foreground: #e6edf3;
}
@media (prefers-color-scheme: dark) {
body:not([data-theme="light"]) {
--color-code-background: #202020;
--color-code-foreground: #d0d0d0;
--color-code-background: #0d1117;
--color-code-foreground: #e6edf3;
}
}
@ -177,13 +177,15 @@
<li class="toctree-l3"><a class="reference internal" href="comparison/ld/rdf.html">RDF and Friends</a></li>
<li class="toctree-l3"><a class="reference internal" href="comparison/ld/solid.html">SOLID</a></li>
<li class="toctree-l3"><a class="reference internal" href="comparison/ld/ld_fragments.html">Linked Data Fragments</a></li>
<li class="toctree-l3"><a class="reference internal" href="comparison/ld/hdt.html">HDT</a></li>
<li class="toctree-l3"><a class="reference internal" href="comparison/ld/ld_platform.html">Linked Data Platform</a></li>
<li class="toctree-l3"><a class="reference internal" href="comparison/ld/nanopubs.html">NanoPubs</a></li>
</ul>
</li>
<li class="toctree-l2 has-children"><a class="reference internal" href="comparison/data/index.html">Data Structures</a><input class="toctree-checkbox" id="toctree-checkbox-5" name="toctree-checkbox-5" role="switch" type="checkbox"/><label for="toctree-checkbox-5"><div class="visually-hidden">Toggle navigation of Data Structures</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul>
<li class="toctree-l3"><a class="reference internal" href="comparison/data/eris.html">ERIS</a></li>
<li class="toctree-l3"><a class="reference internal" href="comparison/data/datalad.html">DataLad</a></li>
<li class="toctree-l3"><a class="reference internal" href="comparison/data/dmc.html">DMC</a></li>
<li class="toctree-l3"><a class="reference internal" href="comparison/data/eris.html">ERIS</a></li>
</ul>
</li>
</ul>
@ -209,7 +211,10 @@
<p class="caption" role="heading"><span class="caption-text">Ecosystem</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="triplets.html">Triplets</a></li>
<li class="toctree-l1"><a class="reference internal" href="adapter/index.html">Adapter</a></li>
<li class="toctree-l1 has-children"><a class="reference internal" href="codecs/index.html">Codecs</a><input class="toctree-checkbox" id="toctree-checkbox-6" name="toctree-checkbox-6" role="switch" type="checkbox"/><label for="toctree-checkbox-6"><div class="visually-hidden">Toggle navigation of Codecs</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul>
<li class="toctree-l2"><a class="reference internal" href="codecs/hdf5.html">HDF5</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="translation/index.html">Translation</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">Drafting</span></p>

File diff suppressed because one or more lines are too long

View file

@ -24,14 +24,14 @@
}
@media not print {
body[data-theme="dark"] {
--color-code-background: #202020;
--color-code-foreground: #d0d0d0;
--color-code-background: #0d1117;
--color-code-foreground: #e6edf3;
}
@media (prefers-color-scheme: dark) {
body:not([data-theme="light"]) {
--color-code-background: #202020;
--color-code-foreground: #d0d0d0;
--color-code-background: #0d1117;
--color-code-foreground: #e6edf3;
}
}
@ -180,13 +180,15 @@
<li class="toctree-l3"><a class="reference internal" href="comparison/ld/rdf.html">RDF and Friends</a></li>
<li class="toctree-l3"><a class="reference internal" href="comparison/ld/solid.html">SOLID</a></li>
<li class="toctree-l3"><a class="reference internal" href="comparison/ld/ld_fragments.html">Linked Data Fragments</a></li>
<li class="toctree-l3"><a class="reference internal" href="comparison/ld/hdt.html">HDT</a></li>
<li class="toctree-l3"><a class="reference internal" href="comparison/ld/ld_platform.html">Linked Data Platform</a></li>
<li class="toctree-l3"><a class="reference internal" href="comparison/ld/nanopubs.html">NanoPubs</a></li>
</ul>
</li>
<li class="toctree-l2 has-children"><a class="reference internal" href="comparison/data/index.html">Data Structures</a><input class="toctree-checkbox" id="toctree-checkbox-5" name="toctree-checkbox-5" role="switch" type="checkbox"/><label for="toctree-checkbox-5"><div class="visually-hidden">Toggle navigation of Data Structures</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul>
<li class="toctree-l3"><a class="reference internal" href="comparison/data/eris.html">ERIS</a></li>
<li class="toctree-l3"><a class="reference internal" href="comparison/data/datalad.html">DataLad</a></li>
<li class="toctree-l3"><a class="reference internal" href="comparison/data/dmc.html">DMC</a></li>
<li class="toctree-l3"><a class="reference internal" href="comparison/data/eris.html">ERIS</a></li>
</ul>
</li>
</ul>
@ -212,7 +214,10 @@
<p class="caption" role="heading"><span class="caption-text">Ecosystem</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="triplets.html">Triplets</a></li>
<li class="toctree-l1"><a class="reference internal" href="adapter/index.html">Adapter</a></li>
<li class="toctree-l1 has-children"><a class="reference internal" href="codecs/index.html">Codecs</a><input class="toctree-checkbox" id="toctree-checkbox-6" name="toctree-checkbox-6" role="switch" type="checkbox"/><label for="toctree-checkbox-6"><div class="visually-hidden">Toggle navigation of Codecs</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul>
<li class="toctree-l2"><a class="reference internal" href="codecs/hdf5.html">HDF5</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="translation/index.html">Translation</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">Drafting</span></p>

View file

@ -1,329 +0,0 @@
<!doctype html>
<html class="no-js" lang="en">
<head><meta charset="utf-8"/>
<meta name="viewport" content="width=device-width,initial-scale=1"/>
<meta name="color-scheme" content="light dark"><meta name="generator" content="Docutils 0.19: https://docutils.sourceforge.io/" />
<link rel="index" title="Index" href="genindex.html" /><link rel="search" title="Search" href="search.html" />
<link rel="canonical" href="/docs/translation.html" />
<!-- Generated with Sphinx 6.2.1 and Furo 2023.05.20 -->
<title>Translation - p2p-ld 0.1.0 documentation</title>
<link rel="stylesheet" type="text/css" href="_static/pygments.css" />
<link rel="stylesheet" type="text/css" href="_static/styles/furo.css?digest=e6660623a769aa55fea372102b9bf3151b292993" />
<link rel="stylesheet" type="text/css" href="_static/design-style.1e8bd061cd6da7fc9cf755528e8ffc24.min.css" />
<link rel="stylesheet" type="text/css" href="_static/styles/furo-extensions.css?digest=30d1aed668e5c3a91c3e3bf6a60b675221979f0e" />
<style>
body {
--color-code-background: #f8f8f8;
--color-code-foreground: black;
}
@media not print {
body[data-theme="dark"] {
--color-code-background: #202020;
--color-code-foreground: #d0d0d0;
}
@media (prefers-color-scheme: dark) {
body:not([data-theme="light"]) {
--color-code-background: #202020;
--color-code-foreground: #d0d0d0;
}
}
}
</style></head>
<body>
<script>
document.body.dataset.theme = localStorage.getItem("theme") || "auto";
</script>
<svg xmlns="http://www.w3.org/2000/svg" style="display: none;">
<symbol id="svg-toc" viewBox="0 0 24 24">
<title>Contents</title>
<svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 1024 1024">
<path d="M408 442h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm-8 204c0 4.4 3.6 8 8 8h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56zm504-486H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 632H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM115.4 518.9L271.7 642c5.8 4.6 14.4.5 14.4-6.9V388.9c0-7.4-8.5-11.5-14.4-6.9L115.4 505.1a8.74 8.74 0 0 0 0 13.8z"/>
</svg>
</symbol>
<symbol id="svg-menu" viewBox="0 0 24 24">
<title>Menu</title>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather-menu">
<line x1="3" y1="12" x2="21" y2="12"></line>
<line x1="3" y1="6" x2="21" y2="6"></line>
<line x1="3" y1="18" x2="21" y2="18"></line>
</svg>
</symbol>
<symbol id="svg-arrow-right" viewBox="0 0 24 24">
<title>Expand</title>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather-chevron-right">
<polyline points="9 18 15 12 9 6"></polyline>
</svg>
</symbol>
<symbol id="svg-sun" viewBox="0 0 24 24">
<title>Light mode</title>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="feather-sun">
<circle cx="12" cy="12" r="5"></circle>
<line x1="12" y1="1" x2="12" y2="3"></line>
<line x1="12" y1="21" x2="12" y2="23"></line>
<line x1="4.22" y1="4.22" x2="5.64" y2="5.64"></line>
<line x1="18.36" y1="18.36" x2="19.78" y2="19.78"></line>
<line x1="1" y1="12" x2="3" y2="12"></line>
<line x1="21" y1="12" x2="23" y2="12"></line>
<line x1="4.22" y1="19.78" x2="5.64" y2="18.36"></line>
<line x1="18.36" y1="5.64" x2="19.78" y2="4.22"></line>
</svg>
</symbol>
<symbol id="svg-moon" viewBox="0 0 24 24">
<title>Dark mode</title>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="icon-tabler-moon">
<path stroke="none" d="M0 0h24v24H0z" fill="none" />
<path d="M12 3c.132 0 .263 0 .393 0a7.5 7.5 0 0 0 7.92 12.446a9 9 0 1 1 -8.313 -12.454z" />
</svg>
</symbol>
<symbol id="svg-sun-half" viewBox="0 0 24 24">
<title>Auto light/dark mode</title>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="icon-tabler-shadow">
<path stroke="none" d="M0 0h24v24H0z" fill="none"/>
<circle cx="12" cy="12" r="9" />
<path d="M13 12h5" />
<path d="M13 15h4" />
<path d="M13 18h1" />
<path d="M13 9h4" />
<path d="M13 6h1" />
</svg>
</symbol>
</svg>
<input type="checkbox" class="sidebar-toggle" name="__navigation" id="__navigation">
<input type="checkbox" class="sidebar-toggle" name="__toc" id="__toc">
<label class="overlay sidebar-overlay" for="__navigation">
<div class="visually-hidden">Hide navigation sidebar</div>
</label>
<label class="overlay toc-overlay" for="__toc">
<div class="visually-hidden">Hide table of contents sidebar</div>
</label>
<div class="page">
<header class="mobile-header">
<div class="header-left">
<label class="nav-overlay-icon" for="__navigation">
<div class="visually-hidden">Toggle site navigation sidebar</div>
<i class="icon"><svg><use href="#svg-menu"></use></svg></i>
</label>
</div>
<div class="header-center">
<a href="index.html"><div class="brand">p2p-ld 0.1.0 documentation</div></a>
</div>
<div class="header-right">
<div class="theme-toggle-container theme-toggle-header">
<button class="theme-toggle">
<div class="visually-hidden">Toggle Light / Dark / Auto color theme</div>
<svg class="theme-icon-when-auto"><use href="#svg-sun-half"></use></svg>
<svg class="theme-icon-when-dark"><use href="#svg-moon"></use></svg>
<svg class="theme-icon-when-light"><use href="#svg-sun"></use></svg>
</button>
</div>
<label class="toc-overlay-icon toc-header-icon" for="__toc">
<div class="visually-hidden">Toggle table of contents sidebar</div>
<i class="icon"><svg><use href="#svg-toc"></use></svg></i>
</label>
</div>
</header>
<aside class="sidebar-drawer">
<div class="sidebar-container">
<div class="sidebar-sticky"><a class="sidebar-brand" href="index.html">
<span class="sidebar-brand-text">p2p-ld 0.1.0 documentation</span>
</a><form class="sidebar-search-container" method="get" action="search.html" role="search">
<input class="sidebar-search" placeholder="Search" name="q" aria-label="Search">
<input type="hidden" name="check_keywords" value="yes">
<input type="hidden" name="area" value="default">
</form>
<div id="searchbox"></div><div class="sidebar-scroll"><div class="sidebar-tree">
<p class="caption" role="heading"><span class="caption-text">Introduction</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="overview.html">Overview</a></li>
<li class="toctree-l1 has-children"><a class="reference internal" href="comparison/index.html">Comparison</a><input class="toctree-checkbox" id="toctree-checkbox-1" name="toctree-checkbox-1" role="switch" type="checkbox"/><label for="toctree-checkbox-1"><div class="visually-hidden">Toggle navigation of Comparison</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul>
<li class="toctree-l2 has-children"><a class="reference internal" href="comparison/p2p/index.html">P2P</a><input class="toctree-checkbox" id="toctree-checkbox-2" name="toctree-checkbox-2" role="switch" type="checkbox"/><label for="toctree-checkbox-2"><div class="visually-hidden">Toggle navigation of P2P</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul>
<li class="toctree-l3"><a class="reference internal" href="comparison/p2p/bittorrent.html">BitTorrent</a></li>
<li class="toctree-l3"><a class="reference internal" href="comparison/p2p/ipfs.html">IPFS</a></li>
<li class="toctree-l3"><a class="reference internal" href="comparison/p2p/hypercore.html">Dat/Hypercore</a></li>
<li class="toctree-l3"><a class="reference internal" href="comparison/p2p/spritely.html">Spritely/Goblin</a></li>
</ul>
</li>
<li class="toctree-l2 has-children"><a class="reference internal" href="comparison/social/index.html">Social</a><input class="toctree-checkbox" id="toctree-checkbox-3" name="toctree-checkbox-3" role="switch" type="checkbox"/><label for="toctree-checkbox-3"><div class="visually-hidden">Toggle navigation of Social</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul>
<li class="toctree-l3"><a class="reference internal" href="comparison/social/activitypub.html">ActivityPub</a></li>
<li class="toctree-l3"><a class="reference internal" href="comparison/social/ssb.html">Secure Scuttlebutt</a></li>
<li class="toctree-l3"><a class="reference internal" href="comparison/social/matrix.html">Matrix</a></li>
<li class="toctree-l3"><a class="reference internal" href="comparison/social/at_protocol.html">AT Protocol/Bluesky</a></li>
<li class="toctree-l3"><a class="reference internal" href="comparison/social/nostr.html">Nostr</a></li>
<li class="toctree-l3"><a class="reference internal" href="comparison/social/xmpp.html">XMPP</a></li>
</ul>
</li>
<li class="toctree-l2 has-children"><a class="reference internal" href="comparison/ld/index.html">Linked Data</a><input class="toctree-checkbox" id="toctree-checkbox-4" name="toctree-checkbox-4" role="switch" type="checkbox"/><label for="toctree-checkbox-4"><div class="visually-hidden">Toggle navigation of Linked Data</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul>
<li class="toctree-l3"><a class="reference internal" href="comparison/ld/rdf.html">RDF and Friends</a></li>
<li class="toctree-l3"><a class="reference internal" href="comparison/ld/solid.html">SOLID</a></li>
<li class="toctree-l3"><a class="reference internal" href="comparison/ld/ld_fragments.html">Linked Data Fragments</a></li>
<li class="toctree-l3"><a class="reference internal" href="comparison/ld/ld_platform.html">Linked Data Platform</a></li>
<li class="toctree-l3"><a class="reference internal" href="comparison/ld/nanopubs.html">NanoPubs</a></li>
</ul>
</li>
<li class="toctree-l2 has-children"><a class="reference internal" href="comparison/data/index.html">Data Structures</a><input class="toctree-checkbox" id="toctree-checkbox-5" name="toctree-checkbox-5" role="switch" type="checkbox"/><label for="toctree-checkbox-5"><div class="visually-hidden">Toggle navigation of Data Structures</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul>
<li class="toctree-l3"><a class="reference internal" href="comparison/data/eris.html">ERIS</a></li>
<li class="toctree-l3"><a class="reference internal" href="comparison/data/dmc.html">DMC</a></li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="p2p_concepts.html">P2P Concepts</a></li>
<li class="toctree-l1"><a class="reference internal" href="out_of_scope.html">Out of Scope</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">Protocol</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="definitions.html">1. Definitions</a></li>
<li class="toctree-l1"><a class="reference internal" href="protocol.html">2. Protocol</a></li>
<li class="toctree-l1"><a class="reference internal" href="identity.html">3. Identity</a></li>
<li class="toctree-l1"><a class="reference internal" href="discovery.html">4. Discovery</a></li>
<li class="toctree-l1"><a class="reference internal" href="data_structures.html">5. Data Structures</a></li>
<li class="toctree-l1"><a class="reference internal" href="vocabulary.html">6. Vocabulary</a></li>
<li class="toctree-l1"><a class="reference internal" href="querying.html">7. Querying</a></li>
<li class="toctree-l1"><a class="reference internal" href="encryption.html">8. Encryption</a></li>
<li class="toctree-l1"><a class="reference internal" href="encryption.html#todo">9. TODO</a></li>
<li class="toctree-l1"><a class="reference internal" href="federation.html">10. Federation</a></li>
<li class="toctree-l1"><a class="reference internal" href="backwards_compatibility.html">11. Backwards Compatibility</a></li>
<li class="toctree-l1"><a class="reference internal" href="evolvability.html">12. Evolvability</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">Ecosystem</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="triplets.html">Triplets</a></li>
<li class="toctree-l1"><a class="reference internal" href="adapter/index.html">Adapter</a></li>
<li class="toctree-l1"><a class="reference internal" href="translation/index.html">Translation</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">Drafting</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="design.html">Design Decisions</a></li>
<li class="toctree-l1"><a class="reference internal" href="sketchpad.html">Sketchpad</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">Meta</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="genindex.html">Index</a></li>
<li class="toctree-l1"><a class="reference internal" href="references.html">References</a></li>
</ul>
</div>
</div>
</div>
</div>
</aside>
<div class="main">
<div class="content">
<div class="article-container">
<a href="#" class="back-to-top muted-link">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
<path d="M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8v12z"></path>
</svg>
<span>Back to top</span>
</a>
<div class="content-icon-container">
<div class="theme-toggle-container theme-toggle-content">
<button class="theme-toggle">
<div class="visually-hidden">Toggle Light / Dark / Auto color theme</div>
<svg class="theme-icon-when-auto"><use href="#svg-sun-half"></use></svg>
<svg class="theme-icon-when-dark"><use href="#svg-moon"></use></svg>
<svg class="theme-icon-when-light"><use href="#svg-sun"></use></svg>
</button>
</div>
<label class="toc-overlay-icon toc-content-icon" for="__toc">
<div class="visually-hidden">Toggle table of contents sidebar</div>
<i class="icon"><svg><use href="#svg-toc"></use></svg></i>
</label>
</div>
<article role="main">
<section id="translation">
<h1>Translation<a class="headerlink" href="#translation" title="Permalink to this heading">#</a></h1>
<p>A toolkit for writing translations between formats and schemas!</p>
<section id="see-also">
<h2>See also<a class="headerlink" href="#see-also" title="Permalink to this heading">#</a></h2>
<ul class="simple">
<li><p><a class="reference external" href="https://linkml.io/schema-automator/introduction.html#generalization-from-instance-data">https://linkml.io/schema-automator/introduction.html#generalization-from-instance-data</a></p></li>
<li><p><a class="reference external" href="https://apps.islab.ntua.gr/d2rml/tr/d2rml/">https://apps.islab.ntua.gr/d2rml/tr/d2rml/</a></p></li>
</ul>
</section>
</section>
</article>
</div>
<footer>
<div class="related-pages">
</div>
<div class="bottom-of-page">
<div class="left-details">
<div class="copyright">
Copyright &#169; 2023, Jonny Saunders
</div>
Made with <a href="https://www.sphinx-doc.org/">Sphinx</a> and <a class="muted-link" href="https://pradyunsg.me">@pradyunsg</a>'s
<a href="https://github.com/pradyunsg/furo">Furo</a>
</div>
<div class="right-details">
</div>
</div>
</footer>
</div>
<aside class="toc-drawer">
<div class="toc-sticky toc-scroll">
<div class="toc-title-container">
<span class="toc-title">
On this page
</span>
</div>
<div class="toc-tree-container">
<div class="toc-tree">
<ul>
<li><a class="reference internal" href="#">Translation</a><ul>
<li><a class="reference internal" href="#see-also">See also</a></li>
</ul>
</li>
</ul>
</div>
</div>
</div>
</aside>
</div>
</div><script data-url_root="./" id="documentation_options" src="_static/documentation_options.js"></script>
<script src="_static/doctools.js"></script>
<script src="_static/sphinx_highlight.js"></script>
<script src="_static/scripts/furo.js"></script>
<script src="_static/design-tabs.js"></script>
</body>
</html>

View file

@ -3,7 +3,7 @@
<head><meta charset="utf-8"/>
<meta name="viewport" content="width=device-width,initial-scale=1"/>
<meta name="color-scheme" content="light dark"><meta name="generator" content="Docutils 0.19: https://docutils.sourceforge.io/" />
<link rel="index" title="Index" href="../genindex.html" /><link rel="search" title="Search" href="../search.html" /><link rel="next" title="Design Decisions" href="../design.html" /><link rel="prev" title="Adapter" href="../adapter/index.html" />
<link rel="index" title="Index" href="../genindex.html" /><link rel="search" title="Search" href="../search.html" /><link rel="next" title="Design Decisions" href="../design.html" /><link rel="prev" title="HDF5" href="../codecs/hdf5.html" />
<link rel="canonical" href="/docs/translation/index.html" />
<!-- Generated with Sphinx 6.2.1 and Furo 2023.05.20 -->
@ -24,14 +24,14 @@
}
@media not print {
body[data-theme="dark"] {
--color-code-background: #202020;
--color-code-foreground: #d0d0d0;
--color-code-background: #0d1117;
--color-code-foreground: #e6edf3;
}
@media (prefers-color-scheme: dark) {
body:not([data-theme="light"]) {
--color-code-background: #202020;
--color-code-foreground: #d0d0d0;
--color-code-background: #0d1117;
--color-code-foreground: #e6edf3;
}
}
@ -136,7 +136,7 @@
<svg class="theme-icon-when-light"><use href="#svg-sun"></use></svg>
</button>
</div>
<label class="toc-overlay-icon toc-header-icon no-toc" for="__toc">
<label class="toc-overlay-icon toc-header-icon" for="__toc">
<div class="visually-hidden">Toggle table of contents sidebar</div>
<i class="icon"><svg><use href="#svg-toc"></use></svg></i>
</label>
@ -180,13 +180,15 @@
<li class="toctree-l3"><a class="reference internal" href="../comparison/ld/rdf.html">RDF and Friends</a></li>
<li class="toctree-l3"><a class="reference internal" href="../comparison/ld/solid.html">SOLID</a></li>
<li class="toctree-l3"><a class="reference internal" href="../comparison/ld/ld_fragments.html">Linked Data Fragments</a></li>
<li class="toctree-l3"><a class="reference internal" href="../comparison/ld/hdt.html">HDT</a></li>
<li class="toctree-l3"><a class="reference internal" href="../comparison/ld/ld_platform.html">Linked Data Platform</a></li>
<li class="toctree-l3"><a class="reference internal" href="../comparison/ld/nanopubs.html">NanoPubs</a></li>
</ul>
</li>
<li class="toctree-l2 has-children"><a class="reference internal" href="../comparison/data/index.html">Data Structures</a><input class="toctree-checkbox" id="toctree-checkbox-5" name="toctree-checkbox-5" role="switch" type="checkbox"/><label for="toctree-checkbox-5"><div class="visually-hidden">Toggle navigation of Data Structures</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul>
<li class="toctree-l3"><a class="reference internal" href="../comparison/data/eris.html">ERIS</a></li>
<li class="toctree-l3"><a class="reference internal" href="../comparison/data/datalad.html">DataLad</a></li>
<li class="toctree-l3"><a class="reference internal" href="../comparison/data/dmc.html">DMC</a></li>
<li class="toctree-l3"><a class="reference internal" href="../comparison/data/eris.html">ERIS</a></li>
</ul>
</li>
</ul>
@ -212,7 +214,10 @@
<p class="caption" role="heading"><span class="caption-text">Ecosystem</span></p>
<ul class="current">
<li class="toctree-l1"><a class="reference internal" href="../triplets.html">Triplets</a></li>
<li class="toctree-l1"><a class="reference internal" href="../adapter/index.html">Adapter</a></li>
<li class="toctree-l1 has-children"><a class="reference internal" href="../codecs/index.html">Codecs</a><input class="toctree-checkbox" id="toctree-checkbox-6" name="toctree-checkbox-6" role="switch" type="checkbox"/><label for="toctree-checkbox-6"><div class="visually-hidden">Toggle navigation of Codecs</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul>
<li class="toctree-l2"><a class="reference internal" href="../codecs/hdf5.html">HDF5</a></li>
</ul>
</li>
<li class="toctree-l1 current current-page"><a class="current reference internal" href="#">Translation</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">Drafting</span></p>
@ -252,7 +257,7 @@
<svg class="theme-icon-when-light"><use href="#svg-sun"></use></svg>
</button>
</div>
<label class="toc-overlay-icon toc-content-icon no-toc" for="__toc">
<label class="toc-overlay-icon toc-content-icon" for="__toc">
<div class="visually-hidden">Toggle table of contents sidebar</div>
<i class="icon"><svg><use href="#svg-toc"></use></svg></i>
</label>
@ -261,6 +266,13 @@
<section id="translation">
<h1>Translation<a class="headerlink" href="#translation" title="Permalink to this heading">#</a></h1>
<p>Translation/import of existing schema/formats.</p>
<section id="see-also">
<h2>See also<a class="headerlink" href="#see-also" title="Permalink to this heading">#</a></h2>
<ul class="simple">
<li><p><a class="reference external" href="https://linkml.io/schema-automator/introduction.html#generalization-from-instance-data">https://linkml.io/schema-automator/introduction.html#generalization-from-instance-data</a></p></li>
<li><p><a class="reference external" href="https://apps.islab.ntua.gr/d2rml/tr/d2rml/">https://apps.islab.ntua.gr/d2rml/tr/d2rml/</a></p></li>
</ul>
</section>
</section>
</article>
@ -277,14 +289,14 @@
</div>
<svg class="furo-related-icon"><use href="#svg-arrow-right"></use></svg>
</a>
<a class="prev-page" href="../adapter/index.html">
<a class="prev-page" href="../codecs/hdf5.html">
<svg class="furo-related-icon"><use href="#svg-arrow-right"></use></svg>
<div class="page-info">
<div class="context">
<span>Previous</span>
</div>
<div class="title">Adapter</div>
<div class="title">HDF5</div>
</div>
</a>
@ -306,9 +318,28 @@
</footer>
</div>
<aside class="toc-drawer no-toc">
<aside class="toc-drawer">
<div class="toc-sticky toc-scroll">
<div class="toc-title-container">
<span class="toc-title">
On this page
</span>
</div>
<div class="toc-tree-container">
<div class="toc-tree">
<ul>
<li><a class="reference internal" href="#">Translation</a><ul>
<li><a class="reference internal" href="#see-also">See also</a></li>
</ul>
</li>
</ul>
</div>
</div>
</div>
</aside>
</div>

View file

@ -3,7 +3,7 @@
<head><meta charset="utf-8"/>
<meta name="viewport" content="width=device-width,initial-scale=1"/>
<meta name="color-scheme" content="light dark"><meta name="generator" content="Docutils 0.19: https://docutils.sourceforge.io/" />
<link rel="index" title="Index" href="genindex.html" /><link rel="search" title="Search" href="search.html" /><link rel="next" title="Adapter" href="adapter/index.html" /><link rel="prev" title="12. Evolvability" href="evolvability.html" />
<link rel="index" title="Index" href="genindex.html" /><link rel="search" title="Search" href="search.html" /><link rel="next" title="Codecs" href="codecs/index.html" /><link rel="prev" title="12. Evolvability" href="evolvability.html" />
<link rel="canonical" href="/docs/triplets.html" />
<!-- Generated with Sphinx 6.2.1 and Furo 2023.05.20 -->
@ -24,14 +24,14 @@
}
@media not print {
body[data-theme="dark"] {
--color-code-background: #202020;
--color-code-foreground: #d0d0d0;
--color-code-background: #0d1117;
--color-code-foreground: #e6edf3;
}
@media (prefers-color-scheme: dark) {
body:not([data-theme="light"]) {
--color-code-background: #202020;
--color-code-foreground: #d0d0d0;
--color-code-background: #0d1117;
--color-code-foreground: #e6edf3;
}
}
@ -180,13 +180,15 @@
<li class="toctree-l3"><a class="reference internal" href="comparison/ld/rdf.html">RDF and Friends</a></li>
<li class="toctree-l3"><a class="reference internal" href="comparison/ld/solid.html">SOLID</a></li>
<li class="toctree-l3"><a class="reference internal" href="comparison/ld/ld_fragments.html">Linked Data Fragments</a></li>
<li class="toctree-l3"><a class="reference internal" href="comparison/ld/hdt.html">HDT</a></li>
<li class="toctree-l3"><a class="reference internal" href="comparison/ld/ld_platform.html">Linked Data Platform</a></li>
<li class="toctree-l3"><a class="reference internal" href="comparison/ld/nanopubs.html">NanoPubs</a></li>
</ul>
</li>
<li class="toctree-l2 has-children"><a class="reference internal" href="comparison/data/index.html">Data Structures</a><input class="toctree-checkbox" id="toctree-checkbox-5" name="toctree-checkbox-5" role="switch" type="checkbox"/><label for="toctree-checkbox-5"><div class="visually-hidden">Toggle navigation of Data Structures</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul>
<li class="toctree-l3"><a class="reference internal" href="comparison/data/eris.html">ERIS</a></li>
<li class="toctree-l3"><a class="reference internal" href="comparison/data/datalad.html">DataLad</a></li>
<li class="toctree-l3"><a class="reference internal" href="comparison/data/dmc.html">DMC</a></li>
<li class="toctree-l3"><a class="reference internal" href="comparison/data/eris.html">ERIS</a></li>
</ul>
</li>
</ul>
@ -212,7 +214,10 @@
<p class="caption" role="heading"><span class="caption-text">Ecosystem</span></p>
<ul class="current">
<li class="toctree-l1 current current-page"><a class="current reference internal" href="#">Triplets</a></li>
<li class="toctree-l1"><a class="reference internal" href="adapter/index.html">Adapter</a></li>
<li class="toctree-l1 has-children"><a class="reference internal" href="codecs/index.html">Codecs</a><input class="toctree-checkbox" id="toctree-checkbox-6" name="toctree-checkbox-6" role="switch" type="checkbox"/><label for="toctree-checkbox-6"><div class="visually-hidden">Toggle navigation of Codecs</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul>
<li class="toctree-l2"><a class="reference internal" href="codecs/hdf5.html">HDF5</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="translation/index.html">Translation</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">Drafting</span></p>
@ -268,12 +273,12 @@
<footer>
<div class="related-pages">
<a class="next-page" href="adapter/index.html">
<a class="next-page" href="codecs/index.html">
<div class="page-info">
<div class="context">
<span>Next</span>
</div>
<div class="title">Adapter</div>
<div class="title">Codecs</div>
</div>
<svg class="furo-related-icon"><use href="#svg-arrow-right"></use></svg>
</a>

View file

@ -24,14 +24,14 @@
}
@media not print {
body[data-theme="dark"] {
--color-code-background: #202020;
--color-code-foreground: #d0d0d0;
--color-code-background: #0d1117;
--color-code-foreground: #e6edf3;
}
@media (prefers-color-scheme: dark) {
body:not([data-theme="light"]) {
--color-code-background: #202020;
--color-code-foreground: #d0d0d0;
--color-code-background: #0d1117;
--color-code-foreground: #e6edf3;
}
}
@ -180,13 +180,15 @@
<li class="toctree-l3"><a class="reference internal" href="comparison/ld/rdf.html">RDF and Friends</a></li>
<li class="toctree-l3"><a class="reference internal" href="comparison/ld/solid.html">SOLID</a></li>
<li class="toctree-l3"><a class="reference internal" href="comparison/ld/ld_fragments.html">Linked Data Fragments</a></li>
<li class="toctree-l3"><a class="reference internal" href="comparison/ld/hdt.html">HDT</a></li>
<li class="toctree-l3"><a class="reference internal" href="comparison/ld/ld_platform.html">Linked Data Platform</a></li>
<li class="toctree-l3"><a class="reference internal" href="comparison/ld/nanopubs.html">NanoPubs</a></li>
</ul>
</li>
<li class="toctree-l2 has-children"><a class="reference internal" href="comparison/data/index.html">Data Structures</a><input class="toctree-checkbox" id="toctree-checkbox-5" name="toctree-checkbox-5" role="switch" type="checkbox"/><label for="toctree-checkbox-5"><div class="visually-hidden">Toggle navigation of Data Structures</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul>
<li class="toctree-l3"><a class="reference internal" href="comparison/data/eris.html">ERIS</a></li>
<li class="toctree-l3"><a class="reference internal" href="comparison/data/datalad.html">DataLad</a></li>
<li class="toctree-l3"><a class="reference internal" href="comparison/data/dmc.html">DMC</a></li>
<li class="toctree-l3"><a class="reference internal" href="comparison/data/eris.html">ERIS</a></li>
</ul>
</li>
</ul>
@ -212,7 +214,10 @@
<p class="caption" role="heading"><span class="caption-text">Ecosystem</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="triplets.html">Triplets</a></li>
<li class="toctree-l1"><a class="reference internal" href="adapter/index.html">Adapter</a></li>
<li class="toctree-l1 has-children"><a class="reference internal" href="codecs/index.html">Codecs</a><input class="toctree-checkbox" id="toctree-checkbox-6" name="toctree-checkbox-6" role="switch" type="checkbox"/><label for="toctree-checkbox-6"><div class="visually-hidden">Toggle navigation of Codecs</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul>
<li class="toctree-l2"><a class="reference internal" href="codecs/hdf5.html">HDF5</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="translation/index.html">Translation</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">Drafting</span></p>