package rdf_jena_test;
import com.hp.hpl.jena.rdf.model.Model;
import com.hp.hpl.jena.rdf.model.ModelFactory;
import com.hp.hpl.jena.rdf.model.Property;
import com.hp.hpl.jena.rdf.model.RDFNode;
import com.hp.hpl.jena.rdf.model.Resource;
import com.hp.hpl.jena.rdf.model.Statement;
import com.hp.hpl.jena.rdf.model.StmtIterator;
import com.hp.hpl.jena.vocabulary.VCARD;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.logging.Level;
import java.util.logging.Logger;
*/
public class Test1 {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
// some definitions
String personURI = "http://somewhere/JohnSmith";
String givenName = "John";
String familyName = "Smith";
String fullName = givenName + " " + familyName;
// create an empty Model
Model model = ModelFactory.createDefaultModel();
// create the resource
// and add the properties cascading style
model.createResource(personURI).addProperty(VCARD.FN, fullName).addProperty(VCARD.N,
model.createResource().addProperty(VCARD.Given, givenName).addProperty(VCARD.Family, familyName));
StmtIterator iter = model.listStatements();
while (iter.hasNext()) {
Statement stmt = iter.nextStatement();
Resource subject = stmt.getSubject();
Property predicate = stmt.getPredicate();
RDFNode object = stmt.getObject();
System.out.print(subject.toString());
System.out.print("\t" + predicate.toString() + "\t");
if (object instanceof Resource) {
System.out.print(object.toString());
} else {
System.out.print("\"" + object.toString() + "\"");
}
System.out.println(" .");
}
String str = "meinRDF";
try {
model.write(new FileOutputStream(str));
} catch (IOException ex) {
Logger.getLogger(Test1.class.getName()).log(Level.SEVERE, null, ex);
}
System.out.println();
System.out.println("Datei wurde gespeichert unter: ");
System.out.println(new File("").getAbsolutePath() + "\\" + str);
}
}
Technische Notizen eines Informatikers: Prozesse - Aktivitäten - Services - Test - Composition - Orchestrierung - Wiederverwendung - InBetriebnahme - Optimierung - AusBetriebnahme. Geschäftsobjekte - Ressourcen - mathematische Optimierung (OR) - Algorithmenbau für naturanaloge Näherungsverfahren in Logistik und im Gesundheitswesen
18.05.2011
RDF Jena Test - Java Code
25.07.2010
OWL + RDF - Server
Eine einfachste SPARQL - Abfrage aller Aussagen: select ?s ?p ?o where {?s ?p ?o}.
Alle Aussagen / Sätze sind in ein Tripel zerteilt: Subjekt - Prädikat - Objekt.
Der OpenRDF -Server Sesame lässt sich in einfachster weise auf einem Applicationserver wie Apache Tomcat installieren in dem 2 WAR-Dateien in den WebApp - Ordner bzw. den Autodeploy- Ordner kopiert werden. Sesame bietet ein API an, mit dem auf dem Server u.a. auch mit SPARQL- Abfragen abgesetzt werden können. (TODO: ob Datenmanipulations-Abfragen z.B. Insert funktionieren ist noch offen).
Der Zugriff funktioniert auch über spezielle REST- Requests. Leider bietet Sesame keine WSDL- Schnittstelle an, so dass wir eine eigene entwickeln.
http://openjena.org/ Jena – A Semantic Web Framework for Java
http://jena.sourceforge.net/ARQ/ ARQ - A SPARQL Processor for Jena
http://joseki.sourceforge.net/ Joseki A SPARQL Server for Jena
http://www.ibm.com/developerworks/xml/library/j-sparql/ IBM-Artikel:Search RDF data with SPARQL
http://www.openrdf.org/ ...home of Sesame
http://ibm-slrp.sourceforge.net/2006/11/20/boca-the-rdf-repository-component-of-the-ibm-semantic-layered-research-platform/
TODO: siehe "Any23"
TODO: siehe openCalais
TODO: Apache uima
TODO: Indexing RDF Data: SIRen - Lucene Plugin
TODO: Openlink Virtuoso
TODO: 4Store
TODO: redland
TODO: Jena/ Sesame + RDBMS;
TODO: Empire ( JPA for RDF) Annotation Framework, Object Triples Mapper
Tutorial
http://www.slideshare.net/knowledgehives/tutorial-on-semantic-digital-libraries-at-icsd09?src=related_normal&rel=3595766
slug - Semantic web Crawler
24.07.2010
Protege OWL/RDF - Editor multiuserfähig
17.06.2010
OWL + RDF - Server
Eine einfachste SPARQL - Abfrage aller Aussagen: select ?s ?p ?o where {?s ?p ?o}.
Alle Aussagen / Sätze sind in ein Tripel zerteilt: Subjekt - Prädikat - Objekt.
Der OpenRDF -Server Sesame lässt sich in einfachster weise auf einem Applicationserver wie Apache Tomcat installieren in dem 2 WAR-Dateien in den WebApp - Ordner bzw. den Autodeploy- Ordner kopiert werden. Sesame bietet ein API an, mit dem auf dem Server u.a. auch mit SPARQL- Abfragen abgesetzt werden können. (TODO: ob Datenmanipulations-Abfragen z.B. Insert funktionieren ist noch offen).
Der Zugriff funktioniert auch über spezielle REST- Requests. Leider bietet Sesame keine WSDL- Schnittstelle an, so dass wir eine eigene entwickeln.
http://openjena.org/ Jena – A Semantic Web Framework for Java
http://jena.sourceforge.net/ARQ/ ARQ - A SPARQL Processor for Jena
http://joseki.sourceforge.net/ Joseki A SPARQL Server for Jena
http://www.ibm.com/developerworks/xml/library/j-sparql/ IBM-Artikel:Search RDF data with SPARQL
http://www.openrdf.org/ ...home of Sesame
http://ibm-slrp.sourceforge.net/2006/11/20/boca-the-rdf-repository-component-of-the-ibm-semantic-layered-research-platform/
TODO: siehe "Any23"
10.02.2010
Ontologien
RDF, RDF-S und OWL sind Beschreibungssprachen für Ontologien.
http://de.wikipedia.org/wiki/Resource_Description_Framework
Software:
- http://protege.stanford.edu/download/prerelease/full/
- http://www.mindswap.org/2004/SWOOP/
- http://owl-eclipse.projects.semwebcentral.org/
- SWeDE (Semantic Web Development Environment )
- http://owlseditor.semwebcentral.org/
- Kowari, RDFLib, Jena, Sesame, http://jena.sourceforge.net/
- (Kommerziell) Ontoprise (http://www.ontoprise.de)
- http://www.franz.com/agraph/gruff/
- http://www.openrdf.org/
Inferenzsysteme:
Nicht-kommerzielle Inferenzmaschinen für Semantic Web Sprachen (RDF, OWL, …):- RACER
- FaCT
- FaCT++
- Pellet
- sparql
Onologie Suchen:
http://swoogle.umbc.edu/
Empfehlung aus "Semantic Web Programming" Wiley 2009
- Compiling and execution tools: Java 1.6 Software Development Kit (SDK)
- Code-editing tools: Eclipse Integrated Development Environment 3.4 (IDE)
- Ontology editing tool: Protege Ontology Editor 4.0 Alpha
- Semantic Web Programming Framework: Jena Semantic Web Framework 2.5.6
- Ontology Reasoner: Pellet 1.5.2