# RDF Schema for Helictite, Journal of Australasian Spelelogical Research
# Version 1.0 of 2023-07-23
# RDF 1.1 Turtle format - https://www.w3.org/TR/turtle
@base <https://helictite.caves.org.au/> .   # For relative IRI links in rdfs:isDefinedBy
# Helictite namespaces
@prefix : <https://helictite.caves.org.au/schema_rdf.php#> .
# RDF schema
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .

# Class terms

:HelictiteJournal a rdfs:Class;
 rdfs:isDefinedBy <schema_rdf.php#>;
 rdfs:label "HelictiteJournal";
 rdfs:comment "The Helictite Journal top level class.";
 rdfs:subClassOf rdfs:Resource .

:Issue a rdfs:Class;
 rdfs:isDefinedBy <schema_rdf.php#>;
 rdfs:label "Issue";
 rdfs:comment "A published Issue of Helictite Journal.";
 rdfs:subClassOf :HelictiteJournal .

:Content a rdfs:Class;
 rdfs:isDefinedBy <schema_rdf.php#>;
 rdfs:label "Content";
 rdfs:comment "An item of Content in a published Issue of Helictite Journal.";
 rdfs:subClassOf :HelictiteJournal .

:Obituary a rdfs:Class;
 rdfs:isDefinedBy <schema_rdf.php#>;
 rdfs:label "Obituary";
 rdfs:comment "An Obituary published as Content in one or more Issues of Helictite Journal.";
 rdfs:subClassOf :HelictiteJournal .

:DataFile a rdfs:Class;
 rdfs:isDefinedBy <schema_rdf.php#>;
 rdfs:label "DataFile";
 rdfs:comment "A Data File for an item of Content in a published Issue of Helictite Journal.";
 rdfs:subClassOf :HelictiteJournal .

:NewsItem a rdfs:Class;
 rdfs:isDefinedBy <schema_rdf.php#>;
 rdfs:label "NewsItem";
 rdfs:comment "A News Item on the Internet home page of Helictite Journal.";
 rdfs:subClassOf :HelictiteJournal .

:Abstract a rdfs:Class;
 rdfs:isDefinedBy <schema_rdf.php#>;
 rdfs:label "Abstract";
 rdfs:comment "The Abstract of an item of Content in a published Issue of Helictite Journal.";
 rdfs:subClassOf :HelictiteJournal .

:Abstractor a rdfs:Class;
 rdfs:isDefinedBy <schema_rdf.php#>;
 rdfs:label "Abstractor";
 rdfs:comment "Name of Astractor of an Abstract of an item of Content in a published Issue of Helictite Journal.";
 rdfs:subClassOf :HelictiteJournal .

# Property terms

:hasIssues a rdf:Property;
 rdfs:isDefinedBy <schema_rdf.php#>;
 rdfs:label "hasIssues";
 rdfs:comment "Journal has multiple Issue objects";
 rdfs:range :Issue;
 rdfs:domain :HelictiteJournal .

:hasObituaries a rdf:Property;
 rdfs:isDefinedBy <schema_rdf.php#>;
 rdfs:label "hasObituaries";
 rdfs:comment "Journal has multiple Obituary objects";
 rdfs:range :Obituary;
 rdfs:domain :HelictiteJournal .

:hasDataFiles a rdf:Property;
 rdfs:isDefinedBy <schema_rdf.php#>;
 rdfs:label "hasDataFiles";
 rdfs:comment "Journal has multiple Data File objects";
 rdfs:range :DataFile;
 rdfs:domain :HelictiteJournal .

:hasNewsItems a rdf:Property;
 rdfs:isDefinedBy <schema_rdf.php#>;
 rdfs:label "hasNewsItems";
 rdfs:comment "Journal has multiple News Items objects";
 rdfs:range :NewsItem;
 rdfs:domain :HelictiteJournal .

:volumeNumber a rdf:Property;
 rdfs:isDefinedBy <schema_rdf.php#>;
 rdfs:label "volumeNumber";
 rdfs:comment "Volume number";
 rdfs:range rdfs:Literal;
 rdfs:domain :Issue .

:issueNumber a rdf:Property;
 rdfs:isDefinedBy <schema_rdf.php#>;
 rdfs:label "issueNumber";
 rdfs:comment "Issue number";
 rdfs:range rdfs:Literal;
 rdfs:domain :Issue .

:publicationYear a rdf:Property;
 rdfs:isDefinedBy <schema_rdf.php#>;
 rdfs:label "publicationYear";
 rdfs:comment "Publication year";
 rdfs:range rdfs:Literal;
 rdfs:domain :Issue .

