diff --git a/README.md b/README.md index d5ff17d..b0364e2 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# RDF.Core +# RDF.ex Core An implementation of the RDF and the basic accompanied standards for Elixir. @@ -22,3 +22,66 @@ The [Hex package](https://hex.pm/docs/publish) can be installed as usual: [applications: [:rdf_core]] end ``` + +## Introduction + +The [RDF standard](http://www.w3.org/TR/rdf11-concepts/) defines a Graph data model for distributed information on the web. A RDF graph is a set of RDF triples, consistenting of a three nodes: + +1. a subject node with an IRI or a blank node, +2. a predicate node with the IRI of a RDF property, +3. an object nodes with an IRI, a blank node or a RDF literal value. + +Let's start examining how the different types of nodes - the RDF standards also calls them RDF terms - are represented in Elixir. + +### Nodes + +#### Literals + +#### URIs + +Although the RDF standards speaks of IRIs, an internationalized generalization of URIs, RDF.ex currently supports only URIs. They are represented by Elixirs builtin [`URI`](http://elixir-lang.org/docs/stable/elixir/URI.html) struct. + +The `RDF` module defines a handy generator function `RDF.uri` + +```elixir +RDF.uri("http://www.example.com/foo") +``` + +Besides being shorter than `URI.parse`, it will provide a gentlier migration, if we decide to switch to a dedicated, more optimized URI-representation for RDF.ex. + +#### Vocabularies + +But rather than having to pass a fully qualified URI string to `RDF.uri`, it allows for something similar to QNames of XML. + + + +#### Blank nodes + + +### Triples + +### Graphs and Descriptions + +### Serializations + +### Repositories + + +## Getting help + +- [Hex]() +- [Slack]() + + +## Development + + + +## Contributing + +see [CONTRIBUTING](CONTRIBUTING.md) for details. + + +## License and Copyright + +(c) 2016 Marcel Otto. MIT Licensed, see [LICENSE](LICENSE.txt) for details.