/* * Converts the ProductType Object into an TriG String * representation. */ private String convertProductType(ProductType pType) { StringBuffer result = new StringBuffer(); // First the uriref for the subject result.append(pType.getPrefixed()); result.append("\n"); // rdf:type result.append(createTriplePO(RDF.prefixed("type"), BSBM.prefixed("ProductType"))); // rdfs:label result.append(createTriplePO(RDFS.prefixed("label"), createLiteral(pType.getLabel()))); // rdfs:subClassOf if (pType.getParent() != null) { String parentURIREF = BSBM.INST_PREFIX + "ProductType" + pType.getParent().getNr(); result.append(createTriplePO(RDFS.prefixed("subClassOf"), parentURIREF)); } // rdfs:comment result.append(createTriplePO(RDFS.prefixed("comment"), createLiteral(pType.getComment()))); // dc:publisher result.append( createTriplePO( DC.prefixed("publisher"), createURIref(BSBM.getStandardizationInstitution(pType.getPublisher())))); // dc:date GregorianCalendar date = new GregorianCalendar(); date.setTimeInMillis(pType.getPublishDate()); String dateString = DateGenerator.formatDate(date); result.append( createTriplePOEnd( DC.prefixed("date"), createDataTypeLiteral(dateString, XSD.prefixed("date")))); return result.toString(); }
/* * Converts the Product Object into an TriG String * representation. */ private String convertProduct(Product product) { StringBuffer result = new StringBuffer(); // First the uriref for the subject result.append(Product.getPrefixed(product.getNr(), product.getProducer())); result.append("\n"); // rdf:type result.append(createTriplePO(RDF.prefixed("type"), BSBM.prefixed("Product"))); // rdfs:label result.append(createTriplePO(RDFS.prefixed("label"), createLiteral(product.getLabel()))); // rdfs:comment result.append(createTriplePO(RDFS.prefixed("comment"), createLiteral(product.getComment()))); // bsbm:productType if (forwardChaining) { ProductType pt = product.getProductType(); while (pt != null) { result.append(createTriplePO(RDF.prefixed("type"), pt.getPrefixed())); pt = pt.getParent(); } } else { result.append(createTriplePO(RDF.prefixed("type"), product.getProductType().getPrefixed())); } // bsbm:productPropertyNumeric Integer[] ppn = product.getProductPropertyNumeric(); for (int i = 0, j = 1; i < ppn.length; i++, j++) { Integer value = ppn[i]; if (value != null) result.append( createTriplePO( BSBM.getProductPropertyNumericPrefix(j), // createDataTypeLiteral(value.toString(), // XSD.prefixed("integer")) value.toString())); } // bsbm:productPropertyTextual String[] ppt = product.getProductPropertyTextual(); for (int i = 0, j = 1; i < ppt.length; i++, j++) { String value = ppt[i]; if (value != null) result.append( createTriplePO( BSBM.getProductPropertyTextualPrefix(j), createDataTypeLiteral(value, XSD.prefixed("string")))); } // bsbm:productFeature Iterator<Integer> pf = product.getFeatures().iterator(); while (pf.hasNext()) { Integer value = pf.next(); result.append( createTriplePO(BSBM.prefixed("productFeature"), ProductFeature.getPrefixed(value))); } // bsbm:producer result.append( createTriplePO(BSBM.prefixed("producer"), Producer.getPrefixed(product.getProducer()))); // dc:publisher result.append( createTriplePO(DC.prefixed("publisher"), Producer.getPrefixed(product.getPublisher()))); // dc:date GregorianCalendar date = new GregorianCalendar(); date.setTimeInMillis(product.getPublishDate()); String dateString = DateGenerator.formatDate(date); result.append( createTriplePOEnd( DC.prefixed("date"), createDataTypeLiteral(dateString, XSD.prefixed("date")))); return result.toString(); }