dcterms:description """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\".
Rosetta Statements model the structure of simple English natural language statements rather than attempting to represent a mind-independent reality. They prioritize:
- Cognitive Interoperability: Easy to understand for domain experts
- Findability: Supports search without requiring SPARQL knowledge
- Semantic Interoperability: Standardized patterns for each statement type
- User-Centered Design: Reflects natural language structure
Key Features:
- N-ary Support: Handle statements with multiple objects (not just binary relations)
- Dynamic Labels: Display as natural language sentences in user interfaces
- Versioning Support: Track changes and editing history
- Metadata Rich: Include confidence levels, negation, context, and provenance
- Wikidata Integration: Use Wikidata terms for immediate usability
Statement Structure:
- Subject: The main entity the statement is about
- Predicate: Captured by the statement type/class
- Objects: Up to 4 object positions (resources or literals)
- Constraints: Type restrictions for each position
Example: \"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).
This approach significantly lowers the barrier for domain experts to create FAIR knowledge graphs without requiring expertise in semantics, RDF, or ontology engineering.
""";
a nt:AssertionTemplate;
rdfs:label "Creating a Rosetta Statement following the natural language statement metamodel";
nt:hasNanopubLabelPattern "Rosetta Statement: ${dynamicLabelTemplate}";
nt:hasStatement , ,
, ,
, ,
, ,
, ,
, ,
, ,
, ,
, ,
, ;
nt:hasTag "Cognitive Interoperability", "FAIR", "Knowledge Graphs", "Natural Language",
"Rosetta Statements", "Semantic Modeling";
nt:hasTargetNanopubType schema1:Statement, rosetta:RosettaStatement .
a nt:LiteralPlaceholder;
rdfs:label "Confidence level (0.0-1.0)";
nt:hasDatatype xsd:decimal;
nt:hasRegex "^(0(\\.\\d+)?|1(\\.0+)?)$" .
a nt:ExternalUriPlaceholder;
rdfs:label "Context (e.g., DOI of scholarly publication)" .
a nt:LiteralPlaceholder;
rdfs:label "Dynamic label template (e.g., 'SUBJECT has QUALITY of VALUE UNIT')";
nt:hasRegex ".{10,200}" .
a nt:RestrictedChoicePlaceholder;
rdfs:label "Is this statement negated?";
nt:possibleValue "false", "true" .
a nt:RestrictedChoicePlaceholder;
rdfs:label "Constraint for first object position";
nt:possibleValue "boolean", "date", "literal", "number", "resource", "text" .
a nt:RestrictedChoicePlaceholder;
rdfs:label "Constraint for second object position";
nt:possibleValue "boolean", "date", "literal", "number", "resource", "text" .
a nt:RestrictedChoicePlaceholder;
rdfs:label "Constraint for third object position";
nt:possibleValue "boolean", "date", "literal", "number", "resource", "text" .
a nt:RestrictedChoicePlaceholder;
rdfs:label "Constraint for fourth object position";
nt:possibleValue "boolean", "date", "literal", "number", "resource", "text" .
a nt:ExternalUriPlaceholder;
rdfs:label "First object (required or optional)" .
a nt:ExternalUriPlaceholder;
rdfs:label "Second object (optional)" .
a nt:ExternalUriPlaceholder;
rdfs:label "Third object (optional)" .
a nt:ExternalUriPlaceholder;
rdfs:label "Fourth object (optional)" .
a nt:ExternalUriPlaceholder;
rdfs:label "Source reference supporting this statement" .
rdf:object rosetta:RosettaStatement;
rdf:predicate rdf:type;
rdf:subject .
rdf:object ;
rdf:predicate rosetta:hasStatementType;
rdf:subject .
rdf:object ;
rdf:predicate rosetta:hasDynamicLabel;
rdf:subject ;
a nt:OptionalStatement .
rdf:object ;
rdf:predicate rosetta:subject;
rdf:subject .
rdf:object ;
rdf:predicate rdfs:label;
rdf:subject ;
a nt:OptionalStatement .
rdf:object ;
rdf:predicate rosetta:requiredObjectPosition1;
rdf:subject .
rdf:object ;
rdf:predicate rosetta:optionalObjectPosition1;
rdf:subject ;
a nt:OptionalStatement .
rdf:object ;
rdf:predicate rosetta:optionalObjectPosition2;
rdf:subject ;
a nt:OptionalStatement .
rdf:object ;
rdf:predicate rosetta:optionalObjectPosition3;
rdf:subject ;
a nt:OptionalStatement .
rdf:object ;
rdf:predicate rosetta:hasConfidenceLevel;
rdf:subject ;
a nt:OptionalStatement .
rdf:object ;
rdf:predicate rosetta:hasContext;
rdf:subject ;
a nt:OptionalStatement .
rdf:object ;
rdf:predicate rosetta:isNegation;
rdf:subject ;
a nt:OptionalStatement .
rdf:object ;
rdf:predicate rosetta:hasSourceReference;
rdf:subject ;
a nt:OptionalStatement, nt:RepeatableStatement .
rdf:object ;
rdf:predicate rosetta:hasVersion;
rdf:subject ;
a nt:OptionalStatement .
rdf:object ;
rdf:predicate rosetta:hasVersion;
rdf:subject ;
a nt:OptionalStatement .
a nt:IntroducedResource;
rdfs:label "The Rosetta Statement instance" .
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" .
a nt:LiteralPlaceholder;
rdfs:label "Human-readable label for subject";
nt:hasRegex ".{1,100}" .
a nt:ExternalUriPlaceholder;
rdfs:label "Subject resource (Wikidata URI or ontology term)" .
a nt:LiteralPlaceholder;
rdfs:label "Version identifier";
nt:hasRegex ".{1,50}" .
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-30T13:31:12.135724"^^xsd:dateTime .
prov:wasAttributedTo orcid:0000-0002-1784-2920 .
}
sub:pubinfo {
sub:sig npx:hasAlgorithm "RSA";
npx:hasPublicKey "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA0Jjl8R2frREttzggYjcDg8jCw86fTKNHAQ1GoItGE4jA+kSIXdoeFzwEaxqgYFyrrnW9Vuw1qCGFHUi5tSY9KvjNOEj6IMeKMo9RwW5Fb4JHA37HQ/IBI6663lB0docvDu4gWvtuZd3znf8wIH22iZ5qHzE4seFVPdnceJqaExi7+hWlgOVC7C9Muybv72LyIh4XfH6lRnu6R22m5f4z3AlM0m7glM3y1t8eAF4gmx4LN85BG2Wsxi9SEi3PR7wB1a2LlSdY7+2btpG5LOUg8IaYytv/LtgkO4GRjCA1vV6ZDdYxdcYQgEpU4fZ6S91BDKOLhQKoAZt/CKKEpfSOVwIDAQAB";
npx:hasSignature "LZ2uYSMrnN+Q+Gey7yLeB4OpmK4SIz6QFgYfDq4jJFZdFFMD2E48PIpNy/6CToJoQdTkyb3hcxmvORPKL4WAsSAH8ZogcLgOaJHhZdnHBHo98vh4RaWDomwvuf5CbuzlymExh6gBus3GfuAIO5t/boxMuMLsXNBuw97Vo13Ux73pPjTE+2PO3rkBxGtA+BsGEaFriXkzA9XdAeWH2aDcKGNIF27yFYXrsNiHdM8D+Ww7ympJspaPl0R3T/gbUbK1iIk7cMFz7qS0eNr0Q6q1xJ2jaQvxPSZcIjpqHr8fXEXKlNQ+atzMYft0FA8PuKks1GRW3H8wnCxqXwIU4oa3Jw==";
npx:hasSignatureTarget this: .
this: prov:generatedAtTime "2025-06-30T13:31:12.135724"^^xsd:dateTime;
prov:wasAttributedTo orcid:0000-0002-1784-2920 .
orcid:0000-0002-1784-2920 foaf:name "Anne Fouilloux" .
}