:publicationDates a rdf:Property;
 rdfs:isDefinedBy <schema_rdf.php#>;
 rdfs:label "publicationDates";
 rdfs:comment "Publication dates";
 rdfs:range rdfs:Literal;
 rdfs:domain :Issue .

:editor a rdf:Property;
 rdfs:isDefinedBy <schema_rdf.php#>;
 rdfs:label "editor";
 rdfs:comment "Editor names";
 rdfs:range rdfs:Literal;
 rdfs:domain :Issue .

:numberOfPages a rdf:Property;
 rdfs:isDefinedBy <schema_rdf.php#>;
 rdfs:label "numberOfPages";
 rdfs:comment "Number of pages";
 rdfs:range rdfs:Literal;
 rdfs:domain :Issue .

:printPdfSizeK a rdf:Property;
 rdfs:isDefinedBy <schema_rdf.php#>;
 rdfs:label "printPdfSizeK";
 rdfs:comment "Print resolution PDF file size in K bytes";
 rdfs:range rdfs:Literal;
 rdfs:domain :Issue .

:printPdfUrl a rdf:Property;
 rdfs:isDefinedBy <schema_rdf.php#>;
 rdfs:label "printPdfUrl";
 rdfs:comment "URL of print resolution PDF file";
 rdfs:range rdfs:Literal;
 rdfs:domain :Issue .

:screenPdfSizeK a rdf:Property;
 rdfs:isDefinedBy <schema_rdf.php#>;
 rdfs:label "screenPdfSizeK";
 rdfs:comment "Screen resolution PDF file size in K bytes";
 rdfs:range rdfs:Literal;
 rdfs:domain :Issue .

:screenPdfUrl a rdf:Property;
 rdfs:isDefinedBy <schema_rdf.php#>;
 rdfs:label "screenPdfUrl";
 rdfs:comment "URL of screen resolution PDF file";
 rdfs:range rdfs:Literal;
 rdfs:domain :Issue .

:hasContents a rdf:Property;
 rdfs:isDefinedBy <schema_rdf.php#>;
 rdfs:label "hasContents";
 rdfs:comment "Issue has multiple Content objects";
 rdfs:range :Content;
 rdfs:domain :Issue .

:author a rdf:Property;
 rdfs:isDefinedBy <schema_rdf.php#>;
 rdfs:label "author";
 rdfs:comment "Authors";
 rdfs:range rdfs:Literal;
 rdfs:domain :Content .

:helRef a rdf:Property;
 rdfs:isDefinedBy <schema_rdf.php#>;
 rdfs:label "helRef";
 rdfs:comment "Unique Helictite Reference Id for content";
 rdfs:range rdfs:Literal;
 rdfs:domain :Content .

:publicationDate a rdf:Property;
 rdfs:isDefinedBy <schema_rdf.php#>;
 rdfs:label "publicationDate";
 rdfs:comment "Publication date as month name and year";
 rdfs:range rdfs:Literal;
 rdfs:domain :Content .

:includes a rdf:Property;
 rdfs:isDefinedBy <schema_rdf.php#>;
 rdfs:label "includes";
 rdfs:comment "Included items and count, such as figures, tables, references";
 rdfs:range rdfs:Literal;
 rdfs:domain :Content .

:printPdfSizeK a rdf:Property;
 rdfs:isDefinedBy <schema_rdf.php#>;
 rdfs:label "printPdfSizeK";
 rdfs:comment "Print resolution PDF file size in K bytes";
 rdfs:range rdfs:Literal;
 rdfs:domain :Content .

:printPdfUrl a rdf:Property;
 rdfs:isDefinedBy <schema_rdf.php#>;
 rdfs:label "printPdfUrl";
 rdfs:comment "URL of print resolution PDF file";
 rdfs:range rdfs:Literal;
 rdfs:domain :Content .

:screenPdfSizeK a rdf:Property;
 rdfs:isDefinedBy <schema_rdf.php#>;
 rdfs:label "screenPdfSizeK";
 rdfs:comment "Screen resolution PDF file size in K bytes";
 rdfs:range rdfs:Literal;
 rdfs:domain :Content .

:screenPdfUrl a rdf:Property;
 rdfs:isDefinedBy <schema_rdf.php#>;
 rdfs:label "screenPdfUrl";
 rdfs:comment "URL of screen resolution PDF file";
 rdfs:range rdfs:Literal;
 rdfs:domain :Content .

:isInContent a rdf:Property;
 rdfs:isDefinedBy <schema_rdf.php#>;
 rdfs:label "isInContent";
 rdfs:comment "Content is subordinate to another Contents object";
 rdfs:range :Content;
 rdfs:domain :Content .

:isInIssue a rdf:Property;
 rdfs:isDefinedBy <schema_rdf.php#>;
 rdfs:label "isInIssue";
 rdfs:comment "Content is in an Issue object";
 rdfs:range :Issue;
 rdfs:domain :Content .

