diff --git a/Friedrich-Nietzsche-late-work-ontology.ttl b/Friedrich-Nietzsche-late-work-ontology.ttl index 6c23040..2060c5b 100644 --- a/Friedrich-Nietzsche-late-work-ontology.ttl +++ b/Friedrich-Nietzsche-late-work-ontology.ttl @@ -1,57 +1,57 @@ @prefix dct: . @prefix document: . @prefix homotypic: . @prefix stoff: . @prefix text: . @prefix owl: . @prefix rdfs: . @prefix xsd: . @prefix tln: . a owl:Ontology; dct:license ; dct:title "An ontology about the collected late works of Friedrich Nietzsche"@en; dct:description """Formal description of specific concepts in the scientific study of Friedrich Nietzsches late work."""@en; dct:creator "Dominique Steinbach, tool coordinator/software developer, NIE-INE/digital edition of der späte Nietzsche, Basel University, Switzerland"@en; dct:contributor "Christian Steiner, software developer, digital edition of der späte Nietzsche, University of Basel, Switzerland"@en; dct:publisher "Basel University, Switzerland"@en. tln:Page a owl:Class ; rdfs:subClassOf document:Page . tln:hasImage a owl:ObjectProperty ; rdfs:label "relates a page to a image"@en ; rdfs:comment "relates a page to an image that has a textfield that specifies the area where the writing that constitutes the page can be found."@en ; rdfs:isDefinedBy ; rdfs:domain tln:Page ; rdfs:range tln:Image . tln:inheritOverwritesWord a owl:ObjectProperty ; rdfs:subPropertyOf tln:overwritesWord; rdfs:label "word overwrites word (inherited from tln:wordHasCorrection)"@en ; rdfs:comment "The author has used this word in order to overwrite that word."@en ; rdfs:isDefinedBy ; owl:propertyChainAxiom ( tln:wordHasCorrection tln:overwritesWord ). tln:lineContinuesOn a owl:ObjectProperty ; rdfs:label "writing from subject line continues on object line"@en ; rdfs:comment "the writing that ends on subject line continues on object line"@en ; rdfs:isDefinedBy ; rdfs:domain tln:Line ; rdfs:range tln:Line . -tln:pageIsOnTextField a a owl:ObjectProperty ; +tln:pageIsOnTextField a owl:ObjectProperty ; rdfs:label "page is on text field"@en ; rdfs:comment "the writing that is referred to as subject can be found on object"@en ; rdfs:isDefinedBy ; rdfs:domain tln:Page ; rdfs:range tln:TextField . tln:writingContinuesWithWord a owl:ObjectProperty ; rdfs:label "writing continues with next word"@en ; rdfs:isDefinedBy ; rdfs:domain tln:Word ; rdfs:range tln:Word . diff --git a/machineReasoning_extendUnityWithHomotypicPart/external-rules/owl-TransitiveProperty.n3 b/machineReasoning_extendUnityWithHomotypicPart/external-rules/owl-TransitiveProperty.n3 new file mode 100644 index 0000000..2364ae1 --- /dev/null +++ b/machineReasoning_extendUnityWithHomotypicPart/external-rules/owl-TransitiveProperty.n3 @@ -0,0 +1,3 @@ +PREFIX owl: + +{?P a owl:TransitiveProperty. ?S ?P ?X. ?X ?P ?O.} => {?S ?P ?O}. diff --git a/machineReasoning_extendUnityWithHomotypicPart/external-rules/owl-propertyChainAxiom.n3 b/machineReasoning_extendUnityWithHomotypicPart/external-rules/owl-propertyChainAxiom.n3 new file mode 100644 index 0000000..a3855a8 --- /dev/null +++ b/machineReasoning_extendUnityWithHomotypicPart/external-rules/owl-propertyChainAxiom.n3 @@ -0,0 +1,4 @@ +PREFIX owl: +PREFIX e: + +{?P owl:propertyChainAxiom ?L. ?L e:propertyChainExtension (?S ?O)} => {?S ?P ?O}. diff --git a/machineReasoning_extendUnityWithHomotypicPart/external-rules/rdfs-subClassOf.n3 b/machineReasoning_extendUnityWithHomotypicPart/external-rules/rdfs-subClassOf.n3 new file mode 100644 index 0000000..d26972c --- /dev/null +++ b/machineReasoning_extendUnityWithHomotypicPart/external-rules/rdfs-subClassOf.n3 @@ -0,0 +1,6 @@ +PREFIX rdfs: + +{?C rdfs:subClassOf ?D. ?X a ?C} => {?X a ?D}. +{?C rdfs:subClassOf ?D. ?D rdfs:subClassOf ?E} => {?C rdfs:subClassOf ?E}. +{?C rdfs:subClassOf ?D. ?P rdfs:domain ?C} => {?P rdfs:domain ?D}. +{?C rdfs:subClassOf ?D. ?P rdfs:range ?C} => {?P rdfs:range ?D}. diff --git a/machineReasoning_extendUnityWithHomotypicPart/external-rules/rdfs-subPropertyOf.n3 b/machineReasoning_extendUnityWithHomotypicPart/external-rules/rdfs-subPropertyOf.n3 new file mode 100644 index 0000000..056e502 --- /dev/null +++ b/machineReasoning_extendUnityWithHomotypicPart/external-rules/rdfs-subPropertyOf.n3 @@ -0,0 +1,6 @@ +PREFIX rdfs: + +{?P rdfs:subPropertyOf ?Q. ?S ?P ?O} => {?S ?Q ?O}. +{?P rdfs:subPropertyOf ?Q. ?Q rdfs:subPropertyOf ?R} => {?P rdfs:subPropertyOf ?R}. +{?P rdfs:subPropertyOf ?Q. ?Q rdfs:domain ?C} => {?P rdfs:domain ?C}. +{?P rdfs:subPropertyOf ?Q. ?Q rdfs:range ?C} => {?P rdfs:range ?C}. diff --git a/machineReasoning_extendUnityWithHomotypicPart/generic-rules/create_standoff-rules.n3 b/machineReasoning_extendUnityWithHomotypicPart/generic-rules/create_standoff-rules.n3 index 1137f27..fd279ef 100644 --- a/machineReasoning_extendUnityWithHomotypicPart/generic-rules/create_standoff-rules.n3 +++ b/machineReasoning_extendUnityWithHomotypicPart/generic-rules/create_standoff-rules.n3 @@ -1,60 +1,62 @@ @prefix e: . @prefix homotypic: . @prefix kb: . @prefix list: . @prefix math: . @prefix stoff: . @prefix string: . # CASE 1: ?unity has no homotypic parts and is not such a part => create standoff for entire ?unity (startIndex: 0, endIndex: length of unity). { ?unity a homotypic:HomotypicEntity; ?p ?o; homotypic:hasText ?string. ?SCOPE e:fail {?unity homotypic:hasHomotypicParts ?parts}. # ?unity has no homotypic parts. ?SCOPE e:fail {?greater_unity homotypic:hasHomotypicParts ?list. ?unity list:in ?list}. # ?unity is not a homotypic part. ?o stoff:styleHasCSS ?css. # ?unity has an object that has ?css. ## get ?endIndex for ?string (?string ?string) e:stringSplit ?listOfChars. # create a list of all chars of ?string ?listOfChars e:length ?endIndex. # calculate length of this list as ?endIndex + (?unity 'markup') e:skolem ?markup. } => { + ?unity homotypic:hasMarkup ?markup. ?markup a stoff:StandoffMarkup; stoff:hasCSS ?css; stoff:standoffMarkupHasStartIndex 0; stoff:standoffMarkupHasEndIndex ?endIndex. - ?unity homotypic:hasMarkup ?markup. #_:d kb:retract (?o stoff:styleHasCSS ?css). # remove css from style }. # CASE 2: ?unity has homotypic parts => create standoff by calculating startIndex and endIndex from ?part. { ?unity a homotypic:HomotypicEntity; homotypic:hasHomotypicParts ?listOfParts . ?part list:in ?listOfParts; ?p ?o. ?o stoff:styleHasCSS ?css. (?before (?part) ?after) list:append ?listOfParts. # get list of entities before and list of entities after ?part in ?listOfParts. ## get ?startIndex ?SCOPE e:findall (?text { ?before_part list:in ?before; homotypic:hasText ?text .} ?before_text ). # create list of text before ?part ?before_text string:concatenation ?before_text_concated. # concatenate texts (?before_text_concated ?before_text_concated) e:stringSplit ?listOfCharsA. # split into list of chars - ?listOfCharsA e:length ?startsRaw. # calculate length of this list ->number of chars before ?part + ?listOfCharsA e:length ?startsRaw. # calculate length of this list ->number of chars before ?part (ATTENTION: it is length+1) ("_startsRaw-1" ?startsRaw) e:calculate ?startIndex. # number of chars -1 -> ?startIndex of ?part ## get ?endIndex (?before (?part)) list:append ?before_with_part_list. # create list that contains both ?before and ?part. ?SCOPE e:findall (?text { ?item list:in ?before_with_part_list; homotypic:hasText ?text .} ?part_included_text ). # create list of text. ?part_included_text string:concatenation ?part_included_concated. # concatenate texts. (?part_included_concated ?part_included_concated) e:stringSplit ?listOfCharsB. # split into list of chars - ?listOfCharsB e:length ?endValue. # calculate length of this list - ('_endValue-1' ?endValue) e:calculate ?endIndex. + ?listOfCharsB e:length ?endValue. # calculate length of this list (ATTENTION: it is length+1) + ("_endValue-2" ?endValue) e:calculate ?endIndex. + (?unity ?part ?o 'markup') e:skolem ?markup. } => { ?markup a stoff:StandoffMarkup; stoff:hasCSS ?css; stoff:standoffMarkupHasStartIndex ?startIndex; stoff:standoffMarkupHasEndIndex ?endIndex. ?unity homotypic:hasMarkup ?markup. #_:d kb:retract (?o stoff:styleHasCSS ?css). # remove css from style }. diff --git a/machineReasoning_extendUnityWithHomotypicPart/ontologies/tln-ontology_autogenerated.ttl b/machineReasoning_extendUnityWithHomotypicPart/ontologies/tln-ontology_autogenerated.ttl index fd99678..695cf32 100644 --- a/machineReasoning_extendUnityWithHomotypicPart/ontologies/tln-ontology_autogenerated.ttl +++ b/machineReasoning_extendUnityWithHomotypicPart/ontologies/tln-ontology_autogenerated.ttl @@ -1,959 +1,1127 @@ @prefix dct: . @prefix document: . @prefix homotypic: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix stoff: . @prefix text: . @prefix tln: . @prefix xsd: . tln:IsUncertain a owl:DatatypeProperty ; rdfs:label "whether something is uncertain"@en ; rdfs:domain tln:Reference ; rdfs:isDefinedBy ; rdfs:range xsd:boolean . tln:UncertainDecipherment a owl:Class ; rdfs:label "uncertain decipherment"@en ; rdfs:comment "This class represents a uncertain decipherment by the editors."@en ; rdfs:isDefinedBy ; rdfs:subClassOf tln:EditorComment . tln:atypicalWritingHasText a owl:ObjectProperty ; rdfs:label "has atypicalWritingHasText"@en ; rdfs:domain tln:AtypicalWriting ; rdfs:isDefinedBy ; rdfs:range tln:Text . +tln:hasApiurl a owl:DatatypeProperty ; + rdfs:label "has Apiurl"@en ; + rdfs:domain tln:FaksimileImage ; + rdfs:isDefinedBy ; + rdfs:range xsd:string ; + rdfs:subPropertyOf tln:hasUrl . + tln:hasAuthor a owl:DatatypeProperty ; rdfs:label "has Author"@en ; rdfs:domain tln:EarlierDescription ; rdfs:isDefinedBy ; rdfs:range xsd:string . tln:hasCitation a owl:DatatypeProperty ; rdfs:label "has Citation"@en ; rdfs:domain tln:EarlierDescription ; rdfs:isDefinedBy ; rdfs:range xsd:string . tln:hasComment a owl:DatatypeProperty ; rdfs:label "has Comment"@en ; rdfs:domain tln:EditorComment ; rdfs:isDefinedBy ; rdfs:range xsd:string . tln:hasCorrectionText a owl:DatatypeProperty ; rdfs:label "has CorrectionText"@en ; rdfs:domain tln:EditorCorrection ; rdfs:isDefinedBy ; rdfs:range xsd:string . tln:hasDAttribute a owl:DatatypeProperty ; rdfs:label "svg path has d attribute"@en ; rdfs:comment "The d attribute defines a path to be drawn."@en ; rdfs:domain tln:Path ; rdfs:isDefinedBy ; rdfs:range xsd:string . tln:hasDescription a owl:ObjectProperty ; rdfs:label "has Description"@en ; - rdfs:domain tln:ArchivalManuscriptUnity ; + rdfs:domain tln:ManuscriptUnity ; rdfs:isDefinedBy ; rdfs:range tln:Description . tln:hasEarlierDescriptions a owl:ObjectProperty ; rdfs:label "has EarlierDescriptions"@en ; rdfs:domain tln:ArchivalManuscriptUnity ; rdfs:isDefinedBy ; rdfs:range tln:EarlierDescription . tln:hasEarlierText a owl:DatatypeProperty ; rdfs:label "has EarlierText"@en ; rdfs:domain tln:Box ; rdfs:isDefinedBy ; rdfs:range xsd:string . tln:hasEditedText a owl:DatatypeProperty ; rdfs:label "word has an edited text"@en ; rdfs:comment "Word has a text that is edited automatically by removing deleted parts or hyphens."@en ; rdfs:domain tln:Word ; rdfs:isDefinedBy ; rdfs:range xsd:string . tln:hasFaksimileImage a owl:ObjectProperty ; rdfs:label "has FaksimileImage"@en ; rdfs:domain tln:Page ; rdfs:isDefinedBy ; rdfs:range tln:FaksimileImage ; rdfs:subPropertyOf tln:hasImage . -tln:hasFaksimilePosition a owl:ObjectProperty ; - rdfs:label "has FaksimilePosition"@en ; - rdfs:domain tln:SimpleWord ; +tln:hasGeneticOrder a owl:ObjectProperty ; + rdfs:label "relates a list of text versions to an identified genetic order"@en ; + rdfs:comment "Relates a list of text versions to an identified genetic order. The position in the list determines the version of a text unit."@en ; + rdfs:domain tln:TextGenesis ; rdfs:isDefinedBy ; - rdfs:range tln:FaksimilePosition . + rdfs:range rdf:List . + +tln:hasGsaSignature a owl:DatatypeProperty ; + rdfs:label "has GsaSignature"@en ; + rdfs:domain tln:ArchivalManuscriptUnity ; + rdfs:isDefinedBy ; + rdfs:range xsd:string . tln:hasLines a owl:ObjectProperty ; rdfs:label "has Lines"@en ; rdfs:domain tln:Page ; rdfs:isDefinedBy ; rdfs:range rdf:List . tln:hasMarkForeignHands a owl:ObjectProperty ; rdfs:label "has MarkForeignHands"@en ; rdfs:domain tln:Page ; rdfs:isDefinedBy ; rdfs:range rdf:List . +tln:hasMediumurl a owl:DatatypeProperty ; + rdfs:label "has Mediumurl"@en ; + rdfs:domain tln:FaksimileImage ; + rdfs:isDefinedBy ; + rdfs:range xsd:string ; + rdfs:subPropertyOf tln:hasUrl . + tln:hasOrientation a owl:DatatypeProperty ; rdfs:label "has Orientation"@en ; rdfs:domain tln:Page ; rdfs:isDefinedBy ; rdfs:range xsd:string . tln:hasPageNumber a owl:DatatypeProperty ; rdfs:label "has PageNumber"@en ; rdfs:domain tln:Reference ; rdfs:isDefinedBy ; rdfs:range xsd:string . tln:hasPages a owl:ObjectProperty ; rdfs:label "has Pages"@en ; - rdfs:domain tln:ArchivalManuscriptUnity ; + rdfs:domain tln:ManuscriptUnity ; rdfs:isDefinedBy ; rdfs:range rdf:List . +tln:hasStatus a owl:DatatypeProperty ; + rdfs:label "has Status"@en ; + rdfs:domain tln:NonExistentPage ; + rdfs:isDefinedBy ; + rdfs:range xsd:string . + tln:hasStyle a owl:ObjectProperty ; rdfs:label "has Style"@en ; rdfs:domain tln:WordDeletionPath ; rdfs:isDefinedBy ; rdfs:range tln:Style . tln:hasStyles a owl:ObjectProperty ; rdfs:label "has Styles"@en ; rdfs:domain tln:ArchivalManuscriptUnity ; rdfs:isDefinedBy ; rdfs:range rdf:List . tln:hasSvgImage a owl:ObjectProperty ; rdfs:label "has SvgImage"@en ; rdfs:domain tln:Page ; rdfs:isDefinedBy ; rdfs:range tln:SVGImage ; rdfs:subPropertyOf tln:hasImage . tln:hasTextField a owl:ObjectProperty ; rdfs:label "has TextField"@en ; rdfs:domain tln:Image ; rdfs:isDefinedBy ; rdfs:range tln:TextField . +tln:hasThumburl a owl:DatatypeProperty ; + rdfs:label "has Thumburl"@en ; + rdfs:domain tln:FaksimileImage ; + rdfs:isDefinedBy ; + rdfs:range xsd:string ; + rdfs:subPropertyOf tln:hasUrl . + tln:hasTransform a owl:DatatypeProperty ; rdfs:label "has Transform"@en ; rdfs:domain tln:Image, tln:PositionalObject ; rdfs:isDefinedBy ; rdfs:range xsd:string . tln:hasWordDeletionPaths a owl:ObjectProperty ; rdfs:label "has WordDeletionPaths"@en ; rdfs:domain tln:Page ; rdfs:isDefinedBy ; rdfs:range rdf:List . tln:hasWordInsertionMarks a owl:ObjectProperty ; rdfs:label "has WordInsertionMarks"@en ; rdfs:domain tln:Page ; rdfs:isDefinedBy ; rdfs:range rdf:List . tln:hasWords a owl:ObjectProperty ; rdfs:label "has Words"@en ; rdfs:domain tln:Page ; rdfs:isDefinedBy ; rdfs:range rdf:List . +tln:identifiesAsVersion a owl:ObjectProperty ; + rdfs:label "groups a list of text unities together as a identified text version"@en ; + rdfs:comment "Groups a list of text unities together as a identified text version for which there is an ealier or later version."@en ; + rdfs:domain tln:IdentifiedTextVersion ; + rdfs:isDefinedBy ; + rdfs:range rdf:List . + tln:inheritOverwritesWord a owl:ObjectProperty ; rdfs:label "word overwrites word (inherited from tln:wordHasCorrection)"@en ; rdfs:comment "The author has used this word in order to overwrite that word."@en ; rdfs:isDefinedBy ; rdfs:subPropertyOf tln:overwritesWord ; owl:propertyChainAxiom ( tln:wordHasCorrection tln:overwritesWord ) . tln:isClarificationOfWord a owl:ObjectProperty ; rdfs:label "word is a clarification of word"@en ; rdfs:comment "The author has used this part of the word in order to clarify the appearance of that word."@en ; rdfs:domain tln:Word ; rdfs:isDefinedBy ; rdfs:range tln:Word ; rdfs:subPropertyOf tln:isCorrectionOfWord . tln:isDeletionOfWord a owl:ObjectProperty ; rdfs:label "word is a deletion of word"@en ; rdfs:comment "The author has used this part of a word in order to delete the corresponding part of an earlier version of this word."@en ; rdfs:domain tln:Word ; rdfs:isDefinedBy ; rdfs:range tln:Word ; rdfs:subPropertyOf tln:isCorrectionOfWord . tln:isExtensionOfWord a owl:ObjectProperty ; rdfs:label "word is a extension of word"@en ; rdfs:comment "The author has used this part of a word in order to extend an earlier version of this word."@en ; rdfs:domain tln:Word ; rdfs:isDefinedBy ; rdfs:range tln:Word ; rdfs:subPropertyOf tln:isCorrectionOfWord . tln:isTransformationOfWord a owl:ObjectProperty ; rdfs:label "word is a transformation of word"@en ; rdfs:comment "The author has used this part of a word in order to transform the corresponding part of an earlier version of this word."@en ; rdfs:domain tln:Word ; rdfs:isDefinedBy ; rdfs:range tln:Word ; rdfs:subPropertyOf tln:isCorrectionOfWord . tln:isUncertain a owl:DatatypeProperty ; rdfs:label "whether something is uncertain"@en ; rdfs:domain tln:EditorComment ; rdfs:isDefinedBy ; rdfs:range xsd:boolean . tln:lineContinuesOn a owl:ObjectProperty ; - rdfs:label "writing from subject line continues with object line"@en ; + rdfs:label "writing from subject line continues on object line"@en ; + rdfs:comment "the writing that ends on subject line continues on object line"@en ; rdfs:domain tln:Line ; rdfs:isDefinedBy ; rdfs:range tln:Line . tln:lineHasEditorComment a owl:ObjectProperty ; rdfs:label "has lineHasEditorComment"@en ; rdfs:domain tln:Line ; rdfs:isDefinedBy ; rdfs:range tln:EditorComment . +tln:pageIsOnFaksimileTextField a owl:ObjectProperty ; + rdfs:label "page is on faksimile text field"@en ; + rdfs:comment "Relates a page to the text field on a svg image."@en ; + rdfs:domain tln:Page ; + rdfs:isDefinedBy ; + rdfs:range tln:TextField ; + rdfs:subPropertyOf tln:pageIsOnTextField . + +tln:pageIsOnSVGTextField a owl:ObjectProperty ; + rdfs:label "page is on svg text field"@en ; + rdfs:comment "Relates a page to the text field on a faksimile image."@en ; + rdfs:domain tln:Page ; + rdfs:isDefinedBy ; + rdfs:range tln:TextField ; + rdfs:subPropertyOf tln:pageIsOnTextField . + +tln:partsBelongToReconstructedKonvolut a owl:ObjectProperty ; + rdfs:label "parts of manuscript belong to reconstructed convolut"@en ; + rdfs:comment "Some of the pages of this manuscript belong to a reconstructed convolut of pages."@en ; + rdfs:domain tln:ArchivalManuscriptUnity ; + rdfs:isDefinedBy ; + rdfs:range tln:ReconstructedKonvolut . + tln:standoffTagHasCSS a owl:DatatypeProperty ; rdfs:label "standoff tag has css"@en ; rdfs:comment "Connects a standoff tag with CSS style."@en ; rdfs:domain tln:StandoffTag ; rdfs:isDefinedBy ; rdfs:range xsd:string ; rdfs:subPropertyOf stoff:hasCSS . tln:styleHasCSS a owl:DatatypeProperty ; rdfs:label "style has css"@en ; rdfs:comment "Connects a style with CSS style."@en ; rdfs:domain tln:Style ; rdfs:isDefinedBy ; rdfs:range xsd:string ; rdfs:subPropertyOf stoff:styleHasCSS . tln:textHasMarkup a owl:ObjectProperty ; rdfs:label "standoff markup of text"@en ; rdfs:comment "Connects a text with a list of standoff tags."@en ; rdfs:domain tln:Text ; rdfs:isDefinedBy ; rdfs:range tln:StandoffTag . +tln:textUnitHasTitle a owl:ObjectProperty ; + rdfs:label "relates a external published text unit with a title"@en ; + rdfs:comment "Relates a external published text unit with a title by which it can be identified."@en ; + rdfs:domain tln:ExternalTextUnit ; + rdfs:isDefinedBy ; + rdfs:range xsd:string . + +tln:textUnitHasUrl a owl:ObjectProperty ; + rdfs:label "relates a external published text unit with a URL"@en ; + rdfs:comment "Relates a external published text unit with a URL by which it can be visited."@en ; + rdfs:domain tln:ExternalTextUnit ; + rdfs:isDefinedBy ; + rdfs:range xsd:anyURI . + tln:wordHasEarlierVersion a owl:ObjectProperty ; rdfs:label "word has an earlier version"@en ; rdfs:comment "There is a earlier version of this word."@en ; rdfs:domain tln:Word ; rdfs:isDefinedBy ; rdfs:range tln:Word . tln:wordHasEditorComment a owl:ObjectProperty ; rdfs:label "word has a comment by the editors"@en ; rdfs:comment "Word has been commented by the editors."@en ; rdfs:domain tln:Word ; rdfs:isDefinedBy ; rdfs:range tln:EditorComment . tln:wordHasWordParts a owl:ObjectProperty ; rdfs:label "word has word parts"@en ; rdfs:comment "Word consists of a list of words."@en ; rdfs:domain tln:Word ; rdfs:isDefinedBy ; rdfs:range rdf:List ; rdfs:subPropertyOf homotypic:hasHomotypicParts . tln:wordIsDeletedByPath a owl:ObjectProperty ; rdfs:label "word has been deleted with a deletion path"@en ; rdfs:comment "Word has been deleted by the author using a deletion path."@en ; rdfs:domain tln:Word ; rdfs:isDefinedBy ; rdfs:range tln:WordDeletionPath . tln:writingContinuesWithWord a owl:ObjectProperty ; rdfs:label "writing continues with next word"@en ; rdfs:domain tln:Word ; rdfs:isDefinedBy ; rdfs:range tln:Word . tln:AtypicalWriting a owl:Class ; rdfs:label "atypical writing"@en ; rdfs:comment "This class represents a a atpycial writing by the author."@en ; rdfs:isDefinedBy ; rdfs:subClassOf tln:EditorComment . tln:Box a owl:Class ; rdfs:label "box"@en ; rdfs:comment "This represents box svg paths."@en ; rdfs:isDefinedBy ; rdfs:subClassOf tln:Path . tln:Clarification a owl:Class ; rdfs:label "clarification"@en ; rdfs:comment "This class represents a word clarification."@en ; rdfs:isDefinedBy ; rdfs:subClassOf [ a owl:Restriction ; owl:cardinality "1"^^xsd:nonNegativeInteger ; owl:onProperty tln:clarificationHasText ], tln:EditorComment . tln:EditorCorrection a owl:Class ; rdfs:label "editor correction"@en ; rdfs:comment "This class represents a word correction by the editors."@en ; rdfs:isDefinedBy ; rdfs:subClassOf tln:EditorComment . +tln:FaksimilePosition a owl:Class ; + rdfs:label "faksimile position"@en ; + rdfs:comment "This class represents the position of a Word on a TextField on a FaksimileImage."@en ; + rdfs:isDefinedBy ; + rdfs:subClassOf tln:WordPosition . + +tln:NonExistentPage a owl:Class ; + rdfs:label "non existent page"@en ; + rdfs:comment "This class represents a page that does not exist as part of the KGW edition."@en ; + rdfs:isDefinedBy ; + rdfs:subClassOf tln:Page . + +tln:ReconstructedKonvolut a owl:Class ; + rdfs:label "reconstruction of an origianl manuscript "@en ; + rdfs:comment "This class represents a reconstruction of an original manuscript (e.g. a workbook or notebook)."@en ; + rdfs:isDefinedBy ; + rdfs:subClassOf tln:ManuscriptUnity . + +tln:SVGImage a owl:Class ; + rdfs:label "svg image"@en ; + rdfs:comment "This class represents a svg image."@en ; + rdfs:isDefinedBy ; + rdfs:subClassOf tln:Image . + tln:TextConnectionMark a owl:Class ; rdfs:label "text connection mark"@en ; rdfs:comment "This class represents a text connection mark."@en ; rdfs:isDefinedBy ; rdfs:subClassOf [ a owl:Restriction ; owl:cardinality "1"^^xsd:nonNegativeInteger ; owl:onProperty tln:textConnectionMarkHasTextSource ], tln:SpecialWord . +tln:TextGenesis a owl:Class ; + rdfs:label "identifies a genetic order of text versions"@en ; + rdfs:comment "Identifies a genetic order of text versions, i.e. groups text units as earlier and later versions of each other."@en ; + rdfs:isDefinedBy . + +tln:TranskriptionPosition a owl:Class ; + rdfs:label "position of a word on the topological transkription"@en ; + rdfs:comment "This class represents the position of a word on the transkription as it is displayed by a svg image."@en ; + rdfs:isDefinedBy ; + rdfs:subClassOf tln:WordPosition . + +tln:belongsToPage a owl:ObjectProperty ; + rdfs:label "relates a part of a page with the page it is a part of"@en ; + rdfs:comment "Relates a part of a page with the page it is a part of."@en ; + rdfs:domain tln:PartOfPageTextUnit ; + rdfs:isDefinedBy ; + rdfs:range tln:Page . + tln:clarificationHasText a owl:ObjectProperty ; rdfs:label "has clarificationHasText"@en ; rdfs:domain tln:Clarification ; rdfs:isDefinedBy ; rdfs:range tln:Text . tln:colorHasName a owl:DatatypeProperty ; rdfs:label "color has name"@en ; rdfs:comment "Connects a color with its name."@en ; rdfs:domain tln:Color ; rdfs:isDefinedBy ; rdfs:range xsd:string . +tln:endLine a owl:ObjectProperty ; + rdfs:label "relates a part of a page with the line it ends with"@en ; + rdfs:comment "Relates a part of a page with the line it ends with."@en ; + rdfs:domain tln:PartOfPageTextUnit ; + rdfs:isDefinedBy ; + rdfs:range tln:Line . + tln:firstLineOfReference a owl:DatatypeProperty ; rdfs:label "first line of reference"@en ; rdfs:domain tln:Reference ; rdfs:isDefinedBy ; rdfs:range xsd:integer . tln:hasBottom a owl:DatatypeProperty ; rdfs:label "has Bottom"@en ; rdfs:domain tln:PositionalObject ; rdfs:isDefinedBy ; rdfs:range xsd:float . +tln:hasFaksimilePosition a owl:ObjectProperty ; + rdfs:label "has FaksimilePosition"@en ; + rdfs:domain tln:SimpleWord ; + rdfs:isDefinedBy ; + rdfs:range tln:FaksimilePosition . + tln:hasFileName a owl:DatatypeProperty ; rdfs:label "has FileName"@en ; rdfs:domain tln:Image ; rdfs:isDefinedBy ; rdfs:range xsd:string . tln:hasHexadecimalValue a owl:DatatypeProperty ; rdfs:label "color has a hexadecimal value"@en ; rdfs:comment "Connects a color with its hexadecimal representation. A hexadecimal color is specified with: #RRGGBB."@en ; rdfs:domain tln:Color ; rdfs:isDefinedBy ; rdfs:range xsd:string . tln:hasLeft a owl:DatatypeProperty ; rdfs:label "has Left"@en ; rdfs:domain tln:PositionalObject ; rdfs:isDefinedBy ; rdfs:range xsd:float . tln:hasManuscriptType a owl:DatatypeProperty ; rdfs:label "has ManuscriptType"@en ; - rdfs:domain tln:ArchivalManuscriptUnity ; + rdfs:domain tln:ManuscriptUnity ; rdfs:isDefinedBy ; rdfs:range xsd:string . tln:hasMarkType a owl:DatatypeProperty ; rdfs:label "has MarkType"@en ; rdfs:domain tln:WordInsertionMark ; rdfs:isDefinedBy ; rdfs:range xsd:string . tln:hasNextWord a owl:ObjectProperty ; rdfs:label "has next word"@en ; rdfs:domain tln:WordInsertionMark ; rdfs:isDefinedBy ; rdfs:range tln:Word . tln:hasNumber a owl:DatatypeProperty ; rdfs:label "has Number"@en ; rdfs:domain tln:Page ; rdfs:isDefinedBy ; rdfs:range xsd:string . tln:hasPreviousWord a owl:ObjectProperty ; rdfs:label "has previous word"@en ; rdfs:domain tln:WordInsertionMark ; rdfs:isDefinedBy ; rdfs:range tln:Word . +tln:hasPrimaryurl a owl:DatatypeProperty ; + rdfs:label "has Primaryurl"@en ; + rdfs:domain tln:Image ; + rdfs:isDefinedBy ; + rdfs:range xsd:string ; + rdfs:subPropertyOf tln:hasUrl . + +tln:hasSecondaryurl a owl:DatatypeProperty ; + rdfs:label "has Secondaryurl"@en ; + rdfs:domain tln:Image ; + rdfs:isDefinedBy ; + rdfs:range xsd:string ; + rdfs:subPropertyOf tln:hasUrl . + tln:hasSymbolId a owl:DatatypeProperty ; rdfs:label "has SymbolId"@en ; rdfs:domain tln:WordInsertionMark ; rdfs:isDefinedBy ; rdfs:range xsd:string . tln:hasText a owl:DatatypeProperty ; rdfs:label "has Text"@en ; rdfs:domain tln:SimpleWord ; rdfs:isDefinedBy ; rdfs:range xsd:string ; rdfs:subPropertyOf homotypic:hasText . tln:hasTitle a owl:DatatypeProperty ; rdfs:label "has Title"@en ; - rdfs:domain tln:ArchivalManuscriptUnity, + rdfs:domain tln:ManuscriptUnity, tln:Reference ; rdfs:isDefinedBy ; rdfs:range xsd:string . tln:hasTop a owl:DatatypeProperty ; rdfs:label "has Top"@en ; rdfs:domain tln:PositionalObject ; rdfs:isDefinedBy ; rdfs:range xsd:float . tln:hasTranskriptionPosition a owl:ObjectProperty ; rdfs:label "has TranskriptionPosition"@en ; rdfs:domain tln:SimpleWord ; rdfs:isDefinedBy ; rdfs:range tln:TranskriptionPosition . -tln:hasUrl a owl:DatatypeProperty ; - rdfs:label "has Url"@en ; - rdfs:domain tln:Image ; - rdfs:isDefinedBy ; - rdfs:range xsd:anyURI . - tln:isLineAContinuationTo a owl:DatatypeProperty ; rdfs:label "whether line continues on reference"@en ; rdfs:domain tln:LineContinuation ; rdfs:isDefinedBy ; rdfs:range xsd:boolean . tln:isMainLine a owl:DatatypeProperty ; rdfs:label "whether or not line is a main line"@en ; rdfs:comment "Indicates whether or not line is a main line. Lines that are not main lines, contain later inserted words."@en ; rdfs:domain tln:Line ; rdfs:isDefinedBy ; rdfs:range xsd:boolean . -tln:isOnFaksimileImage a owl:ObjectProperty ; - rdfs:label "faksimile position is on faksimile image"@en ; - rdfs:comment "Relates the faksimile position of a word to the faksimile image"@en ; - rdfs:domain tln:FaksimilePosition ; - rdfs:isDefinedBy ; - rdfs:range tln:FaksimileImage . - -tln:isOnSvgImage a owl:ObjectProperty ; - rdfs:label "transkription position is on svg image"@en ; - rdfs:domain tln:TranskriptionPosition ; - rdfs:isDefinedBy ; - rdfs:range tln:SVGImage . - -tln:isOnTextField a owl:ObjectProperty ; - rdfs:label "faksimile position is on text field"@en ; - rdfs:comment "Relates the faksimile position of a word to its text field on a faksimile image"@en ; - rdfs:domain tln:FaksimilePosition ; - rdfs:isDefinedBy ; - rdfs:range tln:TextField . - tln:lastLineOfReference a owl:DatatypeProperty ; rdfs:label "last line of reference"@en ; rdfs:domain tln:Reference ; rdfs:isDefinedBy ; rdfs:range xsd:integer . tln:lineContinuationHasReference a owl:ObjectProperty ; rdfs:label "line continues from/to reference"@en ; rdfs:domain tln:LineContinuation ; rdfs:isDefinedBy ; rdfs:range tln:Reference . tln:lineHasBottomValueOnTranskription a owl:DatatypeProperty ; rdfs:label "has lineHasBottomValueOnTranskription"@en ; rdfs:domain tln:Line ; rdfs:isDefinedBy ; rdfs:range xsd:float . tln:lineHasInnerBottomValueOnFaksimile a owl:DatatypeProperty ; rdfs:label "line has a top position on the faksimile image"@en ; rdfs:comment "This is the top position of the area, in which the words belong to this line."@en ; rdfs:domain tln:Line ; rdfs:isDefinedBy ; rdfs:range xsd:float . tln:lineHasInnerTopValueOnFaksimile a owl:DatatypeProperty ; rdfs:label "line has a bottom position on the faksimile image"@en ; rdfs:comment "This is the bottom position of the area, in which the words belong to this line."@en ; rdfs:domain tln:Line ; rdfs:isDefinedBy ; rdfs:range xsd:float . tln:lineHasNumber a owl:DatatypeProperty ; rdfs:label "line has number"@en ; rdfs:comment "Relating a line to the number it has."@en ; rdfs:domain tln:Line ; rdfs:isDefinedBy ; rdfs:range xsd:integer . tln:lineHasOuterBottomValueOnFaksimile a owl:DatatypeProperty ; rdfs:label "line has a top position next to the faksimile image"@en ; rdfs:comment "This is the top position of line outside of the faksimile image."@en ; rdfs:domain tln:Line ; rdfs:isDefinedBy ; rdfs:range xsd:float . tln:lineHasOuterTopValueOnFaksimile a owl:DatatypeProperty ; rdfs:label "line has a bottom position next to the faksimile image"@en ; rdfs:comment "This is the bottom position of line outside of the faksimile image."@en ; rdfs:domain tln:Line ; rdfs:isDefinedBy ; rdfs:range xsd:float . tln:lineHasTopValueOnTranskription a owl:DatatypeProperty ; rdfs:label "has lineHasTopValueOnTranskription"@en ; rdfs:domain tln:Line ; rdfs:isDefinedBy ; rdfs:range xsd:float . tln:penOfForeignHands a owl:DatatypeProperty ; rdfs:label "pen used to write text by some foreign hand"@en ; rdfs:domain tln:MarkForeignHands ; rdfs:isDefinedBy ; rdfs:range xsd:string . +tln:resolutionOfAbbreviation a owl:DatatypeProperty ; + rdfs:label "resolution of the abbreviation"@en ; + rdfs:domain tln:MarkForeignHands ; + rdfs:isDefinedBy ; + rdfs:range xsd:string . + tln:standoffTagHasEndIndex a owl:DatatypeProperty ; rdfs:label "standoff tag has a end index"@en ; rdfs:comment "Connects a standoff tag with its end index."@en ; rdfs:domain tln:StandoffTag ; rdfs:isDefinedBy ; rdfs:range xsd:integer ; rdfs:subPropertyOf stoff:standoffMarkupHasEndIndex . tln:standoffTagHasStartIndex a owl:DatatypeProperty ; rdfs:label "standoff tag has a start index"@en ; rdfs:comment "Connects a standoff tag with its start index."@en ; rdfs:domain tln:StandoffTag ; rdfs:isDefinedBy ; rdfs:range xsd:integer ; rdfs:subPropertyOf stoff:standoffMarkupHasStartIndex . +tln:startLine a owl:ObjectProperty ; + rdfs:label "relates a part of a page with the line it starts with"@en ; + rdfs:comment "Relates a part of a page with the line it starts with."@en ; + rdfs:domain tln:PartOfPageTextUnit ; + rdfs:isDefinedBy ; + rdfs:range tln:Line . + tln:styleHasColor a owl:ObjectProperty ; rdfs:label "style has color"@en ; rdfs:comment "Connects a style with a color."@en ; rdfs:domain tln:Style ; rdfs:isDefinedBy ; rdfs:range tln:Color . tln:styleHasFont a owl:DatatypeProperty ; rdfs:label "style has font"@en ; rdfs:comment "Connects a style with the kind of font Nietzsche used in writing."@en ; rdfs:domain tln:Style ; rdfs:isDefinedBy ; rdfs:range xsd:string . tln:styleHasWritingInstrument a owl:DatatypeProperty ; rdfs:label "style has writing instrument"@en ; rdfs:comment "Connects a style with the description of a writing instrument."@en ; rdfs:domain tln:Style ; rdfs:isDefinedBy ; rdfs:range xsd:string . tln:textConnectionMarkHasTextSource a owl:ObjectProperty ; rdfs:label "text connection mark has a text source"@en ; rdfs:domain tln:TextConnectionMark ; rdfs:isDefinedBy ; rdfs:range tln:Reference . tln:textHasContent a owl:DatatypeProperty ; rdfs:label "content of text"@en ; rdfs:comment "Connects a text with its content."@en ; rdfs:domain tln:Text ; rdfs:isDefinedBy ; rdfs:range xsd:string . -tln:textOfForeignHands a owl:DatatypeProperty ; +tln:textOfForeignHands a owl:ObjectProperty ; rdfs:label "text traces of some foreign hand"@en ; rdfs:domain tln:MarkForeignHands ; rdfs:isDefinedBy ; - rdfs:range xsd:string . + rdfs:range tln:Text . tln:wordBelongsToLine a owl:ObjectProperty ; rdfs:label "word belongs to a line"@en ; rdfs:comment "Relating a word to a line."@en ; rdfs:domain tln:SimpleWord ; rdfs:isDefinedBy ; rdfs:range tln:Line . tln:wordHasCorrection a owl:ObjectProperty ; rdfs:label "word has corrections"@en ; rdfs:comment "Word has a correction made by the author."@en ; rdfs:domain tln:Word ; rdfs:isDefinedBy ; rdfs:range tln:Word . tln:wordHasStyle a owl:ObjectProperty ; rdfs:label "word has style"@en ; rdfs:comment "Word has an appearance that is characterized by this style."@en ; rdfs:domain tln:Word ; rdfs:isDefinedBy ; rdfs:range tln:Style . tln:wordInsertionMarkBelongsToLine a owl:ObjectProperty ; rdfs:label "word insertion mark belongs to a specific line"@en ; rdfs:domain tln:WordInsertionMark ; rdfs:isDefinedBy ; rdfs:range tln:Line . tln:wordReference a owl:DatatypeProperty ; rdfs:label "refers to word on same line"@en ; rdfs:domain tln:Reference ; rdfs:isDefinedBy ; rdfs:range xsd:string . tln:Description a owl:Class ; rdfs:label "description"@en ; rdfs:comment "This class represents a description."@en ; rdfs:isDefinedBy ; rdfs:subClassOf tln:Text . -tln:FaksimileImage a owl:Class ; - rdfs:label "faksimile image"@en ; - rdfs:comment "This class represents a faksimile image."@en ; +tln:ExternalTextUnit a owl:Class ; + rdfs:label "a list text unit that has been published external to the digital edition"@en ; + rdfs:comment "A text unit that has been published external to the digital edition."@en ; rdfs:isDefinedBy ; - rdfs:subClassOf tln:Image . + rdfs:subClassOf tln:IdentifiedTextVersion . + +tln:IdentifiedTextVersion a owl:Class ; + rdfs:label "identifies a list of text unities as a text version"@en ; + rdfs:comment "Identification of a list of text unities (e.g. pages or parts of pages) as a text version for which there is an earlier or later version."@en ; + rdfs:isDefinedBy . tln:LineContinuation a owl:Class ; rdfs:label "line continuation"@en ; rdfs:comment "This class represents a line continuation."@en ; rdfs:isDefinedBy ; rdfs:subClassOf [ a owl:Restriction ; - owl:cardinality "1"^^xsd:nonNegativeInteger ; - owl:onProperty tln:isLineAContinuationTo ], - [ a owl:Restriction ; owl:cardinality "1"^^xsd:nonNegativeInteger ; owl:onProperty tln:lineContinuationHasReference ], - tln:EditorComment . - -tln:MarkForeignHands a owl:Class ; - rdfs:label "mark foreign hands"@en ; - rdfs:comment "This class represents the mark for text by some foreign hand."@en ; - rdfs:isDefinedBy ; - rdfs:subClassOf [ a owl:Restriction ; - owl:maxCardinality "1"^^xsd:nonNegativeInteger ; - owl:onProperty tln:penOfForeignHands ], [ a owl:Restriction ; owl:cardinality "1"^^xsd:nonNegativeInteger ; - owl:onProperty tln:textOfForeignHands ], - tln:SpecialWord . - -tln:SVGImage a owl:Class ; - rdfs:label "svg image"@en ; - rdfs:comment "This class represents a svg image."@en ; - rdfs:isDefinedBy ; - rdfs:subClassOf tln:Image . + owl:onProperty tln:isLineAContinuationTo ], + tln:EditorComment . tln:SpecialWord a owl:Class ; rdfs:label "special word"@en ; rdfs:comment "This class represents a special word."@en ; rdfs:isDefinedBy ; rdfs:subClassOf tln:SimpleWord . -tln:TextField a owl:Class ; - rdfs:label "text field"@en ; - rdfs:comment "This class represents the text field of a faksimile image."@en ; - rdfs:isDefinedBy ; - rdfs:subClassOf tln:PositionalObject . - -tln:TranskriptionPosition a owl:Class ; - rdfs:label "position of a word on the topological transkription"@en ; - rdfs:comment "This class represents the position of a word on the transkription as it is displayed by a svg image."@en ; - rdfs:isDefinedBy ; - rdfs:subClassOf [ a owl:Restriction ; - owl:cardinality "1"^^xsd:nonNegativeInteger ; - owl:onProperty tln:isOnSvgImage ], - tln:WordPosition . - tln:WordDeletionPath a owl:Class ; rdfs:label "word deletion path"@en ; rdfs:comment "This class represents word deletion paths."@en ; rdfs:isDefinedBy ; rdfs:subClassOf tln:Path . tln:WordPosition a owl:Class ; rdfs:label "word position"@en ; rdfs:comment "This class represents a word position."@en ; rdfs:isDefinedBy ; rdfs:subClassOf tln:PositionalObject . tln:hasHeight a owl:DatatypeProperty ; rdfs:label "has Height"@en ; rdfs:domain tln:Image, tln:PositionalObject ; rdfs:isDefinedBy ; rdfs:range xsd:float . +tln:hasImage a owl:ObjectProperty ; + rdfs:label "relates a page to a image"@en ; + rdfs:comment "relates a page to an image that has a textfield that specifies the area where the writing that constitutes the page can be found."@en ; + rdfs:domain tln:Page ; + rdfs:isDefinedBy ; + rdfs:range tln:Image . + tln:hasWidth a owl:DatatypeProperty ; rdfs:label "has Width"@en ; rdfs:domain tln:Image, tln:PositionalObject ; rdfs:isDefinedBy ; rdfs:range xsd:float . tln:overwritesWord a owl:ObjectProperty ; rdfs:label "word overwrites word"@en ; rdfs:comment "The author has used this word in order to overwrite that word."@en ; rdfs:domain tln:Word ; rdfs:isDefinedBy ; rdfs:range tln:Word . +tln:pageIsOnTextField a owl:ObjectProperty ; + rdfs:label "page is on text field"@en ; + rdfs:comment "the writing that is referred to as subject can be found on object"@en ; + rdfs:domain tln:Page ; + rdfs:isDefinedBy ; + rdfs:range tln:TextField . + tln:Color a owl:Class ; rdfs:label "color"@en ; rdfs:comment "This class represents a color."@en ; rdfs:isDefinedBy ; rdfs:subClassOf [ a owl:Restriction ; owl:cardinality "1"^^xsd:nonNegativeInteger ; owl:onProperty tln:colorHasName ], [ a owl:Restriction ; owl:cardinality "1"^^xsd:nonNegativeInteger ; owl:onProperty tln:hasHexadecimalValue ] . tln:EarlierDescription a owl:Class ; rdfs:label "earlier description"@en ; rdfs:comment "This class represents a description by another author."@en ; rdfs:isDefinedBy ; rdfs:subClassOf tln:Description . -tln:FaksimilePosition a owl:Class ; - rdfs:label "faksimile position"@en ; - rdfs:comment "This class represents the position of a Word on a TextField on a FaksimileImage."@en ; +tln:MarkForeignHands a owl:Class ; + rdfs:label "mark foreign hands"@en ; + rdfs:comment "This class represents the mark for text by some foreign hand."@en ; rdfs:isDefinedBy ; rdfs:subClassOf [ a owl:Restriction ; + owl:maxCardinality "1"^^xsd:nonNegativeInteger ; + owl:onProperty tln:penOfForeignHands ], + [ a owl:Restriction ; owl:cardinality "1"^^xsd:nonNegativeInteger ; - owl:onProperty tln:isOnTextField ], + owl:onProperty tln:textOfForeignHands ], [ a owl:Restriction ; + owl:maxCardinality "1"^^xsd:nonNegativeInteger ; + owl:onProperty tln:resolutionOfAbbreviation ], + tln:SpecialWord . + +tln:PartOfPageTextUnit a owl:Class ; + rdfs:label "identifies a part of a page as a text unity"@en ; + rdfs:comment "Identification of a part of page as a text unity."@en ; + rdfs:isDefinedBy ; + rdfs:subClassOf [ a owl:Restriction ; owl:cardinality "1"^^xsd:nonNegativeInteger ; - owl:onProperty tln:isOnFaksimileImage ], - tln:WordPosition . + owl:onProperty tln:belongsToPage ], + [ a owl:Restriction ; + owl:cardinality "1"^^xsd:nonNegativeInteger ; + owl:onProperty tln:startLine ], + [ a owl:Restriction ; + owl:cardinality "1"^^xsd:nonNegativeInteger ; + owl:onProperty tln:endLine ] . tln:Path a owl:Class ; rdfs:label "path"@en ; rdfs:comment "This super class represents all types of svg paths."@en ; rdfs:isDefinedBy . +tln:ArchivalManuscriptUnity a owl:Class ; + rdfs:label "archival unity of manuscript pages"@en ; + rdfs:comment "This class represents an archival unity of manuscript pages (workbooks, notebooks and portfolios of handwritten pages)."@en ; + rdfs:isDefinedBy ; + rdfs:subClassOf tln:ManuscriptUnity . + +tln:FaksimileImage a owl:Class ; + rdfs:label "faksimile image"@en ; + rdfs:comment "This class represents a faksimile image."@en ; + rdfs:isDefinedBy ; + rdfs:subClassOf tln:Image . + tln:StandoffTag a owl:Class ; rdfs:label "standoff tag"@en ; rdfs:comment "This class represents the standoff markup of a text."@en ; rdfs:isDefinedBy ; rdfs:subClassOf [ a owl:Restriction ; owl:cardinality "1"^^xsd:nonNegativeInteger ; owl:onProperty tln:standoffTagHasEndIndex ], [ a owl:Restriction ; owl:cardinality "1"^^xsd:nonNegativeInteger ; owl:onProperty tln:standoffTagHasStartIndex ], stoff:StandoffMarkup . +tln:TextField a owl:Class ; + rdfs:label "text field"@en ; + rdfs:comment "This class represents the text field of a faksimile image."@en ; + rdfs:isDefinedBy ; + rdfs:subClassOf tln:PositionalObject . + tln:isCorrectionOfWord a owl:ObjectProperty ; rdfs:label "word is a correction of word"@en ; rdfs:comment "The author has used this word in order to correct that word."@en ; rdfs:domain tln:Word ; rdfs:isDefinedBy ; rdfs:range tln:Word . -tln:Text a owl:Class ; - rdfs:label "text"@en ; - rdfs:comment "This class represents a text that may have standoff markup."@en ; - rdfs:isDefinedBy ; - rdfs:subClassOf [ a owl:Restriction ; - owl:cardinality "1"^^xsd:nonNegativeInteger ; - owl:onProperty tln:textHasContent ] . - tln:WordInsertionMark a owl:Class ; rdfs:label "word insertion mark"@en ; rdfs:comment "This class represents a word insertion mark."@en ; rdfs:isDefinedBy ; rdfs:subClassOf [ a owl:Restriction ; - owl:maxCardinality "1"^^xsd:nonNegativeInteger ; - owl:onProperty tln:hasSymbolId ], - [ a owl:Restriction ; owl:cardinality "1"^^xsd:nonNegativeInteger ; owl:onProperty tln:wordInsertionMarkBelongsToLine ], [ a owl:Restriction ; owl:maxCardinality "1"^^xsd:nonNegativeInteger ; - owl:onProperty tln:hasNextWord ], + owl:onProperty tln:hasSymbolId ], + [ a owl:Restriction ; + owl:maxCardinality "1"^^xsd:nonNegativeInteger ; + owl:onProperty tln:hasPreviousWord ], [ a owl:Restriction ; owl:cardinality "1"^^xsd:nonNegativeInteger ; owl:onProperty tln:hasMarkType ], [ a owl:Restriction ; owl:maxCardinality "1"^^xsd:nonNegativeInteger ; - owl:onProperty tln:hasPreviousWord ], + owl:onProperty tln:hasNextWord ], tln:PositionalObject . -tln:ArchivalManuscriptUnity a owl:Class ; - rdfs:label "archival unity of manuscript pages"@en ; - rdfs:comment "This class represents an archival unity of manuscript pages (workbooks, notebooks and portfolios of handwritten pages)."@en ; +tln:hasUrl a owl:DatatypeProperty ; + rdfs:label "has Url"@en ; + rdfs:domain tln:Image ; + rdfs:isDefinedBy ; + rdfs:range xsd:anyURI . + +tln:ManuscriptUnity a owl:Class ; + rdfs:label "unity of manuscript pages"@en ; + rdfs:comment "This class represents a unity of manuscript pages, i.e. handwritten pages that are somehow united."@en ; rdfs:isDefinedBy ; rdfs:subClassOf [ a owl:Restriction ; owl:cardinality "1"^^xsd:nonNegativeInteger ; - owl:onProperty tln:hasManuscriptType ], + owl:onProperty tln:hasTitle ], [ a owl:Restriction ; owl:cardinality "1"^^xsd:nonNegativeInteger ; - owl:onProperty tln:hasTitle ] . + owl:onProperty tln:hasManuscriptType ] . tln:SimpleWord a owl:Class ; rdfs:label "simple word"@en ; rdfs:comment "This class represents a simple word."@en ; rdfs:isDefinedBy ; rdfs:subClassOf [ a owl:Restriction ; owl:cardinality "1"^^xsd:nonNegativeInteger ; owl:onProperty tln:hasText ], + [ a owl:Restriction ; + owl:minCardinality "1"^^xsd:nonNegativeInteger ; + owl:onProperty tln:hasTranskriptionPosition ], [ a owl:Restriction ; owl:minCardinality "1"^^xsd:nonNegativeInteger ; owl:onProperty tln:wordBelongsToLine ], [ a owl:Restriction ; owl:minCardinality "1"^^xsd:nonNegativeInteger ; - owl:onProperty tln:hasTranskriptionPosition ], + owl:onProperty tln:hasFaksimilePosition ], homotypic:HomotypicEntity . tln:Style a owl:Class ; rdfs:label "style"@en ; rdfs:comment "This class represents the style of a word."@en ; rdfs:isDefinedBy ; rdfs:subClassOf [ a owl:Restriction ; owl:cardinality "1"^^xsd:nonNegativeInteger ; - owl:onProperty tln:styleHasFont ], + owl:onProperty tln:styleHasWritingInstrument ], [ a owl:Restriction ; owl:cardinality "1"^^xsd:nonNegativeInteger ; - owl:onProperty tln:styleHasColor ], + owl:onProperty tln:styleHasFont ], [ a owl:Restriction ; owl:cardinality "1"^^xsd:nonNegativeInteger ; - owl:onProperty tln:styleHasWritingInstrument ], + owl:onProperty tln:styleHasColor ], stoff:Style . -tln:Image a owl:Class ; - rdfs:label "image"@en ; - rdfs:comment "This super class represents all types of images."@en ; +tln:Text a owl:Class ; + rdfs:label "text"@en ; + rdfs:comment "This class represents a text that may have standoff markup."@en ; rdfs:isDefinedBy ; rdfs:subClassOf [ a owl:Restriction ; owl:cardinality "1"^^xsd:nonNegativeInteger ; - owl:onProperty tln:hasHeight ], - [ a owl:Restriction ; - owl:cardinality "1"^^xsd:nonNegativeInteger ; - owl:onProperty tln:hasUrl ], - [ a owl:Restriction ; - owl:cardinality "1"^^xsd:nonNegativeInteger ; - owl:onProperty tln:hasFileName ], - [ a owl:Restriction ; - owl:cardinality "1"^^xsd:nonNegativeInteger ; - owl:onProperty tln:hasWidth ] . + owl:onProperty tln:textHasContent ] . tln:Reference a owl:Class ; rdfs:label "reference"@en ; rdfs:comment "This class represents a text reference."@en ; rdfs:isDefinedBy ; rdfs:subClassOf [ a owl:Restriction ; owl:maxCardinality "1"^^xsd:nonNegativeInteger ; - owl:onProperty tln:firstLineOfReference ], + owl:onProperty tln:lastLineOfReference ], [ a owl:Restriction ; owl:maxCardinality "1"^^xsd:nonNegativeInteger ; - owl:onProperty tln:lastLineOfReference ], + owl:onProperty tln:firstLineOfReference ], [ a owl:Restriction ; owl:maxCardinality "1"^^xsd:nonNegativeInteger ; owl:onProperty tln:wordReference ] . tln:EditorComment a owl:Class ; rdfs:label "editor comment"@en ; rdfs:comment "This class represents a comment by the editors."@en ; rdfs:isDefinedBy . -tln:Page a owl:Class ; - rdfs:label "page"@en ; - rdfs:comment "This class represents a page."@en ; - rdfs:isDefinedBy ; - rdfs:subClassOf [ a owl:Restriction ; - owl:cardinality "1"^^xsd:nonNegativeInteger ; - owl:onProperty tln:hasNumber ], - document:Page . - tln:PositionalObject a owl:Class ; rdfs:label "positional object"@en ; rdfs:comment "This (super) class represents an object with positional information."@en ; rdfs:isDefinedBy ; rdfs:subClassOf [ a owl:Restriction ; owl:cardinality "1"^^xsd:nonNegativeInteger ; owl:onProperty tln:hasTop ], + [ a owl:Restriction ; + owl:cardinality "1"^^xsd:nonNegativeInteger ; + owl:onProperty tln:hasLeft ], + [ a owl:Restriction ; + owl:cardinality "1"^^xsd:nonNegativeInteger ; + owl:onProperty tln:hasHeight ], + [ a owl:Restriction ; + owl:cardinality "1"^^xsd:nonNegativeInteger ; + owl:onProperty tln:hasBottom ], + [ a owl:Restriction ; + owl:cardinality "1"^^xsd:nonNegativeInteger ; + owl:onProperty tln:hasWidth ] . + +tln:Image a owl:Class ; + rdfs:label "image"@en ; + rdfs:comment "This super class represents all types of images."@en ; + rdfs:isDefinedBy ; + rdfs:subClassOf [ a owl:Restriction ; + owl:cardinality "1"^^xsd:nonNegativeInteger ; + owl:onProperty tln:hasSecondaryurl ], [ a owl:Restriction ; owl:cardinality "1"^^xsd:nonNegativeInteger ; owl:onProperty tln:hasWidth ], [ a owl:Restriction ; owl:cardinality "1"^^xsd:nonNegativeInteger ; - owl:onProperty tln:hasLeft ], + owl:onProperty tln:hasPrimaryurl ], [ a owl:Restriction ; owl:cardinality "1"^^xsd:nonNegativeInteger ; - owl:onProperty tln:hasHeight ], + owl:onProperty tln:hasFileName ], [ a owl:Restriction ; owl:cardinality "1"^^xsd:nonNegativeInteger ; - owl:onProperty tln:hasBottom ] . + owl:onProperty tln:hasHeight ] . tln:Line a owl:Class ; rdfs:label "a line on a page"@en ; rdfs:comment "This class represents a line on a page."@en ; rdfs:isDefinedBy ; rdfs:subClassOf [ a owl:Restriction ; owl:cardinality "1"^^xsd:nonNegativeInteger ; - owl:onProperty tln:isMainLine ], + owl:onProperty tln:lineHasInnerBottomValueOnFaksimile ], [ a owl:Restriction ; owl:cardinality "1"^^xsd:nonNegativeInteger ; - owl:onProperty tln:lineHasOuterBottomValueOnFaksimile ], + owl:onProperty tln:lineHasBottomValueOnTranskription ], + [ a owl:Restriction ; + owl:cardinality "1"^^xsd:nonNegativeInteger ; + owl:onProperty tln:isMainLine ], [ a owl:Restriction ; owl:cardinality "1"^^xsd:nonNegativeInteger ; owl:onProperty tln:lineHasTopValueOnTranskription ], [ a owl:Restriction ; owl:cardinality "1"^^xsd:nonNegativeInteger ; - owl:onProperty tln:lineHasBottomValueOnTranskription ], + owl:onProperty tln:lineHasOuterTopValueOnFaksimile ], [ a owl:Restriction ; owl:cardinality "1"^^xsd:nonNegativeInteger ; owl:onProperty tln:lineHasInnerTopValueOnFaksimile ], [ a owl:Restriction ; owl:cardinality "1"^^xsd:nonNegativeInteger ; owl:onProperty tln:lineHasNumber ], [ a owl:Restriction ; owl:cardinality "1"^^xsd:nonNegativeInteger ; - owl:onProperty tln:lineHasInnerBottomValueOnFaksimile ], - [ a owl:Restriction ; + owl:onProperty tln:lineHasOuterBottomValueOnFaksimile ] . + +tln:Page a owl:Class ; + rdfs:label "page"@en ; + rdfs:comment "This class represents a page."@en ; + rdfs:isDefinedBy ; + rdfs:subClassOf [ a owl:Restriction ; owl:cardinality "1"^^xsd:nonNegativeInteger ; - owl:onProperty tln:lineHasOuterTopValueOnFaksimile ] . + owl:onProperty tln:hasNumber ], + document:Page . tln:Word a owl:Class ; rdfs:label "word"@en ; rdfs:comment "This class represents a word."@en ; rdfs:isDefinedBy ; rdfs:subClassOf [ a owl:Restriction ; owl:minCardinality "1"^^xsd:nonNegativeInteger ; owl:onProperty tln:wordHasStyle ], text:HandwrittenText, tln:SimpleWord . a owl:Ontology ; dct:contributor "Christian Steiner, software developer, digital edition of der späte Nietzsche, University of Basel, Switzerland"@en ; dct:creator "Dominique Steinbach, tool coordinator/software developer, NIE-INE/digital edition of der späte Nietzsche, Basel University, Switzerland"@en ; dct:description "Formal description of specific concepts in the scientific study of Friedrich Nietzsches late work."@en ; dct:license ; dct:publisher "Basel University, Switzerland"@en ; dct:title "An ontology about the collected late works of Friedrich Nietzsche"@en . diff --git a/machineReasoning_extendUnityWithHomotypicPart/project-rules/40-tln-update_word_line_reference.n3 b/machineReasoning_extendUnityWithHomotypicPart/project-rules/20-tln-update_word_line_reference.n3 similarity index 100% rename from machineReasoning_extendUnityWithHomotypicPart/project-rules/40-tln-update_word_line_reference.n3 rename to machineReasoning_extendUnityWithHomotypicPart/project-rules/20-tln-update_word_line_reference.n3 diff --git a/machineReasoning_extendUnityWithHomotypicPart/project-rules/30-create-output-text.n3 b/machineReasoning_extendUnityWithHomotypicPart/project-rules/30-create-output-text.n3 new file mode 100644 index 0000000..9fc378a --- /dev/null +++ b/machineReasoning_extendUnityWithHomotypicPart/project-rules/30-create-output-text.n3 @@ -0,0 +1,21 @@ +@prefix e: . +@prefix func: . +@prefix list: . +@prefix tln: . + +{ + ?page tln:hasWords ?word_list. + ?word list:in ?word_list; + tln:hasEditedText ?text. +} => { + ?word tln:hasOutputText ?text. +}. + +{ + ?page tln:hasWords ?word_list. + ?word list:in ?word_list; + tln:hasText ?text. + ?SCOPE e:fail { ?word tln:hasEditedText ?editedText }. +} => { + ?word tln:hasOutputText ?text. +}. diff --git a/machineReasoning_extendUnityWithHomotypicPart/project-rules/40-create-pseudo-text.n3 b/machineReasoning_extendUnityWithHomotypicPart/project-rules/40-create-pseudo-text.n3 new file mode 100644 index 0000000..56b9c7b --- /dev/null +++ b/machineReasoning_extendUnityWithHomotypicPart/project-rules/40-create-pseudo-text.n3 @@ -0,0 +1,21 @@ +@prefix e: . +@prefix func: . +@prefix list: . +@prefix tln: . + +{ + ?page tln:hasWords ?word_list. + ?SCOPE e:findall (?text { + ?word list:in ?word_list; tln:hasOutputText ?text. + } ?alltext ). + (?alltext ' ') func:string-join ?pseudo_text. + ?SCOPE e:findall (?raw_text { + ?word list:in ?word_list; tln:hasText ?raw_text. + } ?raw_alltext ). + (?raw_alltext ' ') func:string-join ?raw_pseudo_text. + +} => { + ?page tln:hasPseudoText ?pseudo_text; + tln:hasPseudoText ?raw_pseudo_text. +}. + diff --git a/machineReasoning_extendUnityWithHomotypicPart/project-rules_joined_data/50-tln-connect_lines.n3 b/machineReasoning_extendUnityWithHomotypicPart/project-rules_joined_data/50-tln-connect_lines.n3 index 8234e81..ac35c03 100644 --- a/machineReasoning_extendUnityWithHomotypicPart/project-rules_joined_data/50-tln-connect_lines.n3 +++ b/machineReasoning_extendUnityWithHomotypicPart/project-rules_joined_data/50-tln-connect_lines.n3 @@ -1,169 +1,170 @@ @prefix e: . @prefix list: . @prefix kb: . @prefix math: . @prefix tln: . # TODO connect ?textConnectionMark with its reference as ?textConnectionMark tln:lineContinuesOn ?referred_line. # Connect two lines that mutually refer to each other as ?line tln:lineContinuesOn ?referred_line. # CASE 1: two lines from the same page. { ?manuscript a tln:ArchivalManuscriptUnity; tln:hasPages ?pages. ?page list:in ?pages; tln:hasLines ?lines. ?line list:in ?lines; tln:lineHasEditorComment ?lineContinuationFrom. ?lineContinuationFrom a tln:LineContinuation; tln:isUncertain false ; tln:isLineAContinuationTo true ; tln:lineContinuationHasReference ?reference. ?reference a tln:Reference; tln:firstLineOfReference ?referred_line_number. + ?SCOPE e:findall ( ?reference {?reference tln:hasPageNumber ?number} () ). # Reference does not refer to different page number. ?referred_line list:in ?lines; tln:lineHasEditorComment ?other_lineContinuation; tln:lineHasNumber ?referred_line_number. ?other_lineContinuation a tln:LineContinuation; tln:isLineAContinuationTo false ; tln:lineContinuationHasReference ?mutual_reference. # comment/uncomment if you want to keep/remove the original statements ?subject list:in (?lineContinuationFrom ?reference ?other_lineContinuation ?mutual_reference) ; ?p ?o. ?something ?has ?subject. } => { ?line tln:lineContinuesOn ?referred_line. _:d kb:retract (?subject ?p ?o). _:d kb:retract (?something ?has ?subject). }. # CASE 2a: two lines from two pages of the same manuscript. { ?manuscript a tln:ArchivalManuscriptUnity; tln:hasPages ?pages. ?page list:in ?pages; tln:hasLines ?lines. ?line list:in ?lines; tln:lineHasEditorComment ?lineContinuation. ?lineContinuation a tln:LineContinuation; tln:isUncertain false ; tln:isLineAContinuationTo true ; tln:lineContinuationHasReference ?reference. ?reference a tln:Reference; tln:firstLineOfReference ?referred_line_number; tln:hasPageNumber ?number. ?SCOPE e:findall ( ?reference {?reference tln:hasTitle ?title } () ). # Reference does not refer to different manuscript. ?referred_page list:in ?pages; tln:hasNumber ?number; tln:hasLines ?referred_page_lines. ?referred_line list:in ?referred_page_lines; tln:lineHasEditorComment ?other_lineContinuation; tln:lineHasNumber ?referred_line_number. ?other_lineContinuation a tln:LineContinuation; tln:isLineAContinuationTo false ; tln:lineContinuationHasReference ?mutual_reference. # comment/uncomment if you want to keep/remove the original statements ?subject list:in (?lineContinuation ?reference ?other_lineContinuation ?mutual_reference) ; ?p ?o. ?something ?has ?subject. } => { ?line tln:lineContinuesOn ?referred_line. _:d kb:retract (?subject ?p ?o). _:d kb:retract (?something ?has ?subject). }. # CASE 2b: two lines from two consecutive pages (i.e. a double page) of the same manuscript without explicit line reference. { ?manuscript a tln:ArchivalManuscriptUnity; tln:hasPages ?pages. ?page list:in ?pages; tln:hasLines ?lines. ?line list:in ?lines; tln:lineHasEditorComment ?lineContinuation. ?lineContinuation a tln:LineContinuation; tln:isUncertain false ; tln:isLineAContinuationTo true ; tln:lineContinuationHasReference ?reference. ?reference a tln:Reference; tln:refersToPage ?referred_page. ?referred_page list:in ?pages; tln:hasLines ?unreferred_page_lines. ?unreferred_line list:in ?unreferred_page_lines; tln:lineHasEditorComment ?other_lineContinuation. ?other_lineContinuation a tln:LineContinuation; tln:isLineAContinuationTo false ; tln:lineContinuationHasReference ?other_reference. ?other_reference a tln:Reference; tln:refersToPage ?page. # both (?reference and ?other_reference) need to be the n-th reference without line reference of their pages. # create list of from-references from ?page as ?list_of_from_reference: ?SCOPE e:findall ( ?s { ?a_line list:in ?lines; tln:lineHasEditorComment ?a_lineContinuation. ?a_lineContinuation a tln:LineContinuation; tln:isUncertain false ; tln:isLineAContinuationTo true ; tln:lineContinuationHasReference ?s . ?SCOPE e:findall ( ?s {?s tln:firstLineOfReference ?no_firstLine } () ). # no line reference. ?s tln:refersToPage ?referred_page } ?list_of_from_reference ). # create list of to-references from ?referred_page as ?list_of_to_reference: ?SCOPE e:findall ( ?s { ?a_line list:in ?unreferred_page_lines; tln:lineHasEditorComment ?a_lineContinuation. ?a_lineContinuation a tln:LineContinuation; tln:isUncertain false ; tln:isLineAContinuationTo false ; tln:lineContinuationHasReference ?s . ?SCOPE e:findall ( ?s {?s tln:firstLineOfReference ?no_firstLine } () ). # no line reference. ?s tln:refersToPage ?page } ?list_of_to_reference ). (?before_from_list_of_ref (?reference) ?after_from_list_of_ref) list:append ?list_of_from_reference. # list of such references before ?reference as ?before_from_list_of_ref (?before_to_list_of_ref (?other_reference) ?after_to_list_of_ref) list:append ?list_of_to_reference. # list of such references before ?other_reference as ?before_to_list_of_ref ?before_from_list_of_ref e:length ?num_before_from. # number of such references before ?reference ?before_to_list_of_ref e:length ?num_before_to. # number of such references before ?other_reference ?num_before_to math:equalTo ?num_before_from. # == # comment/uncomment if you want to keep/remove the original statements ?subject list:in (?lineContinuation ?reference ?other_lineContinuation ?other_reference) ; ?p ?o. ?something ?has ?subject. } => { ?line tln:lineContinuesOn ?unreferred_line. _:d kb:retract (?subject ?p ?o). _:d kb:retract (?something ?has ?subject). }. # CASE 3: two lines from different manuscripts. { ?manuscript a tln:ArchivalManuscriptUnity; tln:hasPages ?pages. ?page list:in ?pages; tln:hasLines ?lines. ?line list:in ?lines; tln:lineHasEditorComment ?lineContinuation. ?lineContinuation a tln:LineContinuation; tln:isUncertain false ; tln:isLineAContinuationTo true ; tln:lineContinuationHasReference ?reference. ?reference a tln:Reference; tln:firstLineOfReference ?referred_line_number; tln:hasTitle ?title; tln:hasPageNumber ?number. ?referred_manuscript a tln:ArchivalManuscriptUnity; tln:hasTitle ?title; tln:hasPages ?referred_pages. ?referred_page list:in ?referred_pages; tln:hasNumber ?number; tln:hasLines ?referred_page_lines. ?referred_line list:in ?referred_page_lines; tln:lineHasEditorComment ?other_lineContinuation; tln:lineHasNumber ?referred_line_number. ?other_lineContinuation a tln:LineContinuation; tln:isLineAContinuationTo false ; tln:lineContinuationHasReference ?mutual_reference. # comment/uncomment if you want to keep/remove the original statements ?subject list:in (?lineContinuation ?reference ?other_lineContinuation ?mutual_reference) ; ?p ?o. ?something ?has ?subject. } => { ?line tln:lineContinuesOn ?referred_line. _:d kb:retract (?subject ?p ?o). _:d kb:retract (?something ?has ?subject). }. diff --git a/machineReasoning_extendUnityWithHomotypicPart/test-DATA.ttl b/machineReasoning_extendUnityWithHomotypicPart/test-DATA.ttl index 20c8c92..3d85216 100644 --- a/machineReasoning_extendUnityWithHomotypicPart/test-DATA.ttl +++ b/machineReasoning_extendUnityWithHomotypicPart/test-DATA.ttl @@ -1,312 +1,366 @@ @prefix data: . @prefix rdf: . @prefix rdfs: . @prefix test: . @prefix xml: . @prefix xsd: . @prefix tln: . data:_N_VII_2 a tln:ArchivalManuscriptUnity ; tln:hasManuscriptType "Notizheft"^^xsd:string ; tln:hasPages ( data:_N_VII_2_Page17 ) ; tln:hasTitle "N VII 2"^^xsd:string . data:_N_VII_1 a tln:ArchivalManuscriptUnity ; tln:hasDescription data:_N_VII_1_Description0 ; tln:hasEarlierDescriptions data:_N_VII_1_EarlierDescription0, data:_N_VII_1_EarlierDescription11 ; tln:hasManuscriptType "Notizheft"^^xsd:string ; tln:hasPages ( data:_N_VII_1_Page5 data:_N_VII_1_Page6 data:_N_VII_1_Page9 data:_N_VII_1_Page10 data:_N_VII_1_Page15 data:_N_VII_1_Page16 data:_N_VII_1_Page17 ) ; tln:hasTitle "N VII 1"^^xsd:string . data:_N_VII_1_Page15 a tln:Page ; tln:hasLines ( data:_N_VII_1_Page15_Line5 data:_N_VII_1_Page15_Line6 data:_N_VII_1_Page15_Line10 data:_N_VII_1_Page15_Line20 data:_N_VII_1_Page15_Line30 data:_N_VII_1_Page15_Line34 ) ; tln:hasImage data:_image; tln:pageIsOnTextfield data:_textfield_0; tln:hasNumber "15"^^xsd:string . data:_image a tln:Image; tln:hasFileName "asdf.jpg"^^xsd:string ; tln:hasTextField data:_textfield_0. data:_image_0 a tln:Image; tln:hasFileName "asdf.jpg"^^xsd:string ; tln:hasTextField data:_textfield_1. data:_textfield_0 a tln:TextField. data:_textfield_1 a tln:TextField. data:_N_VII_1_Page16 a tln:Page ; tln:hasImage data:_image_0; tln:hasFaksimileImage data:_image_0; tln:pageIsOnTextfield data:_textfield_1; tln:hasLines ( data:_N_VII_1_Page16_Line5 data:_N_VII_1_Page16_Line6 data:_N_VII_1_Page16_Line10 data:_N_VII_1_Page16_Line20 data:_N_VII_1_Page16_Line30 data:_N_VII_1_Page16_Line34 ) ; tln:hasNumber "16"^^xsd:string . data:_N_VII_2_Page17 a tln:Page ; tln:hasLines ( data:_N_VII_2_Page17_Line40 data:_N_VII_2_Page17_Line46 ) ; tln:hasWords ( data:_N_VII_2_Page17_Word0 data:_N_VII_2_Page17_Word1 ); tln:hasNumber "17"^^xsd:string . data:_N_VII_2_Page17_Word0 a tln:Word; tln:wordBelongsToLine data:_N_VII_2_Page17_Line40; + tln:hasEditedText "vom"; tln:hasText "von". data:_N_VII_2_Page17_Word1 a tln:Word; tln:wordBelongsToLine data:_N_VII_2_Page17_Line40; tln:hasText "zu". data:_N_VII_1_Page17 a tln:Page ; tln:hasLines ( data:_N_VII_1_Page17_Line46 ) ; tln:hasNumber "17"^^xsd:string . data:_N_VII_2_Page17_Line46 a tln:Line ; tln:isMainLine true ; tln:lineHasEditorComment data:_N_VII_2_Page17_Line46_LineContinuation0 ; tln:lineHasNumber 46 . data:_N_VII_2_Page17_Line40 a tln:Line ; tln:isMainLine true ; tln:lineHasEditorComment data:_N_VII_2_Page17_Line40_LineContinuation0 ; tln:lineHasEditorComment data:_N_VII_2_Page17_Line40_LineContinuation1 ; tln:lineHasNumber 40 . data:_N_VII_1_Page17_Line46 a tln:Line ; tln:isMainLine true ; tln:lineHasEditorComment data:_N_VII_1_Page17_Line46_LineContinuation0 ; tln:lineHasNumber 46 . data:_N_VII_1_Page15_Line34 a tln:Line ; tln:isMainLine true ; tln:lineHasEditorComment data:_N_VII_1_Page15_Line34_LineContinuation0 ; tln:lineHasNumber 34 . data:_N_VII_1_Page15_Line30 a tln:Line ; tln:isMainLine true ; tln:lineHasEditorComment data:_N_VII_1_Page15_Line30_LineContinuation0 ; tln:lineHasNumber 30 . data:_N_VII_1_Page15_Line10 a tln:Line ; tln:isMainLine true ; tln:lineHasEditorComment data:_N_VII_1_Page15_Line10_LineContinuation0 ; tln:lineHasNumber 10 . data:_N_VII_1_Page15_Line5 a tln:Line ; tln:lineHasEditorComment data:_N_VII_1_Page15_Line5_LineContinuation0 ; tln:lineHasNumber 5 . data:_N_VII_1_Page16_Line5 a tln:Line ; tln:lineHasEditorComment data:_N_VII_1_Page16_Line5_LineContinuation0 ; tln:lineHasNumber 5 . data:_N_VII_1_Page15_Line6 a tln:Line ; tln:lineHasEditorComment data:_N_VII_1_Page15_Line6_LineContinuation0 ; tln:lineHasNumber 6 . data:_N_VII_1_Page16_Line6 a tln:Line ; tln:lineHasEditorComment data:_N_VII_1_Page16_Line6_LineContinuation0 ; tln:lineHasNumber 6 . data:_N_VII_1_Page15_Line20 a tln:Line ; tln:isMainLine true ; tln:lineHasEditorComment data:_N_VII_1_Page15_Line20_LineContinuation0 ; tln:lineHasNumber 20 . data:_N_VII_1_Page15_Line5_LineContinuation0 a tln:LineContinuation ; tln:isLineAContinuationTo true ; tln:isUncertain false ; tln:lineContinuationHasReference data:_N_VII_1_Page15_Line5_LineContinuation0_Reference0 . data:_N_VII_1_Page16_Line5_LineContinuation0 a tln:LineContinuation ; tln:isLineAContinuationTo false ; tln:isUncertain false ; tln:lineContinuationHasReference data:_N_VII_1_Page16_Line5_LineContinuation0_Reference0 . data:_N_VII_1_Page15_Line6_LineContinuation0 a tln:LineContinuation ; tln:isLineAContinuationTo true ; tln:isUncertain false ; tln:lineContinuationHasReference data:_N_VII_1_Page15_Line6_LineContinuation0_Reference0 . data:_N_VII_1_Page16_Line6_LineContinuation0 a tln:LineContinuation ; tln:isLineAContinuationTo false ; tln:isUncertain false ; tln:lineContinuationHasReference data:_N_VII_1_Page16_Line6_LineContinuation0_Reference0 . data:_N_VII_1_Page15_Line10_LineContinuation0 a tln:LineContinuation ; tln:isLineAContinuationTo false ; tln:isUncertain false ; tln:lineContinuationHasReference data:_N_VII_1_Page15_Line10_LineContinuation0_Reference0 . data:_N_VII_1_Page15_Line20_LineContinuation0 a tln:LineContinuation ; tln:isLineAContinuationTo true ; tln:isUncertain false ; tln:lineContinuationHasReference data:_N_VII_1_Page15_Line20_LineContinuation0_Reference0 . data:_N_VII_1_Page15_Line34_LineContinuation0 a tln:LineContinuation ; tln:isLineAContinuationTo false ; tln:isUncertain false ; tln:lineContinuationHasReference data:_N_VII_1_Page15_Line34_LineContinuation0_Reference0 . data:_N_VII_1_Page15_Line30_LineContinuation0 a tln:LineContinuation ; tln:isLineAContinuationTo false ; tln:isUncertain false ; tln:lineContinuationHasReference data:_N_VII_1_Page15_Line30_LineContinuation0_Reference0 . data:_N_VII_2_Page17_Line46_LineContinuation0 a tln:LineContinuation ; tln:isLineAContinuationTo true ; tln:isUncertain false ; tln:lineContinuationHasReference data:_N_VII_2_Page17_Line46_LineContinuation0_Reference0 . data:_N_VII_2_Page17_Line40_LineContinuation0 a tln:LineContinuation ; tln:isLineAContinuationTo false ; tln:isUncertain false ; tln:lineContinuationHasReference data:_N_VII_2_Page17_Line40_LineContinuation0_Reference0 . data:_N_VII_2_Page17_Line40_LineContinuation1 a tln:LineContinuation ; tln:isLineAContinuationTo true ; tln:isUncertain false ; tln:lineContinuationHasReference data:_N_VII_2_Page17_Line40_LineContinuation1_Reference0 . data:_N_VII_1_Page17_Line46_LineContinuation0 a tln:LineContinuation ; tln:isLineAContinuationTo true ; tln:isUncertain false ; tln:lineContinuationHasReference data:_N_VII_1_Page17_Line46_LineContinuation0_Reference0 . data:_N_VII_1_Page15_Line5_LineContinuation0_Reference0 a tln:Reference ; tln:IsUncertain false. data:_N_VII_1_Page16_Line5_LineContinuation0_Reference0 a tln:Reference ; tln:IsUncertain false. data:_N_VII_1_Page15_Line6_LineContinuation0_Reference0 a tln:Reference ; tln:IsUncertain false. data:_N_VII_1_Page16_Line6_LineContinuation0_Reference0 a tln:Reference ; tln:IsUncertain false. data:_N_VII_1_Page15_Line10_LineContinuation0_Reference0 a tln:Reference ; tln:IsUncertain false ; tln:firstLineOfReference 20 . data:_N_VII_1_Page15_Line20_LineContinuation0_Reference0 a tln:Reference ; tln:IsUncertain true ; tln:firstLineOfReference 10 . data:_N_VII_1_Page15_Line34_LineContinuation0_Reference0 a tln:Reference ; tln:IsUncertain false ; tln:firstLineOfReference 46 ; tln:hasPageNumber "17"^^xsd:string . data:_N_VII_1_Page15_Line30_LineContinuation0_Reference0 a tln:Reference ; tln:IsUncertain false ; tln:firstLineOfReference 46 ; tln:hasTitle "N VII 2"^^xsd:string ; tln:hasPageNumber "17"^^xsd:string . data:_N_VII_1_Page17_Line46_LineContinuation0_Reference0 a tln:Reference ; tln:IsUncertain false ; tln:firstLineOfReference 34 ; tln:hasPageNumber "15"^^xsd:string . data:_N_VII_2_Page17_Line46_LineContinuation0_Reference0 a tln:Reference ; tln:IsUncertain false ; tln:firstLineOfReference 30 ; tln:hasTitle "N VII 1"^^xsd:string ; tln:hasPageNumber "15"^^xsd:string . data:_N_VII_2_Page17_Line40_LineContinuation0_Reference0 a tln:Reference ; tln:IsUncertain false ; tln:wordReference "von"^^xsd:string . data:_N_VII_2_Page17_Line40_LineContinuation1_Reference0 a tln:Reference ; tln:IsUncertain false ; tln:wordReference "zu"^^xsd:string . data:_Word100 a test:Word ; tln:wordHasStyle data:_Style10; tln:hasTitle "Mp XV"; tln:hasPageNumber "10"; test:hasText "ohne Manuskript". data:_Word99 a test:Word ; tln:wordHasStyle data:_Style10; tln:hasTitle "Mp XIV"; tln:hasPageNumber "9"; test:hasText "ohne Teile". data:_Mp_XVI_Page_10 a tln:Page; tln:hasNumber "10". data:_Mp_XVI a tln:ArchivalManuscriptUnity; tln:hasTitle "Mp XIV"; tln:hasType "Mappe". data:_Word0 a test:Word ; test:hasCorrection data:_Word5; test:hasText "Otto"; test:wordHasWordParts ( data:_Word1 data:_Word2 data:_Word3 data:_Word4 ) . data:_Word1 a test:Word ; test:hasText "O"; test:hasLine data:_Line0; test:wordHasStyle data:_Style0. data:_Word2 a test:Word ; test:hasText "t"; test:wordHasStyle data:_Style0. data:_Word3 a test:Word ; test:hasText "t"; test:wordHasStyle data:_Style0. data:_Position0 a test:Position; test:hasLeft "0.0"^^xsd:float . data:_Position1 a test:Position; test:hasLeft "0.1"^^xsd:float . data:_Word4 a test:Word ; test:hasText "o"; test:wordHasStyle data:_Style0. data:_Word5 a test:Word ; test:hasText "en"; test:wordHasStyle data:_Style1; test:overwritesWord data:_Word6; test:hasLine data:_Line0 ; test:hasPosition data:_Position0 . data:_Word6 a test:Word ; test:hasText "et"; test:wordHasStyle data:_Style0; test:hasLine data:_Line0 ; test:hasPosition data:_Position0 . data:_Position2 a test:Position; test:hasLeft "1.0"^^xsd:float . data:_Line0 a test:Line . data:_Line1 a test:Line . data:_Style0 a test:Style ; test:hasCSS "color: #DC0814;"^^xsd:string; test:styleHasColor data:_Color0 . data:_Style1 a test:Style ; test:hasCSS "color: #000000;"^^xsd:string; test:styleHasColor data:_Color1 . data:_Style10 a tln:Style ; test:hasCSS "color: #000000;"^^xsd:string; tln:styleHasFont "deutsche Schreibschrift"; tln:styleHasColor data:_Color10 . data:_Color0 a test:Color; test:colorHasName "red"^^xsd:string ; test:hasHexadecimalValue "#DC0814"^^xsd:string . data:_Color1 a test:Color; test:colorHasName "black"^^xsd:string ; test:hasHexadecimalValue "#000000"^^xsd:string . + +data:any tln:has """werde, hin zum Kreuze – um jene Zeit bereits redete W. von den 1876 Entzückungen, die er dem christl. Abendmahle abzugewinnen wisse +Siegesfeier – Bayreuth bedeutet den größten Sieg, den je ein Künstler errungen hat – war +von ihm: ich hatte zu gut begriffen, daß es nunmehr rückwärts gehen thatsächlich lösung, ein vielleicht +zugleich eine Lossage- und Entfremdungs=Akt. (Wagner selbst täuschte sich darüber +so wenig als ich; ich aber nicht. So gewiß solchen Bilder,. Man noch nicht +nicht; so lange man liebt, malt man keine solchen „Porträts“. man „betrachtet“ +überhaupt +Schon zum heißt es auf S. 46 der genannten Studie gehört schon man stellt sich nicht dergestalt in die Ferne, wie es der Betr. +thun +muß noch +nicht (– „jeder, der sich genau prüft, weiß, daß selbst (Zum Betrachten eine +geheimnißvolle +schon – so heißt es auf S. 46 der genannten Studie selbst, mit einem verrätherischen u. schmerzlichen +Gegnerschaft, die des Entgegenschauens gehört“) heißt es p. 46 der genannten +Zwischen=Jahre +Schrift.) Die Gelassenheit, um über lange innerlichsten Alleinseins und Entbehrens +dem dem dies Für- u Nachwort zu +reden zu können, kam mir erst mit diesem Buche „Menschliches, Allzumenschliches“ Auf ihm +etwas von der beinahe erklärende +liegt die heitere und neugierigen Kälte des Psychologen, der eine Menge schmerzlicher Dinge, +und die er unter sich hat, hinter sich hat – nachträglich noch gleichsam +– lauter facta, richtiger fata, seiner Vergangenheit für sich feststellt und mit der Nadel +spitze des Geistes seines Witzes gleichsam so spitzigen u trotz aller „Heiterkeit“, was Wunders, wenn er er gelegentlich gelegentlich auch bei einer gelegentlich auch Blut etwas fließt +gleichsam feststicht: – bei einer solchen Arbeit hat man, wie bekannt, immer etwas +zum Fließen kommt fließt hat? fließt, wenn der Psycholog Blut an den Fingern u. nicht immer nur an den Fingern hat?…. +Blut an den Fingern …) Um es schließlich zu sagen, worauf ich mit den eben gegebenen +etwas gelegentlich hier u. da wollte gedachte: +Winken die Leser dieses Buches vorzubereiten für nöthig finde: es steht auch mit +diesem Buche, dessen letzter Theil hiermit ans Licht gegeben wird, nicht anders als es +bisher mit meinen Schriften stand, – es ist ein Stück meines Hinter-mir. Was ihm +Räthsel +zu Grunde liegt, Gedanken,, erste Niederschriften und Hinwürfe aller Art, das gehört zu +genau derselben +meiner Vergangenheit an: nämlich jener räthselreichen Zeit, in der „Also sprach Zarathustra“ +(1883–5) und allerhand +entstand: – es dürfte schon um dieser Gleichzeitigkeit willen nützliche Fingerzeige zum +Verständnisse +des eben genannten schwerverständlichen Werkes abgeben. Namentlich auch zum +Mir selber damals +Verständnisse seiner Entstehung: mit der es etwas auf sich hat. Damals dienten mir +solcherlei +Gedanken sei es zur Erholung, sei es als Selbstverhör und Selbstrechtfertigung inmitten +eines unbegrenzt gewagten und verantwortlichen Unterfangens: möge man sich des aus +mindestens +ihnen erwachsenen Buches zu einem ähnlichen Zwecke bedienen! Oder auch als eines +vielverschlungenen Fußwegs, der immer wieder unvermerkt zu jenem gefährlichen und +vulkanischen Boden aus hinführt, +hinführt, +dem das eben genannte Zarathustra=Evangelium +zu Ende – ist es wirklich ein Evangelium? – hier sich abspielende +entsprungen So gewiß auch dies „Vorspiel einer Philosophie der Zukunft“ kein Commentar +Jenseits von Gut und Böse, dies hier sich zu Ende spielende ist…..""". diff --git a/machineReasoning_extendUnityWithHomotypicPart/test_rules.sh b/machineReasoning_extendUnityWithHomotypicPart/test_rules.sh index 3fcf201..55b5099 100755 --- a/machineReasoning_extendUnityWithHomotypicPart/test_rules.sh +++ b/machineReasoning_extendUnityWithHomotypicPart/test_rules.sh @@ -1,23 +1,27 @@ #!/bin/bash EYE="/opt/eye/bin/eye.sh" test -e $EYE || EYE=$(find / -name 'eye.sh' 2>/dev/null | head -1) if [[ ! -e $EYE ]];then echo "Please install EYE by josd, see EYE_INSTALL_info" && exit 2 fi echo "# Execution date" $(date) -$EYE --nope --traditional ontologies/homotypic-part_ontology.ttl ontologies/standoff_ontology.ttl ontologies/tln-ontology_autogenerated.ttl test-ontology.ttl test-DATA.ttl external-rules/rdfs-subClassOf.n3 external-rules/rdfs-subPropertyOf.n3 external-rules/owl-TransitiveProperty.n3 external-rules/owl-propertyChainAxiom.n3 project-rules_joined_data/40-tln-update_reference.n3 project-rules_joined_data/50-tln-connect_lines.n3 project-rules/40-tln-update_word_line_reference.n3 project-rules/55-tln-add_language.n3 generic-rules/create_standoff-rules.n3 generic-rules/extend-rules.n3 project-rules_joined_data/20-tln-merge_images.n3 --query filter_query.n3 +$EYE --nope --traditional ontologies/homotypic-part_ontology.ttl ontologies/standoff_ontology.ttl ontologies/tln-ontology_autogenerated.ttl test-ontology.ttl test-DATA.ttl external-rules/rdfs-subClassOf.n3 external-rules/rdfs-subPropertyOf.n3 external-rules/owl-TransitiveProperty.n3 external-rules/owl-propertyChainAxiom.n3 project-rules_joined_data/40-tln-update_reference.n3 project-rules_joined_data/50-tln-connect_lines.n3 project-rules/20-tln-update_word_line_reference.n3 project-rules/30-create-output-text.n3 project-rules/40-create-pseudo-text.n3 project-rules/55-tln-add_language.n3 generic-rules/create_standoff-rules.n3 generic-rules/extend-rules.n3 project-rules_joined_data/20-tln-merge_images.n3 --query filter_query.n3 echo echo -e "\e[1;35mThis is a test example for all rules in the folders.\e[00m" -echo -e "\e[1;35mThe rule 'project-rules_joined_data/20-tln-merge_images.n3' merge images if they share a common filename and have two different pages on them.\e[00m" +echo -e "\e[1;35mThe rule 'project-rules_joined_data/20-tln-merge_images.n3' merges images if they share a common filename and have two different pages on them.\e[00m" echo -e "\e[1;35m ->grep 'image'.\e[00m" -echo -e "\e[1;35mThe rule 'project-rules_joined_data/40-tln-update_reference.n3' update reference to next/previous page if there is no line info'.\e[00m" +echo -e "\e[1;35mThe rule 'project-rules_joined_data/40-tln-update_reference.n3' updates reference to next/previous page if there is no line info'.\e[00m" echo -e "\e[1;35mThe rule 'project-rules_joined_data/50-tln-connect_lines.n3' connects lines as tln:lineContinuesOn if they have mutual references'.\e[00m" echo -e "\e[1;35m ->grep 'tln:lineContinuesOn'.\e[00m" -echo -e "\e[1;35mThe rule 'project-rules/40-tln-update_word_line_reference.n3' update reference to word if a line has two line continuations that refer to words on this line'\e[00m" +echo -e "\e[1;35mThe rule 'project-rules/20-tln-update_word_line_reference.n3' updates reference to word if a line has two line continuations that refer to words on this line'\e[00m" echo -e "\e[1;35m ->grep 'tln:textContinuesWithWord'.\e[00m" +echo -e "\e[1;35mThe rule 'project-rules/30-create-output-text.n3' sets tln:hasEditedText or tln:hasText as tln:hasOutputText.'\e[00m" +echo -e "\e[1;35m ->grep 'tln:hasOutputText'.\e[00m" +echo -e "\e[1;35mThe rule 'project-rules/40-create-pseudo-text.n3' creates pseudo text from tln:hasOutputText and attachs it to page with tln:hasPseudoText.'\e[00m" +echo -e "\e[1;35m ->grep 'tln:hasPseudoText'.\e[00m" echo -e "\e[1;35mThe rule 'project-rules/55-tln-add_language.n3' adds German as language to each tln:Word if it has a style that defines a font 'deutsche Schreibschrift'\e[00m" echo -e "\e[1;35m ->grep 'language:expressedInNaturalLanguage'.\e[00m" echo -e "\e[1;35mThe rule 'generic-rules/create_standoff-rules.n3' creates standoff data for each homotypic:HomotypicEntity that has a Style with CSS.\e[00m" echo -e "\e[1;35m ->sed -n '1,/ENDS/ p' |cwm | sed -n '/data:_Word.*/,/\./ p'\e[00m" echo -e "\e[1;35mThe rule 'generic-rules/extend-rules.n3' extends the data of each homotypic:HomotypicEntity that has parts with data that the whole lacks.\e[00m" echo -e "\e[1;35m ->grep 'data:_Word0 test:hasLine data:_Line0'.\e[00m" diff --git a/machineReasoning_extendUnityWithHomotypicPart/tmp.ttl b/machineReasoning_extendUnityWithHomotypicPart/tmp.ttl new file mode 100644 index 0000000..f462342 --- /dev/null +++ b/machineReasoning_extendUnityWithHomotypicPart/tmp.ttl @@ -0,0 +1,13 @@ +@prefix data: . +@prefix rdf: . +@prefix rdfs: . +@prefix test: . +@prefix xml: . +@prefix xsd: . +@prefix tln: . + +data:_Word199 a test:Word ; + test:hasBoolean true; + test:hasText "test199". + +