---
---

## Grafredskaber

## Grafformulering

Teknologien "RDF" (Resource Description Framework) er en kunstsprog
til at formulere vidensgrafer.

RDF er i sig selv abstrakt, og kan konkretiseres -- dvs. formuleres -- på flere måder.
det at "udtrykke" RDF kaldes at serialisere,
og en konkret udtryksmåde kaldes en serialisering eller en syntaks.
De mest udbredte RDF-syntakser i dag er Turtle, RDFa og JSON-LD.
(Du vil også støde på [RDF/XML] som i dag er upopulært,
men fortsat udbredt indenfor nogle software-systemer).

RDF-syntakser kan illustreres ved en sammenligning med menneskesprog:

```dot
digraph G {
sprog [ label="Sproget dansk" ]
udtryk1 [ label="Dansk tale" ]
udtryk2 [ label="Dansk skrift" ]
udtryk1 -> sprog [ label="udtrykker\nnuanceret" ]
udtryk2 -> sprog [ label="udtrykker" ]
}
```

Dansk *skrift* kan være mere effektivt at arbejde med
end dansk *tale*,
f.eks. hvis du vil søge efter et bestemt ord eller en vending i teksten.
Dansk *tale* kan dog indeholde nuancer i brugen af pauser eller intonation,
som kan være svære at medtage i dansk *skrift*.

```dot
digraph G {
sprog [ label="Sproget RDF" ]
udtryk1 [ label="Turtle" ]
udtryk2 [ label="JSON-LD" ]
udtryk1 -> sprog [ label="udtrykker\nnuanceret" ]
udtryk2 -> sprog [ label="udtrykker" ]
}
```

På samme måde kan *JSON-LD* være mere effektivt til at håndtere RDF[^JSON],
men nogle semantiske nuancer kan gå tabt i denne variant,
som mere robust bevares med *Turtle*,

[^JSON]: JSON-LD kan være særligt effektivt i kode afviklet i web-browsere,
fordi datasproget JSON er direkte afledt af kodesproget JavaScript,
som er det primære kodesprog i web-browsere).

[RDF/XML]: https://en.wikipedia.org/wiki/RDF/XML
  ""

### Grafmodellering

Vidensgrafer består af [FIXME: lidt intro til emnet...]

[Ontospy]

[SDML]

[Protegé]

[Ontospy]: http://lambdamusic.github.io/Ontospy/
  "Ontospy - kommandolinje tool til at undersøge og visualisere ontologier"

[SDML]: https://sdml.io/
  "Simple Domain Modeling Language (SDML) - domænespecifikt sprog til modellering"

[Protegé]: https://en.wikipedia.org/wiki/Prot%C3%A9g%C3%A9_(software)
  "Protegé - ontologi-editor"

### Graflagring

[FIXME: lidt intro til emnet...]

[Oxigraph]

[Oxigraph]: https://github.com/oxigraph/oxigraph
  "Oxigraph - effektiv RDF quad-store med SPARQL-brugerflade"

### Grafberegning

[FIXME: lidt intro til emnet...]

[Konclude]

[EYE]

[Konclude]: https://www.derivo.de/en/produkte/konclude.html
  "Konclude - effektiv OWL 2 reasoner skrevet i C++"

[EYE]: https://eyereasoner.github.io/eye/
  "EYE (Euler Yet another proof Engine) - fleksibel semantisk reasoner skrevet i Prolog"

### Grafvisualisering

[FIXME: lidt intro til emnet...]

[Graphviz]

[Qt Visual Graph Editor]

[Graphviz Online]

[Mermaid]

[awesome Graphviz]

[Graphviz]: https://graphviz.org/
  "Graphviz - fleksibel grafvisualiseringsgenerator fra tekst-baseret kilde"

[Graphviz Online]: https://dreampuf.github.io/GraphvizOnline/
  "Graphviz Online - Web-based Graphviz editor"

[Qt Visual Graph Editor]: https://github.com/ArsMasiuk/qvge
  "Qt Visual Graph Editor - Grafisk brugerflade til Graphviz"

[Mermaid]: https://mermaid.js.org/
  "Mermaid - web-baseret grafvisualiseringsgenerator fra tekst-baseret kilde"

[awesome Graphviz]: https://codefreezr.github.io/awesome-graphviz/
  "Awesome Graphviz - curated list of Graphviz tools and documentation"
