?>
<p>Please enter the URI of a page with a review on it (marked up with Google Review RDFa):</p>
<?php 
echo text_field_tag('uri', 'http://www.bbc.co.uk/music/reviews/2n8c.html', array('size' => 50));
?>
<br />
<?php 
echo submit_tag();
echo form_end_tag();
?>

<?php 
if (isset($_REQUEST['uri'])) {
    $graph = new EasyRdf_Graph($_REQUEST['uri']);
    $graph->load();
    $reviews = $graph->allOfType('gv:Review');
    $review = $reviews[0];
}
if (isset($review)) {
    echo "<dl>\n";
    # FIXME: support gv:itemreviewed->gv:name ??
    if ($review->get('gv:itemreviewed')) {
        echo "<dt>Item Reviewed:</dt><dd>" . $review->get('gv:itemreviewed') . "</dd>\n";
    }
    if ($review->get('gv:rating')) {
        echo "<dt>Rating:</dt><dd>" . $review->get('gv:rating') . "</dd>\n";
    }
    # FIXME: support gv:reviewer->gv:name ??
    if ($review->get('gv:reviewer')) {
        echo "<dt>Reviewer:</dt><dd>" . $review->get('gv:reviewer') . "</dd>\n";
    }
 public function testAllOfTypeUnknown()
 {
     $graph = new EasyRdf_Graph();
     $resources = $graph->allOfType('unknown:type');
     $this->assertTrue(is_array($resources));
     $this->assertEquals(0, count($resources));
 }
Beispiel #3
0
<?
    if (isset($ontology)) {
        echo "<h2>".$ontology->label()."</h2>\n";

        echo "<dl>\n";
        echo "<dt>Namespace:</dt><dd>".link_to($ontology->getUri())."</dd>\n";
        if ($ontology->get('dc:date')) echo "<dt>Date:</dt><dd>".$ontology->get('dc:date')."</dd>\n";
        #if ($ontology->dc:creator)  # FIXME: implement this
        #if ($ontology->dc:contributor)  # FIXME: implement this
        echo "</dl>\n";
        foreach ($ontology->all('rdfs:comment') as $comment) { echo "<p>$comment</p>\n"; }
        foreach ($ontology->all('dc:description') as $description) { echo "<p>$description</p>\n"; }

        echo "<h2>Classes</h2>\n";
        foreach ($graph->allOfType('owl:Class') as $class) {
            if ($class->prefix() != $_REQUEST['short']) continue;
            echo "<div class='class' id='".$class->shorten()."'>";
            echo "<h3>".$class->shorten()."</h3>\n";
            foreach ($class->all('rdfs:comment') as $comment) { echo "<p>$comment</p>\n"; }
            echo "<dl>\n";

            if ($class->get('rdfs:subClassOf')) {
                echo "<dt>SubClass of:</dt>\n";
                foreach ($class->all('rdfs:subClassOf') as $subClass) {
                    if ($subClass->prefix() == $_REQUEST['short']) {
                        echo "<dd>".link_to($subClass->shorten(),'#'.$subClass->shorten())."</dd>\n";
                    } else {
                        echo "<dd>".link_to($subClass)."</dd>\n";
                    }
                }
 <br />

  <b>Label:</b> <?php 
echo $graph->label("http://njh.me/");
?>
 <br />
  <b>Properties:</b> <?php 
echo join(', ', $graph->properties("http://example.com/joe"));
?>
 <br />
  <b>PropertyUris:</b> <?php 
echo join(', ', $graph->propertyUris("http://example.com/joe"));
?>
 <br />
  <b>People:</b> <?php 
echo join(', ', $graph->allOfType('foaf:Person'));
?>
 <br />
  <b>Unknown:</b> <?php 
echo $graph->get("http://example.com/joe", "unknown:property");
?>
 <br />
</p>

<?php 
echo $graph->dump();
?>

</body>
</html>
Beispiel #5
0
        echo "<li>" . link_to_self($label, 'uri=' . urlencode($friend)) . "</li>";
    }
}
foreach ($me->toArray() as $type => $value) {
    echo $type . ':' . $value;
}
print_r($me->propertyUris());
foreach ($me->propertyUris() as $p) {
    echo "<p>" . $p . "</p>";
    $pp = $graph->resource($p);
    foreach ($me->all($pp) as $o) {
        echo "<p>{$me},&nbsp;{$p},&nbsp;{$o}</p>";
    }
}
echo "<li>";
foreach ($graph->allOfType('owl:ObjectProperty') as $p) {
    $label = $p->label('zh');
    if (!$label) {
        $label = $p->getUri();
    }
    if ($p->isBnode()) {
        echo "&nbsp;{$label}&nbsp;";
    } else {
        echo "&nbsp;" . link_to_self($label, 'uri=' . urlencode($p)) . "&nbsp;";
    }
}
echo "</li>";
echo "<li>";
foreach ($graph->allOfType('owl:Class') as $p) {
    $label = $p->label('zh');
    if (!$label) {
Beispiel #6
0
 /**
  * Rebase the graph on triples with the start fragment to our own base URI
  *
  * @param string        $start_fragment
  * @param EasyRdf_Graph $graph
  *
  * @return EasyRdf_Graph
  */
 private function rebaseGraph($start_fragment, $graph)
 {
     // Filter out the #dataset meta-data (if present) and change the URI's to our base URI
     $collections = $graph->allOfType('hydra:Collection');
     // Fetch all of the subject URI's that bring forth hydra meta-data (and are thus irrelevant)
     $ignore_subjects = array();
     if (empty($collection)) {
         $collections = $graph->allOfType('hydra:PagedCollection');
     }
     if (!empty($collections)) {
         foreach ($collections as $collection) {
             array_push($ignore_subjects, $collection->getUri());
         }
     }
     // Fetch the bnode of the hydra mapping (property is hydra:search)
     $hydra_mapping = $graph->getResource($start_fragment . '#dataset', 'hydra:search');
     if (!empty($hydra_mapping)) {
         // Hydra mapping's will be a bnode structure
         array_push($ignore_subjects, '_:' . $hydra_mapping->getBNodeId());
         $mapping_nodes = $hydra_mapping->all('hydra:mapping');
         foreach ($mapping_nodes as $mapping_node) {
             if ($mapping_node->isBNode()) {
                 array_push($ignore_subjects, '_:' . $mapping_node->getBNodeId());
             }
         }
         $graph->deleteResource($start_fragment . '#dataset', 'hydra:search', '_:genid1');
         $graph->deleteResource('_:genid1', 'hydra:mapping', '_:genid2');
         // Delete all of the mapping related resources
         $triples = $graph->toRdfPhp();
     } else {
         // Change all of the base (startfragment) URI's to our own base URI
         $triples = $graph->toRdfPhp();
     }
     // Unset the #dataset
     unset($triples[$start_fragment . '#dataset']);
     foreach ($ignore_subjects as $ignore_subject) {
         unset($triples[$ignore_subject]);
     }
     $adjusted_graph = new \EasyRdf_Graph();
     foreach ($triples as $subject => $triple) {
         foreach ($triple as $predicate => $objects) {
             foreach ($objects as $object) {
                 $adjusted_graph->add($subject, $predicate, $object['value']);
             }
         }
     }
     return $adjusted_graph;
 }