Author: wikier
Date: Wed Apr 24 10:32:54 2013
New Revision: 1471353
URL: http://svn.apache.org/r1471353
Log:
added some sesame façading documentation
Modified:
incubator/marmotta/site/trunk/content/markdown/sesame.md.vm
Modified: incubator/marmotta/site/trunk/content/markdown/sesame.md.vm
URL:
http://svn.apache.org/viewvc/incubator/marmotta/site/trunk/content/markdown/sesame.md.vm?rev=1471353&r1=1471352&r2=1471353&view=diff
==============================================================================
--- incubator/marmotta/site/trunk/content/markdown/sesame.md.vm (original)
+++ incubator/marmotta/site/trunk/content/markdown/sesame.md.vm Wed Apr 24
10:32:54 2013
@@ -16,7 +16,63 @@ in your Marmotta module:
<version>${projectVersion}</version>
</dependency>
-Then, in your Java code yoy may need to use something like:
+Then, in your Java code you may need to define your model, for instance define
a
+[skos:Concept](http://www.w3.org/2004/02/skos/core#Concept):
- @@TODO@@
+ @RDFType(Namespace.SKOS.Concept)
+ public interface ConceptFacade extends Facade {
+
+ @RDF({Namespace.DCTERMS.identifier})
+ public String getIdentifier();
+ public void setIdentifier(String name);
+
+ @RDF({Namespace.SKOS.prefLabel, Namespace.RDFS.label})
+ public String getPrefLabel();
+ public void setPrefLabel(String location);
+
+ @RDF(Namespace.SKOS.altLabel)
+ public Set<String> getAltLabels();
+ public void setAltLabels(Set<String> location);
+ public void addAltLabel(String label);
+
+ @RDF(Namespace.SKOS.definition)
+ public String getDefinition();
+ public void setDefinition(String location);
+
+ @RDF(Namespace.SKOS.broader)
+ public void setBroaders(Set<Resource> broader);
+ public Set<Resource> getBroaders();
+ public void addBroader(Resource broader);
+
+ @RDF(Namespace.SKOS.narrower)
+ public void setNarrowers(Set<Resource> narrower);
+ public Set<Resource> getNarrowers();
+ public void addNarrower(Resource narrower);
+ }
+
+So the necessary code to use this, for instance for lookup by identifier,
would be something like:
+
+ Resource concept = null;
+ RepositoryConnection conn = ...
+ try {
+ conn.begin();
+ Facading facading = FacadingFactory.createFacading(conn);
+ Literal object = conn.getValueFactory().createLiteral(identifier);
+ URI prop =
conn.getValueFactory().createURI(Namespace.DCTERMS.identifier);
+ if (object != null && prop != null) {
+ RepositoryResult<Statement> statements =
conn.getStatements(null, prop, object, true, context);
+ while (statements.hasNext()) {
+ Statement stmt = statements.next();
+ if ( stmt.getObject().equals(object)) {
+ concept = stmt.getSubject();
+ break;
+ }
+ }
+ statements.close();
+ }
+ } finally {
+ conn.commit();
+ conn.close();
+ }
+ return concept;