📄 ontmodelimpl.java
字号:
* <p>Answer a resource representing an inverse functional property</p>
* @param uri The uri for the property. May not be null.
* @return An InverseFunctionalProperty resource
* @see #createInverseFunctionalProperty( String, boolean )
*/
public InverseFunctionalProperty createInverseFunctionalProperty( String uri ) {
return createInverseFunctionalProperty( uri, false );
}
/**
* <p>Answer a resource representing an inverse functional property, which is optionally
* also functional.</p>
* @param uri The uri for the property. May not be null.
* @param functional If true, the property is also functional
* @return An InverseFunctionalProperty resource, optionally also functional.
*/
public InverseFunctionalProperty createInverseFunctionalProperty( String uri, boolean functional ) {
checkProfileEntry( getProfile().INVERSE_FUNCTIONAL_PROPERTY(), "INVERSE_FUNCTIONAL_PROPERTY" );
InverseFunctionalProperty p = (InverseFunctionalProperty) createOntResource( InverseFunctionalProperty.class, getProfile().INVERSE_FUNCTIONAL_PROPERTY(), uri );
if (functional) {
checkProfileEntry( getProfile().FUNCTIONAL_PROPERTY(), "FUNCTIONAL_PROPERTY" );
p.addProperty( RDF.type, getProfile().FUNCTIONAL_PROPERTY() );
}
return p;
}
/**
* <p>
* Answer a resource that represents datatype property in this model, and that is
* not a functional property.
* </p>
*
* @param uri The uri for the datatype property. May not be null.
* @return A DatatypeProperty resource.
* @see #createDatatypeProperty( String, boolean )
*/
public DatatypeProperty createDatatypeProperty( String uri ) {
return createDatatypeProperty( uri, false );
}
/**
* <p>
* Answer a resource that represents datatype property in this model. A datatype property
* is defined to have a range that is a concrete datatype, rather than an individual.
* If a resource
* with the given uri exists in the model, it will be re-used. If not, a new one is created in
* the updateable sub-graph of the ontology model.
* </p>
*
* @param uri The uri for the datatype property. May not be null.
* @param functional If true, the resource will also be typed as a {@link FunctionalProperty},
* that is, a property that has a unique range value for any given domain value.
* @return A DatatypeProperty resource.
*/
public DatatypeProperty createDatatypeProperty( String uri, boolean functional ) {
checkProfileEntry( getProfile().DATATYPE_PROPERTY(), "DATATYPE_PROPERTY" );
DatatypeProperty p = (DatatypeProperty) createOntResource( DatatypeProperty.class, getProfile().DATATYPE_PROPERTY(), uri );
if (functional) {
checkProfileEntry( getProfile().FUNCTIONAL_PROPERTY(), "FUNCTIONAL_PROPERTY" );
p.addProperty( RDF.type, getProfile().FUNCTIONAL_PROPERTY() );
}
return p;
}
/**
* <p>
* Answer a resource that represents an annotation property in this model. If a resource
* with the given uri exists in the model, it will be re-used. If not, a new one is created in
* the updateable sub-graph of the ontology model.
* </p>
*
* @param uri The uri for the annotation property.
* @return An AnnotationProperty resource.
*/
public AnnotationProperty createAnnotationProperty( String uri ) {
checkProfileEntry( getProfile().ANNOTATION_PROPERTY(), "ANNOTATION_PROPERTY" );
return (AnnotationProperty) createOntResource( AnnotationProperty.class, getProfile().ANNOTATION_PROPERTY(), uri );
}
/**
* <p>
* Answer a resource that represents an anonymous class description in this model. A new
* anonymous resource of <code>rdf:type C</code>, where C is the class type from the
* language profile.
* </p>
*
* @return An anonymous Class resource.
*/
public OntClass createClass() {
checkProfileEntry( getProfile().CLASS(), "CLASS" );
return (OntClass) createOntResource( OntClass.class, getProfile().CLASS(), null );
}
/**
* <p>
* Answer a resource that represents a class description node in this model. If a resource
* with the given uri exists in the model, it will be re-used. If not, a new one is created in
* the updateable sub-graph of the ontology model.
* </p>
*
* @param uri The uri for the class node, or null for an anonymous class.
* @return A Class resource.
*/
public OntClass createClass( String uri ) {
checkProfileEntry( getProfile().CLASS(), "CLASS" );
return (OntClass) createOntResource( OntClass.class, getProfile().CLASS(), uri );
}
/**
* <p>Answer a resource representing the class that is the complement of the given argument class</p>
* @param uri The URI of the new complement class, or null for an anonymous class description.
* @param cls Resource denoting the class that the new class is a complement of
* @return A complement class
*/
public ComplementClass createComplementClass( String uri, Resource cls ) {
checkProfileEntry( getProfile().CLASS(), "CLASS" );
OntClass c = (OntClass) createOntResource( OntClass.class, getProfile().CLASS(), uri );
checkProfileEntry( getProfile().COMPLEMENT_OF(), "COMPLEMENT_OF" );
// if the class that this class is a complement of is not specified, use owl:nothing or daml:nothing
c.addProperty( getProfile().COMPLEMENT_OF(), (cls == null) ? getProfile().NOTHING() : cls );
return (ComplementClass) c.as( ComplementClass.class );
}
/**
* <p>Answer a resource representing the class that is the enumeration of the given list of individuals</p>
* @param uri The URI of the new enumeration class, or null for an anonymous class description.
* @param members An optional list of resources denoting the individuals in the enumeration
* @return An enumeration class
*/
public EnumeratedClass createEnumeratedClass( String uri, RDFList members ) {
checkProfileEntry( getProfile().CLASS(), "CLASS" );
OntClass c = (OntClass) createOntResource( OntClass.class, getProfile().CLASS(), uri );
checkProfileEntry( getProfile().ONE_OF(), "ONE_OF" );
c.addProperty( getProfile().ONE_OF(), (members == null) ? createList() : members );
return (EnumeratedClass) c.as( EnumeratedClass.class );
}
/**
* <p>Answer a resource representing the class that is the union of the given list of class desctiptions</p>
* @param uri The URI of the new union class, or null for an anonymous class description.
* @param members A list of resources denoting the classes that comprise the union
* @return A union class description
*/
public UnionClass createUnionClass( String uri, RDFList members ) {
checkProfileEntry( getProfile().CLASS(), "CLASS" );
OntClass c = (OntClass) createOntResource( OntClass.class, getProfile().CLASS(), uri );
checkProfileEntry( getProfile().UNION_OF(), "UNION_OF" );
c.addProperty( getProfile().UNION_OF(), (members == null) ? createList() : members );
return (UnionClass) c.as( UnionClass.class );
}
/**
* <p>Answer a resource representing the class that is the intersection of the given list of class descriptions.</p>
* @param uri The URI of the new intersection class, or null for an anonymous class description.
* @param members A list of resources denoting the classes that comprise the intersection
* @return An intersection class description
*/
public IntersectionClass createIntersectionClass( String uri, RDFList members ) {
checkProfileEntry( getProfile().CLASS(), "CLASS" );
OntClass c = (OntClass) createOntResource( OntClass.class, getProfile().CLASS(), uri );
checkProfileEntry( getProfile().INTERSECTION_OF(), "INTERSECTION_OF" );
c.addProperty( getProfile().INTERSECTION_OF(), (members == null) ? createList() : members );
return (IntersectionClass) c.as( IntersectionClass.class );
}
/**
* <p>
* Answer a resource that represents an anonymous property restriction in this model. A new
* anonymous resource of <code>rdf:type R</code>, where R is the restriction type from the
* language profile.
* </p>
*
* @param p The property that is restricted by this restriction
* @return An anonymous Restriction resource.
*/
public Restriction createRestriction( Property p ) {
checkProfileEntry( getProfile().RESTRICTION(), "RESTRICTION" );
Restriction r = (Restriction) createOntResource( Restriction.class, getProfile().RESTRICTION(), null );
if (p != null) {
r.setOnProperty( p );
}
return r;
}
/**
* <p>
* Answer a resource that represents a property restriction in this model. If a resource
* with the given uri exists in the model, it will be re-used. If not, a new one is created in
* the updateable sub-graph of the ontology model.
* </p>
*
* @param uri The uri for the restriction node, or null for an anonymous restriction.
* @param p The property that is restricted by this restriction
* @return A Restriction resource.
*/
public Restriction createRestriction( String uri, Property p ) {
checkProfileEntry( getProfile().RESTRICTION(), "RESTRICTION" );
Restriction r = (Restriction) createOntResource( Restriction.class, getProfile().RESTRICTION(), uri );
if (p != null) {
r.setOnProperty( p );
}
return r;
}
/**
* <p>Answer a class description defined as the class of those individuals that have the given
* resource as the value of the given property</p>
*
* @param uri The optional URI for the restriction, or null for an anonymous restriction (which
* should be the normal case)
* @param prop The property the restriction applies to
* @param value The value of the property, as a resource or RDF literal
* @return A new resource representing a has-value restriction
*/
public HasValueRestriction createHasValueRestriction( String uri, Property prop, RDFNode value ) {
checkProfileEntry( getProfile().RESTRICTION(), "RESTRICTION" );
Restriction r = (Restriction) createOntResource( Restriction.class, getProfile().RESTRICTION(), uri );
if (prop == null || value == null) {
throw new IllegalArgumentException( "Cannot create hasValueRestriction with a null property or value" );
}
checkProfileEntry( getProfile().HAS_VALUE(), "HAS_VALUE" );
r.addProperty( getProfile().ON_PROPERTY(), prop );
r.addProperty( getProfile().HAS_VALUE(), value );
return (HasValueRestriction) r.as( HasValueRestriction.class );
}
/**
* <p>Answer a class description defined as the class of those individuals that have at least
* one property with a value belonging to the given class</p>
*
* @param uri The optional URI for the restriction, or null for an anonymous restriction (which
* should be the normal case)
* @param prop The property the restriction applies to
* @param cls The class to which at least one value of the property belongs
* @return A new resource representing a some-values-from restriction
*/
public SomeValuesFromRestriction createSomeValuesFromRestriction( String uri, Property prop, Resource cls ) {
checkProfileEntry( getProfile().RESTRICTION(), "RESTRICTION" );
Restriction r = (Restriction) createOntResource( Restriction.class, getProfile().RESTRICTION(), uri );
if (prop == null || cls == null) {
throw new IllegalArgumentException( "Cannot create someValuesFromRestriction with a null property or class" );
}
checkProfileEntry( getProfile().SOME_VALUES_FROM(), "SOME_VALUES_FROM" );
r.addProperty( getProfile().ON_PROPERTY(), prop );
r.addProperty( getProfile().SOME_VALUES_FROM(), cls );
return (SomeValuesFromRestriction) r.as( SomeValuesFromRestriction.class );
}
/**
* <p>Answer a class description defined as the class of those individuals for which all values
* of the given property belong to the given class</p>
*
* @param uri The optional URI for the restriction, or null for an anonymous restriction (which
* should be the normal case)
* @param prop The property the restriction applies to
* @param cls The class to which any value of the property belongs
* @return A new resource representing an all-values-from restriction
*/
public AllValuesFromRestriction createAllValuesFromRestriction( String uri, Property prop, Resource cls ) {
checkProfileEntry( getProfile().RESTRICTION(), "RESTRICTION" );
Restriction r = (Restriction) createOntResource( Restriction.class, getProfile().RESTRICTION(), uri );
if (prop == null || cls == null) {
throw new IllegalArgumentException( "Cannot create allValuesFromRestriction with a null property or class" );
}
checkProfileEntry( getProfile().ALL_VALUES_FROM(), "ALL_VALUES_FROM" );
r.addProperty( getProfile().ON_PROPERTY(), prop );
r.addProperty( getProfile().ALL_VALUES_FROM(), cls );
return (AllValuesFromRestriction) r.as(
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -