aboutsummaryrefslogtreecommitdiffstats
path: root/tagit/assets
diff options
context:
space:
mode:
authorMatthias Baumgartner <dev@igsor.net>2023-03-04 16:00:46 +0100
committerMatthias Baumgartner <dev@igsor.net>2023-03-04 16:00:46 +0100
commit01a4c2fc4bcbcce26c29dc9771dedeef5256156b (patch)
treeaafea6125f413f6862bb79ad9c9ef5b35a6b7dd3 /tagit/assets
parent9bdf4d104a299577634061bcf698d1c9e5708cce (diff)
downloadtagit-01a4c2fc4bcbcce26c29dc9771dedeef5256156b.tar.gz
tagit-01a4c2fc4bcbcce26c29dc9771dedeef5256156b.tar.bz2
tagit-01a4c2fc4bcbcce26c29dc9771dedeef5256156b.zip
schema requirements checking
Diffstat (limited to 'tagit/assets')
-rw-r--r--tagit/assets/required_schema.nt110
1 files changed, 110 insertions, 0 deletions
diff --git a/tagit/assets/required_schema.nt b/tagit/assets/required_schema.nt
new file mode 100644
index 0000000..d48f0bd
--- /dev/null
+++ b/tagit/assets/required_schema.nt
@@ -0,0 +1,110 @@
+# common external prefixes
+prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
+prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#>
+prefix xsd: <http://www.w3.org/2001/XMLSchema#>
+prefix schema: <http://schema.org/>
+
+# common bsfs prefixes
+prefix bsfs: <https://schema.bsfs.io/core/>
+prefix bsl: <https://schema.bsfs.io/core/Literal/>
+prefix bsn: <https://schema.bsfs.io/ie/Node/>
+prefix bse: <https://schema.bsfs.io/ie/Node/Entity#>
+prefix bst: <https://schema.bsfs.io/ie/Node/Tag#>
+prefix bsg: <https://schema.bsfs.io/ie/Node/Group#>
+prefix bsp: <https://schema.bsfs.io/ie/Node/Preview#>
+
+# essential nodes
+bsn:Entity rdfs:subClassOf bsfs:Node .
+bsn:Preview rdfs:subClassOf bsfs:Node .
+bsn:Tag rdfs:subClassOf bsfs:Node .
+bsn:Group rdfs:subClassOf bsfs:Node .
+
+# common definitions
+bsl:BinaryBlob rdfs:subClassOf bsfs:Literal .
+bsl:URI rdfs:subClassOf bsfs:Literal .
+bsl:Number rdfs:subClassOf bsfs:Literal .
+bsl:Time rdfs:subClassOf bsfs:Literal .
+<https://schema.bsfs.io/ie/Literal/BinaryBlob/JPEG> rdfs:subClassOf bsl:BinaryBlob .
+xsd:string rdfs:subClassOf bsfs:Literal .
+xsd:integer rdfs:subClassOf bsl:Number .
+xsd:float rdfs:subClassOf bsl:Number .
+
+bse:filename rdfs:subClassOf bsfs:Predicate ;
+ rdfs:domain bsn:Entity ;
+ rdfs:range xsd:string ;
+ bsfs:unique "true"^^xsd:boolean .
+
+bse:filesize rdfs:subClassOf bsfs:Predicate ;
+ rdfs:domain bsn:Entity ;
+ rdfs:range xsd:integer ;
+ bsfs:unique "true"^^xsd:boolean .
+
+bse:mime rdfs:subClassOf bsfs:Predicate ;
+ rdfs:domain bsn:Entity ;
+ rdfs:range xsd:string ;
+ bsfs:unique "true"^^xsd:boolean .
+
+bse:preview rdfs:subClassOf bsfs:Predicate ;
+ rdfs:domain bsn:Entity ;
+ rdfs:range bsn:Preview .
+
+bse:tag rdfs:subClassOf bsfs:Predicate ;
+ rdfs:domain bsn:Entity ;
+ rdfs:range bsn:Tag .
+
+bst:label rdfs:subClassOf bsfs:Predicate ;
+ rdfs:domain bsn:Tag ;
+ rdfs:range xsd:string ;
+ bsfs:unique "true"^^xsd:boolean .
+
+bse:comment rdfs:subClassOf bsfs:Predicate ;
+ rdfs:domain bsfs:Node ;
+ rdfs:range xsd:string .
+
+bse:group rdfs:subClassOf bsfs:Predicate ;
+ rdfs:domain bsn:Entity ;
+ rdfs:range bsn:Group .
+
+bsg:label rdfs:subClassOf bsfs:Predicate ;
+ rdfs:domain bsn:Group ;
+ rdfs:range xsd:string ;
+ bsfs:unique "true"^^xsd:boolean .
+
+bsg:represented_by rdfs:subClassOf bsfs:Predicate ;
+ rdfs:domain bsn:Group ;
+ rdfs:range bsn:Entity ;
+ bsfs:unique "true"^^xsd:boolean .
+
+bse:longitude rdfs:subClassOf bsfs:Predicate ;
+ rdfs:domain bsn:Entity ;
+ rdfs:range xsd:float ;
+ bsfs:unique "true"^^xsd:boolean .
+
+bse:latitude rdfs:subClassOf bsfs:Predicate ;
+ rdfs:domain bsn:Entity ;
+ rdfs:range xsd:float ;
+ bsfs:unique "true"^^xsd:boolean .
+
+
+## preview nodes
+
+bsp:width rdfs:subClassOf bsfs:Predicate ;
+ rdfs:domain bsn:Preview ;
+ rdfs:range xsd:integer ;
+ bsfs:unique "true"^^xsd:boolean .
+
+bsp:height rdfs:subClassOf bsfs:Predicate ;
+ rdfs:domain bsn:Preview ;
+ rdfs:range xsd:integer ;
+ bsfs:unique "true"^^xsd:boolean .
+
+bsp:orientation rdfs:subClassOf bsfs:Predicate ;
+ rdfs:domain bsn:Preview ;
+ rdfs:range xsd:integer ;
+ bsfs:unique "true"^^xsd:boolean .
+
+bsp:asset rdfs:subClassOf bsfs:Predicate ;
+ rdfs:domain bsn:Preview ;
+ rdfs:range <https://schema.bsfs.io/ie/Literal/BinaryBlob/JPEG> ;
+ bsfs:unique "true"^^xsd:boolean .
+