示例#1
0
文件: Turtle.java 项目: xgfd/SSBLD
  /*
   * Converts the Review Object into an TriG String
   * representation.
   */
  private String convertReview(Review review, ObjectBundle bundle) {
    StringBuffer result = new StringBuffer();
    // First the uriref for the subject

    result.append(Review.getPrefixed(review.getNr(), bundle.getPublisherNum()));
    result.append("\n");

    // rdf:type
    result.append(createTriplePO(RDF.prefixed("type"), BSBM.prefixed("Review")));

    // bsbm:reviewFor
    result.append(
        createTriplePO(
            BSBM.prefixed("reviewFor"),
            Product.getPrefixed(review.getProduct(), review.getProducerOfProduct())));

    // rev:reviewer
    result.append(
        createTriplePO(
            REV.prefixed("reviewer"),
            Person.getPrefixed(review.getPerson(), review.getPublisher())));

    // dc:title
    result.append(createTriplePO(DC.prefixed("title"), createLiteral(review.getTitle())));

    // rev:text
    result.append(
        createTriplePO(
            REV.prefixed("text"),
            createLanguageLiteral(review.getText(), ISO3166.language[review.getLanguage()])));

    // bsbm:ratingX
    Integer[] ratings = review.getRatings();
    for (int i = 0, j = 1; i < ratings.length; i++, j++) {
      Integer value = ratings[i];
      if (value != null)
        result.append(
            createTriplePO(
                BSBM.getRatingPrefix(j),
                //                        createDataTypeLiteral(value.toString(),
                // XSD.prefixed("integer"))
                value.toString()));
    }

    // bsbm:reviewDate
    GregorianCalendar reviewDate = new GregorianCalendar();
    reviewDate.setTimeInMillis(review.getReviewDate());
    String reviewDateString = DateGenerator.formatDateTime(reviewDate);
    result.append(
        createTriplePO(
            BSBM.prefixed("reviewDate"),
            createDataTypeLiteral(reviewDateString, XSD.prefixed("dateTime"))));

    // dc:publisher
    result.append(
        createTriplePO(DC.prefixed("publisher"), RatingSite.getPrefixed(review.getPublisher())));

    // dc:date
    GregorianCalendar date = new GregorianCalendar();
    date.setTimeInMillis(review.getPublishDate());
    String dateString = DateGenerator.formatDate(date);
    result.append(
        createTriplePOEnd(
            DC.prefixed("date"), createDataTypeLiteral(dateString, XSD.prefixed("date"))));

    return result.toString();
  }
示例#2
0
文件: Turtle.java 项目: xgfd/SSBLD
  /*
   * Converts the Offer Object into an TriG String
   * representation.
   */
  private String convertOffer(Offer offer) {
    StringBuffer result = new StringBuffer();
    // First the uriref for the subject

    result.append(offer.getPrefixed());
    result.append("\n");

    // rdf:type
    result.append(createTriplePO(RDF.prefixed("type"), BSBM.prefixed("Offer")));

    // bsbm:product
    int productNr = offer.getProduct();
    int producerNr = Generator.getProducerOfProduct(productNr);
    result.append(
        createTriplePO(BSBM.prefixed("product"), Product.getPrefixed(productNr, producerNr)));

    // bsbm:vendor
    result.append(createTriplePO(BSBM.prefixed("vendor"), Vendor.getPrefixed(offer.getVendor())));

    // bsbm:price
    result.append(
        createTriplePO(
            BSBM.prefixed("price"),
            //                createDataTypeLiteral(offer.getPriceString(),BSBM.prefixed("USD"))
            offer.getPriceString() + "e0"));

    // bsbm:validFrom
    GregorianCalendar validFrom = new GregorianCalendar();
    validFrom.setTimeInMillis(offer.getValidFrom());
    String validFromString = DateGenerator.formatDateTime(validFrom);
    result.append(
        createTriplePO(
            BSBM.prefixed("validFrom"),
            createDataTypeLiteral(validFromString, XSD.prefixed("dateTime"))));

    // bsbm:validTo
    GregorianCalendar validTo = new GregorianCalendar();
    validTo.setTimeInMillis(offer.getValidTo());
    String validToString = DateGenerator.formatDateTime(validTo);
    result.append(
        createTriplePO(
            BSBM.prefixed("validTo"),
            createDataTypeLiteral(validToString, XSD.prefixed("dateTime"))));

    // bsbm:deliveryDays
    result.append(
        createTriplePO(
            BSBM.prefixed("deliveryDays"),
            //                createDataTypeLiteral(offer.getDeliveryDays().toString(),
            // XSD.prefixed("integer"))
            offer.getDeliveryDays().toString()));

    // bsbm:offerWebpage
    result.append(
        createTriplePO(BSBM.prefixed("offerWebpage"), createURIref(offer.getOfferWebpage())));

    // dc:publisher
    result.append(
        createTriplePO(DC.prefixed("publisher"), Vendor.getPrefixed(offer.getPublisher())));

    // dc:date
    GregorianCalendar date = new GregorianCalendar();
    date.setTimeInMillis(offer.getPublishDate());
    String dateString = DateGenerator.formatDate(date);
    result.append(
        createTriplePOEnd(
            DC.prefixed("date"), createDataTypeLiteral(dateString, XSD.prefixed("date"))));

    return result.toString();
  }