You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@juneau.apache.org by ja...@apache.org on 2016/08/29 13:54:47 UTC

incubator-juneau git commit: Replace @BeanProperty(beanUri=true) with @Rdf(beanUri=true)

Repository: incubator-juneau
Updated Branches:
  refs/heads/master 83f2b35ba -> 4b2719c0d


Replace @BeanProperty(beanUri=true) with @Rdf(beanUri=true)

Project: http://git-wip-us.apache.org/repos/asf/incubator-juneau/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-juneau/commit/4b2719c0
Tree: http://git-wip-us.apache.org/repos/asf/incubator-juneau/tree/4b2719c0
Diff: http://git-wip-us.apache.org/repos/asf/incubator-juneau/diff/4b2719c0

Branch: refs/heads/master
Commit: 4b2719c0d3d024a15185688b852bb11608ef9557
Parents: 83f2b35
Author: jamesbognar <ja...@gmail.com>
Authored: Mon Aug 29 09:54:42 2016 -0400
Committer: jamesbognar <ja...@gmail.com>
Committed: Mon Aug 29 09:54:42 2016 -0400

----------------------------------------------------------------------
 .../main/java/org/apache/juneau/BeanMap.java    | 25 --------
 .../main/java/org/apache/juneau/BeanMeta.java   | 26 +-------
 .../org/apache/juneau/BeanPropertyMeta.java     | 14 +----
 .../apache/juneau/annotation/BeanProperty.java  | 16 -----
 .../juneau/html/HtmlSerializerSession.java      |  2 +-
 .../org/apache/juneau/jena/RdfBeanMeta.java     | 63 ++++++++++++++++++++
 .../apache/juneau/jena/RdfBeanPropertyMeta.java | 15 ++++-
 .../apache/juneau/jena/RdfCommonContext.java    |  3 +-
 .../java/org/apache/juneau/jena/RdfParser.java  |  5 +-
 .../org/apache/juneau/jena/RdfSerializer.java   | 18 ++++--
 .../org/apache/juneau/jena/annotation/Rdf.java  | 11 ++++
 .../org/apache/juneau/json/JsonSerializer.java  |  2 +-
 .../juneau/msgpack/MsgPackSerializer.java       |  2 +-
 .../juneau/urlencoding/UonSerializer.java       |  2 +-
 .../apache/juneau/xml/XmlBeanPropertyMeta.java  |  3 -
 .../org/apache/juneau/xml/XmlSerializer.java    |  2 +-
 .../java/org/apache/juneau/html/CommonTest.java |  3 +-
 .../java/org/apache/juneau/jena/CommonTest.java |  3 +-
 .../org/apache/juneau/jena/CommonXmlTest.java   |  7 ++-
 .../org/apache/juneau/jena/RdfParserTest.java   |  4 +-
 .../java/org/apache/juneau/jena/RdfTest.java    |  7 +--
 .../java/org/apache/juneau/json/CommonTest.java |  2 +-
 .../org/apache/juneau/testbeans/TestURI.java    |  6 +-
 .../juneau/urlencoding/Common_UonTest.java      |  2 +-
 .../urlencoding/Common_UrlEncodingTest.java     |  2 +-
 .../java/org/apache/juneau/xml/CommonTest.java  |  3 +-
 .../org/apache/juneau/xml/CommonXmlTest.java    |  5 +-
 .../java/org/apache/juneau/xml/XmlTest.java     |  7 ++-
 .../juneau/samples/addressbook/Address.java     |  3 +-
 .../juneau/samples/addressbook/Person.java      |  2 +-
 30 files changed, 143 insertions(+), 122 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/4b2719c0/juneau-core/src/main/java/org/apache/juneau/BeanMap.java
