test_graph v0.1.0 TestGraph.RDF
Module for reading and writing a library of RDF graphs and SPARQL queries.
The read_graph/1
and write_graph/2
functions allow for reading and writing
RDF graphs to the project data repository. (Default file names are provided
with the read_graph/0
and write_graph/1
forms.)
The list_graphs/0
function lists graph file names.
The read_query/1
and write_query/2
functions allow for reading and writing
SPARQL queries to the project data repository. (Default file names are provided
with the read_query/0
and write_query/1
forms.)
The list_queries/0
function lists query file names.
Some simple accessor functions are also available:
Link to this section Summary
Functions
Creates a Book
graph
Reads a Books
graph from the graphs library
Returns a default RDF graph file
Returns the LPG graphs directory
Lists RDF graphs in the RDF graphs library
Lists SPARQL queries in the RDF queries library
Returns the LPG queries directory
Returns a default SPARQL query file
Reads a RDF graph from the RDF graphs library
Reads a SPARQL query from the RDF queries library
Returns a temp RDF graph file for writing
Returns a temp SPARQL query file for writing
Writes a RDF graph to a file in the RDF graphs library
Writes a SPARQL query to a file in the RDF queries library
Link to this section Functions
book()
Creates a Book
graph.
Examples
iex> TestGraph.RDF.book()
#RDF.Description{subject: ~I<urn:isbn:978-1-68050-252-7>
~I<http://purl.org/dc/elements/1.1/creator>
~I<https://twitter.com/bgmarx>
~I<https://twitter.com/josevalim>
~I<https://twitter.com/redrapids>
~I<http://purl.org/dc/elements/1.1/date>
%RDF.Literal{value: ~D[2018-03-14], datatype: ~I<http://www.w3.org/2001/XMLSchema#date>}
~I<http://purl.org/dc/elements/1.1/format>
~L"Paper"
~I<http://purl.org/dc/elements/1.1/publisher>
~I<https://pragprog.com/>
~I<http://purl.org/dc/elements/1.1/title>
~L"Adopting Elixir"en
~I<http://www.w3.org/1999/02/22-rdf-syntax-ns#type>
~I<http://purl.org/ontology/bibo/Book>}
books()
Reads a Books
graph from the graphs library.
Examples
iex> books().data
""<urn:isbn:978-1-68050-252-7>\n a <http://purl.org/ontology/bibo/Book> ;\n ..."
graph_file()
Returns a default RDF graph file.
Examples
iex> TestGraph.RDF.graph_file()
"default.ttl"
graphs_dir()
Returns the LPG graphs directory.
list_graphs()
Lists RDF graphs in the RDF graphs library.
Examples
iex> list_graphs()
["books.ttl", "urn_isbn_978-1-68050-252-7.ttl",
"http___dbpedia.org_resource_London.ttl", "london100.ttl", "london.ttl",
"nobelprizes.ttl", "bibo.ttl", "temp.ttl",
"http___example.org_Elixir.ttl", "elixir.ttl", "default.ttl", "cypher.ttl",
"neo4j.ttl", "hello.ttl"]
list_queries()
Lists SPARQL queries in the RDF queries library.
Examples
iex> list_queries()
["cypher.rq", "london.rq", "elixir.rq", "default.rq", "neo4j.rq",
"triples_by_uri.rq", "triples.rq", "hello.rq"]
queries_dir()
Returns the LPG queries directory.
query_file()
Returns a default SPARQL query file.
Examples
iex> TestGraph.RDF.query_file()
"default.rq"
read_graph(graph_file \\ graph_file())
Reads a RDF graph from the RDF graphs library.
Examples
iex> read_graph()
%TestGraph.Graph{
data: "<http://dbpedia.org/resource/Hello_World>\n..."
file: "default.ttl",
path: ".../test_graph/priv/rdf/graphs/default.ttl",
type: :rdf,
uri: "file:///.../test_graph/priv/rdf/graphs/default.ttl"
}
iex> read_graph("books.ttl")
%TestGraph.Graph{
data: "@prefix bibo: <http://purl.org/ontology/bibo/> \n..."
file: "books.ttl",
path: ".../test_graph/priv/rdf/graphs/books.ttl",
type: :rdf,
uri: "file:///.../test_graph/priv/rdf/graphs/books.ttl"
}
read_query(query_file \\ query_file())
Reads a SPARQL query from the RDF queries library.
Examples
iex> read_query()
%TestGraph.Query{
data: "construct { ?s ?p ?o } where { ..."
file: "books.rq",
path: ".../test_graph/priv/rdf/queries/books.rq",
type: :rdf,
uri: "file:///.../test_graph/priv/rdf/queries/books.rq"
}
iex> read_query("books.rq")
%TestGraph.Query{
data: "construct { ?s ?p ?o } where { ..."
file: "books.rq",
path: ".../test_graph/priv/rdf/queries/books.rq",
type: :rdf,
uri: "file:///.../test_graph/priv/rdf/queries/books.rq"
}
temp_graph_file()
Returns a temp RDF graph file for writing.
Examples
iex> TestGraph.RDF.temp_graph_file()
"temp.ttl"
temp_query_file()
Returns a temp SPARQL query file for writing.
Examples
iex> TestGraph.RDF.temp_query_file()
"temp.rq"
write_graph(graph_data, graph_file \\ temp_graph_file())
Writes a RDF graph to a file in the RDF graphs library.
Examples
iex> data |> write_graph("my.ttl")
%TestGraph.Graph{
data: "@prefix bibo: <http://purl.org/ontology/bibo/> \n..."
file: "my.ttl",
path: "/test_graph/priv/rdf/graphs/my.ttl",
type: :rdf,
uri: "file:///.../test_graph/priv/rdf/graphs/my.ttl"
}
write_query(query_data, query_file \\ temp_query_file())
Writes a SPARQL query to a file in the RDF queries library.
Examples
iex> write_query("my.rq")
%TestGraph.Query{
data: "construct { ?s ?p ?o } where { ..."
file: "my.rq",
path: ".../test_graph/priv/rdf/queries/my.rq",
type: :rdf,
uri: "file:///.../test_graph/priv/rdf/queries/my.rq"
}