master
Niko PLP 4 months ago
parent 30c99a9485
commit b914a9a6d1
  1. 9
      src/pages/en/framework/schema.md
  2. 6
      src/pages/en/framework/semantic.md

@ -33,7 +33,14 @@ A new ontology can be defined by creating a new Document of type Data / Ontology
### ng ontology
| fragment | label | comment | equivalent
| predicate | R/W | type | label | comment | equivalent |
| --------- | --- | ------------- | ------- | ----------------------------- | -------------------------------------------- |
| | | | | | |
| ng:a | RW | string | about | short description | rdfs:comment as:summary |
| ng:b | R | string | weblink | link for sharing over the web | example https://nextgraph.one/#/did:ng:o:... |
| ng:c | R | rdfs:Class | class | primary class | rdf:type |
| ng:d | R | NURI | inbox | inbox of repo | as:inbox |
| ng:e | RW | rdfs:Resource | extlink | http external link | |
### official primary classes

@ -145,7 +145,7 @@ Named Graphs are an RDF and SPARQL feature that lets you organize your triples i
SPARQL has options to specify which named graph(s) you want the query to relate to.
Theoretically, a triplestore can put any kind of triple in any graph. By the way, when the triplestore can understand the concpet of a named graph, then we can it a quadstore, because then each triple has a 4th part telling about which graph the triple is stored in. So triples become quads (they have 4 parts instead of 3). And the triplestore becomes a quadstore.
Theoretically, a triplestore can put any kind of triple in any graph. By the way, when the triplestore can understand the concept of a named graph, then we can it a quadstore, because then each triple has a 4th part telling about which graph the triple is stored in. So triples become quads (they have 4 parts instead of 3). And the triplestore becomes a quadstore.
NextGraph is a quadstore, but there are some limitations.
@ -159,7 +159,7 @@ In this Document/Named Graph, the user can add triples, and most of the time, th
In order to facilitate adding those kind of authoritative triples with a SPARQL UPDATE, or to retrieve them with a SPARQL QUERY, the user has access to the BASE shortcut, which is `<>` in SPARQL, and that represents the current document. it will be replaced internally by the exact ID of the current document. This placeholder is handy and helps you manipulate the authoritative triples of your document. The default graph of any SPARQL Query is also the current Document, so you do not need to specify it explicitly (except when you select the "Query all docs" option, i this case, the default graph is the union graph of all the graphs).
If we had stoped here, there would be no real interest in having a named graph mechanism.
If we had stopped here, there would be no real interest in having a named graph mechanism.
But you also are able to add triples in the Document/Named graph, that are not authoritative. Those are the triples that have as subject, some other ID than the current Document.
@ -169,7 +169,7 @@ Then we have other use cases for extra triples in the Document :
- fragments, that are prefixed with the authoritative ID, and followed by a hash and a string (like in our previous example `#label`).
- blank nodes that have been skolemized. They get a NURI of the form `did:ng:o:...:u:...`. this is because baln nodes cannot exist in a local-first system, as we nee dto give them a unique ID. This is done with the [skolemization procedure](https://www.w3.org/TR/rdf11-concepts/#section-skolemization). For the user or programmer, skolemization is transparent. You can use blank nodes in SPARQL UPDATE and they will be automatically translated to skolems. For SPARQL QUERY anyway, blank nodes are just hidden variables, so there is no impact.
- blank nodes that have been skolemized. They get a NURI of the form `did:ng:o:...:u:...`. this is because blank nodes cannot exist in a local-first system, as we nee dto give them a unique ID. This is done with the [skolemization procedure](https://www.w3.org/TR/rdf11-concepts/#section-skolemization). For the user or programmer, skolemization is transparent. You can use blank nodes in SPARQL UPDATE and they will be automatically translated to skolems. For SPARQL QUERY anyway, blank nodes are just hidden variables, so there is no impact.
But those extra triples (fragments and skolems) are all prefixed with the authoritative ID, so they are considered authoritative too.

Loading…
Cancel
Save