示例#1
0
 public Model getMetaInfo() throws DataBaseNotAccessibleException {
   Model m = ModelFactory.createDefaultModel();
   String ns = "http://www.lirmm.fr/metaInfo#";
   m.setNsPrefix("metaInfos", ns);
   m.add(createModelFromDatabase());
   return m;
 }
示例#2
0
  @Test
  public void shouldSortTriplesForDisplay() {
    final Model model = createDefaultModel();

    model.setNsPrefix("prefix", "namespace");
    final Property propertyA = model.createProperty("namespace", "a");
    final Property propertyB = model.createProperty("namespace", "b");
    final Property propertyC = model.createProperty("c");
    final Literal literalA = model.createLiteral("a");
    final Literal literalB = model.createLiteral("b");
    final Resource resourceB = model.createResource("b");
    model.add(resourceB, propertyA, literalA);

    final Resource a = model.createResource("a");
    model.add(a, propertyC, literalA);

    model.add(a, propertyB, literalA);

    model.add(a, propertyA, literalA);
    model.add(a, propertyA, literalB);

    final Iterator<Quad> iterator = DatasetFactory.create(model).asDatasetGraph().find();

    final List<Quad> sortedTriples = testObj.getSortedTriples(model, iterator);

    sortedTriples.get(0).matches(ANY, a.asNode(), propertyA.asNode(), literalA.asNode());
    sortedTriples.get(1).matches(ANY, a.asNode(), propertyA.asNode(), literalB.asNode());
    sortedTriples.get(2).matches(ANY, a.asNode(), propertyB.asNode(), literalA.asNode());
    sortedTriples.get(3).matches(ANY, a.asNode(), propertyC.asNode(), literalA.asNode());
    sortedTriples.get(4).matches(ANY, resourceB.asNode(), propertyC.asNode(), literalA.asNode());
  }
示例#3
0
  @Test
  public void shouldExtractNamespaceAndPrefix() {
    final Model model = createDefaultModel();
    model.setNsPrefix("prefix", "namespace");

    assertEquals("prefix:", testObj.getNamespacePrefix(model, "namespace"));
    assertEquals("some-other-namespace", testObj.getNamespacePrefix(model, "some-other-namespace"));
  }
示例#4
0
  void writeRDF(
      String date,
      String title,
      String id,
      List<String> cls,
      String DURI,
      List<Person> auth,
      String abst,
      String doi,
      String file) {

    Model model = ModelFactory.createDefaultModel();
    model.setNsPrefix("acm", "http://acm.rkbexplorer.com/ontologies/acm#");
    model.setNsPrefix("foaf", FOAF.NS);
    model.setNsPrefix("dcterms", DCTerms.NS);
    Property Class = model.createProperty(acm + "class");

    Resource doc1 = model.createResource(DURI);
    if (id != null) doc1.addProperty(DCTerms.identifier, id);
    if (title != null) doc1.addProperty(DCTerms.title, title);
    if (abst != null) doc1.addProperty(DCTerms.abstract_, abst);
    if (date != null) doc1.addProperty(DCTerms.date, date, XSDDateType.XSDdate);

    for (int i = 0; i < auth.size(); i++) {
      doc1.addProperty(
          DCTerms.creator,
          model
              .createResource(FOAF.Person)
              .addProperty(FOAF.firstName, auth.get(i).getForename())
              .addProperty(FOAF.family_name, auth.get(i).getSurname()));
    }

    if (cls != null) {
      for (int i = 0; i < cls.size(); i++) {
        doc1.addProperty(Class, cls.get(i));
      }
    }
    try {
      FileOutputStream out = new FileOutputStream(file);
      model.write(out, "RDF/XML-ABBREV");
    } catch (IOException e) {
      System.out.println("Exception caught" + e.getMessage());
    }
  }
示例#5
0
  @Test
  public void shouldConvertPrefixMappingToSparqlUpdatePrefixPreamble() {

    final Model model = createDefaultModel();

    model.setNsPrefix("prefix", "namespace");

    final String prefixPreamble = testObj.getPrefixPreamble(model);

    assertEquals("PREFIX prefix: <namespace>\n\n", prefixPreamble);
  }
