from rdflib import Namespace, Graph
from rdflib.namespace import SKOS
#: List of XPath Namespaces used in guidelines
XPath_Namespaces = {
"tei": "http://www.tei-c.org/ns/1.0",
"ti": "http://chs.harvard.edu/xmlns/cts",
"xml": "http://www.w3.org/XML/1998/namespace"
}
[docs]class RDF_Namespaces:
""" Namespaces Constants used to provide Namespace capacities across the library
:cvar CTS: CTS Namespace
:type CTS: Namespace
:cvar TEI: TEI Namespace
:type TEI: Namespace
:cvar DC: DC Elements
:type DC: Namespace
"""
CTS = Namespace("http://chs.harvard.edu/xmlns/cts/")
DTS = Namespace("http://w3id.org/dts-ontology/")
TEI = Namespace("http://www.tei-c.org/ns/1.0/")
[docs]class Mimetypes:
""" Mimetypes constants that are used to provide export functionality to base MyCapytain object.
:cvar JSON: JSON Resource mimetype
:cvar XML: XML Resource mimetype
:cvar PYTHON: Python Native Object
:cvar PLAINTEXT: Plain string format
"""
[docs] class JSON:
""" Json Mimetype
:cvar Std: Standard JSON Export
:cvar CTS: CTS Json Export
"""
Std = "application/text"
CTS = "application/ld+json:CTS"
LD = "application/ld+json"
[docs] class DTS:
""" JSON DTS Expression
:cvar Std: Standard DTS Json-LD Expression
:cvar NoParents: DTS Json-LD Expression without parents expression
"""
Std = "application/ld+json:DTS"
NoParents = "application/ld+json:DTS/NoParents"
[docs] class XML:
""" XML Mimetype
:cvar Std: Standard XML Export
:cvar RDF: RDF XML Expression Export
:cvar CTS: CTS API XML Expression Export
:cvar TEI: TEI XML Expression Export
"""
Std = "text/xml"
RDF = "application/rdf+xml"
RDFa = "application/rdfa+xml"
CTS = "text/xml:CTS"
TEI = "text/xml:tei"
[docs] class PYTHON:
""" Python Native Objects
:cvar NestedDict: Nested Dictionary Object
:cvar ETREE: Python LXML Etree Object
"""
NestedDict = "python/NestedDict"
ETREE = "python/lxml"
[docs] class MyCapytain:
""" MyCapytain Objects
:cvar ReadableText: MyCapytain.resources.prototypes.text.CitableText
"""
TextualElement = "Capitains/TextualElement"
PLAINTEXT = "text/plain"
global __MYCAPYTAIN_TRIPLE_GRAPH__
__MYCAPYTAIN_TRIPLE_GRAPH__ = Graph()
__MYCAPYTAIN_TRIPLE_GRAPH__.bind("", RDF_Namespaces.CTS)
__MYCAPYTAIN_TRIPLE_GRAPH__.bind("dts", RDF_Namespaces.DTS)
__MYCAPYTAIN_TRIPLE_GRAPH__.bind("tei", RDF_Namespaces.TEI)
__MYCAPYTAIN_TRIPLE_GRAPH__.bind("skos", SKOS)
def set_graph(graph):
global __MYCAPYTAIN_TRIPLE_GRAPH__
__MYCAPYTAIN_TRIPLE_GRAPH__ = graph
def get_graph():
return __MYCAPYTAIN_TRIPLE_GRAPH__
RDFLIB_MAPPING = {
Mimetypes.XML.RDF: "xml",
Mimetypes.JSON.LD: "json-ld",
Mimetypes.JSON.DTS.Std: "json-ld"
}