:hasSubContents a rdf:Property;
 rdfs:isDefinedBy <schema_rdf.php#>;
 rdfs:label "hasSubContents";
 rdfs:comment "Content has one or more subordinate Contents objects";
 rdfs:range :Content;
 rdfs:domain :Content .

:hasAbstract a rdf:Property;
 rdfs:isDefinedBy <schema_rdf.php#>;
 rdfs:label "hasAbstract";
 rdfs:comment "Content has an Abstract object";
 rdfs:range :Abstract;
 rdfs:domain :Content .

:hasDataFiles a rdf:Property;
 rdfs:isDefinedBy <schema_rdf.php#>;
 rdfs:label "hasDataFiles";
 rdfs:comment "Content has one or more Data File objects";
 rdfs:range hs:DataFile;
 rdfs:domain :Content .

:hasObituary a rdf:Property;
 rdfs:isDefinedBy <schema_rdf.php#>;
 rdfs:label "hasObituary";
 rdfs:comment "Content has an Obituary object";
 rdfs:range hs:Obituary;
 rdfs:domain :Content .

:yearsLived a rdf:Property;
 rdfs:isDefinedBy <schema_rdf.php#>;
 rdfs:label "yearsLived";
 rdfs:comment "Range of years that they lived";
 rdfs:range rdfs:Literal;
 rdfs:domain :Obituary .

:yearPublished a rdf:Property;
 rdfs:isDefinedBy <schema_rdf.php#>;
 rdfs:label "yearPublished";
 rdfs:comment "Year obituary was published";
 rdfs:range rdfs:Literal;
 rdfs:domain :Obituary .

:obitAuthor a rdf:Property;
 rdfs:isDefinedBy <schema_rdf.php#>;
 rdfs:label "obitAuthor";
 rdfs:comment "Authors of the obituary";
 rdfs:range rdfs:Literal;
 rdfs:domain :Obituary .

:helRefs a rdf:Property;
 rdfs:isDefinedBy <schema_rdf.php#>;
 rdfs:label "helRefs";
 rdfs:comment "Helictite Reference Ids for obituary content";
 rdfs:range rdfs:Literal;
 rdfs:domain :Obituary .

:isInContents a rdf:Property;
 rdfs:isDefinedBy <schema_rdf.php#>;
 rdfs:label "isInContents";
 rdfs:comment "Obituary is in one or more Content objects";
 rdfs:range :Content;
 rdfs:domain :Obituary .

:fileSize a rdf:Property;
 rdfs:isDefinedBy <schema_rdf.php#>;
 rdfs:label "fileSize";
 rdfs:comment "Data file size expression, such as 67 Kb";
 rdfs:range rdfs:Literal;
 rdfs:domain :DataFile .

:isInContent a rdf:Property;
 rdfs:isDefinedBy <schema_rdf.php#>;
 rdfs:label "isInContent";
 rdfs:comment "Data file is in a Content object";
 rdfs:range :Content;
 rdfs:domain :DataFile .

:displayDate a rdf:Property;
 rdfs:isDefinedBy <schema_rdf.php#>;
 rdfs:label "displayDate";
 rdfs:comment "Displayed date, such as 5th May 2023";
 rdfs:range rdfs:Literal;
 rdfs:domain :NewsItem .

:visibility a rdf:Property;
 rdfs:isDefinedBy <schema_rdf.php#>;
 rdfs:label "visibility";
 rdfs:comment "Visibility of news item, yes or no";
 rdfs:range rdfs:Literal;
 rdfs:domain :NewsItem .

:hasAbstractors a rdf:Property;
 rdfs:isDefinedBy <schema_rdf.php#>;
 rdfs:label "hasAbstractors";
 rdfs:comment "Abstract has one or more Abstractor objects";
 rdfs:range :Abstractor;
 rdfs:domain :Abstract .

:isInContent a rdf:Property;
 rdfs:isDefinedBy <schema_rdf.php#>;
 rdfs:label "isInContent";
 rdfs:comment "Abstract is in a Content object";
 rdfs:range :Content;
 rdfs:domain :Abstract .

:abstractorKey a rdf:Property;
 rdfs:isDefinedBy <schema_rdf.php#>;
 rdfs:label "abstractorKey";
 rdfs:comment "Unique Key for abstractor";
 rdfs:range rdfs:Literal;
 rdfs:domain :Abstractor .

:abstractorName a rdf:Property;
 rdfs:isDefinedBy <schema_rdf.php#>;
 rdfs:label "abstractorName";
 rdfs:comment "Name of abstractor";
 rdfs:range rdfs:Literal;
 rdfs:domain :Abstractor .