示例#6
0
  // TODO use NeedModelBuilder here instead
  @RequestMapping(value = "/create", method = RequestMethod.POST)
  public String createNeedPost(@ModelAttribute("SpringWeb") NeedPojo needPojo, Model model)
      throws Exception {
    URI needURI;

    try {
      URI ownerURI = this.uriService.getOwnerProtocolOwnerServiceEndpointURI();

      NeedPojoNeedModelBuilder needPojoNeedModelBuilder = new NeedPojoNeedModelBuilder(needPojo);
      needPojoNeedModelBuilder.setUri("no:uri");
      com.hp.hpl.jena.rdf.model.Model needModel = needPojoNeedModelBuilder.build();
      needModel.setNsPrefix("", "no:uri");

      if (needPojo.getWonNode().equals("")) {
        ListenableFuture<URI> futureResult =
            ownerService.createNeed(needModel, needPojo.getState() == NeedState.ACTIVE, null);
        needURI = futureResult.get();
      } else {
        ListenableFuture<URI> futureResult =
            ownerService.createNeed(
                needModel,
                needPojo.getState() == NeedState.ACTIVE,
                URI.create(needPojo.getWonNode()),
                null);
        needURI = futureResult.get();
      }

      List<Need> needs = needRepository.findByNeedURI(needURI);
      // TODO: race condition between need saving logic and redirect. adapt interface.
      if (needs.size() == 1) return "redirect:/need/" + needs.get(0).getId().toString();
      // return viewNeed(need.getId().toString(), model);
    } catch (IllegalNeedContentException e) {
      logger.warn("caught IllegalNeedContentException:", e);
    }

    model.addAttribute("command", new NeedPojo());

    return "createNeed";
  }