----------------------------------------------------------------------
diff --git a/juneau-core/src/main/java/org/apache/juneau/BeanMap.java b/juneau-core/src/main/java/org/apache/juneau/BeanMap.java
index 5a23ad8..9e39951 100644
--- a/juneau-core/src/main/java/org/apache/juneau/BeanMap.java
+++ b/juneau-core/src/main/java/org/apache/juneau/BeanMap.java
@@ -153,29 +153,6 @@ public class BeanMap<T> extends AbstractMap<String,Object> implements Delegate<T
 	}
 
 	/**
-	 * Returns the value of the property identified as the URI property (annotated with {@link BeanProperty#beanUri()} as <jk>true</jk>).
-	 *
-	 * @return The URI value, or <jk>null</jk> if no URI property exists on this bean.
-	 */
-	public Object getBeanUri() {
-		BeanMeta<T> bm = getMeta();
-		return bm.hasBeanUriProperty() ? bm.getBeanUriProperty().get(this) : null;
-	}
-
-	/**
-	 * Sets the bean URI property if the bean has a URI property.
-	 * Ignored otherwise.
-	 *
-	 * @param o The bean URI object.
-	 * @return If the bean context setting {@code beanMapPutReturnsOldValue} is <jk>true</jk>, then the old value of the property is returned.
-	 * 		Otherwise, this method always returns <jk>null</jk>.
-	 */
-	public Object putBeanUri(Object o) {
-		BeanMeta<T> bm = getMeta();
-		return bm.hasBeanUriProperty() ? bm.getBeanUriProperty().set(this, o) : null;
-	}
-
-	/**
 	 * Sets a property on the bean.
 	 * <p>
 	 * If there is a {@link PojoSwap} associated with this bean property or bean property type class, then
@@ -221,8 +198,6 @@ public class BeanMap<T> extends AbstractMap<String,Object> implements Delegate<T
 		if (p == null) {
 			if (meta.ctx.ignoreUnknownBeanProperties)
 				return null;
-			if (property.equals("<uri>") && meta.uriProperty != null)
-				return meta.uriProperty.set(this, value);
 
 			// If this bean has subtypes, and we haven't set the subtype yet,
 			// store the property in a temporary cache until the bean can be instantiated.

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/4b2719c0/juneau-core/src/main/java/org/apache/juneau/BeanMeta.java
----------------------------------------------------------------------
diff --git a/juneau-core/src/main/java/org/apache/juneau/BeanMeta.java b/juneau-core/src/main/java/org/apache/juneau/BeanMeta.java
index 840b68b..6322d3f 100644
--- a/juneau-core/src/main/java/org/apache/juneau/BeanMeta.java
+++ b/juneau-core/src/main/java/org/apache/juneau/BeanMeta.java
@@ -94,9 +94,8 @@ public class BeanMeta<T> {
 	private final MetadataMap extMeta;  // Extended metadata
 
 	// Other fields
-	final BeanPropertyMeta uriProperty;                                 // The property identified as the URI for this bean (annotated with @BeanProperty.beanUri).
 	final BeanPropertyMeta subTypeIdProperty;                           // The property indentified as the sub type differentiator property (identified by @Bean.subTypeProperty annotation).
-	private final BeanPropertyMeta classProperty;                               // "_class" mock bean property.
+	private final BeanPropertyMeta classProperty;                       // "_class" mock bean property.
 
 	final String notABeanReason;
 
@@ -124,7 +123,6 @@ public class BeanMeta<T> {
 		this.constructor = b.constructor;
 		this.constructorArgs = b.constructorArgs;
 		this.extMeta = b.extMeta;
-		this.uriProperty = b.uriProperty;
 		this.subTypeIdProperty = b.subTypeIdProperty;
 		this.classProperty = new BeanPropertyMeta(this, "_class", ctx.string());
 	}
@@ -142,7 +140,6 @@ public class BeanMeta<T> {
 		Constructor<T> constructor;
 		String[] constructorArgs = new String[0];
 		MetadataMap extMeta = new MetadataMap();
-		BeanPropertyMeta uriProperty;
 		BeanPropertyMeta subTypeIdProperty;
 		PropertyNamer propertyNamer;
 
@@ -303,9 +300,6 @@ public class BeanMeta<T> {
 							if (p.getSetter() != null)
 								setterProps.put(p.getSetter(), p.getName());
 
-							if (p.isBeanUri())
-								uriProperty = p;
-
 						} else {
 							i.remove();
 						}
@@ -439,24 +433,6 @@ public class BeanMeta<T> {
 	}
 
 	/**
-	 * Returns <jk>true</jk> if one of the properties on this bean is annotated with {@link BeanProperty#beanUri()} as <jk>true</jk>
-	 *
-	 * @return <jk>true</jk> if this bean has subtypes associated with it. <jk>true</jk> if there is a URI property associated with this bean.
-	 */
-	public boolean hasBeanUriProperty() {
-		return uriProperty != null;
-	}
-
-	/**
-	 * Returns the bean property marked as the URI for the bean (annotated with {@link BeanProperty#beanUri()} as <jk>true</jk>).
-	 *
-	 * @return The URI property, or <jk>null</jk> if no URI property exists on this bean.
-	 */
-	public BeanPropertyMeta getBeanUriProperty() {
-		return uriProperty;
-	}
-
-	/**
 	 * Returns a mock bean property that resolves to the name <js>"_class"</js> and whose value always resolves
 	 * 	to the class name of the bean.
 	 *

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/4b2719c0/juneau-core/src/main/java/org/apache/juneau/BeanPropertyMeta.java
----------------------------------------------------------------------
diff --git a/juneau-core/src/main/java/org/apache/juneau/BeanPropertyMeta.java b/juneau-core/src/main/java/org/apache/juneau/BeanPropertyMeta.java
index 0d0a8b4..c2ab10d 100644
--- a/juneau-core/src/main/java/org/apache/juneau/BeanPropertyMeta.java
+++ b/juneau-core/src/main/java/org/apache/juneau/BeanPropertyMeta.java
@@ -46,7 +46,7 @@ public class BeanPropertyMeta {
 
 	private Field field;
 	private Method getter, setter;
-	private boolean isConstructorArg, isBeanUri, isUri;
+	private boolean isConstructorArg, isUri;
 
 	private final BeanMeta<?> beanMeta;
 
@@ -189,15 +189,6 @@ public class BeanPropertyMeta {
 	}
 
 	/**
-	 * Returns <jk>true</jk> if this bean property is marked with {@link BeanProperty#beanUri()} as <jk>true</jk>.
-	 *
-	 * @return <jk>true</jk> if this bean property is marked with {@link BeanProperty#beanUri()} as <jk>true</jk>.
-	 */
-	public boolean isBeanUri() {
-		return isBeanUri;
-	}
-
-	/**
 	 * Returns <jk>true</jk> if this bean property is a URI.
 	 * <p>
 	 * A bean property can be considered a URI if any of the following are true:
@@ -249,7 +240,6 @@ public class BeanPropertyMeta {
 				swap = getPropertyPojoSwap(p);
 				if (p.properties().length != 0)
 					properties = p.properties();
-				isBeanUri |= p.beanUri();
 			}
 		}
 
@@ -263,7 +253,6 @@ public class BeanPropertyMeta {
 					swap = getPropertyPojoSwap(p);
 				if (properties != null && p.properties().length != 0)
 					properties = p.properties();
-				isBeanUri |= p.beanUri();
 			}
 		}
 
@@ -277,7 +266,6 @@ public class BeanPropertyMeta {
 				swap = getPropertyPojoSwap(p);
 				if (properties != null && p.properties().length != 0)
 					properties = p.properties();
-				isBeanUri |= p.beanUri();
 			}
 		}
 

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/4b2719c0/juneau-core/src/main/java/org/apache/juneau/annotation/BeanProperty.java
----------------------------------------------------------------------
diff --git a/juneau-core/src/main/java/org/apache/juneau/annotation/BeanProperty.java b/juneau-core/src/main/java/org/apache/juneau/annotation/BeanProperty.java
index 7363290..81a3b0d 100644
--- a/juneau-core/src/main/java/org/apache/juneau/annotation/BeanProperty.java
+++ b/juneau-core/src/main/java/org/apache/juneau/annotation/BeanProperty.java
@@ -20,10 +20,7 @@ import java.util.*;
 
 import org.apache.juneau.*;
 import org.apache.juneau.internal.*;
-import org.apache.juneau.jena.*;
 import org.apache.juneau.transform.*;
-import org.apache.juneau.xml.*;
-import org.apache.juneau.xml.annotation.*;
 
 /**
  * Used tailor how bean properties get interpreted by the framework.
@@ -170,18 +167,5 @@ public @interface BeanProperty {
 	 * </dl>
 	 */
 	String[] properties() default {};
