📄 ontresourceimpl.java
字号:
* @return An iterator over the resources providing additional definition on this resource.
* @exception OntProfileException If the {@link Profile#SEE_ALSO()} property is not supported in the current language profile.
*/
public ExtendedIterator listSeeAlso() {
checkProfile( getProfile().SEE_ALSO(), "SEE_ALSO" );
return WrappedIterator.create( listProperties( getProfile().SEE_ALSO() ) )
.mapWith( new ObjectAsOntResourceMapper() );
}
/**
* <p>Answer true if this resource has the given resource as a source of additional information.</p>
* @param res A resource to test against
* @return True if the <code>res</code> provides more information on this resource.
*/
public boolean hasSeeAlso( Resource res ) {
return hasPropertyValue( getProfile().SEE_ALSO(), "SEE_ALSO", res );
}
/**
* <p>Remove the statement indicating the given resource as a source of additional information
* about this resource. If this statement
* is not true of the current model, nothing happens.</p>
* @param res A resource that may be declared to provide additional information about this resource
*/
public void removeSeeAlso( Resource res ) {
removePropertyValue( getProfile().SEE_ALSO(), "SEE_ALSO", res );
}
// is defined by
/**
* <p>Assert that the given resource provides a source of definitions about this resource. Any existing
* statements for <code>isDefinedBy</code> will be removed.</p>
* @param res The resource that is declared to be a definition of this resource.
* @exception OntProfileException If the {@link Profile#IS_DEFINED_BY()} property is not supported in the current language profile.
*/
public void setIsDefinedBy( Resource res ) {
setPropertyValue( getProfile().IS_DEFINED_BY(), "IS_DEFINED_BY", res );
}
/**
* <p>Add a resource that is declared to provide a definition of this resource.</p>
* @param res A defining resource
* @exception OntProfileException If the {@link Profile#IS_DEFINED_BY()} property is not supported in the current language profile.
*/
public void addIsDefinedBy( Resource res ) {
addPropertyValue( getProfile().IS_DEFINED_BY(), "IS_DEFINED_BY", res );
}
/**
* <p>Answer a resource that is declared to provide a definition of this resource. If there is
* more than one such resource, an arbitrary selection is made.</p>
* @return res An ont resource that is declared to provide a definition of this resource
* @exception OntProfileException If the {@link Profile#IS_DEFINED_BY()} property is not supported in the current language profile.
*/
public Resource getIsDefinedBy() {
return objectAsResource( getProfile().IS_DEFINED_BY(), "IS_DEFINED_BY" );
}
/**
* <p>Answer an iterator over all of the resources that are declared to define
* this resource. </p>
* @return An iterator over the resources defining this resource.
* @exception OntProfileException If the {@link Profile#IS_DEFINED_BY()} property is not supported in the current language profile.
*/
public ExtendedIterator listIsDefinedBy() {
checkProfile( getProfile().IS_DEFINED_BY(), "IS_DEFINED_BY" );
return WrappedIterator.create( listProperties( getProfile().IS_DEFINED_BY() ) )
.mapWith( new ObjectAsOntResourceMapper() );
}
/**
* <p>Answer true if this resource is defined by the given resource.</p>
* @param res A resource to test against
* @return True if <code>res</code> defines this resource.
*/
public boolean isDefinedBy( Resource res ) {
return hasPropertyValue( getProfile().IS_DEFINED_BY(), "IS_DEFINED_BY", res );
}
/**
* <p>Remove the statement that this resource is defined by the given resource. If this statement
* is not true of the current model, nothing happens.</p>
* @param res A resource that may be declared to define this resource
*/
public void removeDefinedBy( Resource res ) {
removePropertyValue( getProfile().IS_DEFINED_BY(), "IS_DEFINED_BY", res );
}
// version info
/**
* <p>Assert that the given string is the value of the version info for this resource. Any existing
* statements for <code>versionInfo</code> will be removed.</p>
* @param info The version information for this resource
* @exception OntProfileException If the {@link Profile#VERSION_INFO()} property is not supported in the current language profile.
*/
public void setVersionInfo( String info ) {
checkProfile( getProfile().VERSION_INFO(), "VERSION_INFO" );
removeAll( getProfile().VERSION_INFO() );
addVersionInfo( info );
}
/**
* <p>Add the given version information to this resource.</p>
* @param info A version information string for this resource
* @exception OntProfileException If the {@link Profile#VERSION_INFO()} property is not supported in the current language profile.
*/
public void addVersionInfo( String info ) {
checkProfile( getProfile().VERSION_INFO(), "VERSION_INFO" );
addProperty( getProfile().VERSION_INFO(), getModel().createLiteral( info ) );
}
/**
* <p>Answer the version information string for this object. If there is
* more than one such resource, an arbitrary selection is made.</p>
* @return A version info string
* @exception OntProfileException If the {@link Profile#VERSION_INFO()} property is not supported in the current language profile.
*/
public String getVersionInfo() {
checkProfile( getProfile().VERSION_INFO(), "VERSION_INFO" );
try {
return getRequiredProperty( getProfile().VERSION_INFO() ).getString();
}
catch (PropertyNotFoundException ignore) {
return null;
}
}
/**
* <p>Answer an iterator over all of the version info strings for this resource.</p>
* @return An iterator over the version info strings for this resource.
* @exception OntProfileException If the {@link Profile#VERSION_INFO()} property is not supported in the current language profile.
*/
public ExtendedIterator listVersionInfo() {
checkProfile( getProfile().VERSION_INFO(), "VERSION_INFO" );
return WrappedIterator.create( listProperties( getProfile().VERSION_INFO() ) )
.mapWith( new ObjectAsStringMapper() );
}
/**
* <p>Answer true if this resource has the given version information</p>
* @param info Version information to test for
* @return True if this resource has <code>info</code> as version information.
*/
public boolean hasVersionInfo( String info ) {
checkProfile( getProfile().VERSION_INFO(), "VERSION_INFO" );
return hasProperty( getProfile().VERSION_INFO(), info );
}
/**
* <p>Remove the statement that the given string provides version information about
* this resource. If this statement
* is not true of the current model, nothing happens.</p>
* @param info A version information string to be removed
*/
public void removeVersionInfo( String info ) {
checkProfile( getProfile().VERSION_INFO(), "VERSION_INFO" );
Literal infoAsLiteral = ResourceFactory.createPlainLiteral( info );
getModel().remove( this, getProfile().VERSION_INFO(), infoAsLiteral );
}
// label
/**
* <p>Assert that the given string is the value of the label for this resource. Any existing
* statements for <code>label</code> will be removed.</p>
* @param label The label for this resource
* @param lang The language attribute for this label (EN, FR, etc) or null if not specified.
* @exception OntProfileException If the {@link Profile#LABEL()} property is not supported in the current language profile.
*/
public void setLabel( String label, String lang ) {
checkProfile( getProfile().LABEL(), "LABEL" );
removeAll( getProfile().LABEL() );
addLabel( label, lang );
}
/**
* <p>Add the given label to this resource.</p>
* @param label A label string for this resource
* @param lang The language attribute for this label (EN, FR, etc) or null if not specified.
* @exception OntProfileException If the {@link Profile#LABEL()} property is not supported in the current language profile.
*/
public void addLabel( String label, String lang ) {
addLabel( getModel().createLiteral( label, lang ) );
}
/**
* <p>Add the given label to this resource.</p>
* @param label The literal label
* @exception OntProfileException If the {@link Profile#LABEL()} property is not supported in the current language profile.
*/
public void addLabel( Literal label ) {
addPropertyValue( getProfile().LABEL(), "LABEL", label );
}
/**
* <p>Answer the label string for this object. If there is
* more than one such resource, an arbitrary selection is made.</p>
* @param lang The language attribute for the desired label (EN, FR, etc) or null for don't care. Will
* attempt to retreive the most specific label matching the given language</p>
* @return A label string matching the given language, or null if there is no matching label.
* @exception OntProfileException If the {@link Profile#LABEL()} property is not supported in the current language profile.
*/
public String getLabel( String lang ) {
checkProfile( getProfile().LABEL(), "LABEL" );
if (lang == null || lang.length() == 0) {
// don't care which language version we get
try {
return getRequiredProperty( getProfile().LABEL() ).getString();
}
catch (PropertyNotFoundException ignore) {
return null;
}
}
else {
// search for the best match for the specified language
return selectLang( listProperties( getProfile().LABEL() ), lang );
}
}
/**
* <p>Answer an iterator over all of the label literals for this resource.</p>
* @param lang The language to restrict any label values to, or null to select all languages
* @return An iterator over RDF {@link Literal}'s.
* @exception OntProfileException If the {@link Profile#LABEL()} property is not supported in the current language profile.
*/
public ExtendedIterator listLabels( String lang ) {
checkProfile( getProfile().LABEL(), "LABEL" );
return WrappedIterator.create( listProperties( getProfile().LABEL() ) )
.filterKeep( new LangTagFilter( lang ) )
.mapWith( new ObjectMapper() );
}
/**
* <p>Answer true if this resource has the given label</p>
* @param label The label to test for
* @param lang The optional language tag, or null for don't care.
* @return True if this resource has <code>label</code> as a label.
*/
public boolean hasLabel( String label, String lang ) {
return hasLabel( getModel().createLiteral( label, lang ) );
}
/**
* <p>Answer true if this resource has the given label</p>
* @param label The label to test for
* @return True if this resource has <code>label</code> as a label.
*/
public boolean hasLabel( Literal label ) {
boolean found = false;
ExtendedIterator i = listLabels( label.getLanguage() );
while (!found && i.hasNext()) {
found = label.equals( i.next() );
}
i.close();
return found;
}
/**
* <p>Remove the statement that the given string is a label for
* this resource. If this statement
* is not true of the current model, nothing happens.</p>
* @param label A label string to be removed
* @param lang A lang tag
*/
public void removeLabel( String label, String lang ) {
removeLabel( getModel().createLiteral( label, lang ) );
}
/**
* <p>Remove the statement that the given string is a label for
* this resource. If this statement
* is not true of the current model, nothing happens.</p>
* @param label A label literal to be removed
*/
public void removeLabel( Literal label ) {
removePropertyValue( getProfile().LABEL(), "LABEL", label );
}
// comment
/**
* <p>Assert that the given string is the comment on this resource. Any existing
* statements for <code>comment</code> will be removed.</p>
* @param comment The comment for this resource
* @param lang The language attribute for this comment (EN, FR, etc) or null if not specified.
* @exception OntProfileException If the {@link Profile#COMMENT()} property is not supported in the current language profile.
*/
public void setComment( String comment, String lang ) {
checkProfile( getProfile().COMMENT(), "COMMENT" );
removeAll( getProfile().COMMENT() );
addComment( comment, lang );
}
/**
* <p>Add the given comment to this resource.</p>
* @param comment A comment string for this resource
* @param lang The language attribute for this comment (EN, FR, etc) or null if not specified.
* @exception OntProfileException If the {@link Profile#COMMENT()} property is not supported in the current language profile.
*/
public void addComment( String comment, String lang ) {
addComment( getModel().createLiteral( comment, lang ) );
}
/**
* <p>Add the given comment to this resource.</p>
* @param comment The literal comment
* @exception OntProfileException If the {@link Profile#COMMENT()} property is not supported in the current language profile.
*/
public void addComment( Literal comment ) {
checkProfile( getProfile().COMMENT(), "COMMENT" );
addProperty( getProfile().COMMENT(), comment );
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -