# External prefix declarations prefix foaf: prefix rdf: prefix sh: prefix xsd: prefix bibo: prefix dct: prefix skos: # Project-specific prefix prefix graph: prefix shp: prefix mcal: mcal:model { # Journal shape, for now a journal is just a a node of type bibo:Journal # with a title and ISSN. shp:Journal a sh:NodeShape ; sh:closed true ; sh:ignoredProperties ( rdf:type ); sh:property shp:title, shp:issn ; sh:targetClass bibo:Journal . # Articles are open ended shp:AcademicArticle a sh:NodeShape ; sh:closed false ; # set to true when this shape is complete sh:property shp:articlePartOfJournal , shp:hasVersion , shp:title , shp:researchQuestionType , shp:contentFeatureConcept , shp:contentAnalysisType ; sh:targetClass bibo:AcademicArticle . # title property used for journals and articles shp:title a sh:PropertyShape ; sh:datatype xsd:string ; sh:minCount 1 ; sh:maxCount 1 ; sh:path dct:title . # ISSN property for journals shp:issn a sh:PropertyShape ; sh:minCount 1 ; sh:maxCount 1 ; sh:nodeKind sh:IRI ; sh:path bibo:issn . # At the moment, every article needs to be published in a journal (debatable) shp:articlePartOfJournal a sh:PropertyShape ; sh:minCount 1; sh:maxCount 1; sh:nodeKind sh:IRI ; sh:path dct:isPartOf ; sh:class bibo:Journal . # Every article has at least one (online) version shp:hasVersion a sh:PropertyShape ; sh:minCount 1; sh:nodeKind sh:IRI ; sh:path dct:hasVersion . # Optional: Content Analysis Type values are based on a small SKOS vocabulary shp:contentAnalysisType a sh:PropertyShape ; sh:minCount 0; sh:nodeKind sh:IRI ; sh:class skos:Concept ; # Temp. disabled due to slow down in current ETL sh:path mcal:contentAnalysisType . # Optional: Content Feature Concepts values are based on a small SKOS vocabulary shp:contentFeatureConcept a sh:PropertyShape ; sh:minCount 0; sh:nodeKind sh:IRI ; sh:class skos:Concept ; # Temp. disabled due to slow down in current ETL sh:path mcal:contentFeatureConcept . # Optional: Research Question Type values are based on a small SKOS vocabulary shp:researchQuestionType a sh:PropertyShape ; sh:minCount 0; sh:nodeKind sh:IRI ; sh:class skos:Concept ; # # Temp. disabled due to slow down in current ETL sh:path mcal:researchQuestionType . }