# Nanopub-X: Extensions of the Nanopublication Model # ================================================== # # This model defines extensions to the nanopublication schema. @prefix npx: . @prefix xsd: . @prefix rdf: . @prefix rdfs: . @prefix rdfg: . @prefix owl: . @prefix foaf: . @prefix prov: . @prefix np: . @prefix hycl: . # Nanopub Types # ------------- # # Example nanopubs are created and published for testing. Their content should # not be taken seriously. npx:ExampleNanopub rdfs:subClassOf np:Nanopublication . # Meta-nanopublications are nanopoublications about other nanopublications: npx:MetaNanopub rdfs:subClassOf np:Nanopublication . # Protected nanopublications are not supposed to be shared publicly: npx:ProtectedNanopub rdfs:subClassOf np:Nanopublication . # Indexes # ------- npx:NanopubIndex rdfs:subClassOf npx:MetaNanopub . npx:IncompleteIndex rdfs:subClassOf np:Nanopublication . npx:IndexAssertion rdfs:subClassOf np:Assertion . npx:includesElement rdf:type rdf:Property . npx:includesElement rdfs:domain npx:NanopubIndex . npx:includesElement rdfs:range np:Nanopublication . npx:includesSubindex rdf:type rdf:Property . npx:includesSubindex rdfs:domain npx:NanopubIndex . npx:includesSubindex rdfs:range npx:NanopubIndex . npx:appendsIndex rdf:type owl:FunctionalProperty . npx:appendsIndex rdfs:domain npx:NanopubIndex . npx:appendsIndex rdfs:range npx:NanopubIndex . # Connecting Assertions to Formulas and Sentences # ----------------------------------------------- npx:asFormula rdf:type rdf:Property . npx:asFormula rdfs:domain np:Assertion . npx:asFormula rdfs:range hycl:Formula . npx:asSentence rdf:type rdf:Property . npx:asSentence rdfs:domain np:Assertion . npx:asSentence rdfs:range hycl:Sentence . npx:UnderspecifiedAssertion rdfs:subClassOf np:Assertion . # Opinions # -------- npx:Opinion rdf:type rdfs:Class . npx:Agreement rdfs:subClassOf npx:Opinion . npx:Disagreement rdfs:subClassOf npx:Opinion . npx:NullOpinion rdfs:subClassOf npx:Opinion . npx:Agreement owl:disjointWith npx:NullOpinion . npx:Agreement owl:disjointWith npx:Disagreement . npx:Disagreement owl:disjointWith npx:NullOpinion . npx:hasOpinion rdf:type owl:InverseFunctionalProperty . npx:hasOpinion rdfs:domain foaf:Agent . npx:hasOpinion rdfs:range npx:Opinion . npx:opinionOn rdf:type owl:FunctionalProperty . npx:opinionOn rdfs:domain npx:Opinion . npx:opinionOn rdfs:range npx:Statement . # Introductions and Descriptions # ------------------------------ # # Introduction nanopubs are meta-nanopublications introducing a new object or # agent. npx:IntroNanopub rdfs:subClassOf np:Nanopublication . npx:introduces rdf:type rdf:Property . npx:introduces rdfs:domain npx:IntroNanopub . npx:introduces rdfs:range owl:Thing . # Descriptions are like introductions but refer to something that has already # been defined/introduced (typically by somebody else): npx:describes rdf:type rdf:Property . npx:describes rdfs:domain np:Nanopublication . npx:describes rdfs:range owl:Thing . # Software Agents # --------------- npx:SoftwareAgent rdfs:subClassOf foaf:Agent . npx:SoftwareAgent rdfs:subClassOf prov:Agent . npx:SoftwareTool rdfs:subClassOf npx:SoftwareAgent . npx:Bot rdfs:subClassOf npx:SoftwareAgent . npx:wasCreatedWith rdf:type rdf:Property . npx:wasCreatedWith rdfs:subPropertyOf prov:wasAttributedTo . npx:wasCreatedWith rdfs:range npx:SoftwareTool . npx:commands rdf:type rdf:Property . npx:commands rdfs:domain foaf:Agent . npx:commands rdfs:range npx:Bot . # Signatures # ---------- npx:CryptoElement rdf:type rdfs:Class . npx:hasAlgorithm rdf:type owl:DatatypeProperty . npx:hasAlgorithm rdf:type owl:FunctionalProperty . npx:hasAlgorithm rdfs:domain npx:CryptoElement . npx:hasAlgorithm rdfs:range xsd:string . npx:hasPublicKey rdf:type owl:DatatypeProperty . npx:hasPublicKey rdf:type owl:FunctionalProperty . npx:hasPublicKey rdfs:domain npx:CryptoElement . npx:hasPublicKey rdfs:range xsd:string . npx:hasKeyLocation rdf:type rdf:Property . npx:hasKeyLocation rdf:type owl:FunctionalProperty . npx:hasKeyLocation rdfs:domain npx:CryptoElement . npx:NanopubSignatureElement rdfs:subClassOf npx:CryptoElement . npx:hasSignatureTarget rdf:type rdf:Property . npx:hasSignatureTarget rdf:type owl:FunctionalProperty . npx:hasSignatureTarget rdfs:domain npx:NanopubSignatureElement . npx:hasSignatureTarget rdfs:range np:Nanopublication . npx:hasSignature rdf:type owl:DatatypeProperty . npx:hasSignature rdf:type owl:FunctionalProperty . npx:hasSignature rdfs:domain npx:NanopubSignatureElement . npx:signedBy rdf:type rdf:Property . npx:signedBy rdfs:domain npx:NanopubSignatureElement . npx:signedBy rdfs:range foaf:Agent . # npx:hasSignatureElement is deprecated and only used for legacy signatures. # New signatures use npx:hasSignatureTarget instead. npx:hasSignatureElement rdf:type rdf:Property . npx:hasSignatureElement rdf:type owl:InverseFunctionalProperty . npx:hasSignatureElement rdfs:domain np:Nanopublication . npx:hasSignatureElement rdfs:range npx:NanopubSignatureElement . npx:KeyDeclaration rdfs:subClassOf npx:CryptoElement . npx:declaredBy rdf:type rdf:Property . npx:declaredBy rdfs:domain npx:KeyDeclaration . npx:declaredBy rdfs:range foaf:Agent . # Retractions and Updates # ----------------------- npx:retracts rdf:type rdf:Property . npx:retracts rdfs:domain foaf:Agent . npx:retracts rdfs:range np:Nanopublication . npx:RetractionNanopub rdfs:subClassOf np:Nanopublication . npx:supersedes rdf:type rdf:Property . npx:supersedes rdf:type owl:IrreflexiveObjectProperty . npx:supersedes rdfs:domain np:Nanopublication . npx:supersedes rdfs:range np:Nanopublication . # Approvals and Disapprovals # -------------------------- npx:approvesOf rdf:type rdf:Property . npx:approvesOf rdfs:domain foaf:Agent . npx:approvesOf rdfs:range np:Nanopublication . npx:disapprovesOf rdf:type rdf:Property . npx:disapprovesOf rdfs:domain foaf:Agent . npx:disapprovesOf rdfs:range np:Nanopublication . # Certifications etc. # ------------------- npx:certifies rdf:type rdf:Property . npx:certifies rdfs:domain foaf:Agent . npx:certifies rdfs:range np:Nanopublication . # qualification as a weaker form of certification npx:qualifies rdf:type rdf:Property . npx:qualifies rdfs:domain foaf:Agent . npx:qualifies rdfs:range np:Nanopublication . npx:signsDocument rdf:type rdf:Property . npx:signsDocument rdfs:domain foaf:Agent . # Services # -------- npx:NanopubService rdf:type rdfs:Class . # Settings # -------- npx:NanopubSetting rdf:type rdfs:Class . npx:hasAgents rdf:type rdf:Property . npx:hasAgents rdfs:domain npx:NanopubSetting . npx:hasAgents rdfs:range npx:NanopubIndex . npx:hasServices rdf:type rdf:Property . npx:hasServices rdfs:domain npx:NanopubSetting . npx:hasServices rdfs:range npx:NanopubIndex . npx:TrustRangeAlgorithm rdf:type rdfs:Class . npx:hasTrustRangeAlgorithm rdf:type rdf:Property . npx:hasTrustRangeAlgorithm rdfs:domain npx:NanopubSetting . npx:hasTrustRangeAlgorithm rdfs:range npx:TrustRangeAlgorithm . npx:SettingUpdateStrategy rdf:type rdfs:Class . npx:hasUpdateStrategy rdf:type rdf:Property . npx:hasUpdateStrategy rdfs:domain npx:NanopubSetting . npx:hasUpdateStrategy rdfs:range npx:SettingUpdateStrategy . npx:hasBootstrapService rdf:type rdf:Property . npx:hasBootstrapService rdfs:domain npx:NanopubSetting . npx:hasBootstrapService rdfs:range npx:NanopubService . npx:FixedTrust rdf:type npx:TrustRangeAlgorithm . npx:TransitiveTrust rdf:type npx:TrustRangeAlgorithm . npx:ManualUpdatesOnly rdf:type npx:SettingUpdateStrategy . npx:UpdatesByCreator rdf:type npx:SettingUpdateStrategy .