aboutsummaryrefslogtreecommitdiffstats
path: root/tagit/apps
diff options
context:
space:
mode:
authorMatthias Baumgartner <dev@igsor.net>2023-02-03 17:24:40 +0100
committerMatthias Baumgartner <dev@igsor.net>2023-02-03 17:24:40 +0100
commite4b98fb261c83588ca1151a1c3f8891965051b2f (patch)
tree23fc90186db6acab73c1b91dc2c21b044bd5628e /tagit/apps
parent7bb4c0f40c8666ef94a4dcf7fdf03a9058b64a8e (diff)
downloadtagit-e4b98fb261c83588ca1151a1c3f8891965051b2f.tar.gz
tagit-e4b98fb261c83588ca1151a1c3f8891965051b2f.tar.bz2
tagit-e4b98fb261c83588ca1151a1c3f8891965051b2f.zip
previews in browser
Diffstat (limited to 'tagit/apps')
-rw-r--r--tagit/apps/port-schema.nt35
-rw-r--r--tagit/apps/port_data.py79
2 files changed, 110 insertions, 4 deletions
diff --git a/tagit/apps/port-schema.nt b/tagit/apps/port-schema.nt
index 4f9a37c..2b354e5 100644
--- a/tagit/apps/port-schema.nt
+++ b/tagit/apps/port-schema.nt
@@ -9,14 +9,18 @@ prefix bsfs: <http://bsfs.ai/schema/>
prefix bse: <http://bsfs.ai/schema/Entity#>
prefix bst: <http://bsfs.ai/schema/Tag#>
prefix bsg: <http://bsfs.ai/schema/Group#>
+prefix bsp: <http://bsfs.ai/schema/Preview#>
# essential nodes
bsfs:Entity rdfs:subClassOf bsfs:Node .
+bsfs:Preview rdfs:subClassOf bsfs:Node .
bsfs:File rdfs:subClassOf bsfs:Entity .
bsfs:Tag rdfs:subClassOf bsfs:Node .
bsfs:Group rdfs:subClassOf bsfs:Node .
# common definitions
+bsfs:Blob rdfs:subClassOf bsfs:Literal .
+bsfs:URI rdfs:subClassOf bsfs:Literal .
bsfs:Number rdfs:subClassOf bsfs:Literal .
bsfs:Time rdfs:subClassOf bsfs:Literal .
xsd:string rdfs:subClassOf bsfs:Literal .
@@ -41,10 +45,9 @@ bse:mime rdfs:subClassOf bsfs:Predicate ;
rdfs:range xsd:string ;
bsfs:unique "true"^^xsd:boolean .
-bse:orientation rdfs:subClassOf bsfs:Predicate ; # FIXME: shouldn't this be part of the preview?
- rdfs:domain bsfs:File ;
- rdfs:range xsd:integer ;
- bsfs:unique "true"^^xsd:boolean .
+bse:preview rdfs:subClassOf bsfs:Predicate ;
+ rdfs:domain bsfs:Entity ;
+ rdfs:range bsfs:Preview .
bse:tag rdfs:subClassOf bsfs:Predicate ;
rdfs:domain bsfs:File ;
@@ -78,3 +81,27 @@ bse:latitude rdfs:subClassOf bsfs:Predicate ;
rdfs:range xsd:integer ;
bsfs:unique "true"^^xsd:boolean .
+
+## preview nodes
+
+bsp:width rdfs:subClassOf bsfs:Predicate ;
+ rdfs:domain bsfs:Preview ;
+ rdfs:range xsd:integer ;
+ bsfs:unique "true"^^xsd:boolean .
+
+bsp:height rdfs:subClassOf bsfs:Predicate ;
+ rdfs:domain bsfs:Preview ;
+ rdfs:range xsd:integer ;
+ bsfs:unique "true"^^xsd:boolean .
+
+bsp:orientation rdfs:subClassOf bsfs:Predicate ;
+ rdfs:domain bsfs:Preview ;
+ rdfs:range xsd:integer ;
+ bsfs:unique "true"^^xsd:boolean .
+
+bsp:asset rdfs:subClassOf bsfs:Predicate ;
+ rdfs:domain bsfs:Preview ;
+ rdfs:range xsd:string ; # FIXME: mb/port
+ bsfs:unique "true"^^xsd:boolean .
+
+
diff --git a/tagit/apps/port_data.py b/tagit/apps/port_data.py
index 1d9f4e6..56fb522 100644
--- a/tagit/apps/port_data.py
+++ b/tagit/apps/port_data.py
@@ -45,4 +45,83 @@ def add_port_data(store):
n1.set(ns.bse.group, grp)
n3.set(ns.bse.group, grp)
+ # previews
+ base = os.path.join(os.path.dirname(__file__), 'port-data')
+ n0.set(ns.bse.preview,
+ store.node(ns.bsfs.Preview, URI('http://example.com/me/preview#ent01_w100_h100')) \
+ .set(ns.bsp.width, 100) \
+ .set(ns.bsp.height, 100) \
+ .set(ns.bsp.orientation, 1) \
+ .set(ns.bsp.asset, str(os.path.join(base, 'ent01_w100_h100.jpg')))
+ )
+ n0.set(ns.bse.preview,
+ store.node(ns.bsfs.Preview, str('http://example.com/me/preview#ent01_w400_h200')) \
+ .set(ns.bsp.width, 200) \
+ .set(ns.bsp.height, 400) \
+ .set(ns.bsp.orientation, 1) \
+ .set(ns.bsp.asset, str(os.path.join(base, 'ent01_w400_h200.jpg')))
+ )
+ n0.set(ns.bse.preview,
+ store.node(ns.bsfs.Preview, URI('http://example.com/me/preview#ent01_w400_h400')) \
+ .set(ns.bsp.width, 400) \
+ .set(ns.bsp.height, 400) \
+ .set(ns.bsp.orientation, 1) \
+ .set(ns.bsp.asset, str(os.path.join(base, 'ent01_w400_h400.jpg')))
+ )
+ n1.set(ns.bse.preview,
+ store.node(ns.bsfs.Preview, URI('http://example.com/me/preview#ent02_w100_h100')) \
+ .set(ns.bsp.width, 100) \
+ .set(ns.bsp.height, 100) \
+ .set(ns.bsp.orientation, 1) \
+ .set(ns.bsp.asset, str(os.path.join(base, 'ent02_w100_h100.jpg')))
+ )
+ n1.set(ns.bse.preview,
+ store.node(ns.bsfs.Preview, URI('http://example.com/me/preview#ent02_w400_h200')) \
+ .set(ns.bsp.width, 200) \
+ .set(ns.bsp.height, 400) \
+ .set(ns.bsp.orientation, 1) \
+ .set(ns.bsp.asset, str(os.path.join(base, 'ent02_w400_h200.jpg')))
+ )
+ n2.set(ns.bse.preview,
+ store.node(ns.bsfs.Preview, URI('http://example.com/me/preview#ent03_w100_h100')) \
+ .set(ns.bsp.width, 100) \
+ .set(ns.bsp.height, 100) \
+ .set(ns.bsp.orientation, 1) \
+ .set(ns.bsp.asset, str(os.path.join(base, 'ent03_w100_h100.jpg')))
+ )
+ n2.set(ns.bse.preview,
+ store.node(ns.bsfs.Preview, URI('http://example.com/me/preview#ent03_w400_h200')) \
+ .set(ns.bsp.width, 200) \
+ .set(ns.bsp.height, 400) \
+ .set(ns.bsp.orientation, 1) \
+ .set(ns.bsp.asset, str(os.path.join(base, 'ent03_w400_h200.jpg')))
+ )
+ n3.set(ns.bse.preview,
+ store.node(ns.bsfs.Preview, URI('http://example.com/me/preview#ent04_w100_h100')) \
+ .set(ns.bsp.width, 100) \
+ .set(ns.bsp.height, 100) \
+ .set(ns.bsp.orientation, 1) \
+ .set(ns.bsp.asset, str(os.path.join(base, 'ent04_w100_h100.png')))
+ )
+ n3.set(ns.bse.preview,
+ store.node(ns.bsfs.Preview, URI('http://example.com/me/preview#ent04_w400_h200')) \
+ .set(ns.bsp.width, 200) \
+ .set(ns.bsp.height, 400) \
+ .set(ns.bsp.orientation, 1) \
+ .set(ns.bsp.asset, str(os.path.join(base, 'ent04_w400_h200.png')))
+ )
+ n4.set(ns.bse.preview,
+ store.node(ns.bsfs.Preview, URI('http://example.com/me/preview#ent05_w100_h100')) \
+ .set(ns.bsp.width, 100) \
+ .set(ns.bsp.height, 100) \
+ .set(ns.bsp.orientation, 1) \
+ .set(ns.bsp.asset, str(os.path.join(base, 'ent05_w100_h100.jpg')))
+ )
+ n4.set(ns.bse.preview,
+ store.node(ns.bsfs.Preview, URI('http://example.com/me/preview#ent05_w400_h200')) \
+ .set(ns.bsp.width, 200) \
+ .set(ns.bsp.height, 400) \
+ .set(ns.bsp.orientation, 1) \
+ .set(ns.bsp.asset, str(os.path.join(base, 'ent05_w400_h200.jpg')))
+ )