Resource range = getDatatypePropertyRange(propertyDefinition.getPropertyType()); datatypeProperty = ontModel.createDatatypeProperty(propertyURI); datatypeProperty.addProperty(CMSAdapterVocabulary.CMSAD_RESOURCE_REF_PROP, propertyDefinition.getUniqueRef()); if (propertyDefinition.getSourceObjectTypeRef() != null) { datatypeProperty.addProperty(CMSAdapterVocabulary.CMSAD_PROPERTY_SOURCE_OBJECT_PROP, propertyDefinition.getSourceObjectTypeRef()); } else { datatypeProperty.addDomain(domain); datatypeProperty.addRange(range); } else { OntResource domain = datatypeProperty.getDomain(); if (domain != null) { if (domain.isClass() && domain.asClass().isUnionClass()) { List<Resource> resources = new ArrayList<Resource>(domains); resources.add(domain); datatypeProperty.setDomain(createUnionClass(resources));
OntModel model = ModelFactory.createOntologyModel(); model.createDatatypeProperty(jenadata.getURI());
/** * <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. */ @Override public DatatypeProperty createDatatypeProperty( String uri, boolean functional ) { checkProfileEntry( getProfile().DATATYPE_PROPERTY(), "DATATYPE_PROPERTY" ); DatatypeProperty p = createOntResource( DatatypeProperty.class, getProfile().DATATYPE_PROPERTY(), uri ); if (functional) { checkProfileEntry( getProfile().FUNCTIONAL_PROPERTY(), "FUNCTIONAL_PROPERTY" ); p.addProperty( RDF.type, getProfile().FUNCTIONAL_PROPERTY() ); } return p; }
.getURI() + "status"); Literal l = ontModel.createLiteral("status"); statusOnt.addLabel(l);
.getURI() + "CustomConceptAttribute"); Literal l = ontModel.createLiteral("CustomConceptAttribute"); customAttrOnt.addLabel(l);
private void checkDescription(String run, String expectedDescription) { String triql = "SELECT ?description " + "WHERE <" + run + "> ( ?workflow " + JenaProvenanceOntology .bracketify(ProvenanceVocab.WORKFLOW_DESCRIPTION .getURI()) + " ?description) "; Iterator iterator = executeQuery(triql); Map oneResult = (Map) iterator.next(); Node description = (Node) oneResult.get("description"); assertEquals(expectedDescription, description.getLiteral().getValue() .toString()); }
+ JenaProvenanceOntology .bracketify(ProvenanceVocab.DATA_SYNTACTIC_TYPE .getURI()) + "?syntacticType . }"; System.out.println(queryString); Query query = QueryFactory.create(queryString); + JenaProvenanceOntology .bracketify(ProvenanceVocab.DATA_SYNTACTIC_TYPE .getURI()) + "?syntacticType) "; Iterator iterator = executeQuery(triql); while (iterator.hasNext()) {
+ "> ( ?workflow " + JenaProvenanceOntology .bracketify(ProvenanceVocab.WORKFLOW_TITLE.getURI()) + " ?title . ?workflow " + JenaProvenanceOntology
public void testExecution() throws Exception { execute(SUBWORKFLOW); String subRunID = TestConstants.WF_INSTANCE + "14"; System.out.println("Workflow " + WORKFLOW_RUN_ID + "\n"); Model instanceData = metadataService.retrieveGraphModel(WORKFLOW_RUN_ID); TestUtils.writeOut(instanceData); System.out.println("\nSubworkflow " + subRunID + "\n"); assertTrue("Workflow and subworkflow have same id.", !subRunID .equals(WORKFLOW_RUN_ID)); instanceData = metadataService.retrieveGraphModel(subRunID); TestUtils.writeOut(instanceData); checkDescription(WORKFLOW_RUN_ID, "Concatenates input and subworkflow"); checkDescription(subRunID, "Concatenates input and constant"); String triql = "SELECT ?processRun " + "WHERE <" + WORKFLOW_RUN_ID + "> ( ?processRun " + JenaProvenanceOntology .bracketify(ProvenanceVocab.RUNS_PROCESS.getURI()) + JenaProvenanceOntology .bracketify(ProvenanceGenerator.PROCESS_NS + "NestedWorkflow") + " . ?processRun rdf:type " + JenaProvenanceOntology .bracketify(ProvenanceVocab.NESTED_WORKFLOW_PROCESS_RUN .getURI()) + ") " + USING_RDF; executeQuery(triql); metadataService.removeGraph(subRunID); metadataService.removeGraph(WORKFLOW_RUN_ID); }