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-04T16:56:22.316572"^^xsd:dateTime .
prov:wasAttributedTo orcid:0000-0002-1784-2920 .
}
sub:pubinfo {
sub:sig npx:hasAlgorithm "RSA";
npx:hasPublicKey "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA0cBf4RcS/Z/0bhWQTSW8d2Apj4mUWLAA/OPHM37q53Ij0rC0T/7JY+50zXI97HWIbTOgpS8n3aO67ilREBzavZqx2aGAX2H5ivwudiaHRDUijUbmW93IsKHDGHVKDMZHvX9E5GnW582SWqm73kPjwQJ0jBUUqn/XHFHyu8SwlGKPWuUfpiGeyar91o7RkqpFAVH0bu6RBo5lI+HRT8mD728mf4K5L+uUmXYzIfPrJSYV2NrIQk8MgG8k7F9QJm+Tu05Oo4H/CglZRFuhlccNC30/PFx2bIJteu2O1JW8ZDn/Zbze585qZ+KkYbOPQ0RDIT2kU/IkcO1tQs9sZZ4tkQIDAQAB";
npx:hasSignature "yiegvBaQQLxnN4cqUSLp1IgYMFU0528ewF5gWHOE8OsmSv/7sRUs7rDUEed9PP2lx80lYE+KAoHRfd5o48aJ1RVP4dodd7ga7iIyTKBICvy1BSyPmVIfjjxAx3YhsXSlsFt3ELKQBD1pe0YEKHs56M+1tknnTf46MIjNGKnAoVkM6e5CXvy6eY+i2AfQGoqzgdHLH/k8kFaTL9I161GHvaBKS6I1cErZfXL5RzKFgnoi5/RyuyUEbBGfn0/8aTpSz4ewf6ZW7omyd05Waj+ajMwkJL/rlnYWlJMRNRyuLyreocoEUlFxNDA0V1mjjP6h+B6rnlxp5oVD8MXmmGDk/Q==";
npx:hasSignatureTarget this: .
this: prov:generatedAtTime "2025-06-04T16:56:22.316572"^^xsd:dateTime;
prov:wasAttributedTo orcid:0000-0002-1784-2920 .
orcid:0000-0002-1784-2920 foaf:name "Anne Fouilloux" .
}