http://purl.org/np/RA8c438YvDtr5A4DfmB1SmvRQoeeR74RzXYVg3HXo4dR4
.trig | .trig.txt | .jelly | .jelly.txt | .jsonld | .jsonld.txt | .nq | .nq.txt | .xml | .xml.txt
@prefix dcterms: <http://purl.org/dc/terms/> . @prefix foaf: <http://xmlns.com/foaf/0.1/> . @prefix hycl: <http://purl.org/petapico/o/hycl#> . @prefix np: <http://www.nanopub.org/nschema#> . @prefix npx: <http://purl.org/nanopub/x/> . @prefix nt: <https://w3id.org/np/o/ntemplate/> . @prefix orcid: <https://orcid.org/> . @prefix prov: <http://www.w3.org/ns/prov#> . @prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> . @prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> . @prefix rosetta: <https://w3id.org/rosetta/> . @prefix schema1: <http://schema.org/> . @prefix sub: <http://purl.org/np/RA8c438YvDtr5A4DfmB1SmvRQoeeR74RzXYVg3HXo4dR4#> . @prefix this: <http://purl.org/np/RA8c438YvDtr5A4DfmB1SmvRQoeeR74RzXYVg3HXo4dR4> . @prefix xsd: <http://www.w3.org/2001/XMLSchema#> . sub:Head { this: a np:Nanopublication; np:hasAssertion sub:assertion; np:hasProvenance sub:provenance; np:hasPublicationInfo sub:pubinfo . } sub:assertion { dcterms:created rdfs:label "created - timestamp of creation" . dcterms:creator rdfs:label "creator - person who created this statement" . sub:anchorStatement a nt:LocalResource; rdfs:label "Anchor statement for versioning" . sub:assertion a nt:AssertionTemplate; dcterms:description """<p>This template allows you to create Rosetta Statements following the metamodel described in \"Rosetta Statements: Simplifying FAIR Knowledge Graph Construction with a User-Centered Approach\".</p> <p><strong>Rosetta Statements</strong> model the structure of simple English natural language statements rather than attempting to represent a mind-independent reality. They prioritize:</p> <ul> <li><strong>Cognitive Interoperability:</strong> Easy to understand for domain experts</li> <li><strong>Findability:</strong> Supports search without requiring SPARQL knowledge</li> <li><strong>Semantic Interoperability:</strong> Standardized patterns for each statement type</li> <li><strong>User-Centered Design:</strong> Reflects natural language structure</li> </ul> <p><strong>Key Features:</strong></p> <ul> <li><strong>N-ary Support:</strong> Handle statements with multiple objects (not just binary relations)</li> <li><strong>Dynamic Labels:</strong> Display as natural language sentences in user interfaces</li> <li><strong>Versioning Support:</strong> Track changes and editing history</li> <li><strong>Metadata Rich:</strong> Include confidence levels, negation, context, and provenance</li> <li><strong>Wikidata Integration:</strong> Use Wikidata terms for immediate usability</li> </ul> <p><strong>Statement Structure:</strong></p> <ul> <li><strong>Subject:</strong> The main entity the statement is about</li> <li><strong>Predicate:</strong> Captured by the statement type/class</li> <li><strong>Objects:</strong> Up to 4 object positions (resources or literals)</li> <li><strong>Constraints:</strong> Type restrictions for each position</li> </ul> <p><strong>Example:</strong> \"This apple has a weight of 241.68 grams\" becomes a 'has-measurement' statement type with subject=apple, object1=weight (quality), object2=241.68 (value), object3=gram (unit).</p> <p>This approach significantly lowers the barrier for domain experts to create FAIR knowledge graphs without requiring expertise in semantics, RDF, or ontology engineering.</p>"""; rdfs:label "Creating a Rosetta Statement following the natural language statement metamodel"; nt:hasNanopubLabelPattern "Rosetta Statement: ${dynamicLabelTemplate}"; nt:hasStatement sub:st01, sub:st02, sub:st03, sub:st04, sub:st05, sub:st06, sub:st07, sub:st08, sub:st09, sub:st10, sub:st11, sub:st12, sub:st13, sub:st14, sub:st15, sub:st16, sub:st17, sub:st18, sub:st19, sub:st20; nt:hasTag "Cognitive Interoperability", "FAIR", "Knowledge Graphs", "Natural Language", "Rosetta Statements", "Semantic Modeling"; nt:hasTargetNanopubType schema1:Statement, rosetta:RosettaStatement . sub:confidenceLevel a nt:LiteralPlaceholder; rdfs:label "Confidence level (0.0-1.0)"; nt:hasDatatype xsd:decimal; nt:hasRegex "^(0(\\.\\d+)?|1(\\.0+)?)$" . sub:context a nt:ExternalUriPlaceholder; rdfs:label "Context (e.g., DOI of scholarly publication)" . sub:dynamicLabelTemplate a nt:LiteralPlaceholder; rdfs:label "Dynamic label template (e.g., 'SUBJECT has QUALITY of VALUE UNIT')"; nt:hasRegex ".{10,200}" . sub:isNegation a nt:RestrictedChoicePlaceholder; rdfs:label "Is this statement negated?"; nt:possibleValue "false", "true" . sub:object1Type a nt:RestrictedChoicePlaceholder; rdfs:label "Constraint for first object position"; nt:possibleValue "boolean", "date", "literal", "number", "resource", "text" . sub:object2Type a nt:RestrictedChoicePlaceholder; rdfs:label "Constraint for second object position"; nt:possibleValue "boolean", "date", "literal", "number", "resource", "text" . sub:object3Type a nt:RestrictedChoicePlaceholder; rdfs:label "Constraint for third object position"; nt:possibleValue "boolean", "date", "literal", "number", "resource", "text" . sub:object4Type a nt:RestrictedChoicePlaceholder; rdfs:label "Constraint for fourth object position"; nt:possibleValue "boolean", "date", "literal", "number", "resource", "text" . sub:objectPosition1 a nt:ExternalUriPlaceholder; rdfs:label "First object (required or optional)" . sub:objectPosition2 a nt:ExternalUriPlaceholder; rdfs:label "Second object (optional)" . sub:objectPosition3 a nt:ExternalUriPlaceholder; rdfs:label "Third object (optional)" . sub:objectPosition4 a nt:ExternalUriPlaceholder; rdfs:label "Fourth object (optional)" . sub:sourceReference a nt:ExternalUriPlaceholder; rdfs:label "Source reference supporting this statement" . sub:st01 rdf:object rosetta:RosettaStatement; rdf:predicate rdf:type; rdf:subject sub:statementInstance . sub:st02 rdf:object sub:statementType; rdf:predicate rosetta:hasStatementType; rdf:subject sub:statementInstance . sub:st03 a nt:OptionalStatement; rdf:object sub:dynamicLabelTemplate; rdf:predicate rosetta:hasDynamicLabel; rdf:subject sub:statementInstance . sub:st04 rdf:object sub:subjectResource; rdf:predicate rosetta:subject; rdf:subject sub:statementInstance . sub:st05 a nt:OptionalStatement; rdf:object sub:subjectLabel; rdf:predicate rdfs:label; rdf:subject sub:subjectResource . sub:st06 rdf:object sub:objectPosition1; rdf:predicate rosetta:requiredObjectPosition1; rdf:subject sub:statementInstance . sub:st07 a nt:OptionalStatement; rdf:object sub:objectPosition2; rdf:predicate rosetta:optionalObjectPosition1; rdf:subject sub:statementInstance . sub:st08 a nt:OptionalStatement; rdf:object sub:objectPosition3; rdf:predicate rosetta:optionalObjectPosition2; rdf:subject sub:statementInstance . sub:st09 a nt:OptionalStatement; rdf:object sub:objectPosition4; rdf:predicate rosetta:optionalObjectPosition3; rdf:subject sub:statementInstance . sub:st10 a nt:OptionalStatement; rdf:object sub:confidenceLevel; rdf:predicate rosetta:hasConfidenceLevel; rdf:subject sub:statementInstance . sub:st11 a nt:OptionalStatement; rdf:object sub:context; rdf:predicate rosetta:hasContext; rdf:subject sub:statementInstance . sub:st12 a nt:OptionalStatement; rdf:object sub:isNegation; rdf:predicate rosetta:isNegation; rdf:subject sub:statementInstance . sub:st13 a nt:OptionalStatement, nt:RepeatableStatement; rdf:object sub:sourceReference; rdf:predicate rosetta:hasSourceReference; rdf:subject sub:statementInstance . sub:st14 a nt:OptionalStatement; rdf:object sub:version; rdf:predicate rosetta:hasVersion; rdf:subject sub:statementInstance . sub:st15 a nt:OptionalStatement; rdf:object sub:statementInstance; rdf:predicate rosetta:hasVersion; rdf:subject sub:anchorStatement . sub:statementInstance a nt:IntroducedResource; rdfs:label "The Rosetta Statement instance" . sub:statementType a nt:GuidedChoicePlaceholder; rdfs:label "Type of Rosetta Statement (predicate-based classification)"; nt:possibleValuesFromApi "https://w3id.org/np/l/nanopub-query-1.1/api/find-things?type=https://w3id.org/rosetta/RosettaStatementClass" . sub:subjectLabel a nt:LiteralPlaceholder; rdfs:label "Human-readable label for subject"; nt:hasRegex ".{1,100}" . sub:subjectResource a nt:ExternalUriPlaceholder; rdfs:label "Subject resource (Wikidata URI or ontology term)" . sub:version a nt:LiteralPlaceholder; rdfs:label "Version identifier"; nt:hasRegex ".{1,50}" . hycl:AIDA-Sentence rdfs:label "AIDA sentence - Atomic, Independent, Declarative, Absolute sentence" . rdf:type rdfs:label "is a - connects to class/type" . prov:wasAttributedTo rdfs:label "was attributed to - attribution of statement" . rosetta:RosettaStatement rdfs:label "Rosetta Statement - a natural language statement modeled semantically" . rosetta:anchorStatement rdfs:label "anchor statement - version-independent statement identity" . rosetta:hasConfidenceLevel rdfs:label "has confidence level - degree of certainty (0-1)" . rosetta:hasContext rdfs:label "has context - scholarly publication or broader context" . rosetta:hasDynamicLabel rdfs:label "has dynamic label - template for natural language display" . rosetta:hasSourceReference rdfs:label "has source reference - supporting evidence" . rosetta:hasStatementType rdfs:label "has statement type - connects to Rosetta Statement class" . rosetta:hasVersion rdfs:label "has version - links to statement version" . rosetta:isNegation rdfs:label "is negation - whether this statement is negated" . rosetta:optionalLiteralObjectPosition1 rdfs:label "optional literal object position 1 - first optional literal" . rosetta:optionalObjectPosition1 rdfs:label "optional object position 1 - first optional object" . rosetta:optionalObjectPosition2 rdfs:label "optional object position 2 - second optional object" . rosetta:optionalObjectPosition3 rdfs:label "optional object position 3 - third optional object" . rosetta:requiredLiteralObjectPosition1 rdfs:label "required literal object position 1 - first mandatory literal" . rosetta:requiredObjectPosition1 rdfs:label "required object position 1 - first mandatory object" . rosetta:requiredObjectPosition2 rdfs:label "required object position 2 - second mandatory object" . rosetta:subject rdfs:label "has subject - connects statement to its subject resource" . } sub:provenance { sub:assertion prov:generatedAtTime "2025-06-30T14:03:35.678726"^^xsd:dateTime; prov:wasAttributedTo orcid:0000-0002-1784-2920 . } sub:pubinfo { sub:sig npx:hasAlgorithm "RSA"; npx:hasPublicKey "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAr37uVjMlWOwGHjOH0fpJ2NihK7Ns/Q890iBSikiD0grrkvAiucHEP2G9xO3/fm59M03NhehVPK706i8V9a1Nv55lOjpYQMm50fCT8mw3MG0C8ji7L8hO1Ff1fTmHDqc1NT7Olfyef/QCE+6XCbL6M3CnHQE4QNwZ5LbEkWp/ZV2lGyRG6O1jq+446+kgEias+WuKdObOVoFfcQjs7kCywWygeG4KCO7AzImlaYhLRfJIsFK+2ntADjowz4tHpeR6YKwK1d8gvEBqZDIZ8BPJ6qOsFy7YXU3DivlZAesZn83uhucKIaKXFkiUE3j+6kyPDZ5AOzAqkKoq92h0xdpyfQIDAQAB"; npx:hasSignature "Z5er4pIRWD4XcjtEH8NBDOq9gP84v5qc+3w2FAolvhow9X6CEfKYzpjBb8jtvDtqU4fs8OV1OirJddhumjD/YnmcKG+9NedLGT0o+aNxN01ZH4tz++sD8ijWgJIgt9AuaLBdPp8h9qXqRdo0mPEHtNnZzNf9pgdFPawRWCIHkPt/24eAsasYT0BqAP9nRC8hE68a1NghDOXc1wiphOp1MKi9qwKrtJR+ESR5rJChfoieVcOiYSEhJTOKcRRCTOinJtZ8sJuoYy0Be1QeaJWk6HHPkeZpMfJMsSSL27g24tdzH7Lh5avnSA3UCsBwij1DOJk6CaIBKUdlBmBxh77Ltg=="; npx:hasSignatureTarget this: . this: prov:generatedAtTime "2025-06-30T14:03:35.678726"^^xsd:dateTime; prov:wasAttributedTo orcid:0000-0002-1784-2920 . orcid:0000-0002-1784-2920 foaf:name "Anne Fouilloux" . }