示例#7
0
 public GLIF_Factory() {
   rdfModel = ModelFactory.createDefaultModel();
   rdfModel.setNsPrefix("kb", KB_NS_PREFIX);
   rdfModel.setNsPrefix("a", A_NS_PREFIX);
 }
  public Model getRdfModel() {

    Model allrisModel = ModelFactory.createDefaultModel();
    allrisModel.setNsPrefix("dcterms", "http://purl.org/dc/terms/");
    allrisModel.setNsPrefix("allris", this.urlBase);
    Property subject = allrisModel.createProperty("http://purl.org/dc/terms/subject");

    Property aktenzeichen = allrisModel.createProperty(this.urlBase + "aktenzeichen");
    aktenzeichen.addProperty(RDFS.label, allrisModel.createLiteral("Aktenzeichen", "de"));
    aktenzeichen.addProperty(
        RDFS.comment, allrisModel.createLiteral("Das Aktenzeichen einer Drucksache.", "de"));

    Property druckClass = allrisModel.createProperty(this.urlBase + "Drucksache");

    Property betreff = allrisModel.createProperty(this.urlBase + "betreff");
    betreff.addProperty(RDFS.label, allrisModel.createLiteral("Betreff", "de"));
    betreff.addProperty(
        RDFS.comment, allrisModel.createLiteral("Der Betreff der Drucksache.", "de"));

    Property status = allrisModel.createProperty(this.urlBase + "status");
    status.addProperty(RDFS.label, allrisModel.createLiteral("Status", "de"));
    status.addProperty(
        RDFS.comment,
        allrisModel.createLiteral("Status der Drucksache, öffentlich, abgeschlossen, etc.", "de"));

    Property druckArt = allrisModel.createProperty(this.urlBase + "artDerDrucksache");
    druckArt.addProperty(RDFS.label, allrisModel.createLiteral("Art der Drucksache", "de"));
    druckArt.addProperty(
        RDFS.comment,
        allrisModel.createLiteral(
            "Die Art der Drucksache kann eine mündliche oder schriftliche Anfrage sein, ein Antrag, eine Resolution oder ähnliches.",
            "de"));

    Property initiator = allrisModel.createProperty(this.urlBase + "initiator");
    initiator.addProperty(RDFS.label, allrisModel.createLiteral("Initiator der Drucksache", "de"));
    initiator.addProperty(
        RDFS.comment,
        allrisModel.createLiteral(
            "Der Initiator der Drucksache ist meist eine Fraktion, manchmal auch eine Abteilung oder ähnliches.",
            "de"));

    Property text = allrisModel.createProperty(this.urlBase + "text");
    text.addProperty(RDFS.label, allrisModel.createLiteral("Text der Drucksache", "de"));
    text.addProperty(RDFS.comment, allrisModel.createLiteral("Der Volltext der Drucksache.", "de"));

    Property verfasser = allrisModel.createProperty(this.urlBase + "verfasser");
    verfasser.addProperty(
        RDFS.label, allrisModel.createLiteral("VerfasserIn der Drucksache", "de"));
    verfasser.addProperty(
        RDFS.comment, allrisModel.createLiteral("VerfasserIn der Drucksache.", "de"));

    Property beschluss = allrisModel.createProperty(this.urlBase + "beschluss");
    beschluss.addProperty(RDFS.label, allrisModel.createLiteral("Beschluss zur Drucksache", "de"));
    beschluss.addProperty(
        RDFS.comment,
        allrisModel.createLiteral(
            "Link zum zugehörigen Beschluss. Autogeneriert: Falls die Drucksache keinen Beschluss hat, ist die Seite trotzdem verlinkt.",
            "de"));

    for (Drucksache d : this.drucksachen) {

      Resource drucksacheResource =
          allrisModel.createResource(this.urlBase + "drucksache/" + d.getVolfdnr());
      drucksacheResource.addProperty(subject, allrisModel.createProperty(d.getUri()));
      if (d.getBetreff() != null) {
        drucksacheResource.addProperty(RDFS.label, allrisModel.createLiteral(d.getBetreff(), "de"));
        drucksacheResource.addProperty(betreff, allrisModel.createLiteral(d.getBetreff(), "de"));
      }
      drucksacheResource.addProperty(RDF.type, druckClass);

      if (d.getStatus() != null)
        drucksacheResource.addProperty(status, allrisModel.createLiteral(d.getStatus(), "de"));
      if (d.getArt() != null)
        drucksacheResource.addProperty(druckArt, allrisModel.createLiteral(d.getArt(), "de"));
      if (d.getInitiator() != null) {
        drucksacheResource.addProperty(
            initiator, allrisModel.createLiteral(d.getInitiator(), "de"));
        String initiatorUri = this.getInitiatorUri(d);
        if (initiatorUri != null) {
          drucksacheResource.addProperty(initiator, allrisModel.createProperty(initiatorUri));
        }
      }
      if (d.getText() != null) {
        drucksacheResource.addProperty(text, allrisModel.createLiteral(d.getText(), "de"));
      }
      if (d.getVerfasser() != null && !d.getVerfasser().isEmpty()) {
        drucksacheResource.addProperty(
            verfasser, allrisModel.createLiteral(d.getVerfasser(), "de"));
        String verfasserUri = this.getVerfasserUri(d.getVerfasser());
        if (verfasserUri != null) {
          drucksacheResource.addProperty(verfasser, allrisModel.createProperty(verfasserUri));
        }
      }
      if (d.getBeschlussLink() != null) {
        drucksacheResource.addProperty(beschluss, allrisModel.createProperty(d.getBeschlussLink()));
      }
    }

    Property name = allrisModel.createProperty(this.urlBase + "name");
    name.addProperty(RDFS.label, allrisModel.createLiteral("Name der Fraktion oder Person", "de"));
    name.addProperty(
        RDFS.comment, allrisModel.createLiteral("Der Name der Fraktio, Gruppe oder Person.", "de"));

    Property fraktionClass = allrisModel.createProperty(this.urlBase + "Fraktion");

    Property adresse = allrisModel.createProperty(this.urlBase + "adresse");
    adresse.addProperty(RDFS.label, allrisModel.createLiteral("Adresse", "de"));
    adresse.addProperty(
        RDFS.comment,
        allrisModel.createLiteral(
            "Die Adresse bezeichnet einen physikalischen Ort, an dem das Subjekt zu erreichen ist.",
            "de"));

    Property sprechzeiten = allrisModel.createProperty(this.urlBase + "sprechzeiten");
    sprechzeiten.addProperty(RDFS.label, allrisModel.createLiteral("Sprechzeiten", "de"));
    sprechzeiten.addProperty(
        RDFS.comment,
        allrisModel.createLiteral("Die Sprechzeiten der Fraktion oder eines Politikers.", "de"));

    Property email = allrisModel.createProperty(this.urlBase + "email");
    email.addProperty(RDFS.label, allrisModel.createLiteral("Email-Adresse", "de"));
    email.addProperty(
        RDFS.comment,
        allrisModel.createLiteral("Die Email einer Fraktion oder eines Politikers.", "de"));

    Property homepage = allrisModel.createProperty(this.urlBase + "homepage");
    homepage.addProperty(RDFS.label, allrisModel.createLiteral("Homepage", "de"));
    homepage.addProperty(
        RDFS.comment,
        allrisModel.createLiteral("Die Homepage einer Fraktion oder eines Politikers.", "de"));

    Property politikerClass = allrisModel.createProperty(this.urlBase + "Politiker");

    Property politikerArt = allrisModel.createProperty(this.urlBase + "fraktionsFunktion");
    politikerArt.addProperty(RDFS.label, allrisModel.createLiteral("Funktion in Fraktion", "de"));
    politikerArt.addProperty(
        RDFS.comment,
        allrisModel.createLiteral("Die Funktion eines Politikers in einer Fraktion.", "de"));

    for (Fraktion f : fraktionen) {
      Resource fraktionResource =
          allrisModel.createResource(this.urlBase + "fraktion/F" + f.getId());
      fraktionResource.addProperty(subject, allrisModel.createProperty(f.getUri()));
      if (f.getName() != null) {
        fraktionResource.addProperty(RDFS.label, allrisModel.createLiteral(f.getName(), "de"));
        fraktionResource.addProperty(name, allrisModel.createLiteral(f.getName(), "de"));
      }
      fraktionResource.addProperty(RDF.type, fraktionClass);

      if (f.getAdresse() != null)
        fraktionResource.addProperty(adresse, allrisModel.createLiteral(f.getAdresse(), "de"));
      if (f.getSprechzeiten() != null)
        fraktionResource.addProperty(
            sprechzeiten, allrisModel.createLiteral(f.getSprechzeiten(), "de"));
      if (f.getEmail() != null)
        fraktionResource.addProperty(email, allrisModel.createLiteral(f.getEmail(), "de"));
      if (f.getHomepage() != null)
        fraktionResource.addProperty(homepage, allrisModel.createLiteral(f.getHomepage(), "de"));

      List<Politiker> fraktionsMitglieder = f.getMitglieder();
      if (!fraktionsMitglieder.isEmpty()) {
        for (Politiker p : fraktionsMitglieder) {

          Resource politikerResource =
              allrisModel.createResource(this.getVerfasserUri(p.getName()));
          politikerResource.addProperty(subject, allrisModel.createProperty(p.getUri()));
          if (p.getName() != null) {
            politikerResource.addProperty(RDFS.label, allrisModel.createLiteral(p.getName(), "de"));
            politikerResource.addProperty(name, allrisModel.createLiteral(p.getName(), "de"));
          }
          politikerResource.addProperty(RDF.type, politikerClass);

          if (p.getArt() != null)
            politikerResource.addProperty(
                politikerArt, allrisModel.createLiteral(p.getArt(), "de"));
        }
      }
    }

    return allrisModel;
  }
示例#9
0
 private void setPrefixes() {
   String gn = "http://www.geonames.org/ontology#";
   localModel.setNsPrefix("gn", gn);
 }