Class LexemeDocumentImpl
java.lang.Object
org.wikidata.wdtk.datamodel.implementation.EntityDocumentImpl
org.wikidata.wdtk.datamodel.implementation.LexemeDocumentImpl
- All Implemented Interfaces:
EntityDocument
,LexemeDocument
,StatementDocument
Jackson implementation of
LexemeDocument
.- Author:
- Thomas Pellissier Tanon
-
Field Summary
Modifier and TypeFieldDescriptionThis is what is called claim in the JSON model.Fields inherited from class org.wikidata.wdtk.datamodel.implementation.EntityDocumentImpl
entityId, revisionId, siteIri
-
Constructor Summary
ConstructorDescriptionLexemeDocumentImpl
(String jsonId, String lexicalCategory, String language, Map<String, MonolingualTextValue> lemmas, Map<String, List<StatementImpl.PreStatement>> claims, List<FormDocument> forms, List<SenseDocument> senses, long revisionId, String siteIri) Constructor. -
Method Summary
Modifier and TypeMethodDescriptionAdds a Statement to a given collection of statement groups.createForm
(List<MonolingualTextValue> representations) Creates a newFormDocument
for this lexeme.createSense
(List<MonolingualTextValue> glosses) Creates a newSenseDocument
for this Lexeme.boolean
findStatementGroup
(String propertyIdValue) Find a statement group by its property id, without checking for equality with the site IRI.Returns an iterator that provides access to all statements, without considering the statement groups.Returns the ID of the entity that the data refers togetForm
(FormIdValue formId) Return the inner form having the given idgetForms()
Return the lexeme formsReturns the "claims".Return the ID of the language to which the lexeme belongs (French, British English...)Return the human readable representations of the lexeme indexed by Wikimedia language codeReturn the ID of the lexical category to which the lexeme belongs (noun, verb...)getSense
(SenseIdValue senseId) Return the inner sense having the given idReturn the lexeme sensesReturn the list of all StatementGroups stored for this item.int
hashCode()
Removes statement ids from a collection of statement groups.toString()
withEntityId
(LexemeIdValue newEntityId) Returns a new version of this document with updated ID.withForm
(FormDocument form) Adds aFormDocument
to this lexeme.withLanguage
(ItemIdValue newLanguage) withLemma
(MonolingualTextValue lemma) withLexicalCategory
(ItemIdValue newLexicalCategory) withoutStatementIds
(Set<String> statementIds) Returns a new version of this document where all statements matching any of the statement ids provided have been removed.withRevisionId
(long newRevisionId) Returns a copy of this document with an updated revision id.withSense
(SenseDocument sense) Adds aSenseDocument
to this lexeme.withStatement
(Statement statement) Returns a new version of this document which includes the statement provided.Methods inherited from class org.wikidata.wdtk.datamodel.implementation.EntityDocumentImpl
getJsonId, getRevisionId, getSiteIri
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
Methods inherited from interface org.wikidata.wdtk.datamodel.interfaces.EntityDocument
getRevisionId
Methods inherited from interface org.wikidata.wdtk.datamodel.interfaces.StatementDocument
findStatement, findStatement, findStatementEntityIdValue, findStatementEntityIdValue, findStatementGlobeCoordinatesValue, findStatementGlobeCoordinatesValue, findStatementGroup, findStatementGroup, findStatementItemIdValue, findStatementItemIdValue, findStatementMonolingualTextValue, findStatementMonolingualTextValue, findStatementPropertyIdValue, findStatementPropertyIdValue, findStatementQuantityValue, findStatementQuantityValue, findStatementStringValue, findStatementStringValue, findStatementTimeValue, findStatementTimeValue, findStatementValue, findStatementValue, getAllStatements, getStatementGroups, hasStatement, hasStatement, hasStatementValue, hasStatementValue, hasStatementValue, hasStatementValue
-
Field Details
-
claims
This is what is called claim in the JSON model. It corresponds to the statement group in the WDTK model.
-
-
Constructor Details
-
LexemeDocumentImpl
public LexemeDocumentImpl(String jsonId, String lexicalCategory, String language, Map<String, MonolingualTextValue> lemmas, Map<String, List<StatementImpl.PreStatement>> claims, List<FormDocument> forms, List<SenseDocument> senses, long revisionId, String siteIri) Constructor. Creates an object that can be populated during JSON deserialization. Should only be used by Jackson for this very purpose.
-
-
Method Details
-
getEntityId
Description copied from interface:LexemeDocument
Returns the ID of the entity that the data refers to- Specified by:
getEntityId
in interfaceEntityDocument
- Specified by:
getEntityId
in interfaceLexemeDocument
- Returns:
- lexeme id
-
getLexicalCategory
Description copied from interface:LexemeDocument
Return the ID of the lexical category to which the lexeme belongs (noun, verb...)- Specified by:
getLexicalCategory
in interfaceLexemeDocument
- Returns:
- item id
-
getLanguage
Description copied from interface:LexemeDocument
Return the ID of the language to which the lexeme belongs (French, British English...)- Specified by:
getLanguage
in interfaceLexemeDocument
- Returns:
- item id
-
getLemmas
Description copied from interface:LexemeDocument
Return the human readable representations of the lexeme indexed by Wikimedia language code- Specified by:
getLemmas
in interfaceLexemeDocument
- Returns:
- a map from Wikimedia language code to the lemma
-
getForms
Description copied from interface:LexemeDocument
Return the lexeme forms- Specified by:
getForms
in interfaceLexemeDocument
- Returns:
- the list of forms
-
getSenses
Description copied from interface:LexemeDocument
Return the lexeme senses- Specified by:
getSenses
in interfaceLexemeDocument
- Returns:
- the list of senses
-
getForm
Description copied from interface:LexemeDocument
Return the inner form having the given id- Specified by:
getForm
in interfaceLexemeDocument
-
getSense
Description copied from interface:LexemeDocument
Return the inner sense having the given id- Specified by:
getSense
in interfaceLexemeDocument
-
hashCode
public int hashCode() -
equals
-
toString
-
withEntityId
Description copied from interface:LexemeDocument
Returns a new version of this document with updated ID.- Specified by:
withEntityId
in interfaceLexemeDocument
- Parameters:
newEntityId
- new ID of the document- Returns:
- document with updated ID
-
withLexicalCategory
- Specified by:
withLexicalCategory
in interfaceLexemeDocument
-
withLanguage
- Specified by:
withLanguage
in interfaceLexemeDocument
-
withLemma
- Specified by:
withLemma
in interfaceLexemeDocument
-
withStatement
Description copied from interface:LexemeDocument
Returns a new version of this document which includes the statement provided. If the identifier of this statement matches that of any other statement for the same property, then the existing statement will be replaced by the new one. Otherwise, the new statement will be added at the end of the list of statements in this group.- Specified by:
withStatement
in interfaceLexemeDocument
- Specified by:
withStatement
in interfaceStatementDocument
- Parameters:
statement
- the statement to add or update in the document
-
withoutStatementIds
Description copied from interface:LexemeDocument
Returns a new version of this document where all statements matching any of the statement ids provided have been removed. These statements can use different properties.- Specified by:
withoutStatementIds
in interfaceLexemeDocument
- Specified by:
withoutStatementIds
in interfaceStatementDocument
- Parameters:
statementIds
- the identifiers of the statements to remove
-
createForm
Description copied from interface:LexemeDocument
Creates a newFormDocument
for this lexeme. The form is not added to theLexemeDocument
object, it should be done withLexemeDocument.withForm(org.wikidata.wdtk.datamodel.interfaces.FormDocument)
.- Specified by:
createForm
in interfaceLexemeDocument
-
withForm
Description copied from interface:LexemeDocument
Adds aFormDocument
to this lexeme. The form id should be prefixed with the lexeme id.- Specified by:
withForm
in interfaceLexemeDocument
-
createSense
Description copied from interface:LexemeDocument
Creates a newSenseDocument
for this Lexeme. The form is not added to theLexemeDocument
object, it should be done withLexemeDocument.withSense(org.wikidata.wdtk.datamodel.interfaces.SenseDocument)
.- Specified by:
createSense
in interfaceLexemeDocument
-
withSense
Description copied from interface:LexemeDocument
Adds aSenseDocument
to this lexeme. The sense id should be prefixed with the lexeme id.- Specified by:
withSense
in interfaceLexemeDocument
-
withRevisionId
Description copied from interface:LexemeDocument
Returns a copy of this document with an updated revision id.- Specified by:
withRevisionId
in interfaceEntityDocument
- Specified by:
withRevisionId
in interfaceLexemeDocument
- Specified by:
withRevisionId
in interfaceStatementDocument
-
getStatementGroups
Description copied from interface:StatementDocument
Return the list of all StatementGroups stored for this item. The order of StatementGroups is significant.- Specified by:
getStatementGroups
in interfaceStatementDocument
- Returns:
- list of StatementGroups
-
findStatementGroup
Find a statement group by its property id, without checking for equality with the site IRI. More efficient implementation than the default one.- Specified by:
findStatementGroup
in interfaceStatementDocument
- Parameters:
propertyIdValue
- the property to search for- Returns:
StatementGroup
or null
-
getJsonClaims
Returns the "claims". Only used by Jackson.JSON "claims" correspond to statement groups in the WDTK model. You should use
StatementDocument.getStatementGroups()
to obtain this data.- Returns:
- map of statement groups
-
getAllStatements
Description copied from interface:StatementDocument
Returns an iterator that provides access to all statements, without considering the statement groups. The order of statements is preserved.- Specified by:
getAllStatements
in interfaceStatementDocument
- Returns:
- iterator over all statements
-
addStatementToGroups
protected static Map<String,List<Statement>> addStatementToGroups(Statement statement, Map<String, List<Statement>> claims) Adds a Statement to a given collection of statement groups. If the statement id is not null and matches that of an existing statement, this statement will be replaced.- Parameters:
statement
-claims
-- Returns:
-
removeStatements
protected static Map<String,List<Statement>> removeStatements(Set<String> statementIds, Map<String, List<Statement>> claims) Removes statement ids from a collection of statement groups.- Parameters:
statementIds
-claims
-- Returns:
-