Skip to main content

File System with semantics

Project description

# stfile

Python wrapper for RDFLib applied to a file system ontology.

## Getting started
stfile lets you use semantics to tag folders and files.

Tag your files:
stf tag path tags [tags ...]

List files by given tags:
stf list tags [tags ...]

### Installing
Use pip to install stfile
pip install stfile

You can now run the `stf` command or import stfile itself to develop your own stuff.

### Enhance Your Files

Use stfile to develop your own services. Add a Python script on the config file "config.yml" and attach tags.
- <my>:<super_useful_tag>
Every time stfile finds a tag attached to a service executes the script with the same name inside the `services/` folder.

A service must implement a `action(graph, namespaces, node_path_dictionary)` function.
* __graph__: A RDFLib Graph instance, contains all current information about the semantic file system
* __namespaces__: A dictionary containing all registered namespaces inside graph
* __node_path_dictionary__: Contains information about the nodes in a `node: path` fashion.

All namespaces included in config.yml will be loaded into the graph to offer basic covering for the file system ontology, but more can be added in order to develop services.

## Semantics

If you wish to have a better perspective about the graph
stf show [-h] [-f {n3,xml,pretty-xml,nt}]

Shows whole graph

optional arguments:
-h, --help show this help message and exit
-f {n3,xml,pretty-xml,nt}, --format {n3,xml,pretty-xml,nt}
Format of serialization of graph

stfile lets you write SPARQL queries directly to your graph
stf query [-h] ([-s SELECT [SELECT ...] | -c CONSTRUCT [CONSTRUCT ...]
| -d DESCRIBE [DESCRIBE ...] | -a ASK [ASK ...]]
[-r RAW [RAW ...] | -i INPUT] [-w WHERE [WHERE ...]]

Execute raw SPARQL query

optional arguments:
-h, --help show this help message and exit
-s SELECT [SELECT ...], --select SELECT [SELECT ...]
Select query
Construct query
Describe query
-a ASK [ASK ...], --ask ASK [ASK ...]
Ask query
-r RAW [RAW ...], --raw RAW [RAW ...]
Raw SPARQL query
-i INPUT, --input INPUT
input file
-w WHERE [WHERE ...], --where WHERE [WHERE ...]
Where statement
-o OUTPUT, --output OUTPUT
output file

Project details

Release history Release notifications | RSS feed

This version


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for stfile, version 0.1
Filename, size File type Python version Upload date Hashes
Filename, size stfile-0.1-py3-none-any.whl (11.7 kB) File type Wheel Python version py3 Upload date Hashes View
Filename, size stfile-0.1.tar.gz (9.7 kB) File type Source Python version None Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page