Skip to content

Commit 1fd71bc

Browse files
authored
new: constructor cleanup (#4)
1 parent e8f23b7 commit 1fd71bc

File tree

3 files changed

+28
-48
lines changed

3 files changed

+28
-48
lines changed

README.md

+6-2
Original file line numberDiff line numberDiff line change
@@ -41,10 +41,14 @@ pip install git+https://github.com/ArangoDB-Community/ArangoRDF
4141
## Quickstart
4242

4343
```py
44+
from arango import ArangoClient
4445
from arango_rdf import ArangoRDF
4546

47+
db = ArangoClient(hosts="http://localhost:8529").db("_system", username="root", password="")
48+
49+
adb_rdf = ArangoRDF(db, graph="rdf_music")
50+
4651
# RDF Import
47-
adb_rdf = ArangoRDF(host="http://localhost:8529", username="root", password="openSesame", database="rdf", graph="rdf_music")
4852
adb_rdf.init_rdf_collections(bnode="Blank")
4953
adb_rdf.import_rdf("./examples/data/music_schema.ttl", format="ttl")
5054
adb_rdf.import_rdf("./examples/data/beatles.ttl", format="ttl")
@@ -56,7 +60,7 @@ adb_rdf.export(f"./examples/data/rdfExport.ttl", format="ttl")
5660
adb_rdf.import_rdf(f"./examples/data/rdfExport.ttl", format="ttl")
5761

5862
# Ontology Import
59-
adb_rdf_2 = ArangoRDF("http://localhost:8529", "root", "openSesame", "ontologyImport", "ontology_iao")
63+
adb_rdf_2 = ArangoRDF(db, graph="ontology_iao")
6064
adb_rdf_2.init_ontology_collections()
6165
adb_rdf_2.import_ontology("./examples/data/iao.owl")
6266
```

arango_rdf/main.py

+5-25
Original file line numberDiff line numberDiff line change
@@ -12,42 +12,22 @@
1212
from arango import ArangoClient
1313
from arango.collection import EdgeCollection, StandardCollection
1414
from arango.cursor import Cursor
15+
from arango.database import StandardDatabase
1516
from rdflib import BNode, Graph, Literal, URIRef
1617

1718

1819
class ArangoRDF:
19-
def __init__(
20-
self, host: str, username: str, password: str, database: str, graph: str
21-
) -> None:
20+
def __init__(self, db: StandardDatabase, graph: str) -> None:
2221
"""
2322
Parameters
2423
----------
25-
host: str
26-
Host url
27-
username: str
28-
Username for basic authentication
29-
password: str
30-
Password for basic authentication
31-
database: str
32-
Database name
24+
db: StandardDatabase
25+
The python-arango database client
3326
graph: str
3427
Graph name
3528
"""
3629

37-
self.connection = ArangoClient(hosts=host)
38-
sys_db = self.connection.db(
39-
"_system", username=username, password=password, verify=False
40-
)
41-
42-
if sys_db.has_database(database):
43-
self.db = self.connection.db(
44-
database, username=username, password=password, verify=False
45-
)
46-
else:
47-
sys_db.create_database(database)
48-
self.db = self.connection.db(
49-
database, username=username, password=password, verify=False
50-
)
30+
self.db = db
5131

5232
# Create the graph
5333
if self.db.has_graph(graph):

tests/test.py

+17-21
Original file line numberDiff line numberDiff line change
@@ -1,26 +1,22 @@
1+
from arango import ArangoClient
12
from arango_rdf import ArangoRDF
2-
from tests import PROJECT_DIR
33

4-
# rdf import
5-
kg = ArangoRDF(
6-
"http://localhost:8529",
7-
username="root",
8-
password="",
9-
database="rdf",
10-
graph="rdf_music",
11-
)
12-
kg.init_rdf_collections(bnode="Blank")
13-
kg.import_rdf(f"{PROJECT_DIR}/examples/data/music_schema.ttl", format="ttl")
14-
kg.import_rdf(f"{PROJECT_DIR}/examples/data/beatles.ttl", format="ttl")
15-
kg.import_rdf(f"{PROJECT_DIR}/examples/data/iao.owl")
4+
db = ArangoClient(hosts="http://localhost:8529").db("_system", username="root", password="")
165

17-
# ontology import
18-
kg2 = ArangoRDF("http://localhost:8529", "root", "", "ontologyImport", "ontology_iao")
19-
kg2.init_ontology_collections()
20-
kg2.import_ontology(f"{PROJECT_DIR}/examples/data/iao.owl")
6+
adb_rdf = ArangoRDF(db, graph="rdf_music")
217

22-
# export to file
23-
kg.export(f"{PROJECT_DIR}/examples/data/rdfExport.ttl", format="ttl")
8+
# RDF Import
9+
adb_rdf.init_rdf_collections(bnode="Blank")
10+
adb_rdf.import_rdf("./examples/data/music_schema.ttl", format="ttl")
11+
adb_rdf.import_rdf("./examples/data/beatles.ttl", format="ttl")
2412

25-
# Re-import Export
26-
kg.import_rdf(f"{PROJECT_DIR}/examples/data/rdfExport.ttl", format="ttl")
13+
# RDF Export
14+
adb_rdf.export(f"./examples/data/rdfExport.ttl", format="ttl")
15+
16+
# Re-import RDF Export
17+
adb_rdf.import_rdf(f"./examples/data/rdfExport.ttl", format="ttl")
18+
19+
# Ontology Import
20+
adb_rdf_2 = ArangoRDF(db, graph="ontology_iao")
21+
adb_rdf_2.init_ontology_collections()
22+
adb_rdf_2.import_ontology("./examples/data/iao.owl")

0 commit comments

Comments
 (0)