-
-	/**
-	 * Marks a bean property as a resource URI identifier for the bean.
-	 * <p>
-	 * Has the following effects on the following serializers:
-	 * <ul class='spaced-list'>
-	 * 	<li>{@link XmlSerializer} - Will be rendered as an XML attribute on the bean element, unless
-	 * 		marked with a {@link Xml#format} value of {@link XmlFormat#ELEMENT}.
-	 * 	<li>{@link RdfSerializer} - Will be rendered as the value of the <js>"rdf:about"</js> attribute
-	 * 		for the bean.
-	 * </ul>
-	 */
-	boolean beanUri() default false;
 }
 

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/4b2719c0/juneau-core/src/main/java/org/apache/juneau/html/HtmlSerializerSession.java
----------------------------------------------------------------------
diff --git a/juneau-core/src/main/java/org/apache/juneau/html/HtmlSerializerSession.java b/juneau-core/src/main/java/org/apache/juneau/html/HtmlSerializerSession.java
index 3cf27fb..52b1293 100644
--- a/juneau-core/src/main/java/org/apache/juneau/html/HtmlSerializerSession.java
+++ b/juneau-core/src/main/java/org/apache/juneau/html/HtmlSerializerSession.java
@@ -92,7 +92,7 @@ public class HtmlSerializerSession extends XmlSerializerSession {
 	public boolean isUri(ClassMeta<?> cm, BeanPropertyMeta pMeta, Object o) {
 		if (cm.isUri())
 			return true;
-		if (pMeta != null && (pMeta.isUri() || pMeta.isBeanUri()))
+		if (pMeta != null && pMeta.isUri())
 			return true;
 		if (detectLinksInStrings && o instanceof CharSequence && urlPattern.matcher(o.toString()).matches())
 			return true;

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/4b2719c0/juneau-core/src/main/java/org/apache/juneau/jena/RdfBeanMeta.java
----------------------------------------------------------------------
diff --git a/juneau-core/src/main/java/org/apache/juneau/jena/RdfBeanMeta.java b/juneau-core/src/main/java/org/apache/juneau/jena/RdfBeanMeta.java
new file mode 100644
index 0000000..2991d24
--- /dev/null
+++ b/juneau-core/src/main/java/org/apache/juneau/jena/RdfBeanMeta.java
@@ -0,0 +1,63 @@
+/***************************************************************************************************************************
+ * Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *  http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations under the License.
+ ***************************************************************************************************************************/
+package org.apache.juneau.jena;
+
+import org.apache.juneau.*;
+import org.apache.juneau.jena.annotation.*;
+
+/**
+ * Metadata on beans specific to the RDF serializers and parsers pulled from the {@link Rdf @Rdf} annotation on the class.
+ *
+ * @author James Bognar (james.bognar@salesforce.com)
+ */
+public class RdfBeanMeta extends BeanMetaExtended {
+
+	// RDF related fields
+	private final BeanPropertyMeta beanUriProperty;    // Bean property that identifies the URI of the bean.
+
+	/**
+	 * Constructor.
+	 *
+	 * @param beanMeta The metadata on the bean that this metadata applies to.
+	 */
+	public RdfBeanMeta(BeanMeta<?> beanMeta) {
+		super(beanMeta);
+
+		BeanPropertyMeta t_beanUriProperty = null;
+		for (BeanPropertyMeta p : beanMeta.getPropertyMetas()) {
+			RdfBeanPropertyMeta bpm = p.getExtendedMeta(RdfBeanPropertyMeta.class);
+			if (bpm.isBeanUri())
+				t_beanUriProperty = p;
+		}
+
+		this.beanUriProperty = t_beanUriProperty;
+	}
+
+	/**
+	 * Returns <jk>true</jk> if one of the properties on this bean is annotated with {@link Rdf#beanUri()} as <jk>true</jk>
+	 *
+	 * @return <jk>true</jk> if there is a URI property associated with this bean.
+	 */
+	public boolean hasBeanUri() {
+		return beanUriProperty != null;
+	}
+
+	/**
+	 * Returns the bean property marked as the URI for the bean (annotated with {@link Rdf#beanUri()} as <jk>true</jk>).
+	 *
+	 * @return The URI property, or <jk>null</jk> if no URI property exists on this bean.
+	 */
+	public BeanPropertyMeta getBeanUriProperty() {
+		return beanUriProperty;
+	}
+}

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/4b2719c0/juneau-core/src/main/java/org/apache/juneau/jena/RdfBeanPropertyMeta.java
----------------------------------------------------------------------
diff --git a/juneau-core/src/main/java/org/apache/juneau/jena/RdfBeanPropertyMeta.java b/juneau-core/src/main/java/org/apache/juneau/jena/RdfBeanPropertyMeta.java
index f03c285..5d65481 100644
--- a/juneau-core/src/main/java/org/apache/juneau/jena/RdfBeanPropertyMeta.java
+++ b/juneau-core/src/main/java/org/apache/juneau/jena/RdfBeanPropertyMeta.java
@@ -29,6 +29,7 @@ public class RdfBeanPropertyMeta extends BeanPropertyMetaExtended {
 
 	private RdfCollectionFormat collectionFormat = DEFAULT;
 	private Namespace namespace = null;
+	private boolean isBeanUri;
 
 	/**
 	 * Constructor.
@@ -41,9 +42,12 @@ public class RdfBeanPropertyMeta extends BeanPropertyMetaExtended {
 		List<Rdf> rdfs = bpm.findAnnotations(Rdf.class);
 		List<RdfSchema> schemas = bpm.findAnnotations(RdfSchema.class);
 
-		for (Rdf rdf : rdfs)
+		for (Rdf rdf : rdfs) {
 			if (collectionFormat == DEFAULT)
 				collectionFormat = rdf.collectionFormat();
+			if (rdf.beanUri())
+				isBeanUri = true;
+		}
 
 		namespace = RdfUtils.findNamespace(rdfs, schemas);
 	}
@@ -79,4 +83,13 @@ public class RdfBeanPropertyMeta extends BeanPropertyMetaExtended {
 	public Namespace getNamespace() {
 		return namespace;
 	}
+
+	/**
+	 * Returns <jk>true</jk> if this bean property is marked with {@link Rdf#beanUri()} as <jk>true</jk>.
+	 *
+	 * @return <jk>true</jk> if this bean property is marked with {@link Rdf#beanUri()} as <jk>true</jk>.
+	 */
+	public boolean isBeanUri() {
+		return isBeanUri;
+	}
 }

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/4b2719c0/juneau-core/src/main/java/org/apache/juneau/jena/RdfCommonContext.java
----------------------------------------------------------------------
diff --git a/juneau-core/src/main/java/org/apache/juneau/jena/RdfCommonContext.java b/juneau-core/src/main/java/org/apache/juneau/jena/RdfCommonContext.java
index 0220c3d..9996b5d 100644
--- a/juneau-core/src/main/java/org/apache/juneau/jena/RdfCommonContext.java
+++ b/juneau-core/src/main/java/org/apache/juneau/jena/RdfCommonContext.java
@@ -14,7 +14,6 @@ package org.apache.juneau.jena;
 
 import java.util.*;
 
-import org.apache.juneau.annotation.*;
 import org.apache.juneau.jena.annotation.*;
 import org.apache.juneau.xml.*;
 import org.apache.juneau.xml.annotation.*;
@@ -354,7 +353,7 @@ public interface RdfCommonContext {
 	 * when serialized as loose collections.
 	 *	<p>
 	 *	This setting is typically only useful if the beans being parsed into do not have a bean property
-	 *	annotated with {@link BeanProperty#beanUri @BeanProperty(beanUri=true)}.
+	 *	annotated with {@link Rdf#beanUri @Rdf(beanUri=true)}.
 	 *
 	 * <dl>
 	 * 	<dt>Example:</dt>

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/4b2719c0/juneau-core/src/main/java/org/apache/juneau/jena/RdfParser.java
----------------------------------------------------------------------
diff --git a/juneau-core/src/main/java/org/apache/juneau/jena/RdfParser.java b/juneau-core/src/main/java/org/apache/juneau/jena/RdfParser.java
index 80349d8..fc3810d 100644
--- a/juneau-core/src/main/java/org/apache/juneau/jena/RdfParser.java
+++ b/juneau-core/src/main/java/org/apache/juneau/jena/RdfParser.java
@@ -183,8 +183,9 @@ public class RdfParser extends ReaderParser {
 
 	private <T> BeanMap<T> parseIntoBeanMap(RdfParserSession session, Resource r2, BeanMap<T> m) throws Exception {
 		BeanMeta<T> bm = m.getMeta();
-		if (bm.hasBeanUriProperty() && r2.getURI() != null)
-			m.putBeanUri(r2.getURI());
+		RdfBeanMeta rbm = bm.getExtendedMeta(RdfBeanMeta.class);
+		if (rbm.hasBeanUri() && r2.getURI() != null)
+			rbm.getBeanUriProperty().set(m, r2.getURI());
 		Property subTypeIdProperty = null;
 		BeanPropertyMeta stp = bm.getSubTypeIdProperty();
 		if (stp != null) {

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/4b2719c0/juneau-core/src/main/java/org/apache/juneau/jena/RdfSerializer.java
----------------------------------------------------------------------
diff --git a/juneau-core/src/main/java/org/apache/juneau/jena/RdfSerializer.java b/juneau-core/src/main/java/org/apache/juneau/jena/RdfSerializer.java
index 400e742..bdc7e95 100644
--- a/juneau-core/src/main/java/org/apache/juneau/jena/RdfSerializer.java
+++ b/juneau-core/src/main/java/org/apache/juneau/jena/RdfSerializer.java
@@ -219,8 +219,12 @@ public class RdfSerializer extends WriterSerializer {
 		} else if (gType.isMap() || (wType != null && wType.isMap())) {
 			if (o instanceof BeanMap) {
 				BeanMap bm = (BeanMap)o;
-				String uri = getUri(session, bm.getBeanUri(), null);
-				n = m.createResource(uri);
+				Object uri = null;
+				RdfBeanMeta rbm = (RdfBeanMeta)bm.getMeta().getExtendedMeta(RdfBeanMeta.class);
+				if (rbm.hasBeanUri())
+					uri = rbm.getBeanUriProperty().get(bm);
+				String uri2 = getUri(session, uri, null);
+				n = m.createResource(uri2);
 				serializeBeanMap(session, bm, (Resource)n);
 			} else {
 				Map m2 = (Map)o;
@@ -235,8 +239,12 @@ public class RdfSerializer extends WriterSerializer {
 
 		} else if (gType.isBean()) {
 			BeanMap bm = bc.forBean(o);
-			String uri = getUri(session, bm.getBeanUri(), null);
-			n = m.createResource(uri);
+			Object uri = null;
+			RdfBeanMeta rbm = (RdfBeanMeta)bm.getMeta().getExtendedMeta(RdfBeanMeta.class);
+			if (rbm.hasBeanUri())
+				uri = rbm.getBeanUriProperty().get(bm);
+			String uri2 = getUri(session, uri, null);
+			n = m.createResource(uri2);
 			serializeBeanMap(session, bm, (Resource)n);
 
 		} else if (gType.isCollection() || gType.isArray() || (wType != null && wType.isCollection())) {
@@ -323,7 +331,7 @@ public class RdfSerializer extends WriterSerializer {
 			BeanPropertyMeta pMeta = bpv.getMeta();
 			ClassMeta<?> cm = pMeta.getClassMeta();
 
-			if (pMeta.isBeanUri())
+			if (pMeta.getExtendedMeta(RdfBeanPropertyMeta.class).isBeanUri())
 				continue;
 
 			String key = bpv.getName();

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/4b2719c0/juneau-core/src/main/java/org/apache/juneau/jena/annotation/Rdf.java
----------------------------------------------------------------------
diff --git a/juneau-core/src/main/java/org/apache/juneau/jena/annotation/Rdf.java b/juneau-core/src/main/java/org/apache/juneau/jena/annotation/Rdf.java
index 1b45cfa..3896385 100644
--- a/juneau-core/src/main/java/org/apache/juneau/jena/annotation/Rdf.java
+++ b/juneau-core/src/main/java/org/apache/juneau/jena/annotation/Rdf.java
@@ -59,4 +59,15 @@ public @interface Rdf {
 	 * @see RdfCollectionFormat
 	 */
 	RdfCollectionFormat collectionFormat() default RdfCollectionFormat.DEFAULT;
+
+	/**
+	 * Marks a bean property as a resource URI identifier for the bean.
+	 * <p>
+	 * Has the following effects on the following serializers:
+	 * <ul class='spaced-list'>
+	 * 	<li>{@link RdfSerializer} - Will be rendered as the value of the <js>"rdf:about"</js> attribute
+	 * 		for the bean.
+	 * </ul>
+	 */
+	boolean beanUri() default false;
 }

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/4b2719c0/juneau-core/src/main/java/org/apache/juneau/json/JsonSerializer.java
----------------------------------------------------------------------
diff --git a/juneau-core/src/main/java/org/apache/juneau/json/JsonSerializer.java b/juneau-core/src/main/java/org/apache/juneau/json/JsonSerializer.java
index 24c3913..05ece00 100644
--- a/juneau-core/src/main/java/org/apache/juneau/json/JsonSerializer.java
+++ b/juneau-core/src/main/java/org/apache/juneau/json/JsonSerializer.java
@@ -213,7 +213,7 @@ public class JsonSerializer extends WriterSerializer {
 			serializeMap(session, out, gType.toObjectMap(o), gType);
 		else if (gType.isBean())
 			serializeBeanMap(session, out, bc.forBean(o), addClassAttr);
-		else if (gType.isUri() || (pMeta != null && (pMeta.isUri() || pMeta.isBeanUri())))
+		else if (gType.isUri() || (pMeta != null && pMeta.isUri()))
 			out.q().appendUri(o).q();
 		else if (gType.isMap()) {
 			if (o instanceof BeanMap)

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/4b2719c0/juneau-core/src/main/java/org/apache/juneau/msgpack/MsgPackSerializer.java
----------------------------------------------------------------------
diff --git a/juneau-core/src/main/java/org/apache/juneau/msgpack/MsgPackSerializer.java b/juneau-core/src/main/java/org/apache/juneau/msgpack/MsgPackSerializer.java
index a62ac79..f66452f 100644
--- a/juneau-core/src/main/java/org/apache/juneau/msgpack/MsgPackSerializer.java
+++ b/juneau-core/src/main/java/org/apache/juneau/msgpack/MsgPackSerializer.java
@@ -99,7 +99,7 @@ public class MsgPackSerializer extends OutputStreamSerializer {
 			serializeMap(session, out, gType.toObjectMap(o), gType);
 		else if (gType.isBean())
 			serializeBeanMap(session, out, bc.forBean(o), addClassAttr);
-		else if (gType.isUri() || (pMeta != null && (pMeta.isUri() || pMeta.isBeanUri())))
+		else if (gType.isUri() || (pMeta != null && pMeta.isUri()))
 			out.appendString(session.resolveUri(o.toString()));
 		else if (gType.isMap()) {
 			if (o instanceof BeanMap)

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/4b2719c0/juneau-core/src/main/java/org/apache/juneau/urlencoding/UonSerializer.java
----------------------------------------------------------------------
diff --git a/juneau-core/src/main/java/org/apache/juneau/urlencoding/UonSerializer.java b/juneau-core/src/main/java/org/apache/juneau/urlencoding/UonSerializer.java
index 2e5ef25..b5204d1 100644
--- a/juneau-core/src/main/java/org/apache/juneau/urlencoding/UonSerializer.java
+++ b/juneau-core/src/main/java/org/apache/juneau/urlencoding/UonSerializer.java
@@ -291,7 +291,7 @@ public class UonSerializer extends WriterSerializer {
 			serializeMap(session, out, gType.toObjectMap(o), eType);
 		else if (gType.isBean())
 			serializeBeanMap(session, out, bc.forBean(o), addClassAttr);
-		else if (gType.isUri() || (pMeta != null && (pMeta.isUri() || pMeta.isBeanUri())))
+		else if (gType.isUri() || (pMeta != null && pMeta.isUri()))
 			out.appendUri(o, isTop);
 		else if (gType.isMap()) {
 			if (o instanceof BeanMap)

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/4b2719c0/juneau-core/src/main/java/org/apache/juneau/xml/XmlBeanPropertyMeta.java
----------------------------------------------------------------------
diff --git a/juneau-core/src/main/java/org/apache/juneau/xml/XmlBeanPropertyMeta.java b/juneau-core/src/main/java/org/apache/juneau/xml/XmlBeanPropertyMeta.java
index 21ed6ea..c485df7 100644
--- a/juneau-core/src/main/java/org/apache/juneau/xml/XmlBeanPropertyMeta.java
+++ b/juneau-core/src/main/java/org/apache/juneau/xml/XmlBeanPropertyMeta.java
@@ -46,9 +46,6 @@ public class XmlBeanPropertyMeta extends BeanPropertyMetaExtended {
 
 		if (namespace == null)
 			namespace = bpm.getBeanMeta().getClassMeta().getExtendedMeta(XmlClassMeta.class).getNamespace();
-
-		if (bpm.isBeanUri() && xmlFormat != XmlFormat.ELEMENT)
-			xmlFormat = XmlFormat.ATTR;
 	}
 
 	/**

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/4b2719c0/juneau-core/src/main/java/org/apache/juneau/xml/XmlSerializer.java
----------------------------------------------------------------------
diff --git a/juneau-core/src/main/java/org/apache/juneau/xml/XmlSerializer.java b/juneau-core/src/main/java/org/apache/juneau/xml/XmlSerializer.java
index a30d902..0dcbf0b 100644
--- a/juneau-core/src/main/java/org/apache/juneau/xml/XmlSerializer.java
+++ b/juneau-core/src/main/java/org/apache/juneau/xml/XmlSerializer.java
@@ -548,7 +548,7 @@ public class XmlSerializer extends WriterSerializer {
 
 				Namespace ns = (session.isEnableNamespaces() && pMeta.getExtendedMeta(XmlBeanPropertyMeta.class).getNamespace() != elementNs ? pMeta.getExtendedMeta(XmlBeanPropertyMeta.class).getNamespace() : null);
 
-				if (pMeta.isBeanUri() || pMeta.isUri())
+				if (pMeta.isUri())
 					out.attrUri(ns, key, value);
 				else
 					out.attr(ns, key, value);

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/4b2719c0/juneau-core/src/test/java/org/apache/juneau/html/CommonTest.java
----------------------------------------------------------------------
diff --git a/juneau-core/src/test/java/org/apache/juneau/html/CommonTest.java b/juneau-core/src/test/java/org/apache/juneau/html/CommonTest.java
index d7032af..cbe2137 100755
--- a/juneau-core/src/test/java/org/apache/juneau/html/CommonTest.java
+++ b/juneau-core/src/test/java/org/apache/juneau/html/CommonTest.java
@@ -23,6 +23,7 @@ import java.util.*;
 
 import org.apache.juneau.*;
 import org.apache.juneau.annotation.*;
+import org.apache.juneau.jena.annotation.*;
 import org.apache.juneau.serializer.*;
 import org.apache.juneau.testbeans.*;
 import org.apache.juneau.xml.*;
@@ -240,7 +241,7 @@ public class CommonTest {
 	}
 
 	public static class G {
-		@BeanProperty(beanUri=true) public URI uri;
+		public URI uri;
 		public URI f1;
 		public URL f2;
 	}

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/4b2719c0/juneau-core/src/test/java/org/apache/juneau/jena/CommonTest.java
----------------------------------------------------------------------
diff --git a/juneau-core/src/test/java/org/apache/juneau/jena/CommonTest.java b/juneau-core/src/test/java/org/apache/juneau/jena/CommonTest.java
index 3e9313c..45d77cc 100755
--- a/juneau-core/src/test/java/org/apache/juneau/jena/CommonTest.java
+++ b/juneau-core/src/test/java/org/apache/juneau/jena/CommonTest.java
@@ -24,6 +24,7 @@ import java.util.*;
 import org.apache.juneau.*;
 import org.apache.juneau.annotation.*;
 import org.apache.juneau.internal.*;
+import org.apache.juneau.jena.annotation.*;
 import org.apache.juneau.serializer.*;
 import org.apache.juneau.testbeans.*;
 import org.apache.juneau.xml.*;
@@ -273,7 +274,7 @@ public class CommonTest {
 	}
 
 	public static class G {
-		@BeanProperty(beanUri=true) public URI uri;
+		@Rdf(beanUri=true) public URI uri;
 		public URI f1;
 		public URL f2;
 	}

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/4b2719c0/juneau-core/src/test/java/org/apache/juneau/jena/CommonXmlTest.java
----------------------------------------------------------------------
diff --git a/juneau-core/src/test/java/org/apache/juneau/jena/CommonXmlTest.java b/juneau-core/src/test/java/org/apache/juneau/jena/CommonXmlTest.java
index f371d67..f739cc2 100755
--- a/juneau-core/src/test/java/org/apache/juneau/jena/CommonXmlTest.java
+++ b/juneau-core/src/test/java/org/apache/juneau/jena/CommonXmlTest.java
@@ -19,7 +19,8 @@ import static org.junit.Assert.*;
 
 import java.net.*;
 
-import org.apache.juneau.annotation.*;
+import org.apache.juneau.jena.annotation.*;
+import org.apache.juneau.xml.annotation.*;
 import org.junit.*;
 
 @SuppressWarnings("javadoc")
@@ -55,7 +56,7 @@ public class CommonXmlTest {
 	}
 
 	public static class A {
-		@BeanProperty(beanUri=true) public URL url;
+		@Rdf(beanUri=true) @Xml(format=XmlFormat.ATTR) public URL url;
 		public String name;
 
 		public static A create() throws Exception {
@@ -83,7 +84,7 @@ public class CommonXmlTest {
 	}
 
 	public static class B {
-		@BeanProperty(beanUri=true) public URL url;
+		@Rdf(beanUri=true) @Xml(format=XmlFormat.ATTR) public URL url;
 		public URL url2;
 
 		public static B create() throws Exception {

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/4b2719c0/juneau-core/src/test/java/org/apache/juneau/jena/RdfParserTest.java
----------------------------------------------------------------------
diff --git a/juneau-core/src/test/java/org/apache/juneau/jena/RdfParserTest.java b/juneau-core/src/test/java/org/apache/juneau/jena/RdfParserTest.java
index 21c4573..522604d 100755
--- a/juneau-core/src/test/java/org/apache/juneau/jena/RdfParserTest.java
+++ b/juneau-core/src/test/java/org/apache/juneau/jena/RdfParserTest.java
@@ -104,7 +104,7 @@ public class RdfParserTest {
 	public static class A {
 		public int f1;
 		public String f2;
-		@BeanProperty(beanUri=true) public URI f3;
+		@Rdf(beanUri=true) public URI f3;
 		public URI f4a, f4b;
 		@BeanProperty(swap=CalendarSwap.ISO8601DTZ.class) public Calendar f5;
 		public LinkedList<A1> f6 = new LinkedList<A1>();
@@ -129,7 +129,7 @@ public class RdfParserTest {
 	public static class A1 {
 		public int f1;
 		public String f2;
-		@BeanProperty(beanUri=true) public URI f3;
+		@Rdf(beanUri=true) public URI f3;
 		public URI f4a, f4b;
 		@BeanProperty(swap=CalendarSwap.ISO8601DTZ.class) public Calendar f5;
 

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/4b2719c0/juneau-core/src/test/java/org/apache/juneau/jena/RdfTest.java
----------------------------------------------------------------------
diff --git a/juneau-core/src/test/java/org/apache/juneau/jena/RdfTest.java b/juneau-core/src/test/java/org/apache/juneau/jena/RdfTest.java
index 835fe5b..b698108 100755
--- a/juneau-core/src/test/java/org/apache/juneau/jena/RdfTest.java
+++ b/juneau-core/src/test/java/org/apache/juneau/jena/RdfTest.java
@@ -19,7 +19,6 @@ import static org.apache.juneau.jena.RdfSerializerContext.*;
 import java.net.URI;
 import java.util.*;
 
-import org.apache.juneau.annotation.*;
 import org.apache.juneau.jena.annotation.*;
 import org.apache.juneau.parser.*;
 import org.apache.juneau.serializer.*;
@@ -178,7 +177,7 @@ public class RdfTest {
 
 	@Rdf(prefix="a", namespace="http://ns/")
 	public static class A {
-		@BeanProperty(beanUri=true) public URI f1;
+		@Rdf(beanUri=true) public URI f1;
       public String[] f2;
       public List<Integer> f3;
 
@@ -344,7 +343,7 @@ public class RdfTest {
 
 	@Rdf(prefix="b", namespace="http://ns/")
 	public static class B {
-		@BeanProperty(beanUri=true) public URI f1;
+		@Rdf(beanUri=true) public URI f1;
 
 		@Rdf(collectionFormat=RdfCollectionFormat.SEQ)
 		public String[] f2;
@@ -582,7 +581,7 @@ public class RdfTest {
 	}
 
 	public static class D {
-		@BeanProperty(beanUri=true) public URI f1;
+		@Rdf(beanUri=true) public URI f1;
 		public String f2;
 		public URI f3;
 

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/4b2719c0/juneau-core/src/test/java/org/apache/juneau/json/CommonTest.java
----------------------------------------------------------------------
diff --git a/juneau-core/src/test/java/org/apache/juneau/json/CommonTest.java b/juneau-core/src/test/java/org/apache/juneau/json/CommonTest.java
index 0c69784..2a71046 100755
--- a/juneau-core/src/test/java/org/apache/juneau/json/CommonTest.java
+++ b/juneau-core/src/test/java/org/apache/juneau/json/CommonTest.java
@@ -239,7 +239,7 @@ public class CommonTest {
 	}
 
 	public static class G {
-		@BeanProperty(beanUri=true) public URI uri;
+		public URI uri;
 		public URI f1;
 		public URL f2;
 	}

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/4b2719c0/juneau-core/src/test/java/org/apache/juneau/testbeans/TestURI.java
----------------------------------------------------------------------
diff --git a/juneau-core/src/test/java/org/apache/juneau/testbeans/TestURI.java b/juneau-core/src/test/java/org/apache/juneau/testbeans/TestURI.java
index 0baa4dd..d4632b6 100755
--- a/juneau-core/src/test/java/org/apache/juneau/testbeans/TestURI.java
+++ b/juneau-core/src/test/java/org/apache/juneau/testbeans/TestURI.java
@@ -16,11 +16,15 @@ import java.net.*;
 import java.net.URI;
 
 import org.apache.juneau.annotation.*;
+import org.apache.juneau.jena.annotation.*;
+import org.apache.juneau.xml.annotation.*;
 
 @SuppressWarnings("javadoc")
 @Bean(sort=true)
 public class TestURI {
-	@BeanProperty(beanUri=true)
+	@org.apache.juneau.annotation.URI
+	@Rdf(beanUri=true)
+	@Xml(format=XmlFormat.ATTR)
 	public String f0 = "f0/x0";
 
 	public URI f1, f2, f3;

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/4b2719c0/juneau-core/src/test/java/org/apache/juneau/urlencoding/Common_UonTest.java
----------------------------------------------------------------------
diff --git a/juneau-core/src/test/java/org/apache/juneau/urlencoding/Common_UonTest.java b/juneau-core/src/test/java/org/apache/juneau/urlencoding/Common_UonTest.java
index b177d15..52ee64a 100755
--- a/juneau-core/src/test/java/org/apache/juneau/urlencoding/Common_UonTest.java
+++ b/juneau-core/src/test/java/org/apache/juneau/urlencoding/Common_UonTest.java
@@ -235,7 +235,7 @@ public class Common_UonTest {
 	}
 
 	public static class G {
-		@BeanProperty(beanUri=true) public URI uri;
+		public URI uri;
 		public URI f1;
 		public URL f2;
 	}

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/4b2719c0/juneau-core/src/test/java/org/apache/juneau/urlencoding/Common_UrlEncodingTest.java
----------------------------------------------------------------------
diff --git a/juneau-core/src/test/java/org/apache/juneau/urlencoding/Common_UrlEncodingTest.java b/juneau-core/src/test/java/org/apache/juneau/urlencoding/Common_UrlEncodingTest.java
index 5c06714..1ab8c79 100755
--- a/juneau-core/src/test/java/org/apache/juneau/urlencoding/Common_UrlEncodingTest.java
+++ b/juneau-core/src/test/java/org/apache/juneau/urlencoding/Common_UrlEncodingTest.java
@@ -237,7 +237,7 @@ public class Common_UrlEncodingTest {
 	}
 
 	public static class G {
-		@BeanProperty(beanUri=true) public URI uri;
+		public URI uri;
 		public URI f1;
 		public URL f2;
 	}

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/4b2719c0/juneau-core/src/test/java/org/apache/juneau/xml/CommonTest.java
----------------------------------------------------------------------
diff --git a/juneau-core/src/test/java/org/apache/juneau/xml/CommonTest.java b/juneau-core/src/test/java/org/apache/juneau/xml/CommonTest.java
index a618859..bd42fe1 100755
--- a/juneau-core/src/test/java/org/apache/juneau/xml/CommonTest.java
+++ b/juneau-core/src/test/java/org/apache/juneau/xml/CommonTest.java
@@ -24,6 +24,7 @@ import java.util.*;
 
 import org.apache.juneau.*;
 import org.apache.juneau.annotation.*;
+import org.apache.juneau.jena.annotation.*;
 import org.apache.juneau.serializer.*;
 import org.apache.juneau.testbeans.*;
 import org.apache.juneau.xml.annotation.*;
@@ -240,7 +241,7 @@ public class CommonTest {
 	}
 
 	public static class G {
-		@BeanProperty(beanUri=true) public URI uri;
+		@Rdf(beanUri=true) public URI uri;
 		public URI f1;
 		public URL f2;
 	}

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/4b2719c0/juneau-core/src/test/java/org/apache/juneau/xml/CommonXmlTest.java
----------------------------------------------------------------------
diff --git a/juneau-core/src/test/java/org/apache/juneau/xml/CommonXmlTest.java b/juneau-core/src/test/java/org/apache/juneau/xml/CommonXmlTest.java
index b009eee..d76cc26 100755
--- a/juneau-core/src/test/java/org/apache/juneau/xml/CommonXmlTest.java
+++ b/juneau-core/src/test/java/org/apache/juneau/xml/CommonXmlTest.java
@@ -19,7 +19,6 @@ import static org.junit.Assert.*;
 
 import java.net.*;
 
-import org.apache.juneau.annotation.*;
 import org.apache.juneau.xml.annotation.*;
 import org.junit.*;
 
@@ -47,7 +46,7 @@ public class CommonXmlTest {
 	}
 
 	public static class A {
-		@BeanProperty(beanUri=true) public URL url;
+		@Xml(format=XmlFormat.ATTR) public URL url;
 		@Xml(format=ATTR) public int id;
 		public String name;
 		public A() {}
@@ -71,7 +70,7 @@ public class CommonXmlTest {
 	}
 
 	public static class B {
-		@BeanProperty(beanUri=true) public URL url;
+		@Xml(format=XmlFormat.ATTR) public URL url;
 		public URL url2;
 		public B() {}
 		public B(String url) throws Exception {

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/4b2719c0/juneau-core/src/test/java/org/apache/juneau/xml/XmlTest.java
----------------------------------------------------------------------
diff --git a/juneau-core/src/test/java/org/apache/juneau/xml/XmlTest.java b/juneau-core/src/test/java/org/apache/juneau/xml/XmlTest.java
index d2837b9..9580c50 100755
--- a/juneau-core/src/test/java/org/apache/juneau/xml/XmlTest.java
+++ b/juneau-core/src/test/java/org/apache/juneau/xml/XmlTest.java
@@ -23,6 +23,7 @@ import java.util.*;
 
 import org.apache.juneau.*;
 import org.apache.juneau.annotation.*;
+import org.apache.juneau.jena.annotation.*;
 import org.apache.juneau.json.*;
 import org.apache.juneau.xml.annotation.*;
 import org.apache.juneau.xml.xml1a.*;
@@ -441,7 +442,7 @@ public class XmlTest {
 	}
 
 	public static class N {
-		@BeanProperty(beanUri=true) @Xml(format=ELEMENT) public URL url;
+		@Rdf(beanUri=true) @Xml(format=ELEMENT) public URL url;
 		public int id;
 		public String name;
 		public N() {}
@@ -473,7 +474,7 @@ public class XmlTest {
 	}
 
 	public static class O {
-		@BeanProperty(beanUri=true, name="url2") @Xml(format=ELEMENT) public URL url;
+		@BeanProperty(name="url2") @Xml(format=ELEMENT) public URL url;
 		@BeanProperty(name="id2") public int id;
 		public String name;
 		public O() {}
@@ -505,7 +506,7 @@ public class XmlTest {
 	}
 
 	public static class P {
-		@BeanProperty(beanUri=true, name="url2") public URL url;
+		@BeanProperty(name="url2") @Xml(format=ATTR) public URL url;
 		@BeanProperty(name="id2") @Xml(format=ATTR) public int id;
 		public String name;
 		public P() {}

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/4b2719c0/juneau-samples/src/main/java/org/apache/juneau/samples/addressbook/Address.java
----------------------------------------------------------------------
diff --git a/juneau-samples/src/main/java/org/apache/juneau/samples/addressbook/Address.java b/juneau-samples/src/main/java/org/apache/juneau/samples/addressbook/Address.java
index ed05dc0..a261eb6 100755
--- a/juneau-samples/src/main/java/org/apache/juneau/samples/addressbook/Address.java
+++ b/juneau-samples/src/main/java/org/apache/juneau/samples/addressbook/Address.java
@@ -14,7 +14,6 @@ package org.apache.juneau.samples.addressbook;
 
 import java.net.URI;
 
-import org.apache.juneau.annotation.*;
 import org.apache.juneau.jena.annotation.*;
 import org.apache.juneau.xml.annotation.*;
 
@@ -28,7 +27,7 @@ public class Address {
 	private static int nextAddressId = 1;
 
 	// Bean properties
-	@BeanProperty(beanUri=true) public URI uri;
+	@Rdf(beanUri=true) public URI uri;
 	public URI personUri;
 	public int id;
 	@Xml(prefix="mail") @Rdf(prefix="mail") public String street, city, state;

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/4b2719c0/juneau-samples/src/main/java/org/apache/juneau/samples/addressbook/Person.java
----------------------------------------------------------------------
diff --git a/juneau-samples/src/main/java/org/apache/juneau/samples/addressbook/Person.java b/juneau-samples/src/main/java/org/apache/juneau/samples/addressbook/Person.java
index f27b943..c25be40 100755
--- a/juneau-samples/src/main/java/org/apache/juneau/samples/addressbook/Person.java
+++ b/juneau-samples/src/main/java/org/apache/juneau/samples/addressbook/Person.java
@@ -30,7 +30,7 @@ public class Person {
 	private static int nextPersonId = 1;
 
 	// Bean properties
-	@BeanProperty(beanUri=true) public URI uri;
+	@Rdf(beanUri=true) public URI uri;
 	public URI addressBookUri;
 	public int id;
 	public String name;