import com.hp.hpl.jena.rdf.model.Model; import com.hp.hpl.jena.rdf.model.ModelFactory; import com.hp.hpl.jena.rdf.model.Property; import com.hp.hpl.jena.vocabulary.RDFS; public class JenaPropertyExample { public static void main(String[] args) { final String NS = "http://stackoverflow.com/q/20194409/1281433/"; final Model model = ModelFactory.createDefaultModel(); final Property p = model.createResource( NS+"PropertyName", RDF.Property ).as( Property.class ); p.addProperty( RDFS.domain, model.createResource( NS+"ClassName" )); p.addProperty( RDFS.range, RDFS.Literal ); model.write( System.out, "RDF/XML-ABBREV" ); } }
/** * <p> * Answer a resource representing an generic property in this model. Effectively * this method is an alias for {@link #createProperty( String )}, except that * the return type is {@link OntProperty}, which allow more convenient access to * a property's position in the property hierarchy, domain, range, etc. * </p> * * @param uri The uri for the property. May not be null. * @return An OntProperty resource. */ @Override public OntProperty createOntProperty( String uri ) { Property p = createProperty( uri ); p.addProperty( RDF.type, getProfile().PROPERTY() ); return p.as( OntProperty.class ); }
/** * <p> * Answer a resource representing an generic property in this model. Effectively * this method is an alias for {@link #createProperty( String )}, except that * the return type is {@link OntProperty}, which allow more convenient access to * a property's position in the property hierarchy, domain, range, etc. * </p> * * @param uri The uri for the property. May not be null. * @return An OntProperty resource. */ @Override public OntProperty createOntProperty( String uri ) { Property p = createProperty( uri ); p.addProperty( RDF.type, getProfile().PROPERTY() ); return p.as( OntProperty.class ); }
public void testListOntProperties1() { OntModel m = ModelFactory.createOntologyModel( OntModelSpec.OWL_MEM_MICRO_RULE_INF); ObjectProperty op = m.createObjectProperty( NS + "op" ); DatatypeProperty dp = m.createDatatypeProperty( NS + "dp" ); AnnotationProperty ap = m.createAnnotationProperty( NS + "ap" ); OntProperty ontp = m.createOntProperty( NS + "ontp" ); Property rdfp = m.createProperty( NS + "rdfp" ); rdfp.addProperty( RDF.type, RDF.Property ); assertTrue( iteratorContains( m.listOntProperties(), op ) ); assertTrue( iteratorContains( m.listOntProperties(), dp ) ); // note that owl:AnnotationProperty is an rdf:Property in OWL Full assertTrue( iteratorContains( m.listOntProperties(), ap ) ); assertTrue( iteratorContains( m.listOntProperties(), ontp ) ); assertTrue( iteratorContains( m.listOntProperties(), rdfp ) ); }
public void testListObjectProperties0() { OntModel m = ModelFactory.createOntologyModel( OntModelSpec.OWL_MEM ); ObjectProperty op = m.createObjectProperty( NS + "op" ); DatatypeProperty dp = m.createDatatypeProperty( NS + "dp" ); AnnotationProperty ap = m.createAnnotationProperty( NS + "ap" ); OntProperty ontp = m.createOntProperty( NS + "ontp" ); Property rdfp = m.createProperty( NS + "rdfp" ); rdfp.addProperty( RDF.type, RDF.Property ); // no rdf:type entailment, so we don't find most properties ... assertTrue( iteratorContains( m.listObjectProperties(), op ) ); assertFalse( iteratorContains( m.listObjectProperties(), dp ) ); assertFalse( iteratorContains( m.listObjectProperties(), ap ) ); assertFalse( iteratorContains( m.listObjectProperties(), ontp ) ); assertFalse( iteratorContains( m.listObjectProperties(), rdfp ) ); }
public void testListObjectProperties0() { OntModel m = ModelFactory.createOntologyModel( OntModelSpec.OWL_MEM ); ObjectProperty op = m.createObjectProperty( NS + "op" ); DatatypeProperty dp = m.createDatatypeProperty( NS + "dp" ); AnnotationProperty ap = m.createAnnotationProperty( NS + "ap" ); OntProperty ontp = m.createOntProperty( NS + "ontp" ); Property rdfp = m.createProperty( NS + "rdfp" ); rdfp.addProperty( RDF.type, RDF.Property ); // no rdf:type entailment, so we don't find most properties ... assertTrue( iteratorContains( m.listObjectProperties(), op ) ); assertFalse( iteratorContains( m.listObjectProperties(), dp ) ); assertFalse( iteratorContains( m.listObjectProperties(), ap ) ); assertFalse( iteratorContains( m.listObjectProperties(), ontp ) ); assertFalse( iteratorContains( m.listObjectProperties(), rdfp ) ); }
public void testListAllOntProperties0() { OntModel m = ModelFactory.createOntologyModel( OntModelSpec.OWL_MEM ); ObjectProperty op = m.createObjectProperty( NS + "op" ); DatatypeProperty dp = m.createDatatypeProperty( NS + "dp" ); AnnotationProperty ap = m.createAnnotationProperty( NS + "ap" ); OntProperty ontp = m.createOntProperty( NS + "ontp" ); Property rdfp = m.createProperty( NS + "rdfp" ); rdfp.addProperty( RDF.type, RDF.Property ); // no rdf:type entailment, so we don't find most properties ... assertTrue( iteratorContains( m.listAllOntProperties(), op ) ); assertTrue( iteratorContains( m.listAllOntProperties(), dp ) ); assertTrue( iteratorContains( m.listAllOntProperties(), ap ) ); assertTrue( iteratorContains( m.listAllOntProperties(), ontp ) ); assertTrue( iteratorContains( m.listAllOntProperties(), rdfp ) ); }
public void testListAnnotationProperties0() { OntModel m = ModelFactory.createOntologyModel( OntModelSpec.OWL_MEM ); ObjectProperty op = m.createObjectProperty( NS + "op" ); DatatypeProperty dp = m.createDatatypeProperty( NS + "dp" ); AnnotationProperty ap = m.createAnnotationProperty( NS + "ap" ); OntProperty ontp = m.createOntProperty( NS + "ontp" ); Property rdfp = m.createProperty( NS + "rdfp" ); rdfp.addProperty( RDF.type, RDF.Property ); // no rdf:type entailment, so we don't find most properties ... assertFalse( iteratorContains( m.listAnnotationProperties(), op ) ); assertFalse( iteratorContains( m.listAnnotationProperties(), dp ) ); assertTrue( iteratorContains( m.listAnnotationProperties(), ap ) ); assertFalse( iteratorContains( m.listAnnotationProperties(), ontp ) ); assertFalse( iteratorContains( m.listAnnotationProperties(), rdfp ) ); }
/** Some tests for listing properties. See also {@link TestListSyntaxCategories} */ public void testListOntProperties0() { OntModel m = ModelFactory.createOntologyModel( OntModelSpec.OWL_MEM ); ObjectProperty op = m.createObjectProperty( NS + "op" ); DatatypeProperty dp = m.createDatatypeProperty( NS + "dp" ); AnnotationProperty ap = m.createAnnotationProperty( NS + "ap" ); OntProperty ontp = m.createOntProperty( NS + "ontp" ); Property rdfp = m.createProperty( NS + "rdfp" ); rdfp.addProperty( RDF.type, RDF.Property ); // no rdf:type entailment, so we don't find most properties ... assertFalse( iteratorContains( m.listOntProperties(), op ) ); assertFalse( iteratorContains( m.listOntProperties(), dp ) ); assertFalse( iteratorContains( m.listOntProperties(), ap ) ); assertTrue( iteratorContains( m.listOntProperties(), ontp ) ); assertTrue( iteratorContains( m.listOntProperties(), rdfp ) ); }
public void testListDatatypeProperties0() { OntModel m = ModelFactory.createOntologyModel( OntModelSpec.OWL_MEM ); ObjectProperty op = m.createObjectProperty( NS + "op" ); DatatypeProperty dp = m.createDatatypeProperty( NS + "dp" ); AnnotationProperty ap = m.createAnnotationProperty( NS + "ap" ); OntProperty ontp = m.createOntProperty( NS + "ontp" ); Property rdfp = m.createProperty( NS + "rdfp" ); rdfp.addProperty( RDF.type, RDF.Property ); // no rdf:type entailment, so we don't find most properties ... assertFalse( iteratorContains( m.listDatatypeProperties(), op ) ); assertTrue( iteratorContains( m.listDatatypeProperties(), dp ) ); assertFalse( iteratorContains( m.listDatatypeProperties(), ap ) ); assertFalse( iteratorContains( m.listDatatypeProperties(), ontp ) ); assertFalse( iteratorContains( m.listDatatypeProperties(), rdfp ) ); }
public void testListAnnotationProperties0() { OntModel m = ModelFactory.createOntologyModel( OntModelSpec.OWL_MEM ); ObjectProperty op = m.createObjectProperty( NS + "op" ); DatatypeProperty dp = m.createDatatypeProperty( NS + "dp" ); AnnotationProperty ap = m.createAnnotationProperty( NS + "ap" ); OntProperty ontp = m.createOntProperty( NS + "ontp" ); Property rdfp = m.createProperty( NS + "rdfp" ); rdfp.addProperty( RDF.type, RDF.Property ); // no rdf:type entailment, so we don't find most properties ... assertFalse( iteratorContains( m.listAnnotationProperties(), op ) ); assertFalse( iteratorContains( m.listAnnotationProperties(), dp ) ); assertTrue( iteratorContains( m.listAnnotationProperties(), ap ) ); assertFalse( iteratorContains( m.listAnnotationProperties(), ontp ) ); assertFalse( iteratorContains( m.listAnnotationProperties(), rdfp ) ); }
public void testListOntProperties1() { OntModel m = ModelFactory.createOntologyModel( OntModelSpec.OWL_MEM_MICRO_RULE_INF); ObjectProperty op = m.createObjectProperty( NS + "op" ); DatatypeProperty dp = m.createDatatypeProperty( NS + "dp" ); AnnotationProperty ap = m.createAnnotationProperty( NS + "ap" ); OntProperty ontp = m.createOntProperty( NS + "ontp" ); Property rdfp = m.createProperty( NS + "rdfp" ); rdfp.addProperty( RDF.type, RDF.Property ); assertTrue( iteratorContains( m.listOntProperties(), op ) ); assertTrue( iteratorContains( m.listOntProperties(), dp ) ); // note that owl:AnnotationProperty is an rdf:Property in OWL Full assertTrue( iteratorContains( m.listOntProperties(), ap ) ); assertTrue( iteratorContains( m.listOntProperties(), ontp ) ); assertTrue( iteratorContains( m.listOntProperties(), rdfp ) ); }
public void testListAllOntProperties0() { OntModel m = ModelFactory.createOntologyModel( OntModelSpec.OWL_MEM ); ObjectProperty op = m.createObjectProperty( NS + "op" ); DatatypeProperty dp = m.createDatatypeProperty( NS + "dp" ); AnnotationProperty ap = m.createAnnotationProperty( NS + "ap" ); OntProperty ontp = m.createOntProperty( NS + "ontp" ); Property rdfp = m.createProperty( NS + "rdfp" ); rdfp.addProperty( RDF.type, RDF.Property ); // no rdf:type entailment, so we don't find most properties ... assertTrue( iteratorContains( m.listAllOntProperties(), op ) ); assertTrue( iteratorContains( m.listAllOntProperties(), dp ) ); assertTrue( iteratorContains( m.listAllOntProperties(), ap ) ); assertTrue( iteratorContains( m.listAllOntProperties(), ontp ) ); assertTrue( iteratorContains( m.listAllOntProperties(), rdfp ) ); }
public void testListDatatypeProperties0() { OntModel m = ModelFactory.createOntologyModel( OntModelSpec.OWL_MEM ); ObjectProperty op = m.createObjectProperty( NS + "op" ); DatatypeProperty dp = m.createDatatypeProperty( NS + "dp" ); AnnotationProperty ap = m.createAnnotationProperty( NS + "ap" ); OntProperty ontp = m.createOntProperty( NS + "ontp" ); Property rdfp = m.createProperty( NS + "rdfp" ); rdfp.addProperty( RDF.type, RDF.Property ); // no rdf:type entailment, so we don't find most properties ... assertFalse( iteratorContains( m.listDatatypeProperties(), op ) ); assertTrue( iteratorContains( m.listDatatypeProperties(), dp ) ); assertFalse( iteratorContains( m.listDatatypeProperties(), ap ) ); assertFalse( iteratorContains( m.listDatatypeProperties(), ontp ) ); assertFalse( iteratorContains( m.listDatatypeProperties(), rdfp ) ); }
/** Some tests for listing properties. See also {@link TestListSyntaxCategories} */ public void testListOntProperties0() { OntModel m = ModelFactory.createOntologyModel( OntModelSpec.OWL_MEM ); ObjectProperty op = m.createObjectProperty( NS + "op" ); DatatypeProperty dp = m.createDatatypeProperty( NS + "dp" ); AnnotationProperty ap = m.createAnnotationProperty( NS + "ap" ); OntProperty ontp = m.createOntProperty( NS + "ontp" ); Property rdfp = m.createProperty( NS + "rdfp" ); rdfp.addProperty( RDF.type, RDF.Property ); // no rdf:type entailment, so we don't find most properties ... assertFalse( iteratorContains( m.listOntProperties(), op ) ); assertFalse( iteratorContains( m.listOntProperties(), dp ) ); assertFalse( iteratorContains( m.listOntProperties(), ap ) ); assertTrue( iteratorContains( m.listOntProperties(), ontp ) ); assertTrue( iteratorContains( m.listOntProperties(), rdfp ) ); }
public void testListOntProperties2() { OntModelSpec owlDLReasoner = new OntModelSpec( OntModelSpec.OWL_DL_MEM ); owlDLReasoner.setReasoner( OntModelSpec.OWL_MEM_MICRO_RULE_INF.getReasoner() ); OntModel m = ModelFactory.createOntologyModel( owlDLReasoner ); ObjectProperty op = m.createObjectProperty( NS + "op" ); DatatypeProperty dp = m.createDatatypeProperty( NS + "dp" ); AnnotationProperty ap = m.createAnnotationProperty( NS + "ap" ); OntProperty ontp = m.createOntProperty( NS + "ontp" ); Property rdfp = m.createProperty( NS + "rdfp" ); rdfp.addProperty( RDF.type, RDF.Property ); assertTrue( iteratorContains( m.listOntProperties(), op ) ); assertTrue( iteratorContains( m.listOntProperties(), dp ) ); // note that owl:AnnotationProperty not an rdf:Property in OWL DL assertFalse( iteratorContains( m.listOntProperties(), ap ) ); assertTrue( iteratorContains( m.listOntProperties(), ontp ) ); assertTrue( iteratorContains( m.listOntProperties(), rdfp ) ); }
public void testListOntProperties2() { OntModelSpec owlDLReasoner = new OntModelSpec( OntModelSpec.OWL_DL_MEM ); owlDLReasoner.setReasoner( OntModelSpec.OWL_MEM_MICRO_RULE_INF.getReasoner() ); OntModel m = ModelFactory.createOntologyModel( owlDLReasoner ); ObjectProperty op = m.createObjectProperty( NS + "op" ); DatatypeProperty dp = m.createDatatypeProperty( NS + "dp" ); AnnotationProperty ap = m.createAnnotationProperty( NS + "ap" ); OntProperty ontp = m.createOntProperty( NS + "ontp" ); Property rdfp = m.createProperty( NS + "rdfp" ); rdfp.addProperty( RDF.type, RDF.Property ); assertTrue( iteratorContains( m.listOntProperties(), op ) ); assertTrue( iteratorContains( m.listOntProperties(), dp ) ); // note that owl:AnnotationProperty not an rdf:Property in OWL DL assertFalse( iteratorContains( m.listOntProperties(), ap ) ); assertTrue( iteratorContains( m.listOntProperties(), ontp ) ); assertTrue( iteratorContains( m.listOntProperties(), rdfp ) ); }
@Override public void ontTest( OntModel m ) { Property pSimple = m.createProperty( NS, "p" ); pSimple.addProperty( RDF.type, RDF.Property ); OntProperty p = pSimple.as( OntProperty.class ); assertTrue( "isFunctionalProperty not correct", !p.isFunctionalProperty() ); assertTrue( "isDatatypeProperty not correct", !p.isDatatypeProperty() ); assertTrue( "isObjectProperty not correct", !p.isObjectProperty() ); assertTrue( "isTransitiveProperty not correct", !p.isTransitiveProperty() ); assertTrue( "isInverseFunctionalProperty not correct", !p.isInverseFunctionalProperty() ); if (m_owlLang) {assertTrue( "isSymmetricProperty not correct", !p.isSymmetricProperty() ); } p = p.convertToInverseFunctionalProperty(); assertTrue( "isFunctionalProperty not correct", !p.isFunctionalProperty() ); assertTrue( "isDatatypeProperty not correct", !p.isDatatypeProperty() ); assertTrue( "isObjectProperty not correct", !p.isObjectProperty() ); assertTrue( "isTransitiveProperty not correct", !p.isTransitiveProperty() ); assertTrue( "isInverseFunctionalProperty not correct", p.isInverseFunctionalProperty() ); if (m_owlLang) {assertTrue( "isSymmetricProperty not correct", !p.isSymmetricProperty() ); } } },
@Override public void ontTest( OntModel m ) { Property pSimple = m.createProperty( NS, "p" ); pSimple.addProperty( RDF.type, RDF.Property ); OntProperty p = pSimple.as( OntProperty.class ); assertTrue( "isFunctionalProperty not correct", !p.isFunctionalProperty() ); assertTrue( "isDatatypeProperty not correct", !p.isDatatypeProperty() ); assertTrue( "isObjectProperty not correct", !p.isObjectProperty() ); assertTrue( "isTransitiveProperty not correct", !p.isTransitiveProperty() ); assertTrue( "isInverseFunctionalProperty not correct", !p.isInverseFunctionalProperty() ); if (m_owlLang) {assertTrue( "isSymmetricProperty not correct", !p.isSymmetricProperty() ); } p = p.convertToSymmetricProperty(); assertTrue( "isFunctionalProperty not correct", !p.isFunctionalProperty() ); assertTrue( "isDatatypeProperty not correct", !p.isDatatypeProperty() ); assertTrue( "isObjectProperty not correct", !p.isObjectProperty() ); assertTrue( "isTransitiveProperty not correct", !p.isTransitiveProperty() ); assertTrue( "isInverseFunctionalProperty not correct", !p.isInverseFunctionalProperty() ); if (m_owlLang) {assertTrue( "isSymmetricProperty not correct", p.isSymmetricProperty() ); } } },
@Override public void ontTest( OntModel m ) { Property pSimple = m.createProperty( NS, "p" ); pSimple.addProperty( RDF.type, RDF.Property ); OntProperty p = pSimple.as( OntProperty.class ); assertTrue( "isFunctionalProperty not correct", !p.isFunctionalProperty() ); assertTrue( "isDatatypeProperty not correct", !p.isDatatypeProperty() ); assertTrue( "isObjectProperty not correct", !p.isObjectProperty() ); assertTrue( "isTransitiveProperty not correct", !p.isTransitiveProperty() ); assertTrue( "isInverseFunctionalProperty not correct", !p.isInverseFunctionalProperty() ); if (m_owlLang) {assertTrue( "isSymmetricProperty not correct", !p.isSymmetricProperty() ); } p = p.convertToDatatypeProperty(); assertTrue( "isFunctionalProperty not correct", !p.isFunctionalProperty() ); assertTrue( "isDatatypeProperty not correct", p.isDatatypeProperty() ); assertTrue( "isObjectProperty not correct", !p.isObjectProperty() ); assertTrue( "isTransitiveProperty not correct", !p.isTransitiveProperty() ); assertTrue( "isInverseFunctionalProperty not correct", !p.isInverseFunctionalProperty() ); if (m_owlLang) {assertTrue( "isSymmetricProperty not correct", !p.isSymmetricProperty() ); } } },