本文整理汇总了PHP中EasyRdf_Graph类的典型用法代码示例。如果您正苦于以下问题:PHP EasyRdf_Graph类的具体用法?PHP EasyRdf_Graph怎么用?PHP EasyRdf_Graph使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了EasyRdf_Graph类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: getInfo
/** Get the data for reuse based off sparql endpoint
* @access public
* @return array $data
* */
public function getInfo($identifier)
{
$key = md5($identifier . 'ocre');
$uri = self::CRRO . $identifier;
if (!$this->getCache()->test($key)) {
EasyRdf_Namespace::set('nm', 'http://nomisma.org/id/');
EasyRdf_Namespace::set('nmo', 'http://nomisma.org/ontology#');
EasyRdf_Namespace::set('skos', 'http://www.w3.org/2004/02/skos/core#');
EasyRdf_Namespace::set('rdf', 'http://www.w3.org/1999/02/22-rdf-syntax-ns#');
$request = new EasyRdf_Http_Client();
$request->setUri($uri);
$response = $request->request()->getStatus();
if ($response == 200) {
$graph = new EasyRdf_Graph($uri);
$graph->load();
$data = $graph->resource($uri);
$this->getCache()->save($data);
} else {
$data = NULL;
}
} else {
$data = $this->getCache()->load($key);
}
return $data;
}
示例2: createPersonAction
/**
* @Route("/create-person")
*/
public function createPersonAction()
{
\EasyRdf_Format::registerSerialiser('ntriples', 'EasyRdf_Serialiser_Arc');
\EasyRdf_Format::registerSerialiser('posh', 'EasyRdf_Serialiser_Arc');
\EasyRdf_Format::registerSerialiser('rdfxml', 'EasyRdf_Serialiser_Arc');
\EasyRdf_Format::registerSerialiser('turtle', 'EasyRdf_Serialiser_Arc');
\EasyRdf_Namespace::set('foaf', 'http://xmlns.com/foaf/0.1/');
$uri = 'http://www.example.com/emi#me';
$name = 'Emi Berea';
$emailStr = 'emi.berea@gmail.com';
$homepageStr = 'http://bereae.me/';
$graph = new \EasyRdf_Graph();
# 1st Technique
$me = $graph->resource($uri, 'foaf:Person');
$me->set('foaf:name', $name);
if ($emailStr) {
$email = $graph->resource("mailto:" . $emailStr);
$me->add('foaf:mbox', $email);
}
if ($homepageStr) {
$homepage = $graph->resource($homepageStr);
$me->add('foaf:homepage', $homepage);
}
# Finally output the graph
$data = $graph->serialise('rdfxml');
if (!is_scalar($data)) {
$data = var_export($data, true);
}
var_dump($data);
die;
}
示例3: convert_to_rdf
function convert_to_rdf($path)
{
//get processed array
$uris = get_uris();
$result = process_spreadsheet($path);
init_vocabularies();
global $voc_keys;
$root = new EasyRdf_Graph();
$courses = $root->newBNode('rdf:Seq');
//create container
//iterate through array and create nodes
foreach ($result as $key => $value) {
$resource_uri = $uris[$key];
$temp_cours = new EasyRdf_Resource($resource_uri, $root);
$courses->append($temp_cours);
foreach ($value as $propName => $propValue) {
if ($propName == null || $propName == "" || $propName == "id") {
continue;
}
$predicate_url = $voc_keys[$propName];
//add to resource predicate with property. probably addLiteral method
$temp_cours->addLiteral($predicate_url, $propValue);
}
}
return $root->serialise("rdfxml");
}
示例4: execute
/**
* Perform the load.
*
* @param EasyRdf_Graph $chunk
* @return void
*/
public function execute(&$chunk)
{
if (!$chunk->isEmpty()) {
// Don't use EasyRdf's ntriple serializer, as something might be wrong with its unicode byte characters
// After serializing with semsol/arc and easyrdf, the output looks the same (with unicode characters), but after a
// binary utf-8 conversion (see $this->serialize()) the outcome is very different, leaving easyrdf's encoding completely different
// from the original utf-8 characters, and the semsol/arc encoding correct as the original.
$ttl = $chunk->serialise('turtle');
$arc_parser = \ARC2::getTurtleParser();
$ser = \ARC2::getNTriplesSerializer();
$arc_parser->parse('', $ttl);
$triples = $ser->getSerializedTriples($arc_parser->getTriples());
preg_match_all("/(<.*\\.)/", $triples, $matches);
if ($matches[0]) {
$this->buffer = array_merge($this->buffer, $matches[0]);
}
$triple_count = count($matches[0]);
$this->log("Added {$triple_count} triples to the load buffer.");
while (count($this->buffer) >= $this->loader->buffer_size) {
// Log the time it takes to load the triples into the store
$start = microtime(true);
$buffer_size = $this->loader->buffer_size;
$triples_to_send = array_slice($this->buffer, 0, $buffer_size);
$this->addTriples($triples_to_send);
$this->buffer = array_slice($this->buffer, $buffer_size);
$duration = round((microtime(true) - $start) * 1000, 2);
$this->log("Took {$buffer_size} triples from the load buffer, loading them took {$duration} ms.");
}
}
}
示例5: getJSONVersionOfSchema
/**
* Retrieve the latest RDFA version of schema.org and converts it to JSON-LD.
*
* Note: caches the file in data and retrieves it from there as long as it exists.
*/
private function getJSONVersionOfSchema()
{
// Set cachefile
$cacheFile = dirname(dirname(__DIR__)) . '/data/schemaorg.cache';
if (!file_exists($cacheFile)) {
// Create dir
if (!file_exists(dirname($cacheFile))) {
mkdir(dirname($cacheFile), 0777, true);
}
// Load RDFA Schema
$graph = new \EasyRdf_Graph(self::RDFA_SCHEMA);
$graph->load(self::RDFA_SCHEMA, 'rdfa');
// Lookup the output format
$format = \EasyRdf_Format::getFormat('jsonld');
// Serialise to the new output format
$output = $graph->serialise($format);
if (!is_scalar($output)) {
$output = var_export($output, true);
}
$this->schema = \ML\JsonLD\JsonLD::compact($graph->serialise($format), 'http://schema.org/');
// Write cache file
file_put_contents($cacheFile, serialize($this->schema));
} else {
$this->schema = unserialize(file_get_contents($cacheFile));
}
}
示例6: getTriples
protected function getTriples($file)
{
if (!file_exists($file)) {
throw new Exception($file . ' not found');
}
// validate the file to import
$parser = new tao_models_classes_Parser($file, array('extension' => 'rdf'));
$parser->validate();
if (!$parser->isValid()) {
throw new common_Exception('Invalid RDF file ' . $file);
}
$modelDefinition = new EasyRdf_Graph();
$modelDefinition->parseFile($file);
/*
$graph = $modelDefinition->toRdfPhp();
$resources = $modelDefinition->resources();
*/
$format = EasyRdf_Format::getFormat('php');
$data = $modelDefinition->serialise($format);
$triples = array();
foreach ($data as $subjectUri => $propertiesValues) {
foreach ($propertiesValues as $prop => $values) {
foreach ($values as $k => $v) {
$triples[] = array('s' => $subjectUri, 'p' => $prop, 'o' => $v['value'], 'l' => isset($v['lang']) ? $v['lang'] : '');
}
}
}
return $triples;
}
示例7: actionEasyRDF
public function actionEasyRDF()
{
$this->layout = "test";
$foaf = new EasyRdf_Graph("http://njh.me/foaf.rdf");
$foaf->load();
$me = $foaf->primaryTopic();
echo "My name is: " . $me->get('foaf:name') . "\n";
}
示例8: get
/** Fetch a named graph from the graph store
*
* The URI can either be a full absolute URI or
* a URI relative to the URI of the graph store.
*
* @param string $uriRef The URI of graph desired
* @return object EasyRdf_Graph The graph requested
*/
public function get($uriRef)
{
$graphUri = $this->_parsedUri->resolve($uriRef)->toString();
$dataUrl = $this->urlForGraph($graphUri);
$graph = new EasyRdf_Graph($graphUri);
$graph->load($dataUrl);
return $graph;
}
示例9: testParseQuery
public function testParseQuery()
{
$graph = new EasyRdf_Graph();
$graph->parse(readFixture('query/construct.ttl'), 'turtle');
$query = $graph->resource('test:construct');
$this->assertClass('EasySpinRdf_Query_Construct', $query);
$this->assertStringEquals("CONSTRUCT { ?this test:grandParent ?grandParent } WHERE { ?parent test:child ?this. ?grandParent test:child ?parent }", $query->getSparql());
}
示例10: serialise
/**
* Method to serialise an EasyRdf_Graph to RDF/JSON
*
* http://n2.talis.com/wiki/RDF_JSON_Specification
* docs/appendix-a-rdf-formats-json.md
*
* @param EasyRdf_Graph $graph An EasyRdf_Graph object.
* @param string $format The name of the format to convert to.
* @param array $options
* @throws EasyRdf_Exception
* @return string The RDF in the new desired format.
*/
public function serialise($graph, $format, array $options = array())
{
$nodes = array();
// cache for id-to-node association
foreach ($graph->toRdfPhp() as $resource => $properties) {
echo $resource;
}
}
示例11: get
/** Fetch a named graph from the graph store
*
* The URI can either be a full absolute URI or
* a URI relative to the URI of the graph store.
*
* @param string $uriRef The URI of graph desired
* @return object EasyRdf_Graph The graph requested
*/
public function get($uriRef)
{
$graphUri = EasyRdf_Utils::resolveUriReference($this->_uri, $uriRef);
$dataUrl = $this->urlForGraph($graphUri);
$graph = new EasyRdf_Graph($graphUri);
$graph->load($dataUrl);
return $graph;
}
示例12: preRun
protected function preRun()
{
$data = parent::getData();
$resourceUri = JURI::base() . "index.php?com_content&view=article&id=" . $data["articleID"];
$annotation = new EasyRdf_Graph($resourceUri);
foreach ($data["entityIDs"] as $entityID) {
$annotation->addResource($resourceUri, "sioc:about", "http://www.mni.thm.de/user/" . $entityID);
}
parent::setData($annotation->serialise("rdfxml"));
}
示例13: testParseWebId
public function testParseWebId()
{
$graph = new EasyRdf_Graph();
$graph->parseFile(fixturePath('webid.ttl'), 'turtle');
$me = $graph->resource('http://www.example.com/myfoaf#me');
$modulus = $me->get('cert:key')->get('cert:modulus');
$this->assertStringEquals('CB24ED85D64D794B69C701C186ACC059501E856000F661C93204D8380E07191C' . '5C8B368D2AC32A428ACB970398664368DC2A867320220F755E99CA2EECDAE62E' . '8D15FB58E1B76AE59CB7ACE8838394D59E7250B449176E51A494951A1C366C62' . '17D8768D682DDE78DD4D55E613F8839CF275D4C8403743E7862601F3C49A6366' . 'E12BB8F498262C3C77DE19BCE40B32F89AE62C3780F5B6275BE337E2B3153AE2' . 'BA72A9975AE71AB724649497066B660FCF774B7543D980952D2E8586200EDA41' . '58B014E75465D91ECF93EFC7AC170C11FC7246FC6DED79C37780000AC4E079F6' . '71FD4F207AD770809E0E2D7B0EF5493BEFE73544D8E1BE3DDDB52455C61391A1', $modulus);
$this->assertInternalType('string', $modulus->getValue());
$this->assertSame(NULL, $modulus->getLang());
$this->assertSame('xsd:hexBinary', $modulus->getDatatype());
}
示例14: execute
/**
* {@inheritdoc}
*/
protected function execute(InputInterface $input, OutputInterface $output)
{
$relations = [];
$schemaOrg = new \EasyRdf_Graph();
$schemaOrg->load(TypesGeneratorConfiguration::SCHEMA_ORG_RDFA_URL, 'rdfa');
$relations[] = $schemaOrg;
$goodRelations = [new \SimpleXMLElement(TypesGeneratorConfiguration::GOOD_RELATIONS_OWL_URL, 0, true)];
$goodRelationsBridge = new GoodRelationsBridge($goodRelations);
$cardinalitiesExtractor = new CardinalitiesExtractor($relations, $goodRelationsBridge);
$result = $cardinalitiesExtractor->extract();
$output->writeln(json_encode($result, JSON_PRETTY_PRINT));
}
示例15: dissertationen
function dissertationen($atts)
{
EasyRdf_Namespace::set('bibo', 'http://purl.org/ontology/bibo/');
EasyRdf_Namespace::set('sd', 'http://symbolicdata.org/Data/Model#');
EasyRdf_Namespace::set('dct', 'http://purl.org/dc/terms/');
$people = new EasyRdf_Graph("http://symbolicdata.org/Data/People/");
$people->parseFile("http://symbolicdata.org/rdf/People.rdf");
//$people->parseFile("/home/graebe/git/SD/web/rdf/People.rdf");
$out = "\n\n<h2 align=\"center\">Habilitationen</h2>\n\n";
$out .= displayAll(getDissertations('habil'), $people);
$out .= "\n\n<h2 align=\"center\">Promotionen</h2>\n\n";
$out .= displayAll(getDissertations('phd'), $people);
return $out;
}