:(以下为属性的定义)
OntModel m = ModelFactory.createOntologyModel( OntModelSpec.OWL_MEM );
OntClass programme = m.createClass( NS + "Programme" );
OntClass orgEvent = m.createClass( NS + "OrganizedEvent" );
ObjectProperty hasProgramme = m.createObjectProperty( NS+ "hasProgramme" );
hasProgramme.addDomain( orgEvent );
body.addRange( programme );
body.addLabel( "has programme", "en" );
As a further example, I can alternatively add information to an existing ontology. Let's add a super-property hasDeadline to generalise the separate properties denoting the submission deadline, notification deadline and camera-ready deadline:
OntModel m = ModelFactory.createOntologyModel( OntModelSpec.OWL_MEM );:(建立本体模型)
m.read( "http://www.eswc2006.org/technologies/ontology" );(读取本体文件)
DatatypeProperty subDeadline = m.getDatatypeProperty( NS + "hasSubmissionDeadline" );
(定义数据类型属性subDeadline,并通过getDatatypeProperty方法获取)
DatatypeProperty notifyDeadline = m.getDatatypeProperty( NS + "hasNotificationDeadline" );
(定义数据类型属性notifyDeadline,并获取)
DatatypeProperty cameraDeadline = m.getDatatypeProperty( NS + "hasCameraReadyDeadline" );
(定义数据类型属性cameraDeadline ,并获取)
DatatypeProperty deadline = m.createDatatypeProperty( NS + "deadline" );
(定义数据类型属性,并创建)
deadline.addDomain( m.getOntClass( NS + "Call" ) );
(添加定义域,该定义域通过getOntClass方法获取)
deadline.addRange( XSD.dateTime );
(添加值域)
deadline.addSubProperty( subDeadline );
(向数据类型属性subDeadline中添加子属性)
deadline.addSubProperty( notifyDeadline );
(向数据类型属性notifyDeadline中添加子属性)
deadline.addSubProperty( cameraDeadline );
(向数据类型属性cameraDeadline中添加子属性)
